Подписи: бизнес-логика¶
Обзор¶
Подпись в 1Форме -- механизм фиксации согласия или решения пользователя по задаче. Подпись удостоверяет, что документ утвержден, заявка принята к исполнению или иное решение вынесено уполномоченным лицом. Пользователь, выносящий решение, называется акцептантом. Акцептантом может быть назначен конкретный пользователь или группа (тогда подпись ставит любой представитель группы).
Подписи запрашиваются при переходе задачи между статусами. Задача переходит в новый статус только после получения всех обязательных подписей. В момент подписания система автоматически создает цифровой снимок (snapshot) задачи -- копию всех данных (ДП, файлы и прочее), что гарантирует невозможность изменения данных после подписания.
Подпись считается активной при одновременном выполнении двух условий: TaskSignatures.IsActive = 1 и TaskSignatures.SignatureStateID = 3 (ожидание резолюции).
Классификация подписей¶
Статические и динамические¶
Статические подписи настраиваются на конкретном переходе между статусами в режиме администрирования. Они всегда запрашиваются в одной и той же точке маршрута. Это основной инструмент автоматизированного согласования бизнес-процессов.
Динамические подписи запрашиваются пользователями вручную из карточки задачи в любом нетерминальном статусе. Они используются для оперативного согласования вопросов, возникающих по ходу работы. Динамическая подпись приостанавливает продвижение задачи по маршруту, но при обработке не выполняет переход в другой статус.
Одна и та же подпись может использоваться и как статическая, и как динамическая, если в её настройках включен параметр "Может быть динамической".
Должностные и личные¶
Личная подпись запрашивается у конкретного сотрудника. В системе для этого используется специальная подпись, указанная в Общих настройках приложения (параметр "Подпись пользователя"). Эта подпись должна иметь включенный флаг "Может быть динамической".
Должностная подпись запрашивается у сотрудника определенной должности, группы или оргединицы. Конкретный акцептант вычисляется по алгоритму в момент запроса подписи. Должностные и личные подписи запрашиваются на разных вкладках в пользовательском интерфейсе.
Подробнее: signature.md
Настройки подписи¶
Каждая подпись имеет набор параметров, организованных в несколько блоков.
Блок "Основное"¶
| Параметр | Назначение |
|---|---|
| ID | Уникальный номер, присваивается автоматически |
| Название подписи | Отображается на карточках задач. Поддерживает мультиязычность |
| Модуль | Привязка к модулю; без модуля -- глобальная подпись |
| Не запрашивать повторно | Однократный запрос: если подпись была получена, при повторении цикла новый запрос не создается |
| Добавлять в подписчики акцептанта | Акцептант и заместители автоматически становятся подписчиками задачи |
| Запрашивать комментарий при подписании | Обязательный комментарий при вынесении резолюции |
| Можно эскалировать | Доступность кнопки "Эскалировать" -- удаление подписи и запрос подписи начальника |
| Не слать ошибку, если акцепт не указан | Подавление уведомления на системный почтовый ящик при пустом списке акцептантов |
| Запретить акцептовать если в документах есть правки от текущего пользователя | Блокировка резолюции, если пользователь вносил правки в файлы задачи или ДП "Файл" (не распространяется на скрытые ДП) |
Блок "Подпись начальника"¶
Определяет подпись, которая запрашивается при эскалации. Параметр "Добавлять акцептантов подписи начальника" включает акцептантов подписи руководителя в подписчики задачи.
Блок "Срок"¶
| Параметр | Назначение |
|---|---|
| Минимальное время на подписание | Нижний порог: при запросе нельзя указать меньше. Задается в часах, минутах или днях |
| Время на подписание по умолчанию | Рекомендуемый срок обработки подписи |
| Срок обязателен | Обязательность указания срока при запросе |
| Срок можно менять | Возможность корректировки срока уже запрошенной подписи |
Приоритет сроков: срок на переходе (если задан) имеет приоритет над сроком по умолчанию из настроек подписи. Срок на переходе не может быть меньше минимального.
Если в настройках подписи параметр «Срок можно менять» отключён, срок запрошенной подписи заблокирован для всех категорий и настройки блокировки на переходе на него не влияют.
Блок "Динамическая подпись"¶
| Параметр | Назначение |
|---|---|
| Может быть динамической | Разрешение использования подписи в качестве динамической |
| Акцептант определяется по | Базовый пользователь для алгоритма: по заказчику, по исполнителю, по ответственному исполнителю, по запросившему, по смарт-выражению |
| При отклонении | Действие при отклонении: прервать согласование / ожидать решения всех / продолжить согласование |
| Причина запроса для динамической подписи обязательна | Обязательное обоснование при запросе |
Вкладка "Используется"¶
Отображает все категории, в которых данная подпись настроена хотя бы на одном переходе. Для каждой записи видны: категория, исходный статус, целевой статус, обязательность подписи, алгоритм определения акцептантов, кнопка перехода.
Подробнее: signature.md, signatures_prop.md
Алгоритмы определения акцептантов¶
Система поддерживает шесть алгоритмов определения акцептанта. Каждый может рассчитываться относительно заказчика, исполнителя, ответственного исполнителя, запросившего или по смарт-выражению (параметр "Акцептант определяется по").
Если алгоритм определяет нескольких акцептантов для одной подписи, резолюция любого из них считается общим решением (если не включен режим "Каждому акцептанту отдельную копию").
По группам¶
Строится таблица соответствий "группа -- акцептант(ы)". Система определяет, в какие группы входит базовый пользователь, и запрашивает подписи у соответствующих акцептантов. Если пользователь состоит в нескольких группах из таблицы, запрашиваются подписи у акцептантов всех совпавших групп. Для фиксированного списка акцептантов достаточно привязать группу Users (содержит всех пользователей).
По параметру (ДП)¶
Акцептант определяется по значению дополнительного параметра (ДП) в конкретной задаче. Настраивается таблица соответствий "значение ДП -- акцептант". При совпадении запрашивается подпись соответствующего акцептанта. При отсутствии совпадения используется акцептант по умолчанию (поле "Кому"). Таблица может формироваться вручную или из подготовленной таблицы БД. Подходит для случаев, когда будущий сотрудник еще не имеет учетной записи (HR-процессы).
По руководителю¶
Акцептантом назначается руководитель базового пользователя. Параметр "Ступень руководителя" задает уровень: 0 -- линейный руководитель, 1 -- на один уровень выше и т.д. Если у пользователя несколько руководителей в оргединице, запрашивается одна подпись со всеми ими как акцептантами (или отдельные подписи при включенной опции "Каждому акцептанту отдельную копию").
По смарт-выражению¶
Акцептанты вычисляются смарт-выражением. Выражение обязано возвращать список (не число), иначе определение акцептанта не сработает.
По уровню оргструктуры¶
Акцептант -- руководитель оргединицы указанного уровня (1 -- компания, 2 -- департамент и т.д.) в ветке иерархии базового пользователя. Уровень берется из справочника типов оргструктур. Если на нужном уровне руководитель отсутствует, выбирается ближайший вышестоящий.
По типу оргструктуры¶
Акцептант -- руководитель оргединицы более высокого уровня относительно уровня базового пользователя. Уровень определяется по справочнику типов оргструктур.
Подробнее: signature.md, signatures_prop.md
Резолюции¶
Резолюция -- решение, которое акцептант выносит по запрошенной подписи. Резолюции отображаются в виде кнопок в интерфейсе.
Типы действий¶
Каждая резолюция привязана к одному из шести действий:
| Действие | Результат |
|---|---|
| Подписать | Подпись обработана успешно, задача может двигаться дальше по маршруту |
| Отклонить | Подпись отклонена, задача остается в текущем статусе (или переходит в указанный) |
| Удалить | Подпись удаляется, задача движется дальше по маршруту |
| Эскалировать | Подпись передается руководителю текущего акцептанта |
| Делегировать | Акцептантом становится другой пользователь |
| Отозвать согласование | Подпись удаляется, задача остается в текущем статусе |
Параметры резолюции¶
| Параметр | Назначение |
|---|---|
| Название | Текст кнопки. Поддерживает мультиязычность |
| Описание | Всплывающая подсказка |
| Заголовок диалога | Текст окна запроса причины (по умолчанию -- стандартный текст) |
| Причина обязательна | Обязательный комментарий при вынесении данной резолюции |
| Необходимо подтверждение | Дополнительное окно подтверждения (важно для мобильного приложения) |
| Цвет | Цвет кнопки: red, yellow, orange, green, cyan, blue, purple, pink, brown, grey или HEX |
| По умолчанию | Автоматическое добавление в каждую новую подпись |
| Название по смарт-выражению | Динамическое формирование названия через смарт-автоматизацию |
По умолчанию подпись содержит четыре резолюции: "Подписать", "Отклонить", "Удалить", "Делегировать". Порядок кнопок в интерфейсе определяется порядком в настройках.
Важные нюансы: - Резолюция "Эскалировать" доступна в интерфейсе только при включенном параметре "Можно эскалировать". - Кнопка "Удалить" на статическом маршруте регулируется правом "Администратор задач". На динамическом маршруте она также доступна запросившему подпись. - При обработке необязательной подписи на переходе кнопка "Удалить" доступна всем акцептантам.
Подробнее: signatures_resolutions.md
Маршрут согласования¶
Маршрут согласования -- состав и порядок подписей, запрашиваемых для выполнения перехода. Задается на вкладке "Подписи на переходе" в настройках перехода между статусами. Может быть статическим или динамическим.
Параллельное и последовательное согласование¶
Подписи объединяются в этапы (параметр "Этап согласования"). Подписи одного этапа запрашиваются одновременно (параллельно). Подписи разных этапов обрабатываются последовательно: следующий этап начинается только после завершения предыдущего.
Промежуточный статус "На подписи"¶
Пока запрошенные подписи ожидают обработки, задача получает промежуточный статус с префиксом "На подписи -- {исходный статус}". В этом промежуточном статусе права на редактирование ДП соответствуют исходному статусу.
Рекомендация: для защиты данных от изменения во время согласования следует добавить отдельный статус "Согласование" с правами только на чтение и переводить задачу через него с помощью смарт-автоматизации.
Обязательные и необязательные подписи¶
- Обязательная подпись запрашивается автоматически при выполнении перехода.
- Необязательная подпись может быть запрошена по усмотрению пользователя. Если на переходе настроены только необязательные подписи, система ожидает, пока кто-либо запросит хотя бы одну подпись или нажмет кнопку "Подписи не требуются".
Подробнее: life_cycle_signs.md
Статический маршрут согласования¶
Набор подписей фиксирован и задается в таблице настроек на переходе. Для каждой подписи настраиваются параметры запроса, условия, действия при отклонении.
Ключевые параметры подписи на переходе¶
| Параметр | Назначение |
|---|---|
| ЭЦП | Включение подписания файлов электронной подписью |
| Запретить подписывать заместителю | Заместитель не может обработать подпись (но видит её) |
| Асинхронное подписание | Обработка резолюции через очередь событий (ускоряет массовое подписание) |
| Акцептант определяется по | Условие определения акцептантов на данном переходе |
| Этап согласования | Номер этапа (одинаковый номер = параллельный запрос) |
| На подписание | Срок обработки на данном переходе |
| Причина / Причина обязательна / Причину можно менять | Управление причиной запроса подписи |
| Не запрашивать повторно | Исключение повторного запроса у уже акцептовавших |
| Каждому акцептанту отдельную копию | Персональная подпись каждому акцептанту вместо общей |
| Можно эскалировать / Эскалировать, когда просрочена | Управление эскалацией |
| Можно делегировать | Доступность делегирования акцептантом |
| Запрашивать подпись 1 раз | Подпись в задаче запрашивается только один раз |
| При отклонении | Прервать / ожидать всех / продолжить |
| В статус если отклонена подпись | Целевой статус при отклонении (по умолчанию -- предыдущий) |
| При отклонении выполнить переход | Переход, выполняемый при отклонении (со всеми его автоматизациями) |
| Активна | Включена/отключена подпись |
| Обязательна | Автоматический запрос vs. по усмотрению пользователя |
| Можно заблокировать срок подписи | Разрешает заказчику или пользователю с правом «Администратор задач» вручную заблокировать срок запрошенной подписи в карточке задачи. Попытка изменить срок заблокированной подписи возвращает ошибку. Активно только если в настройках самой подписи включён параметр «Срок можно менять» |
| Заблокировать срок, смарт-фильтр | Смарт-фильтр вычисляется после запроса подписи; если условие выполнено, срок подписи блокируется автоматически. Активен только при включённом параметре «Можно заблокировать срок подписи» и при разрешённом изменении срока в настройках подписи |
Обязательные и информационные ДП¶
- Обязательные ДП -- список параметров, которые должны быть заполнены до вынесения резолюции. Подпись запрашивается, но акцептант не может обработать её до заполнения всех обязательных ДП.
- Информационные ДП -- параметры, отображаемые при запросе подписи для помощи в принятии решения без необходимости заходить в задачу. Работают и в веб-версии, и в мобильном приложении. Ограничение: не отображаются ДП типов "Большой текст с форматированием", "Таблица", "Выбор пользователей", "Адрес", "Дерево".
Условия запроса¶
Подпись может запрашиваться условно -- по значению ДП или по смарт-фильтру. Используется, когда разные подписи нужны при разных значениях ДП (например, разные юристы для разных видов деятельности).
Действия при отклонении¶
Три режима поведения при отклонении: 1. Прервать согласование (право вето) -- необработанные подписи аннулируются у всех участников этапа. 2. Ожидать решения всех участников -- согласование продолжается до сбора всех решений на этапе. Полезно для сбора замечаний от всех подразделений. 3. Продолжить согласование -- согласование идет до завершения всех этапов.
При отклонении задача по умолчанию возвращается в предыдущий статус. Можно указать конкретный целевой статус или переход.
Обработка разных резолюций отклонения¶
Если для подписи настроены несколько резолюций с действием "Отклонить" (например, "Отклонить" и "На доработку"), рекомендуемый подход: использовать одну резолюцию "Отклонить" со стандартными действиями при отклонении, а прочие резолюции ("На доработку", "Согласовать с замечаниями") привязать к действию "Подписать" и обрабатывать через смарт-события.
Подробнее: life_cycle_signs_static.md
Динамический маршрут согласования¶
Формируется хранимой SQL-процедурой, которая принимает параметры (TaskID, StepID, RequestingUserID, Stage) и возвращает таблицу специальной структуры.
Принцип работы¶
Процедура вызывается столько раз, сколько этапов на маршруте. Это позволяет формировать подписи последующих этапов в зависимости от решений на предыдущих (например, если юрист акцептовал -- запросить подпись финдиректора, если акцептовал с замечаниями -- гендиректора).
Процедура может возвращать подписи всех этапов сразу -- система отберет подписи текущего (минимального) этапа.
Ключевые возвращаемые поля¶
| Поле | Описание | Обяз. |
|---|---|---|
| SignatureID | ID запрашиваемой подписи | Да |
| Stage | Номер этапа | Да |
| AcceptorsString | ID акцептантов через запятую | Нет |
| DeadlineTime | Срок обработки | Нет |
| MinutesToSign | Минуты на подписание | Нет |
| RequestReason | Причина запроса | Нет |
| SplitForEachAcceptor | Отдельная подпись каждому (1/0) | Нет |
| ActionIfNotSigned | Действие при отклонении (0/1/2) | Нет |
| SetStateIfNotSigned | ID статуса при отклонении | Нет |
| MakeStepIfNotSigned | ID перехода при отклонении | Нет |
| AcceptorsEvalutionBaseUser | Алгоритм определения базового пользователя (0-4) | Нет |
| AcceptorsEvalutionMethod | Метод определения акцептантов (0-4) | Нет |
| ExcludeAlreadySigned | Исключить повторный запрос | Нет |
Параметр "Кешировать полный маршрут согласования" фиксирует настройки на момент начала согласования -- изменения вступят в силу только при следующем согласовании.
Типичный сценарий использования -- матрица согласования: условия запроса подписей выносятся в справочник, а SQL-процедура анализирует его записи. Изменение условий (суммы, проценты скидок) выполняется в справочнике без участия администратора.
В ходе динамического маршрута инициируются смарт-события динамических подписей (запрос, подписание, отклонение).
Подробнее: life_cycle_signs_dynamic.md, signing_dynamic.md
Делегирование подписи¶
Делегирование (смена акцептантов) возможно при выполнении одного из двух условий: 1. Включена настройка "Можно делегировать" в подписи на переходе и пользователь является акцептантом. 2. У пользователя есть право "Добавлять и менять акцептантов" в текущей категории.
Подробнее: signature.md
Эскалация¶
Эскалация -- передача подписи на уровень руководителя. Доступна, если: - В настройках подписи включен параметр "Можно эскалировать". - В блоке "Подпись начальника" указана подпись, которая будет запрашиваться при эскалации.
Настройка "Эскалировать, когда просрочена" на переходе позволяет автоматически эскалировать подпись по истечении срока.
Отзыв подписей¶
Отзыв -- прерывание маршрута согласования с возвратом задачи на предыдущий статус. Управляется настройками категории:
| Настройка | Кому доступно |
|---|---|
| Разрешить исполнителям отзывать запрошенные подписи | Исполнителям, акцептантам, заказчикам, запросившим подпись, администраторам задач |
| Разрешить акцептантам отзывать подписанные подписи | Акцептантам |
| Разрешить заказчику отзывать подписанные подписи | Заказчику |
| Разрешить запросившим подпись отзывать подписанные подписи | Запросившему подпись |
При нажатии кнопки "Отозвать согласование" все запрошенные и подписанные подписи отзываются, задача возвращается на статус до начала согласования.
Подробнее: sbcategory-signature-settings.md
Подписи, требующие акцепта для действий¶
В настройках категории можно привязать запрос подписи к определенным действиям:
| Действие | Механизм |
|---|---|
| Делегирование задачи | Смена исполнителя происходит только после акцепта подписи; при отклонении -- отмена |
| Смена заказчика | Аналогично делегированию |
| Изменение срока | Запрос подписи при изменении дедлайна. Смарт-выражение может возвращать -1 для пропуска |
Подпись может указываться напрямую или через смарт-выражение (возвращает ID подписи).
Подробнее: sbcategory-signature-settings.md
Журнал подписей (Лист согласования)¶
По умолчанию после обработки подписи в БД остается только информация о том, кто фактически обработал подпись. Сведения об изначальных акцептантах удаляются.
Параметр "Удалять историю акцептантов подписи после обработки" (Общие настройки приложения) управляет этим поведением. При отключении -- в БД сохраняется полная информация: кому была запрошена подпись, кто фактически обработал. Это критично для контроля работы заместителей: в Листе согласования видно, что резолюция вынесена заместителем от имени замещаемого сотрудника.
Открытие журнала и вид¶
Открыть журнал подписей можно из панели инструментов карточки задачи, по ссылке в шапке блока «Подписи» или из меню «Больше действий».
В шапке журнала отображается текст задачи (максимум 3 строки + кнопка «Показать все», свернуть обратно нельзя). Под таблицей доступны опции:
| Опция | Описание |
|---|---|
| Печать журнала подписей | Печать в текущем виде. Если текст свернут — печатается тремя строками; если развёрнут — целиком |
| Вид для печати | Предварительный просмотр; можно изменить порядок и ширину столбцов |
| Только итоговое решение | Показать только итоговую резолюцию по каждой подписи (если она запрашивалась повторно) |
| Показывать акцептантов | Колонка «Акцептант» с фактически вынесшим резолюцию |
| Скрыть удалённые подписи | Исключить удалённые из списка |
При обработке подписи заместителем в колонке «Обработал» рядом с именем в скобках пишется «Заместитель».
Клик по строке журнала раскрывает блок с полной информацией из всех колонок — позволяет скопировать развёрнутые комментарии акцептанта и причины запроса.
Снэпшот задачи¶
В правой части журнала по иконке открывается Снэпшот — состояние задачи на момент подписания: рассчитанный и сохранённый хэш задачи, системные параметры, ДП.
Запрос подписи (UX)¶
Большинство подписей запрашивается автоматически по регламенту бизнес-процесса. Для запроса вручную в карточке задачи доступно действие «Запросить подпись» (через меню «Подписи» в тулбаре или кнопку + в блоке подписей). Кнопка отображается только при наличии соответствующего права.
Окно запроса содержит две вкладки:
Личные подписи — подпись запрашивается у конкретных сотрудников. - Поле «Кому» — выбор одного или нескольких пользователей. - Опция «Запросить у каждого акцептанта отдельную подпись» (по умолчанию вкл): отдельная подпись и отдельная резолюция у каждого. - Если опцию выключить — формируется одна общая подпись на всех; резолюция любого акцептанта считается общей.
Должностные подписи — подпись из списка преднастроенных в системе. - Выбор подписи из списка автоматически заполняет акцептантов и срок. - Поле «Подписчики» фильтрует список должностных подписей: при указании пользователя остаются только подписи, на которые он имеет право.
Поля «Причина» и «Срок» — общие. Причина обязательна, если в подписи это настроено (помечается *). Если причина не указана и не обязательна, в поле выводится «Не указана причина». При неуспехе по сроку — подпись считается просроченной (уведомления акцептантам и запросившему); при настроенном эскалировании передаётся руководителю.
Изменение параметров запрошенной подписи¶
Если у пользователя есть право менять параметры запрошенной подписи (срок, причина, согласующие), при наведении на параметр в блоке подписей появляется подсказка, и поле становится редактируемым по клику.
Если поле «Согласующие» недоступно для редактирования, клик по имени открывает краткую карточку профиля.
Список активных подписей¶
Открывается через индикатор "Ожидающие вашей подписи" в панели навигации. Просроченные подписи в списке выделяются красным шрифтом; список только просроченных доступен через отдельный индикатор «Просроченные подписи».
Начиная с версии 2.266 Дракон состав колонок настраивается через кнопку "Наборы полей". Для более ранних версий (2.256-2.265) используется пользовательский ключ SignaturesGridSettings.
Доступные колонки: номер задачи, текст, подпись и текст, причина запроса, срок, описание, согласующие, дата запроса, категория, заказчик, исполнитель, запросивший, время на подпись, действия, вопросы от меня / мне, статус, подзадачи, приоритет, дата создания задачи, произвольные ДП (по ID).
Действия из списка¶
Резолюцию можно вынести прямо из списка кнопкой с нужным действием — без перехода в карточку задачи. Если информации недостаточно, по клику на текст задачи открывается её карточка (Ctrl + ЛКМ — открыть в новой вкладке).
При наведении на поля «Согласующие» и «Срок» в строке появляется иконка редактирования: при наличии прав можно сменить акцептанта или перенести срок не выходя из списка.
Панель инструментов¶
| Кнопка | Описание |
|---|---|
| Обновить | Обновляет список |
| Фильтр | Включает строку фильтрации значений по столбцу |
| Группировка | Группировка по столбцу. Только системные колонки; группировка по ДП недоступна. В режиме «Подзадачи» недоступна полностью |
| Колонки | Меню выбора отображаемых столбцов |
| В Excel | Выгрузка списка |
| Вид по умолчанию | Сброс пользовательских настроек таблицы (сортировка, группировка, порядок колонок) к дефолту |
Массовая обработка¶
Слева от каждой строки — чекбокс. Можно выбрать как все подписи сразу, так и отдельные. Количество выбранных отображается в панели инструментов. После выбора активируются кнопки массовых действий, применяемые ко всем отмеченным подписям одним кликом.
Режим отображения «Подзадачи»¶
Переключатель в панели инструментов меняет режим отображения. Система запоминает выбор между сессиями.
| Поведение | По умолчанию | Подзадачи |
|---|---|---|
| Группировка | По выбранному столбцу | Авто по «Подпись и текст задачи»; смена недоступна |
| Сортировка подзадач | — | По дате создания, возрастание |
| Подзадачи задачи с подписью | Не отображаются | Видны иерархически; недоступны для выбора |
| Колонка «Статус» | По желанию | Полезна для контроля, на подписи ли подзадачи у других сотрудников |
Действия с колонками¶
При наведении на шапку колонки появляется иконка меню: фильтрация, сортировка, группировка. Сортировка доступна не для всех колонок:
- В режиме «По умолчанию» — недоступна для: Согласующие, Избранное и колонок с любыми ДП.
- В режиме «Подзадачи» — недоступна для: Причина, Текст задачи, Номер задачи, Согласующие, Время на подпись, Вопросы от меня / мне / Мои вопросы, Активных подзадач, Всего подзадач, Подзадачи, Статус, Избранное.
Состав доступных пользователю колонок может настраиваться администратором.
Колонки по вопросам¶
| Колонка | Что показывает |
|---|---|
| Вопросы от меня | Кол-во вопросов, заданных пользователем в задаче |
| Вопросы ко мне | Кол-во вопросов, адресованных пользователю |
| Мои вопросы | Сводный статус: «Не отвечены» / «Нет» / «Отвечены» |
Режим «Скрыть вопросы»¶
В списке подписей доступен переключатель Скрыть вопросы. При включении из списка не отображаются подписи из задач, в которых есть: - запрошенные пользователем и ещё необработанные динамические подписи, или - заданные пользователем и ещё неотвеченные вопросы
Смысл режима: убрать из рассмотрения задачи, по которым пользователь ожидает разъяснений и поэтому не готов сейчас принимать решение.
Подробнее: signature.md
Подписи в настройках группы¶
В настройках группы (вкладка "Подписи") отображаются все подписи с алгоритмом "По группам", в которых фигурирует данная группа. Указанные акцептанты добавляются в дополнение к акцептантам, вычисленным другими способами, для любой подписи, запрошенной от имени члена группы.
Специальные права группы, связанные с подписями: - Запрашивать динамическую подпись -- право запрашивать динамические подписи. - Создавать динамическую подпись -- право создавать подписи для пользователей, не фигурирующих ни в одной подписи как акцептанты.
Подробнее: groups_signatures.md
Карточка пользователя: вкладка "Подписи"¶
Сводка по всем подписям, в которых фигурирует пользователь, в двух таблицах: - "Подписывает": подписи, где пользователь -- акцептант (по группам и по ДП). - "Его задачи подписывает": подписи, акцептующие действия групп, в которые входит пользователь.
Подробнее: user_signature.md
ЭЦП (электронная подпись)¶
Стандартные подписи в 1Форме -- простые (неквалифицированные) электронные подписи. Для усиленных и квалифицированных подписей (ЭП/ЭЦП) необходимо заверение сертификатом удостоверяющего центра (УЦ).
Поддерживаемые СКЗИ¶
| СКЗИ | Интерфейс | Особенности |
|---|---|---|
| КриптоПро / РуТокен | Только веб | Плагин + ПО КриптоПро CSP. Поддерживает открепленную/прикрепленную подпись, соподпись, массовую обработку |
| PayControl | Только мобильное приложение | Серверное или клиентское подписание через PayControl SDK |
| DSSCryptoPro | Только веб | Облачный сервис КриптоПро. Типы: GOST3410, CAdES, PDF, MSOffice, CMS |
Настройка ЭЦП на переходе¶
- Включить флаг "ЭЦП" на подписи в настройках перехода.
- Перейти на вкладку "Настройки ЭДС".
- Выбрать СКЗИ.
- Указать подписываемые файлы (ДП "Файл" фиксированно или через смарт-выражение для коллекции FileID).
- Настроить ИНН юрлица для ограничения сертификатов (необязательно).
- Включить МЧД (машиночитаемая доверенность) при необходимости -- проверка права подписи от лица компании перед подписанием.
- Для КриптоПро/РуТокен: вид подписи (открепленная/прикрепленная), соподпись.
- Для PayControl: серверное подписание (опционально).
Массовая обработка ЭЦП¶
Работает только с СКЗИ КриптоПро/РуТокен. Все файлы подписываются одним сертификатом, выбранным при первом использовании. Настройки плагинов и фильтры по ИНН игнорируются.
Дополнительные настройки категории для ЭЦП¶
- "Создавать системные копии вложенных файлов при акцепте подписи" -- создание скрытой версии файла при подписании, ссылка на неё сохраняется в снэпшоте.
- Пользовательский ключ
AddUserLoginToSignedFiles = true-- добавление логина акцептанта к имени SIG-файла. - Проверка статуса сертификата: подписание блокируется при истекшем или отозванном сертификате.
Подробнее: eds.md
Порядок обработки подписей (workflow)¶
Запрос подписи на переходе¶
- Запрашиваются подписи, настроенные на вкладке "Подписи на переходе".
- При согласовании (все подписи получены):
- Задача переходит в следующий статус.
- Запускается процедура при переходе.
- Создаются подзадачи из блока "Подзадачи на шаге".
- При отклонении: задача возвращается в указанный статус или в исходный.
Обработка резолюции (пошагово)¶
- Загрузка данных подписи и резолюции из БД.
- Выполнение смарт-пакетов "Перед" (акцептом / делегированием / отклонением / удалением / эскалированием).
- Проверка прав акцептанта.
- Создание snapshot задачи.
- Запись нового состояния подписи и резолюции в БД.
- Публикация комментария и отправка уведомления.
- Проверка завершения текущего этапа; инициация следующего этапа при необходимости.
- Обновление статуса задачи (снятие "На подписи").
- Отправка файлов в SharePoint.
- Выполнение действий, подтвержденных подписью (смена срока, заказчика, трудозатраты).
- Выполнение действий при отклонении (если подпись отклонена).
- Переход задачи по маршруту.
- Выполнение смарт-пакетов "После" (подписания / отклонения / удаления / эскалирования -- статических и динамических).
Подробнее: life_cycle_signs.md
Дополнительные настройки категории¶
| Настройка | Назначение |
|---|---|
| Отсылать запросы подписей от имени диспетчера задач | Уведомления приходят от имени диспетчера |
| Осуществлять переходы при отклонении от имени диспетчера задач | Переход при отклонении от имени диспетчера (решает проблему отсутствия прав у акцептанта) |
Подробнее: sbcategory-signature-settings.md
Интеграция со смарт-автоматизацией¶
Смарт-события¶
| Событие | Тип |
|---|---|
| Перед запросом подписи на переходе | Статическая |
| Перед акцептом подписи | Обе |
| Перед делегированием подписи | Обе |
| Перед отклонением подписи | Обе |
| Перед удалением подписи | Обе |
| Перед эскалированием подписи | Обе |
| Перед отзывом подписи | Обе |
| Перед запросом динамической подписи | Динамическая |
| После подписания статической подписи | Статическая |
| После отклонения статической подписи | Статическая |
| После подписания динамической подписи | Динамическая |
| После отклонения динамической подписи | Динамическая |
| После удаления динамической подписи | Динамическая |
| После эскалирования динамической подписи | Динамическая |
| После отзыва подписи | Обе |
| После запроса динамической подписи | Динамическая |
| После истечения срока подписи | Обе |
Смарт-действия¶
- Запросить динамическую подпись
- Запросить подпись пользователя
- Добавить акцептанта динамической подписи
- Отозвать запрошенную подпись
- Изменить срок динамической подписи
- Изменить причину динамической подписи
Проектирование маршрута согласования (рекомендации)¶
При проектировании бизнес-процесса с согласованием необходимо определить:
- Какие подписи нужны и в каком порядке (параллельно или последовательно).
- Условия запроса -- всегда ли нужны все подписи или есть зависимость от параметров задачи.
- Поведение при отклонении -- возврат на доработку, полное отклонение, право вето.
- Повторное согласование -- все подписи заново или только непринятые.
- Защита данных -- отдельный статус "Согласование" с правами только на чтение.
- Статус при отклонении -- обязательно указать целевой статус, иначе задача может "застрять" в статусе "Согласование".
Подробнее: bp_modelling_signatures.md, best_signatures.md, life_cycle_signs.md
Связи с другими доменами¶
| Домен | Связь |
|---|---|
| Задачи | Подписи -- часть жизненного цикла задачи; запрашиваются на переходах; создают промежуточный статус "На подписи" |
| Категории | Маршрут согласования настраивается для каждой категории; настройки отзыва и подписей-для-действий -- на уровне категории |
| Статусы и переходы | Подписи привязаны к конкретным переходам; этапы согласования определяют порядок |
| ДП (ext-params) | Условия запроса по значениям ДП; определение акцептантов по ДП; обязательные и информационные ДП; файлы для ЭЦП из ДП "Файл" |
| Пользователи и группы | Акцептанты определяются по группам, оргструктуре, руководителям; специальные права группы на подписи |
| Смарт-автоматизация | Обширный набор событий и действий; определение акцептантов по смарт-выражениям; условия запроса через смарт-фильтры |
| Уведомления | Персональные настройки уведомлений для события "Подписи"; почтовые уведомления акцептантам |
| Файлы | Подписание файлов через ЭЦП; создание системных копий при акцепте; снэпшоты |
| Заместители | Заместители получают подписи замещаемого; настройка запрета подписания заместителем; отображение в листе согласования |