Переменная 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 — не в архиве)