Компонент Взаимодействие сценариев

Описание

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

Адрес текущего обработчика сценариев можно получить через функцию выражений getscriptref().
При запуске асинхронного служебного сценария компонентом Запуск сценария адрес (идентификатор) нового обработчика возвращается в переменную.
Имея адрес вложенного сценария, ему можно передать собственный адрес для двустороннего взаимодействия посредством отправки в сообщении.
Также передача адресов может осуществляться через БД, через переменные широкой области видимости, через файлы на диске в сетевых каталогах, через специальные хранилища. Ввиду потенциальной возможности одновременной работы многих экземпляров сценариев, ключом в хранилище должен являться уникальный идентификатор сущности предметной области, через которую осуществляется связь процессов между собой.

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

Индекс

141

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

interactions

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

Все

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

r_script_component_interactions

Режим

Асинхронный

Иконка

141

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

Разветвляющий, прерывающий

Свойства

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

Название: Режим
Код: mode
Усл. видимости: нет
По умолчанию: Отправка сообщения

Режим работы
Возможные варианты:

  • Отправка сообщения (send, 0) – Отправляет сообщение другому обработчику сценариев.

  • Прием сообщения (receive, 1) – Достает из очереди сообщений очередное сообщение. Идентификатор отправителя и сообщение размещает в переменные. В случае, если очередь пуста, встает в ожидание с установленным таймаутом.

  • Прием c фильтром (receive_filter, 3) – Достает из очереди сообщений очередное сообщение от отправителя, идентификатор которого указан в поле 'Фильтр'. В случае, если очередь пуста или сообщений от укзаанного отправителя не обнаружено, встает в ожидание с установленным таймаутом.

  • Проверка доступности (check, 2) – Проверяет доступность обработчика сценариев с указанным идентификатором.

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

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

Название: Сообщение
Код: message
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий текст сообщения.
Применяется в режиме отправки.

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

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

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

Переменная для сохранения текста полученного сообщения.
Применяется в режиме приема.

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

Переменная для сохранения идентификатора процесса-отправителя.
Может быть применен для ответной отправки сообщения.
Собственный идентификатор сценария возвращается функцией выражений 'getscriptref()'.
Применяется в режиме приема.

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

Переменная для сохранения категории отправителя сообщения.
Применяется в режиме приема.

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

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

  • script (0)

  • b2b (1)

Название: Таймаут, с
Код: timeoutSec
Усл. видимости: да
По умолчанию: 0

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

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

Компонент, которому передается управление при успешном выполненнии операции.

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

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

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

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

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

Компонент, которому передается управление в случае истечения времени ожидания поступления сообщений.
Применяется в режиме приема.

См. также