Формулировка проблемы: на данный момент при запуске любого из маршрутов по событию реестра (активация, изменение, удаление) структура этапов этих маршрутов является плоской. При этом, если маршрут состоит преимущественно из работ (а также согласований, утверждений и т.п.), отслеживать работы, относящиеся к какой-либо конкретной записи реестра через модуль «Потоки работ», проблематично - они не имеют там какого-либо группирующего элемента.
Кроме того, при отсутствии у пользователя доступа к списку записей реестра отслеживать статус записи реестра, которая требует, например, активации, тоже довольно проблемно - для этого нужно постоянно мониторить «Ход выполнения» соответствующего документа.
При проектировании задачи 0117, призванной решить эту проблему, выяснилось, что для покрытия описанного варианта использования необходим значительный дополнительный объём доработок, поэтому выработано решение, описанное ниже.
Используется: Реестры (конфигурация, события активации, изменения и удаления), Потоки работ (деревья работ).
Решение:
Необходимо реализовать настройку реестра, воздействующую на создаваемые по событиям активации, изменения и удаления экземляры маршрутов: при её включении пользователю, инициировавшему событие, создаётся работа, а все этапы маршрута этого события будут являться дочерними по отношению к этой работе.
Название настройки:
Создавать корневую работу для маршрутов по реестру
,
тип настройки: флажок, значение по умолчанию: выключено. При
включении настройки активируется поле ввода
Формулировка работы
, которое должно быть
обязательным для заполнения.
Если вышеописанная настройка включена, то маршрут, создаваемый при каком-либо событии (для примера возьмём активацию), должен быть следующего вида:
- Корневая работа с формулировкой, указанной в настройке + значащее содержимое записи реестра (через - ) -- Этап маршрута активации 1 -- ... -- Этап маршрута активации N
Замечание:
Такая структура создаётся только в том случае, если в событии имеются какой-либо непустой маршрут, в противном случае поведение системы остаётся прежним, т.е. никаких работ не создаётся.
Ответственным по корневой работе является пользователь, который инициирует событие (запускает активацию, изменение либо удаление).
Корневая работа по данному маршруту является обычной работой, которую можно перепоручать, удалять, завершать, выставлять прогресс и т.п. Опишем последствия этих действий для записи реестра и маршрута по событию.
При завершении корневой работы каждый вложенный в неё этап завершается и запись реестра приобретает статус «Неуспешно».
Замечание:
Данное поведение не требует дополнительного изменения в логике функционирования процессов: на данный момент альтернативный процесс, завершенный путём завершения вышестоящего в дереве процесса считается завершённым неуспешно.
Замечание: В связи с реализацией задачи 0110 может произойти следующая ситуация: при активной настройке «Не удалять работу, на которую была наложена резолюция» на корневую работу реестра будет наложена резолюция. При этом корневая работа перестанет отображаться в фильтре «На исполнении» у ответственного и автоматически завершится тогда, когда будут завершены все этапы маршрута события.
Данное поведение не является ошибкой ARTA Synergy.
При удалении корневой работы каждый вложенный в неё этап удаляется, и запись реестра приобретает статус «Неуспешно».
Замечание:
Запись реестра приобретает статус «Неуспешно» даже в том случае, если маршрут события состоит только из неальтернативных процессов (например, только из работ), т.е. для получения записью реестра статуса «Активно» корневая работа должна быть завершена.
Создать дополнительный дочерний этап у корневой работы можно, например, перепоручив её. Такой этап не будет считаться частью маршрута действия и, таким образом, не влияет на получение записью реестра статуса «Успешно», «Неуспешно» либо «Удалено».
При завершении либо удалении корневой работы дополнительный дочерний этап должен быть, соответственно, завершён либо удалён.
Таким образом, при включении вышеописанной настройки, на получение записью реестра статуса «Успешно», «Неуспешно» либо «Удалено» влияет два фактора:
Результат завершения маршрута по событию (маршрута активации, изменения либо удаления)
Результат завершения корневой работы по записи реестра.
В случае, когда маршрут по событию завершился неуспешно, а корневая работа не завершена, для этой работы в документе следует отображать кнопки:
Кнопка с подписью из настройки «Название действия по документу реестра», запускающая маршрут по событию. Корневая работа при этом не пересоздаётся. Кнопка является приоритетной («зеленой»).
Резолюция
- накладывает резолюцию на
корневую работу
Завершить
- завершает корневую работу
Отправить
- кнопка-меню с действиями по
корневой работе
Предустановки:
Создан реестр «Заявка на закуп ТМЦ», в котором активирована
настройка «Создавать корневую работу для маршрутов по реестру»,
добавлено событие активации с маршрутом. В маршруте активации один
элемент - согласование с Пользователь 1
. Все
права на реестр даны пользователю
Пользователь 2
.
Пользователь 2
создаёт запись реестра,
заполняет форму, сохраняет заполненные значения
Пользователь 2
запускает активацию этой
записи реестра. В Потоках работ на исполнении у этого
пользователя отображается следующая структура:
- Корневая работа по записи реестра -- Согласование с Пользователь 1
Пользователь 1
отказывает в согласовании с
формулировкой «Неправильно введены данные»
Запись реестра получает статус «Неуспешно»
Пользователь 2
исправляет ошибки в
заполненных данных, сохраняет изменения и вновь запускает
процесс активации
Пользователь 1
согласует запись реестра
Пользователь 2
завершает корневую работу по
записи реестра
Запись реестра получает статус «Успешно».