Перейти к основному содержимому
Версия: 1.21.3

Согласования

Согласования используются для авторизации операций, этапов обработки и подтверждения решений, которые требуют дополнительного контроля ответственными пользователями (также называемыми согласующими). Согласования обязательны для нормальных и экстренных изменений, отсутствий, отпусков и другое. Они помогают минимизировать риски, поддерживать высокий уровень обслуживания и проводить безопасные процессы.

Пример

В "коробочной" версии приложения ITSM есть предопределенный процесс согласования для внедрения нового шаблона запроса. Перед внедрением он должен быть одобрен владельцем услуги. Владелец услуги определяется ссылкой на запись в поле Категория услуг.

После заполнения полей агент меняет статус Новый на Ожидает согласования.

Правила согласования следующие:

  • согласование создается только в том случае, если шаблон запроса в статусе Ожидание согласования.
  • шаблон запроса будет отклонен, если один из согласующих отклонит запись.

Владелец услуги решит, внедрить ли шаблон запроса или вернуть его для дальнейшего улучшения.

  • Если шаблон не согласован, он переходит в статус Новый и его нужно удалить или улучшить, чтобы отправить на согласование еще раз.
  • Если шаблон согласован, он переходит в состояние Опубликован.

Этап согласования обеспечивает качество и защищает систему от внедрения неподходящих элементов. Шаблон запроса не будет внедрен, пока владелец услуги или все владельцы не одобрят его.

Вы можете реализовать согласования для любой таблицы в соответствии с необходимыми бизнес-процессами. Согласования создаются автоматически в соответствии с правилом согласований или в рамках рабочего процесса с действием Согласование пользователем (User-approval activity).

Согласования связывают пользователей или группы с записью, которую нужно согласовать. Если пользователи отклоняют запись, они должны указать причину в комментарии.

подсказка

Когда пользователю назначается новое согласование, он получает уведомление по электронной почте.

Подробнее читайте в статье Мои согласования, чтобы узнать, как обрабатывать согласования через сервисный портал.

примечание

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

Согласования

Чтобы просмотреть список созданных согласований, перейдите в раздел Согласования → Все согласования.

На форме согласования отображаются следующие элементы:

  1. Резюме объекта согласования.
  2. Информация о задаче.
  3. Поле комментария.
  4. Лента активности.

Статусы согласования

Статусная модель согласования выглядит следующим образом:

Но она также может отличаться в зависимости от правил отмены согласований. Например, если указано правило отмены Один отклонен, когда один из согласующих отклоняет заявку, статус согласования изменится на Отменено.

Например, согласования запросов на изменение имеют другую статусную модель, которая задана рабочим процессом. На этапе согласования запрос на изменение будет в статусе Авторизация. Если запрос одобрен, он перейдет в состояние Запланировано; в противном случае он вернется в статус Зарегистрировано.

Заявка на согласование

В SimpleOne после отправки записи, требующей авторизации, инициируется этап перехода. Для этого всем лицам, ответственным за согласование, рассылаются заявки на согласование. В заявках каждому получателю предлагается согласовать или отклонить запрос.

Заявка на согласование – это запись в таблице Согласования (sys_approval), которую система отправляет каждому пользователю, ответственному за согласование: одна заявка согласования на пользователя, то есть одно согласование может содержать несколько заявок на согласование. Это заявка, который вы видите на странице Мои согласования. Другими словами, пользователь согласует или отклоняет заявку в рамках одного согласования.

Наборы согласований

Набор согласований – это группа записей согласований, созданных одним и тем же правилом согласований для одного и того же объекта. То есть эти согласования имеют одинаковые значения в поле Объект согласования, одни и те же правила согласований и входят в один набор согласований. Согласования, созданные рабочим процессом, не имеют номера.

Пример

Правило согласований имеет следующее правило отмены: одна из заявок на согласование отклоняется. Система создает Набор согласований 1, когда выполняются условия правила согласований. Если один из трех согласующих отклонил свою заявку согласования, необходимо внести изменения в объект согласования. После того как необходимые изменения были внесены, согласование запрашивается еще раз. Система создает Набор согласований 2, и все трое согласующих снова получают заявки согласований. Этот процесс будет повторяться до тех пор, пока не будут выполнены условия (все пользователи одобрят свои заявки).

Создание согласования

Согласования не могут быть созданы вручную. Они создаются системой при выполнении условий, определенных в правиле согласований или рабочем процессе. Таким образом есть два способа внедрить согласования в ваши процессы:

  • через правило согласований.
  • через рабочий процесс.

Правила согласований


