Формулировка проблемы: для более точного следования правилам документооборота необходима возможность исключения отправки зарегистрированных документов определенных типов журналов по любому процессу вне резолюции.
Используется:
Документооборот:
шаг 3 мастера регистрации;
действия с работой/документом.
Конфигуратор -> Документооборот -> Журналы.
Все места системы, где настраиваются маршруты (перечислены ниже по тексту).
Методы API для получения действий для работы/документа.
Мобильные клиенты (iOS, Android, Sencha):
резолюции;
действия с работой/документом.
Решение:
Для решения вышеописанной проблемы к существующим типам действий («Работа», «Согласование», «Утверждение», «Ознакомление», «Отправка документа», «Блокирующий процесс», «Регистрация», «Маршрут...») необходимо добавить новый - «Резолюция» (после пункта «Ознакомление»). Данный пункт должен быть доступен во всех местах системы, где настраиваются маршруты:
шаг 2 диалога редактирования работы (ПКМ работы - Изменить);
диалог принятия резолюции;
диалог отправки «По маршруту» (ПКМ работы - По маршруту, Отправить - По маршруту);
шаг 3 мастера регистрации;
диалог изменения маршрута (ПКМ документа раздела «Все» - Изменить маршрут);
редактирование маршрута реестра (как в конфигураторе, так и в клиентской части);
редактирование шаблона маршрута;
пользовательские настройки маршрутов;
шаг 3 протокола (маршрут утверждения).
Во-первых, необходимо добавить
новую опцию в настройки журналов в конфигураторе (Документооборот
-> Журналы): выпадающий список
Тип работы для исполнителя
(должен отсутствовать
для типа журнала «исходящий»), содержащий следующие возможные
значения:
Работа
(выбрано по умолчанию)
Согласование
Утверждение
Ознакомление
Резолюция
Тип работы, создаваемой ответственному исполнителю (поле «Определить
исполнителя» в РКК документа либо в шаге 3 мастера регистрации),
должен соответствовать новой опции
Тип работы для исполнителя
.
Примечание. Если ответственный исполнитель на корневую работу документа примет резолюцию, то весь маршрут из шага 3 мастера регистрации должен удалиться как в ходе выполнения документа, так и в самом мастере регистрации (редактирование маршрута должно быть недоступным), при этом исполнение по документу должно продолжиться в рамках работ по резолюции. Завершение всех работ по резолюции должно завершать и исполнение документа. Если же корневую работу завершить без принятия резолюции (завершение / согласование / утверждение / ознакомление), маршрут и исполнение документа должны завершиться. Это всё не будет являться ошибкой Synergy.
Во-вторых, новый процесс
Резолюция
имеет следующие подстановки по
умолчанию (по аналогии, например, с процессом согласования и его
подстановкой «Согласовать»):
поле «Название» редактора маршрута -
На рассмотрение
;
формулировка работы (в том числе в ходе выполнения) -
%название_работы% - На рассмотрение
.
Прогрессом работы по новому процессу должен стать новый набор статусов, прообразом которых является статус «Ожидание»:
резолюция
(кликабельный статус оранжевого
цвета) - доступен только для незавершенной работы ответственному
пользователю, его руководителю - автору работы, а также тем
пользователям, которым ответственный делегировал право на
создание и изменение статуса работ.
Для такой работы доступные пункты контекстного меню работы и доступные кнопки в карточке документа:
Доступные пункты контекстного меню работы | Доступные кнопки в карточке документа |
---|---|
«Переслать...» |
«Резолюция» (зеленая)[a] |
Сплит |
«Завершить» (серая)[b] |
«Информация...» и далее без изменений |
«Отправить» (серая) с пунктами «Переслать» и «В хранилище» |
[a] Возможно исполнение альтернативного потока событий. [b] Возможно исполнение альтернативного потока событий. |
резолюция
(некликабельный статус оранжевого
цвета) - доступен только для незавершенной работы, отображается
всем остальным пользователям.
Для такой работы доступные пункты контекстного меню работы и доступные кнопки в карточке документа такие же, как в пункте выше.
резолюция
(некликабельный статус зеленого
цвета) - доступен только для работы, из которой была принята
резолюция на документ.
Для такой работы доступные пункты контекстного меню работы и доступные кнопки в карточке документа не отличаются от работы типа «Работа», из которой приняли резолюцию на документ.
завершено
(некликабельный статус зеленого
цвета)
Для такой работы доступные пункты контекстного меню работы и доступные кнопки в карточке документа не отличаются от завершенной работы типа «Работа».
По нажатию на кликабельный статус оранжевого цвета
резолюция
либо на кнопку «Завершить» в карточке
документа (завершение статусом - «флажком» - недоступно) должно
открываться модальное диалоговое окно «Внимание!». Его содержимое
может различаться, в зависимости от того, может ли данный
пользователь принимать резолюцию в данный момент времени.
Условие №1. Нет ни одной принятой резолюции на документе для выключенной опции конфигуратора «Разрешить накладывать дополнительные резолюции» либо данная опция включена, при этом пользователь имеет право принятия резолюции.
Сообщение:
Данный тип работы предполагает принятие резолюции. Вы хотите сделать это сейчас?
Для принятия резолюции нажмите кнопку «Резолюция», для завершения работы - кнопку «Завершить».
По нажатию на зеленую кнопку «Резолюция» должен открыться
модальный диалог принятия резолюции прямо поверх списка работ,
причем после ее принятия / сохранения плашка резолюции появиться
не должна. После принятия резолюции работе должен установиться
некликабельный статус зеленого цвета
резолюция
.
По нажатию на серую кнопку «Завершить» работа должна завершиться
и принять некликабельный статус зеленого цвета
завершено
.
Условие №2. На документе есть одна принятая резолюция для выключенной опции конфигуратора «Разрешить накладывать дополнительные резолюции», либо принятие резолюции недоступно согласно хода выполнения документа (см. подробнее здесь), либо у пользователя отсутствует право принятия резолюции.
Примечание: для условия №2 кнопка «Резолюция» в карточке документа должна отсутствовать, а кнопкой с цветом преимущественного действия должна стать «Завершить». Ограничения для отправки при этом остаются.
Сообщение:
Завершить работу? Действие «Резолюция» по этому документу недоступно.
Возможные причины:
1. У вас недостаточно прав для принятия резолюции.
2. Одна резолюция на документе уже имеется, а принятие нескольких резолюций не допускается согласно текущим настройкам системы.
По нажатию на зеленую кнопку «Завершить» работа должна
завершиться и принять некликабельный статус зеленого цвета
завершено
.
Т.к. диалог резолюции теперь можно открывать не только из карточки открытого документа, при каждом его вызове (как из карточки документа, так и из потоков работ) необходимо отображать одинаковую информацию о резолюции.
В итоге, завершить работу по процессу Резолюция
можно двумя способами:
приняв резолюцию, при этом:
должна удалиться работа по данному процессу с добавлением
автокомментария от имени пользователя (черного цвета, без
возможности редактирования и удаления)
Автоматически удалено в связи с принятием резолюции
;
в той же ветке работ должен продолжиться маршрут, в который входит этот процесс;
в новой ветке работ должны создасться работы по принятой резолюции;
завершив работу, при этом:
должна завершиться работа по данному процессу с добавлением
автокомментария от имени пользователя (черного цвета, без
возможности редактирования и удаления)
Завершено без принятия резолюции
;
в той же ветке работ должен продолжиться маршрут, в который входит этот процесс.
Все работы, создаваемые по процессу Резолюция
,
должны подчиняться существующей
схеме
работ типа «Работа». Например, если в качестве исполнителя
выбрать неподчиненного пользователя, ему должен создаваться запрос
на участие в работе. Кроме того, для мастера регистрации, а также
для действий маршрута реестра должна отсутствовать проверка
отношений подчиненности между сотрудниками.
Альтернативный поток событий. Если для
выключенной настройки конфигуратора
Разрешить накладывать дополнительные резолюции
создано несколько параллельных работ по процессу
Резолюция
, то по нажатию на кнопку «Принять» /
«Сохранить» должна происходить проверка на наличие уже принятых на
данный документ резолюций.
Если на документ не было принято ни одной резолюции и нажимается кнопка «Сохранить», то действие сохранения происходит успешно.
Если на документ не было принято ни одной резолюции и нажимается кнопка «Принять», то действие принятия происходит успешно, при этом:
у пользователей теперь должна отсутстовать кнопка «Резолюция», а «Завершить» должна выделиться цветом преимущественного действия (зеленым);
по нажатию на кнопку «Завершить» должно открываться модальное диалоговое окно «Внимание!» из условия №2.
Если на документ уже была принята резолюция и нажимается кнопка «Принять» / «Сохранить», то:
необходимо выдавать предупреждающее сообщение с единственной
кнопкой «ОК»
Действие «Резолюция» по этому документу более недоступно, так как одна резолюция на нём уже имеется, а принятие нескольких резолюций не допускается согласно текущим настройкам системы
;
по нажатию на кнопку необходимо закрыть диалог резолюции и обновить набор доступных пользователю действий, в котором уже будет отсутстовать кнопка «Резолюция», а «Завершить» выделится цветом преимущественного действия (зеленым);
по нажатию на кнопку «Завершить» должно открываться модальное диалоговое окно «Внимание!» из условия №2.
Кроме того, необходимо актуализировать методы API
rest/api/workflow/work_actions
и
rest/api/workflow/document_actions
, чтобы они
возвращали массив json
со всеми новыми
ограничениями, описанными в данной задаче.
Действия при обновлении системы
При обновлении системы всем журналам с типами «внутренний» и
«входящий» значением новой настройки
Тип работы для исполнителя
должно быть «Работа».
Других видимых изменений произойти не должно.