Локальная переменная. Использование для массовой обработки записей
В Comindware Platform можно настроить возможность массовой обработки нескольких записей в таблице, например, если нужно поменять статус у нескольких заявок одновременно, подтвердить оплату нескольких счетов и т. д. В данной статье рассмотрен пример массового назначения исполнителей по заявкам и последующего запуска процесса по каждой из заявок.
Так как невозможно при выборе нескольких записей открывать какую-либо форму (форма показывает только атрибуты одной записи), предлагается использовать механизм локальных переменных. В локальную переменную можно поместить некоторое значение, которое потом можно применить или продублировать для всех выбранных записей.
Исходные данные
- Шаблон записи «Заявки».
- Атрибут «Ответственный» в шаблоне записи «Заявки» (тип данных — «Аккаунт»).
- Шаблон процесса «Исполнение заявки».
Порядок настройки
-
В шаблоне записи «Заявки» создайте кнопку со следующими параметрами:
- Отображаемое название — Назначить исполнителя;
- Контекст кнопки — Запись;
- Тип кнопки — Сохранить;
- Результат выполнения — Обновить данные;
- Отображать диалоговое окно — флажок установлен.
Сохраните настройки кнопки и перейдите на вкладку «Локальные переменные». Создайте переменную «Исполнитель» (тип данных — «Аккаунт»).
Перейдите на вкладку «Свойства» и нажмите «Настроить диалоговое окно». Вынесите на центральную область созданную локальную переменную. Сохраните настройки и вынесите кнопку на область кнопок для таблиц.
-
Перейдите в настройки приложения и нажмите «Сценарии». Создайте новый сценарий со следующими параметрами:
- Название — Назначение исполнителя по заявке;
- Контекст выполнения — От инициатора;
- Статус — Активен.
-
Настройте триггер на нажатие созданной в п. 1 кнопки. Добавьте действие по изменению значения. Выберите атрибут «Ответственный», укажите операцию со значениями — Заменить и в поле «Значение» выберите N3. Вставьте следующее выражение:
@prefix cmwsession: <http://comindware.com/ontology/session#>.@prefix user: <http://comindware.com/ontology/user#>.@prefix variable: <http://comindware.com/ontology/session/variable#>.@prefix debug: <http://comindware.com/ontology/debug#>.{cmwsession:context variable:dialogVariables ?v1.?v1 variable:Ispolnitel ?value.}Примечание
Важно указать системное имя, прописанное в локальной переменной, после
variable:.Затем добавьте действие «Запуск процесса», выберите процесс «Исполнение заявки». Перейдите на вкладку «Дополнительно» и отметьте флажки «Выполнять отдельно от сценария» и «Игнорировать все ошибки». Если этого не сделать, процесс запустится не по каждой из записей, а только по одной.
-
Протестируйте. Выберите несколько заявок, нажмите кнопку «Назначить исполнителя». Откроется диалоговое окно с локальной переменной «Исполнитель». Выберите пользователя и подтвердите операцию.
Эта статья была полезна 1 чел.