Правило согласований – это гибкий инструмент, способный срабатывать при заранее определенном событии. После срабатывания оно отправляет набор заявок на согласование и обрабатывает отзывы (согласования и отклонения). Правила согласований также могут автоматически создавать набор согласующих.

На приведенной ниже диаграмме показан процесс создания согласования с помощью правила согласований.

подсказка

Требуемая роль: admin.

Чтобы создать правило согласований, выполните следующие шаги:

  1. Перейдите в Согласования → Правила согласований.
  2. Нажмите Создать и заполните поля.
  3. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.

Поля формы Правило согласования

ПолеОбязательноОписание
НаименованиеНетУкажите название правила.
ТаблицаДаУкажите таблицу, которая обрабатывается правилом согласования (например, Инциденты).
ОписаниеНетОпишите правило согласования в деталях.
Условие согласованияНетОпределите условие запуска правила согласования. Когда условия выполняются, правило отправляет заявки согласований
Пустое условие всегда возвращает true.
УчастникиДаУкажите категорию пользователей, ответственных за согласование запроса. Доступные варианты выбора:
  • Пользователи
  • Группа
  • Добавить скриптом
ПользователиНетЕсли в поле Участники выбрана опция Пользователи, выберите в этом поле одного или нескольких пользователей, ответственных за процесс согласования.
ГруппаНетЕсли в поле Участники выбрана опция Группа, выберите в этом поле группу, ответственную за процесс согласования. Всем членам группы отправятся заявки на согласование.
СкриптНетЕсли в поле Участники выбрана опция Добавить скриптом, введите скрипт, расширяющий ваше условие согласования: определите пользователей, которые будут получать заявки на согласование. Вы можете использовать серверный API SimpleOne.
Правило отмены согласованияДаУкажите условие отклонения запроса на согласование. Доступные варианты выбора:
  • Один отклонен
  • Более половины отклонены
  • Все отклонены
  • Установить предельные значения для отказа
КоличествоНетУкажите лимит отклоненных заявок для отклонения запроса на согласование. Поле появляется, если в поле Правило отмены согласования установлено значение Установить предельные значения для отказа.
АктивноНетУстановите флажок, чтобы активировать правило согласования.

Пример скрипта

(function approvalRuleScript(current) {
if (current.assignment_group) {
return current.assignment_group.getValue('responsible');
}
})(current);

Функция approvalRuleScript() возвращает данные в следующем формате:

  • return '156956878014585856';
  • return ['156956878014585856', '156956851511250859'];
  • return '156956878014585856,156956851511250859';
внимание

Запуск серверной бизнес логики может не выполняться для системных таблиц, если создание или обновление записей инициируется стороной backend. Например, создание Элементов набора в рамках загрузки Источника импорта или создание Электронной почты в результате срабатывания правила уведомления, и другое.

Пример таблиц, для которых может не срабатывать серверная бизнес-логика:

  • Основной журнал (sys_log)
  • Журнал работы скриптов (sys_log_script)
  • Журнал исключений (sys_log_exception)
  • Журнал удаления записей (sys_record_deletion_log)
  • Наборы для импорта (sys_import_set)
  • Объекты ленты активности (sys_activity_feed_item)
  • Электронная почта (sys_email)

Рабочие процессы


Вы можете реализовать автоматическое создание согласований, используя действие Согласование пользователем (User-approval activity) в вашем рабочем процессе.

В примере ниже показан простой процесс согласования добавления нового партнера в пользовательскую таблицу. Процесс начинается, когда создается новая запись в пользовательской таблице Партнеры. По умолчанию новые записи находятся в статусе Ожидает. Чтобы активировать запись о партнере, ее должны согласовать ответственные за согласование. На этой стадии используется действие Согласование пользователем (User-approval activity). Перед переводом записи в статус Актуально (за это отвечает действие Задать значение (Set Values activity)), все согласующие должны подтвердить, что новый партнер действительно релевантный и запись о нем можно перевести в статус Актуально. Если один из согласующих отклонит заявку на согласование, статус записи о партнере поменяется на Отменено.

Подробнее читайте в статье Рабочие процессы.

При добавлении согласования через рабочий процесс, в таблице Правила согласований нет связанных записей. Редактирование условий создания этого согласования и других атрибутов будет доступно только через соответствующий рабочий процесс.

Отслеживание согласований

Если согласование создано для определенной записи, оно будет отображаться в связанном списке Согласования. Созданные пользовательские таблицы могут не иметь этого связанного списка. Вы можете добавить его, используя настройку связанных списков. После этого будут отображаться соответствующие заявки на согласование.

В примере, описанном выше, новая запись в таблице Партнер со статусом Ожидает будет иметь следующий связанный список Согласование:

Подробнее о том, как добавить связанный список согласований читайте в статье Связанные списки.