Общие компоненты сценариев
В данном блоке в справочном порядке будут приведены все компоненты, являющиеся общими для всех типов сценариев, а также краткое описание действий и перечни свойств.
Старт
Компонент существует в любом сценарии – с него начинается действие, если трубка обрабатываемой линии положена. Старт на вход принимает параметр, который может сохранить в некоторой внутренней переменной сценария для дальнейшего использования.
Свойства:
Параметр запуска | Переменная, в которую необходимо сохранить значение, переданное из другого сценария, запустившего этот. |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Стоп
Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога.
Свойства:
Возврат управления | Да/нет. По умолчанию «Да». Флаг определяет необходимо ли в текущей точке передать управление стеку (да) или прекратить выполнение всей последовательности сценариев (нет). Актуален только в сценариях, вызванных через компонент Запуск сценария с установленным флагом «Возврат управления» и в проектных сценариях IVR, вызванных через компонент Вход в проект. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Присвоение значения переменной
Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают.
Свойства:
Режим | Одиночный / Множественный Множественный режим позволяет в одном компоненте производить сразу несколько операций присвоения. |
Переменная | Локальная переменная, в которую нужно записать указанное значение. Доступно только в режиме одиночной операции. |
Значение | Аргумент (значение, переменная, функция, выражение), значение которого необходимо задать для указанной переменной. Доступно только в режиме одиночной операции. |
Операции | Список операций (пар элементов {Переменная, Аргумент}), которые будут выполнены в порядке перечисления в окне задания значений нескольких операций присвоения. Если в одной из операций в аргументе используется переменная, указанная в качестве приемщика значения в более ранней операции по списку, то при расчете значения аргумента будет использовано новое ее значение. Таким образом компонент с множественным присвоением является компактным аналогом последовательности одиночных присвоений. |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Сравнение
Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь».
Свойства:
Аргумент 1 | Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить. |
Аргумент 2 | Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить. |
Тип сравнения | Один из вариантов логической операции: > (больше) ⇒ (больше или равно) < (меньше) ⇐ (меньше или равно) != (не равно) |
Переход, правда | Компонент, на который передается управление, если выбранная логическая операция вернула истину. |
Переход, ложь | Компонент, на который передается управление, если выбранная логическая операция вернула ложь. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Меню сравнения
Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее».
Свойства:
Аргумент | Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить. |
Значения (варианты) | Окно ввода значений, позволяющее задать возможные значения и связывающее с каждым указанным значением элемент перехода. Соответственно переход осуществляется по ветке первого найденного совпадающего значения. |
Переход, прочее | Компонент, на который передается управление, если среди значений не найдено того, которое соответствует значению аргумента. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Запуск сценария
В случае организации автоматических сервисов размеры сценария могут быть достаточно велики, и компонент «Запуск сценария» предоставляет возможность разбить крупный сценарий на несколько логических блоков. Таким образом, один сценарий передает управление в начало другого сценария. При этом можно задать некоторое значение на запуск, которое примет компонент «Старт» вложенного сценария и сохранит в свою локальную переменную. Помимо этого, все переменные одного типа, которые названы одинаково в запускающем и запускаемом сценариях, перенесут свои значения из одного в другой без изменений. Такой способ запуска называется вложенным.
ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена (в основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонентаСтартпроизводится безусловный переход к компоненту «Поднять трубку», если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам.
Также с помощью компонента можно запускать в параллельный процесс любой служебный сценарий, не работающий с зависимыми от основного сценария ресурсами (линией, оператором). При запуске асинхронного служебного сценария начальные значения его переменных, совпадающих по типам и именам с переменными основного сценария, будут установлены в соответствии с их значениями.
Свойства:
Тип запуска | Определяет тип и формат запуска дочернего сценария. Вложенный. Запуск вложенного сценария прекращает выполнение (возможно на время, до возврата управления) текущего сценария и активизирует обработку выбранного сценария того же типа. Асинхронный служебный. Запускает в параллельном процессе выполнение выбранного служебного сценария и продолжает выполнение текущего. Фоновое медиа-взаимодействие. Доступно только для IVR сценариев. Инициирует дублирующий параллельный сценарий IVR. Подробнее в разделе Сценарии IVR. Фоновый сценарий. |
Сценарий | Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить. |
Параметр запуска | Аргумент, передающий свое значение на старт запускаемого сценария. |
Возврат управления | Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария. При установке значения «Нет» выполнение текущего сценария прекращается и запускается вложенный сценарий (с сохранением значений всех переменных). Такой способ наиболее часто применим на практике. При установке значения «Да» вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова. Все переменные исходного сценария доступны во вложенном и наоборот, таким образом после возврата они будут иметь соответствующие измененные значения. На процедуру возврата также влияет флаг «Возврат управления» компонента Стоп, - используется во вложенном сценарии после успешного переключения с необходимостью безусловно прервать обработчик сценариев. ВНИМАНИЕ! Обработчик сценариев поддерживает условно неограниченную вложенность и имеет стек с ограничением в 100 сценариев во избежание зацикливания. ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата. |
Переход | Компонент, на который передается управление после возврата в случае запуска вложенного сценария, а также непосредственно после запуска служебного сценария. Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Пауза
Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.
Свойства:
Время задержки | Время в миллисекундах, которое необходимо простоять на компоненте в паузе. |
Переход | Компонент, на который передается управление. |
Имя | Название компонента для отображения в визуальной среде и выбора в списке. |
Статус объекта
Позволяет получить доступ к состояниям различных объектов (на чтение и запись). Например до начала переключения определить статус объекта (пользователя, задачи, номера), чтобы без попытки переключения и, соответственно, без включения сигнала ожидания, озвучить соответствующий текст меню.
Свойства: