Переменная Context сценариев

Вы можете посмотреть значения переменной Context:

Просмотр значений в переменной Context скриптов при запуске ручного сценария

При запуске ручного сценария в объекте или деле с помощью нажатия на кнопку (поле с типом Кнопка) в переменную Context скриптов передается следующая информация:

  • BlockId — идентификатор блока в метаданных (типе дела), служит для дополнительной идентификации блока, в котором расположено поле с типом Кнопка.
  • BlockN — порядковый номер блока в деле (для мультиблоков).
  • LineN — порядковый номер строки в блоке (для мультистрок).
  • Source — определяет источник по параметрам запроса, из которого было запущено условие срабатывания сценария: 
    • Front — действие было выполнено в Case.one (фронт)
    • API — изменение было выполнено через API из внешней системы
    • Script — изменение было выполнено в результате запроса API из скрипта в сценариях автоматизации
    • Workflow — изменение было выполнено в результате действия системных, без JS-операторов (СоздатьИзменить)
    • Integration — изменение было выполнено в результате системной синхронизации (Casebook)
  • WorkflowId — если в качестве источник определен Script или Workflow, то в параметр будет передан идентификатор сценария, из которого было запущено условие срабатывания сценария.
context.Source // название источника, из которого произошло срабатывание сценария автоматизации (обязательный, строка)
context.WorkflowId // идентификатор сценария автоматизации, из которого произошло срабатывание сценария автоматизации (необязательный, строка)

Доступ к значениям в переменной Context осуществляется через глобальную переменную в скриптах, например:

let blocId = context.BlockId;
let blockN = context.BlockN;
let lineN = context.LineN;

Если блок, где расположено поле с типом Кнопка, по которой был вызван сценарий, находится в простом блоке (простой строке), то BlockN (LineN в случае простой строки) будет равен undefined.


Для ClearScript BlockN и LineN будет равен null в случае простого блока/строки.


При разработке ручных сценариев необходимо учитывать, что свойства blockN и lineN могут быть не актуальными на момент выполнения ручного сценария, если:

  • Сохранение дела повлекло за собой запуск других сценариев, которые могут изменить дело (если перед запуском сценария посредством нажатия на поле с типом Кнопка в дело были внесены изменения, и дело еще не было сохранено).
  • В сценарии перед оператором Скрипт находится оператор Изменить.

Описание всех полей переменной Context:

{
    UserId, // идентификатор пользователя, инициировавшего срабатывание сценария (обязательный, строка)
     Date, // дата и время срабатывания сценария автоматизации (обязательный, date)
     ProjectId, // идентификатор дела, к которому относится сущность (необязательный, строка)
     EntityId, // идентификатор сущности, изменение которой привело к срабатыванию сценария (необязательный, строка)
     BlockId, // идентификатор блока в метаданных (типе дела). Служит для дополнительной идентификации блока, в котором расположено поле типа "Кнопка" (необязательный, строка)
     BlockN, // порядковый номер блока в деле (для мультиблоков) (необязательный, число)
     LineN, // порядковый номер линии в блоке (для мультистрок) (необязательный, число)
     Source, // название источника, из которого произошло срабатывание сценария автоматизации (обязательный, строка)
     WorkflowId // идентификатор сценария автоматизации, из которого произошло срабатывание сценария автоматизации (необязательный, строка)
 }

Context системных событий

В Context передаются переменные по системным событиям: EntityId (идентификатор объекта, над которым произошло действие) и EntityType (системный класс объекта, над которым произошло действие) в следующих системных событиях:

  • Активация модуля
  • Выход пользователя из системы
  • Неудачная попытка авторизации
  • Редактирование данных пользователя
  • Редактирование отчета
  • Редактирование элемента справочника (entittyID — идентификатор справочника, ValueId — идентификатор элемента справочника)
  • Создание группы
  • Создание отчета
  • Создание пользователя
  • Создание элементов справочника (entittyID — идентификатор справочника, ValueId — идентификатор элемента справочника)
  • Удаление группы
  • Удаление отчета
  • Удаление пользователя
  • Удаление элемента справочника (entittyID — идентификатор справочника, ValueId — идентификатор элемента справочника)

В Context приходит информация о сущности:

  • Блокировка и разблокировка пользователей — переменные в Context:
    • EntityId — передается идентификатор пользователя, которого заблокировали
    • EnttityType — передается системный класс объекта
    • UserId — передается идентификатор пользователя, который выполнил действие
    • Date
    • Source
  • Изменение пароля — переменные в Context:
    • EntityId — передается идентификатор пользователя, которому изменили пароль
    • EnttityType
    • UserId — передается идентификатор пользователя, который изменил пароль
    • Date
    • Source
  • Редактирование данных группы — переменные в Context:
    • EntityId — передается идентификатор группы, которою отредактировали
    • EnttityType
    • UserId — передается идентификатор пользователя, который выполнил действие
    • Date
    • Source
  • Редактирование прав доступа — переменные в Context:
    • EntityId — передается идентификатор объекта, в котором изменились права
    • EnttityType — передается системный класс объекта, в котором изменились права
    • UserId — передается идентификатор пользователя, который выполнил действие
    • Date

Context сообщений

Context сообщений в мультиполях/мультиблоках передается, если на момент отправки сообщения поля/блоки в них не существовали (карточка не была сохранена), при использовании поля с типом Сообщение в операторе Ожидать для действий Заполнение и Редактирование:

  • EntityId — идентификатор дела.
  • EntityType — тип сущности.
  • UserId — идентификатор пользователя.
  • Дата — время.
  • Массив комментариев.

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

  • Добавление комментария — тип действия в контексте: Created.
  • Редактирование комментария — тип действия в контексте: Edited.
  • Удаление комментария — тип действия в контексте: Deleted.

Context выполнения скрипта для оператора Ожидать

В Context выполнения скрипта, доступный в JS-скриптах, доступен массив для передачи изменений в полях (как простых, так и из мультистрок/мультиблоков) карточки объекта при выборе в операторе Ожидать условий срабатывания Заполнение поля и Редактирование:

В контекст передаются следующие параметры:

  • ProjectId — идентификатор объекта/дела (параметр передается перед массивом с изменениями).
  • BlockOldNum — (число) порядковый номер мультиблока до сохранения изменений в объекте:
    • Нумерация начинается с 0
    • Для мультиблоков — нумерация в пределах мультиблоков
    • Для удаленных мультиблоков передается номер, который был присвоен до сохранения изменений
    • Для добавленных мультиблоков передается значение null
    • Для простых блоков передается значение 0
  • BlockNewNum — (число) порядковый номер мультиблока после сохранения изменений в объекте:
    • Нумерация начинается с 0
    • Для мультиблоков — нумерация в пределах мультиблоков
    • Для удаленных мультиблоков передается значение null
    • Для добавленных мультиблоков передается номер, который был присвоен после сохранения изменений
    • Для простых блоков передается значение 0
  • LineOldNum — (число) порядковый номер мультистроки до сохранения изменений в объекте:
    • Нумерация начинается с 0
    • Для мультистрок — нумерация в пределах мультистрок
    • Для удаленных мультистрок передается номер, который был присвоен до сохранения изменений
    • Для добавленных мультистрок передается значение null
    • Для простых строк передается значение 0
  • LineNewNum — (число) порядковый номер мультистроки после сохранения изменений в объекте:
    • Нумерация начинается с 0
    • Для мультистрок — нумерация в пределах мультистрок
    • Для удаленных мультистрок передается значение null
    • Для добавленных мультистрок передается номер, который был присвоен после сохранения изменений
    • Для простых строк передается значение 0
  • FieldId — идентификатор поля.
  • SystemFieldSysName — системное имя поля, заполняется только для системных полей объекта;
  • FieldTag — значения тега (если значение отсутствует, передается null).
  • FieldOldValue — значение поля до сохранения изменений (если значение отсутствует, передается null).
  • FieldNewValue — новое значение поля (если значение отсутствует, либо удалено, передается null).

В Context передаются следующие типы полей при изменении карточки объекта:

  • Гиперссылка — (строка), формат — значение
  • Дата — (строка), формат — yyyy-mm-dd
  • Дата и время — (строка), формат — yyyy-mm-ddThh:mm:ss.fffZ (время передается в UTC)
  • Логический — (логический), формат — системное название значения (true/false)
  • Справочник — (строка), формат — идентификатор значения
  • Текст — (строка), формат — значение
  • Текстовое расширяемое — (строка), формат — значение
  • Формула расчета — (число), формат — значение без учета формата из настроек локализации
  • Чекбокс — (логический), формат — системное название значения (true/false)
  • Число — (число), формат — значение без учета формата из настроек локализации
  • Шаблон номера дела — (строка), формат — значение
  • Объект-Документ — (строка), формат — идентификатор документа
  • Объект-Объект — (строка), формат — идентификатор объекта
  • Объект-Пользователь — (строка), формат — идентификатор пользователя
  • Объект-Участник — (строка), формат — идентификатор участника
  • Системные поля:
    • Название — (строка), формат — значение
    • Номер дела — (строка), формат — значение
    • Клиент — (строка), формат — идентификатор клиента
    • Описание — (строка), формат — значение
    • Ответственный — (строка), формат — идентификатор пользователя
    • Стадия — (строка), формат — идентификатор значения
    • Статус — (логический), формат — системное название значения (true — в архиве, false — не в архиве)