Команды над записями справочника – это скрипты, реализующие интерфейс IDictionaryListCommand, и выполняемые на сервере приложений над несколькими записями справочника, отмеченными флагами в списковой форме, при выборе пользователем соответствующего пункта в меню "Команды" в списковой форме справочника. Команда над записями справочника может быть привязана только к одному справочнику. Если требуется выполнить одинаковые функции с записями нескольких справочников, следует вынести этот общий функционал в сервис (см. раздел Сервисы) и создать, используя этот сервис, отдельные команды над записями справочника для каждого из этих справочников.
Список всех команд над записями справочника можно найти в справочнике "Dictionary list commands":
Окно справочника разделено на две части: слева отображается дерево групп команд, справа – список команд выбранной слева группы.
Записи справочника можно фильтровать по Отображаемому в экранных формах названию команды (Caption), Тексту ее скрипта (Script text), Названию справочника, к которому она привязана (Dictionary name) и Тегам (Tag).
Открыть скрипт выбранной команды над записями справочника в форме редактирования можно прямо из списковой формы справочника, выбрав пункт Edit script в контекстном меню.
Команда над записями справочника обладает свойствами, полностью идентичными свойствам команды над записью справочника:
Закладка Permissions позволяет быстро настроить права на запуск команды или проверить, что хотя бы одна роль имеет к ней доступ:
Скрипты команд над записями справочника реализуют интерфейс IDictionaryListCommand (из пространства имен Ultima.Scripting).
На вход скрипта передаются:
•идентификаторы записей справочника;
•дополнительные параметры команды (если они были запрошены);
•коллекция действий ClientActions, которые следует выполнить на стороне клиентского приложения по завершению работы скрипта.
Интерфейс IDictionaryListCommand реализует единственный метод Execute, выполняющий скрипт:
•Execute(long[] records, IDictionary<string, object> parameters, IList<ClientAction> clientActions)
▪records – список идентификаторов записей справочника;
▪parameters – параметры команды;
▪clientActions – коллекция действий ClientActions.