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