Компонент Запуск сценария

Описание

Обеспечивает процессное или функциональное ветвление на уровне сценариев.

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

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

Table 1. Системные характеристики

Индекс

107

Краткое название

execscript

Типы сценариев

Все

Стартовый модуль

r_script_component_execscript

Режим

Синхронный

Иконка

107

Характер разветвления

Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание

Название: Режим
Код: startMode
Усл. видимости: нет
По умолчанию: Вложенный

Режим запуска дочернего сценария.
Возможные значения:

  • Вложенный (sub,0) – Запускается в том же обработчике, приостанавливая выполнение текущего сценария и передавая вложенному сценарию весь набор накопленных значений локальных переменных и других контекстов.
    После завершения вложенного сценария может быть осуществлен возврат управления при одновременном выставлении свойства Возврат управления в текущем компоненте и в компоненте Стоп вложенного сценария.
    Допускается каскадная вложенность сценариев глубиной до 100 уровней.

  • Асинхронный служебный (async,1) – Запускается новый экземпляр обработчика служебного сценария. Исполнение производится на произвольном сервере текущего сайта с ролью svc. Запущенный сценарий получает весь набор накопленных на текущий момент переменных и их значений на вход. При совпадении имен переменных производится заполнение их значений вне зависимости от того, на каком уровне вложенности внутри нового обработчика используется сценарий с совпавшим
    именем переменной.

Название: Источник сценария
Код: scriptMode
Усл. видимости: нет
По умолчанию: Код сценария

Способ выбора сценария для запуска.
Возможные значения:

  • Вложенный (code_sel,0) – Выбор вложенного сценария из списка.

  • Асинхронный служебный (code,1) – Указание кода сценария с помощью аргумента.

Название: Сценарий
Код: scriptCodeSync
Усл. видимости: да
По умолчанию: — 

Выпадающий список с кодами сценариев. Содержит все доступные (нескрытые) сценарии того же типа, что и текущий сценарий, содержащиеся в текущем домене.

Название: Сценарий
Код: scriptCodeAsync
Усл. видимости: да
По умолчанию: — 

Выпадающий список с кодами сценариев. Содержит все доступные (нескрытые) служебные сценарии, содержащиеся в текущем домене.

Название: Код сценария
Код: svcScriptCodeArg
Усл. видимости: да
По умолчанию: — 

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

В мастер-домене в качестве кода сценария может быть указано значение "DOMAIN @ SCRIPT_CODE", где в качестве домена указывается название любого домена кластера, а в качестве кода - код содержащегося в этом домене сценария.
Такой режим используется для запуска контекстных сценариев звонка в домене и трансляции ему событий: поскольку звонок не принадлежит домену, то контекстный сценарий запускается в мастер-домене.
Настройка контекстного сценария производится в настройках мастер-домена.

Название: Ид в переменную
Код: uuidVariable
Усл. видимости: нет
По умолчанию: — 

Переменная для сохранения значения идентификатора запущенного сценария, по которому можно производить взаимодействие.

Название: Возврат управления
Код: takeOver
Усл. видимости: да
По умолчанию: Нет

Разрешает или запрещает возврат управления из вложенного сценария и продолжение работы по ветке дальше.

Название: Параметр 1
Код: param1
Усл. видимости: да
По умолчанию: — 

Первый параметр для асинхронного служебного сценария. Доступ к значению осуществляется через функцию выражений startparam1() или через сохранение значения в компоненте Старт.

Название: Параметр 2
Код: param2
Усл. видимости: да
По умолчанию: — 

Второй параметр для асинхронного служебного сценария. Доступ к значению осуществляется через функцию выражений startparam2().

Название: Параметр 3
Код: param3
Усл. видимости: да
По умолчанию: — 

Третий параметр для асинхронного служебного сценария. Доступ к значению осуществляется через функцию выражений startparam3().

Название: Параметр 4
Код: param4
Усл. видимости: да
По умолчанию: — 

Четвертый параметр для асинхронного служебного сценария. Доступ к значению осуществляется через функцию выражений startparam4().

Название: Параметр 5
Код: param5
Усл. видимости: да
По умолчанию: — 

Пятый параметр для асинхронного служебного сценария. Доступ к значению осуществляется через функцию выражений startparam5().

Название: Переход
Код: transfer
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление при успешном запуске асинхронного служебного сценария, либо после возврата управления из вложенного сценария.

Название: Переход, ошибка
Код: transferError
Усл. видимости: да
По умолчанию: — 

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

  • отсутствие сценария по коду

  • отсутствие доступа к доменному центру

  • отсутствие роли svc

  • превышение допустимых лимитов

  • другое

См. также