Задача [#9459]: Процесс резолюции

Формулировка проблемы: для более точного следования правилам документооборота необходима возможность исключения отправки зарегистрированных документов определенных типов журналов по любому процессу вне резолюции.

Используется:

Решение:

Для решения вышеописанной проблемы к существующим типам действий («Работа», «Согласование», «Утверждение», «Ознакомление», «Отправка документа», «Блокирующий процесс», «Регистрация», «Маршрут...») необходимо добавить новый - «Резолюция» (после пункта «Ознакомление»). Данный пункт должен быть доступен во всех местах системы, где настраиваются маршруты:

Во-первых, необходимо добавить новую опцию в настройки журналов в конфигураторе (Документооборот -> Журналы): выпадающий список Тип работы для исполнителя (должен отсутствовать для типа журнала «исходящий»), содержащий следующие возможные значения:

Тип работы, создаваемой ответственному исполнителю (поле «Определить исполнителя» в РКК документа либо в шаге 3 мастера регистрации), должен соответствовать новой опции Тип работы для исполнителя.

Примечание. Если ответственный исполнитель на корневую работу документа примет резолюцию, то весь маршрут из шага 3 мастера регистрации должен удалиться как в ходе выполнения документа, так и в самом мастере регистрации (редактирование маршрута должно быть недоступным), при этом исполнение по документу должно продолжиться в рамках работ по резолюции. Завершение всех работ по резолюции должно завершать и исполнение документа. Если же корневую работу завершить без принятия резолюции (завершение / согласование / утверждение / ознакомление), маршрут и исполнение документа должны завершиться. Это всё не будет являться ошибкой Synergy.

Рисунок 102. Настройки журналов

Настройки журналов

Во-вторых, новый процесс Резолюция имеет следующие подстановки по умолчанию (по аналогии, например, с процессом согласования и его подстановкой «Согласовать»):

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

По нажатию на кликабельный статус оранжевого цвета резолюция либо на кнопку «Завершить» в карточке документа (завершение статусом - «флажком» - недоступно) должно открываться модальное диалоговое окно «Внимание!». Его содержимое может различаться, в зависимости от того, может ли данный пользователь принимать резолюцию в данный момент времени.

Т.к. диалог резолюции теперь можно открывать не только из карточки открытого документа, при каждом его вызове (как из карточки документа, так и из потоков работ) необходимо отображать одинаковую информацию о резолюции.

В итоге, завершить работу по процессу Резолюция можно двумя способами:

  1. приняв резолюцию, при этом:

    • должна удалиться работа по данному процессу с добавлением автокомментария от имени пользователя (черного цвета, без возможности редактирования и удаления) Автоматически удалено в связи с принятием резолюции;

    • в той же ветке работ должен продолжиться маршрут, в который входит этот процесс;

    • в новой ветке работ должны создасться работы по принятой резолюции;

  2. завершив работу, при этом:

    • должна завершиться работа по данному процессу с добавлением автокомментария от имени пользователя (черного цвета, без возможности редактирования и удаления) Завершено без принятия резолюции;

    • в той же ветке работ должен продолжиться маршрут, в который входит этот процесс.

Рисунок 109. Работа-резолюция в прогрессе (ход выполнения)

Работа-резолюция в прогрессе (ход выполнения)

Рисунок 110. Работа-резолюция после принятия резолюции (ход выполнения)

Работа-резолюция после принятия резолюции (ход выполнения)

Рисунок 111. Завершенная работа-резолюция (ход выполнения)

Завершенная работа-резолюция (ход выполнения)

Все работы, создаваемые по процессу Резолюция, должны подчиняться существующей схеме работ типа «Работа». Например, если в качестве исполнителя выбрать неподчиненного пользователя, ему должен создаваться запрос на участие в работе. Кроме того, для мастера регистрации, а также для действий маршрута реестра должна отсутствовать проверка отношений подчиненности между сотрудниками.

Альтернативный поток событий. Если для выключенной настройки конфигуратора Разрешить накладывать дополнительные резолюции создано несколько параллельных работ по процессу Резолюция, то по нажатию на кнопку «Принять» / «Сохранить» должна происходить проверка на наличие уже принятых на данный документ резолюций.

Кроме того, необходимо актуализировать методы API rest/api/workflow/work_actions и rest/api/workflow/document_actions, чтобы они возвращали массив json со всеми новыми ограничениями, описанными в данной задаче.

Действия при обновлении системы

При обновлении системы всем журналам с типами «внутренний» и «входящий» значением новой настройки Тип работы для исполнителя должно быть «Работа». Других видимых изменений произойти не должно.