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