Задача [BPM11]: Процессы действия и динамические таблицы в форме реестра

Формулировка проблемы: В текущей реализации форм и процессов нет возможности использовать для процессов значения тех компонентов формы, которые находятся внутри обычных и динамических таблиц.

Решение:

Во-первых, необходимо избавиться от жёстко заданных идентификаторов компонентов, которые будут использоваться в качестве параметров в какомлибо процессе. Для того, чтобы это осуществить, необходимо изменить настройки процессов действия (в маршрутах реестров). Процессы должны иметь иметь 2 группы настроек:

-- название — текстовое поле, которое содержит то, что будет отображаться в ходе исполнения процесса (аналогично названию работы).

-- параметры процесса — представляют собой названия параметров (их список для каждого типа процесса действия приведен в таблице) и текстовые поля для ввода идентификаторов компонентов формы реестра. Настройка параметров процесса доступна в отдельном диалоге, который доступен по нажатию кнопки «Параметры».

Действие Параметры действия

Назначение на должность

  • Пользователь

  • Новая должность пользователя

Перевод

  • Пользователь

  • Должность, с которой нужно перевести пользователя

  • Должность, на которую нужно перевести пользователя

Увольнение

  • Пользователь

  • Должность, с которой необходимо уволить пользователя

Копирование в личное дело

  • Пользователь

Назначение календаря

  • Пользователь

Замечание: Для того, чтобы не сломать работоспособность созданных и настроенных до данной итерации реестров, содержащих процессы действия, необходимо сделать следующее:

для уже существующих, а также вновь создаваемых процессов действия задать такие значения идентификаторов параметров процесса по умолчанию, какие ранее были заданы жёстко, например, для процесса «Перевод»:

Полный список таких идентификаторов можно найти здесь

Во-вторых, доступ к значениям компонентов формы реестра, которые находятся внутри обычной либо динамической таблицы, должен осуществляться следующим образом:

где componentID - идентификатор компонента внутри таблицы с идентификатором dyntable.

Для всех N (по числу строк динамической таблицы) запускается собственный экземпляр процесса действия, параметром которого является компонент, находящийся в динамической таблице. Кроме того, в параметрах процесса можно сочетать как идентификаторы компонент, находящихся в динамических таблицах, так и идентификаторы компонент, находящихся вне таблиц либо в обычных таблицах — в этом случае одно и то же значение «нединамического» компонента будет взято для каждого экземпляра процесса. Использование в параметрах процесса компонент из двух и более различных динамических таблиц не допускается — в этом случае пользователю должно быть показана ошибка «Использование в параметрах процесса компонент из двух и более различных динамических таблиц не допускается».

Макет дизайна:

Рисунок 414. Процесс «Перевод» с кнопкой редактирования параметров

Процесс «Перевод» с кнопкой редактирования параметров

Рисунок 415. Диалог редактирования параметров процесса

Диалог редактирования параметров процесса