Формулировка проблемы: с появлением функциональности «форма завершения» типа «форма» в документе может быть больше одного файла по (разным) формам. Кроме того, нынешняя реализация условного перехода (точнее, переходы к этапам маршрута в нём) не позволяет «зациклить» маршрут.
Связанные задачи: 2.47.BPM2.
Решение: разделить диалог настроек процесса «Условный переход» на две вкладки:
Источники данных;
Переходы;
На вкладке «Переходы» отображаются настройки переходов, аналогичные тем, что реализованы на текущий момент. На вкладке «Источники данных» расположены следующие настройки:
Переключатель (радиокнопки):
«Форма реестра»;
«Произвольная форма». При выборе этой радиокнопки активируется:
выбор формы из списка имеющихся форм;
флажок «Только собственные».
Настройки источников данных определяют, из какого файла по форме в документе будут взяты данные для процесса. Вариант «Форма реестра» представляет старое поведение, когда данные получаются из файла по форме реестра, вариант «Произвольная форма» означает, что данные будут взяты из файла по указанной в настройке форме. Если файлов по произвольной форме несколько, то процесс выполняется для каждого из них, по порядку их создания. Если выбранная форма совпадает с формой реестра, то файл, созданный по реестру, не обрабатывается.
Флажок «Только собственные» означает, что будут обработаны только те файлы, которые были созданы от имени того пользователя, который запустил маршрут.
Кроме этого, необходимо добавить возможность перехода к произвольному этапу маршрута после выполнения (под)маршрута по шаблону. Для этого необходимо модифицировать диалог «Параметры» («шестерёнка» при выборе в переходе «Запустить маршрут по шаблону») следующим образом:
Блок настроек «После выполнения» указывает на то, что должно произойти после выполнения (под)маршрута по шаблону:
«Продолжить маршрут» — выполняется следующий за процессом «Условный переход» этап маршрута
«Перейти к этапу» — в этом варианте можно указать номер этапа либо его код (см. задачу 2.47.BPM2, переход к которому должен быть осуществлён после выполнения (под)маршрута по шаблону.