Общие компоненты сценариев — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
(Новая страница: «В данном блоке в справочном порядке будут приведены все компоненты, являющиеся общими для...»)
 
м (leftОтправка одного Email)
 
(не показаны 192 промежуточные версии 5 участников)
Строка 1: Строка 1:
В данном блоке в справочном порядке будут приведены все компоненты, являющиеся общими для всех типов сценариев, а также краткое описание действий и перечни свойств.
+
<code>[[Техническая документация]] / [[Call-центр]] или [[Администрирование]] / [[Сценарии]] / [[Общие компоненты сценариев]] </code>
  
  
[[Файл:cl_cc_scr_i01.png|left]]  
+
<code>Смотрите также:
===Старт===
+
* [[Компоненты сценариев IVR]]
 +
* [[Компоненты сценариев диалога]]
 +
* [[Компоненты служебных сценариев]]
 +
</code>
  
+
----
 +
 
 +
 
 +
В данном блоке в справочном порядке будут приведены все компоненты, являющиеся общими для всех типов сценариев, а также краткое описание действий и перечни свойств.
 +
 
 +
__TOC__
  
  
  
 +
<div id="Start"></div>
 +
==[[Файл:cl_cc_scr_i01.png|left]]Старт==
  
 
Компонент существует в любом сценарии – с него начинается действие, если трубка обрабатываемой линии положена. Старт на вход принимает параметр, который может сохранить в некоторой внутренней переменной сценария для дальнейшего использования.
 
Компонент существует в любом сценарии – с него начинается действие, если трубка обрабатываемой линии положена. Старт на вход принимает параметр, который может сохранить в некоторой внутренней переменной сценария для дальнейшего использования.
  
'''Свойства''':
 
  
 +
'''Свойства''':
  
{| cellspacing="0" border="1"
+
{|cellpadding="10" cellspacing="0" border="1"
 
|Параметр запуска
 
|Параметр запуска
 
|Переменная, в которую необходимо сохранить значение, переданное из другого сценария, запустившего этот.
 
|Переменная, в которую необходимо сохранить значение, переданное из другого сценария, запустившего этот.
Строка 28: Строка 38:
 
   
 
   
  
 
  
+
<div id="Stop"></div>
 
+
==[[Файл:cl_cc_scr_i02.png|left]]Стоп==
Стоп
+
 
+
+
  
 
Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога.
 
Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога.
  
 
  
Свойства:
+
'''Свойства''':
  
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Возврат управления
 +
|Да/нет. По умолчанию «Да». Флаг определяет необходимо ли в текущей точке передать управление стеку (да) или прекратить выполнение всей последовательности сценариев (нет). Актуален только в сценариях, вызванных через компонент [[#Запуск сценария|Запуск сценария]] с установленным флагом «Возврат управления» и в проектных сценариях IVR, вызванных через компонент [[Компоненты сценариев IVR#Вход в проект|Вход в проект]].
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Возврат управления
 
Да/нет. По умолчанию «Да». Флаг определяет необходимо ли в текущей точке передать управление стеку (да) или прекратить выполнение всей последовательности сценариев (нет). Актуален только в сценариях, вызванных через компонент «Запуск вложенного сценария» с установленным флагом «Возврат управления» и в проектных сценариях IVR, вызванных через компонент «Вход в проект».
 
 
Имя
 
Название компонента для отображения в визуальной среде и выбора в списке.
 
 
  
+
<div id="Appropriate"></div>
 
+
==[[Файл:cl_cc_scr_i04.png|left]]Присвоение значения переменной==
+
 
+
Пауза
+
 
+
+
 
+
Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.
+
 
+
+
 
+
Свойства:
+
 
+
+
 
+
Время задержки
+
Время в миллисекундах, которое необходимо простоять на компоненте в паузе.
+
+
Переход
+
Компонент, на который передается управление.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
 
+
+
 
+
+
 
+
+
 
+
Присвоение значения
+
 
+
+
  
 
Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают.
 
Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают.
  
 
  
Свойства:
+
'''Свойства''':
 
+
+
 
+
Режим
+
Одиночный / Множественный
+
  
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|Режим
 +
|Одиночный / Множественный
 
Множественный режим позволяет в одном компоненте производить сразу несколько операций присвоения.
 
Множественный режим позволяет в одном компоненте производить сразу несколько операций присвоения.
+
|-
Переменная
+
|Переменная
Локальная переменная, в которую нужно записать указанное значение.  
+
|Локальная переменная, в которую нужно записать указанное значение.  
 
+
 
Доступно только в режиме одиночной операции.
 
Доступно только в режиме одиночной операции.
+
|-
Значение
+
|Значение
Аргумент (значение, переменная, функция, выражение), значение которого необходимо задать для указанной переменной.
+
|Аргумент (значение, переменная, функция, выражение), значение которого необходимо задать для указанной переменной.
 
+
 
Доступно только в режиме одиночной операции.
 
Доступно только в режиме одиночной операции.
+
|-
Операции
+
|Операции
Список операций (пар элементов {Переменная, Аргумент}), которые будут выполнены в порядке перечисления в окне задания значений нескольких операций присвоения.  
+
|Список операций (пар элементов {Переменная, Аргумент}), которые будут выполнены в порядке перечисления в окне задания значений нескольких операций присвоения.  
 
+
 
Если в одной из операций в аргументе используется переменная, указанная в качестве приемщика значения в более ранней операции по списку, то при расчете значения аргумента будет использовано новое ее значение.
 
Если в одной из операций в аргументе используется переменная, указанная в качестве приемщика значения в более ранней операции по списку, то при расчете значения аргумента будет использовано новое ее значение.
 
 
Таким образом компонент с множественным присвоением является компактным аналогом последовательности одиночных присвоений.
 
Таким образом компонент с множественным присвоением является компактным аналогом последовательности одиночных присвоений.
+
|-
Переход
+
|Переход
Компонент, на который передается управление.
+
|Компонент, на который передается управление.
+
|-
Имя
+
|Имя
Название компонента для отображения в визуальной среде и выбора в списке.
+
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|}
  
 
  
+
<div id="Compare"></div>
  
+
==[[Файл:cl_cc_scr_i05.png|left]]Сравнение==
 
+
Сравнение
+
 
+
+
  
 
Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь».
 
Сравнивает значения двух аргументов. Компонент осуществляет ветвление сценария. В случае соответствия выбранной логической операции и значений аргументов переход осуществляется по ветке «Правда», в противном случае – по ветке «Ложь».
  
 
   
 
   
 +
'''Свойства''':
  
Свойства:
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Аргумент 1
 +
|Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
 +
|-
 +
|Аргумент 2
 +
|Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
 +
|-
 +
|Тип сравнения
 +
|Один из вариантов логической операции
 +
* = (равно)
 +
* > (больше)
 +
* => (больше или равно)
 +
* < (меньше)
 +
* <= (меньше или равно)
 +
* != (не равно)
 +
|-
 +
|Переход, правда
 +
|Компонент, на который передается управление, если выбранная логическая операция вернула истину.
 +
|-
 +
|Переход, ложь
 +
|Компонент, на который передается управление, если выбранная логическая операция вернула ложь.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
Аргумент 1
+
<div id="Menu"></div>
Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
+
==[[Файл:cl_cc_scr_i06.png|left]]Меню сравнения==
+
Аргумент 2
+
Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
+
+
Тип сравнения
+
Один из вариантов логической операции
+
 
+
· = (равно)
+
 
+
· > (больше)
+
 
+
· => (больше или равно)
+
 
+
· < (меньше)
+
 
+
· <= (меньше или равно)
+
 
+
· != (не равно)
+
+
+
Переход, правда
+
Компонент, на который передается управление, если выбранная логическая операция вернула истину.
+
+
Переход, ложь
+
Компонент, на который передается управление, если выбранная логическая операция вернула ложь.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
 
+
+
 
+
+
 
+
+
 
+
Меню
+
 
+
+
  
 
Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее».
 
Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее».
  
 
   
 
   
 +
'''Свойства''':
  
Свойства:
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Аргумент
 +
|Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
 +
|-
 +
|Значения (варианты)
 +
|Окно ввода значений, позволяющее задать возможные значения и связывающее с каждым указанным значением элемент перехода. Соответственно переход осуществляется по ветке первого найденного совпадающего значения.
 +
|-
 +
|Переход, прочее
 +
|Компонент, на который передается управление, если среди значений не найдено того, которое соответствует значению аргумента.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
Аргумент
+
<div id="ExecScript"></div>
Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
+
+
Значения (варианты)
+
Окно ввода значений, позволяющее задать возможные значения и связывающее с каждым указанным значением элемент перехода. Соответственно переход осуществляется по ветке первого найденного совпадающего значения.
+
+
Переход, прочее
+
Компонент, на который передается управление, если среди значений не найдено того, которое соответствует значению аргумента.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
  
+
==[[Файл:cl_cc_scr_i18.png|left]]Запуск сценария==
  
+
В случае организации автоматических сервисов размеры сценария могут быть достаточно велики, и компонент «Запуск сценария» предоставляет возможность разбить крупный сценарий на несколько логических блоков. Таким образом, один сценарий передает управление в начало другого сценария. При этом можно задать некоторое значение на запуск, которое примет компонент «Старт» вложенного сценария и сохранит в свою локальную переменную. Помимо этого, все переменные одного типа, которые названы одинаково в запускающем и запускаемом сценариях, перенесут свои значения из одного в другой без изменений. Такой способ запуска называется вложенным.
  
Файловая операция
 
  
+
<span style="color:red;">ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена (в основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонента [[#Старт|Старт]] производится безусловный переход к компоненту "Поднять трубку", если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам.
  
Производит указанную дисковую операцию с файлом, каталогом или путем.
 
  
 
  
Свойства:
+
Также с помощью компонента можно запускать в параллельный процесс любой служебный сценарий, не работающий с зависимыми от основного сценария ресурсами (линией, оператором). При запуске асинхронного служебного сценария начальные значения его переменных, совпадающих по типам и именам с переменными основного сценария, будут установлены в соответствии с их значениями.
  
 
   
 
   
 +
'''Свойства''':
  
Путь
+
{|cellpadding="10" cellspacing="0" border="1"
  Аргумент, определяющий место размещения объекта, подвергаемого файловой операции - абсолютный путь к каталогу или файлу.
+
|Тип запуска
+
|Определяет тип и формат запуска дочернего сценария.
Тип объекта
+
* Вложенный. Запуск вложенного сценария прекращает выполнение (возможно на время, до возврата управления) текущего сценария и активизирует обработку выбранного сценария того же типа.  
Каталог / Файл / Путь
+
* Асинхронный служебный. Запускает в параллельном процессе выполнение выбранного служебного сценария и продолжает выполнение текущего. 
 +
* Фоновое медиа-взаимодействие. Доступно только для IVR сценариев. Инициирует дублирующий параллельный сценарий IVR. Подробнее в разделе [[Фоновый IVR-сценарий медиа-взаимодействия|Сценарии IVR. Фоновый сценарий]].
 +
|-
 +
|Сценарий
 +
|Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить.
 +
|-
 +
|Параметр запуска
 +
|Аргумент, передающий свое значение на старт запускаемого сценария.
 +
|-
 +
|Возврат управления
 +
|Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария.
  
Определяет перечень операций, возможных для проведения с объектом, указанным с помощью пути.
+
При установке значения «Нет» выполнение текущего сценария прекращается и запускается вложенный сценарий (с сохранением значений всех переменных). Такой способ наиболее часто применим на практике.  
+
При установке значения «Да» вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова. Все переменные исходного сценария доступны во вложенном и наоборот, таким образом после возврата они будут иметь соответствующие измененные значения. На процедуру возврата также влияет флаг «Возврат управления» компонента [[#Стоп|Стоп]], - используется во вложенном сценарии после успешного переключения с необходимостью безусловно прервать обработчик сценариев.  
Операция
+
В зависимости от выбранного типа объекта предоставляет перечень возможных операций.
+
  
Каталог:
 
  
· Создать
+
<span style="color:red;">ВНИМАНИЕ! Обработчик сценариев поддерживает условно неограниченную вложенность и имеет стек с ограничением в 100 сценариев во избежание зацикливания.
  
· Удалить
+
<span style="color:red;">ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после возврата в случае запуска вложенного сценария, а также непосредственно после запуска служебного сценария.
 +
Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
· Переместить
 
  
· Переименовать
+
<div id="Pause"></div>
 +
==[[Файл:cl_cc_scr_i03.png|left]]Пауза==
  
· Скопировать
+
Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.
  
· Проверить существование
 
 
· Количество подкаталогов
 
 
· Вернуть путь к подкаталогу
 
 
· Количество файлов
 
 
· Вернуть путь к файлу
 
 
Файл:
 
 
· Создать
 
 
· Удалить
 
 
· Переместить
 
 
· Переименовать
 
 
· Скопировать
 
 
· Проверить существование
 
 
· Определить размер
 
 
· Считать данные
 
 
· Дописать данные в конец
 
 
Путь:
 
 
· Вернуть родительский каталог
 
 
· Вернуть имя
 
 
· Вернуть имя без расширения
 
 
· Вернуть расширение
 
 
· Проверить полноту
 
 
· Склеить пути
 
 
   
 
   
+
'''Свойства''':
Новый путь
+
  
Новое имя
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Время задержки
 +
|Время в миллисекундах, которое необходимо простоять на компоненте в паузе.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Путь копии
 
Путь или имя, которое будет присвоено вновь созданному файлу (или каталогу).
 
  
В случае, если при переименовании указывается имя без пути, за основу будет взят путь к исходному объекту.
+
<div id="UserState"></div>
+
==[[Файл:cl_cc_scr_i14.png|left]]Статус объекта==
Данные
+
Аргумент, представляющий собой строку. Строка в соответствии с выбранной кодировкой будет переведена в бинарный формат и размещена в содержимом файла при проведении операций создания и записи в файл.
+
+
Кодировка
+
Определяет кодировку, посредством которой происходит преобразовании строки в бинарные данные и обратно при проведении операций записи в файл и чтения из файла.
+
  
· Unicode
+
Позволяет получить доступ к состояниям различных объектов (на чтение и запись). Например до начала переключения определить статус объекта (пользователя, задачи, номера), чтобы без попытки переключения и, соответственно, без включения сигнала ожидания, озвучить соответствующий текст меню.
  
· UTF-8
 
 
· UTF-7
 
 
· Текущая кодовая страница Windows
 
 
· Windows-1251
 
 
· Указанная кодовая страница Windows
 
 
   
 
   
+
'''Свойства''':
Данные в переменную
+
Строковая переменная, куда будет сохранено содержимое файла при проведении операции чтения. Данные из файла считываются в бинарном виде и преобразуются в строку согласно выбранной кодировке.
+
  
Внимание! Если целью считывания данных из файла является их дальнейшая передача вовне без изменений (например используя веб-запрос или сохранение файла, осуществляющие преобразование строки в бинарные данные), необходимо в обоих компонентах использовать кодировки ANSI, так как только она гарантирует однозначное двустороннее преобразование без потери данных.
+
{|cellpadding="10" cellspacing="0" border="1"
+
|Действие
Маска
+
|Доступные действия:
Аргумент, представляющий собой маску для файлов/каталогов в формате операционной системы, например *.inf или data_??.txt. Используется при определении содержимого каталога.
+
* Определить. Формирует работу компонента для записи в назначенную переменную выбранного состояния указанного объекта.
 +
* Установить. Изменяет выбранное состояние указанного объекта на результат вычисления назначенного аргумента.
 +
<!-- * Создать. Создает объект выбранного типа, возвращая его идентификатор.
 +
* Удалить. Удаляет объект выбранного типа. -->
 +
|-
 +
|Тип объекта
 +
|Один из вариантов: Задача, Пользователь, Номер, Линия, Направление, Конференция, Сервер. Тип объекта, с которым производится работа: статус которого подлежит определению, изменению, или который необходимо создать/удалить.
 +
В зависимости от выбранного действия перечень типов может меняться.
 +
|-
 +
|Задача (ключ), Пользователь (ключ), Номер, Линия (ключ), Направление (ключ), Конференция (ключ), Сервер
 +
|Доступны только для действий определить/установить.
 +
В зависимости от выбранного типа поле принимает тот или иной вид:
 +
* Задача. Одна из списка задач системы (или проекта, если сценарий принадлежит проекту). Возможно задание через строковый аргумент «Ключ задачи». Может содержать идентификатор в виде Guid значения «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx», код задачи или название задачи. Будет использован только в случае, если задача не указана явно в списке имеющихся в системе задач.  
 +
* Пользователь. Один из списка пользователей системы. Возможно задание через строковый аргумент «Ключ пользователя». Может содержать идентификатор в виде GUID значения, имя или логин.
 +
* Номер. Аргумент, определяющий внутренний номер (стандартный).
 +
* Линия. Аргумент, определяющий номер, код или Guid-идентификатор линии.
 +
* Направление. Аргумент, определяющий направление (код или Guid-идентификатор).  
 +
* Конференция. Аргумент, определяющий номер комнаты, Guid-идентификатор или код идентификатора конференции.
 +
* Сессия. Аргумент, определяющий Id цепочки коммутации или сессию служебного сценария.
 +
* Контакт. Аргумент, определяющий телефон (электронную почту, ICQ и т.д.) у контакта.
 +
|-
 +
|Функция / действие
 +
|Доступно только для действий определить/установить.
  
Внимание! Если целью определения содержимого является обнаружение конкретного подкаталога/файла, либо обработка всего содержимого, соответствующего маске, то при взятии пути к конкретному файлу используется индекс. В этом случае необходимо также указывать ту же самую маску.
+
В зависимости от выбранного действия и типа объекта поле содержит список доступных состояний.
+
Индекс
+
Аргумент, определяющий индекс файла/подкаталога при взятии его пути. Индекс - порядковый номер объекта в общем списке файлов/подкаталогов исследуемого каталога, отфильтрованного в соответствии с указанной маской.
+
+
Добавочный путь
+
Аргумент, определяющий часть пути, подвергаемый склейке с основным. Например, если основной указанный путь 'C:\1', а добавочный '2.txt', то при проведении склейки результатом будет 'C:\1\2.txt'.
+
+
Результат в переменную
+
Переменная, куда будет сохранен результат выполнения операции. Может быть строковой, либо числовой для проведения отдельных операций.
+
+
Переход
+
Компонент, на который передается управление после успешного завершения ввода.
+
+
Переход, не найдено
+
Компонент, на который передается управление в случае, если указанный каталог или файл не найден.
+
+
Переход, ошибка
+
Компонент, на который передается управление в случае, если в назначенных параметрах допущена ошибка или при проведении указанной операции возникла ошибка.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
  
+
<h3>Определение состояния.</h3>
  
+
'''Доступные функции для задач:'''
 +
* Количество абонентов в очереди.
 +
* Наибольшее время ожидания среди абонентов очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества минут).
 +
* Расчетное время ожидания в очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества секунд). Осуществляет расчет времени ожидания при гипотетическом размещении текущего звонка в очереди указанной задачи. В случае, если установлен приоритет звонку, он будет учтен. При выполнении в диалоговом и служебном сценариях, где отсутствует понятие приоритета звонка, происходит оценка времени ожидания при размещении в конец очереди.
 +
* Количество активных операторов задачи.
 +
* Количество свободных операторов задачи.
 +
* Активность задачи. 0 - неактивна, 1 - активна.
 +
* Доступность по расписанию. 0 - в данный момент недоступна, 1 - в данный момент доступна.
 +
* Проверка доступности входа. -1 — функция не выполнена, 0 — вход разрешен, 1 — текущее время не подходит по расписанию, 2 — текущее время не подходит по установленному периоду активности, 3 — превышение максимального числа одновременно активных внешних линий, 4 — задача не найдена, 5 — несоответствие состояния (задача неактивна, отсутствуют операторы и т.д.), 6 — ошибка при попытке входа
 +
* Количество использованных линий.
 +
* Количество линий в разговоре.
 +
* Количество линий в дозвоне.
 +
* Количество линий в ожидании оператора.
  
 
  
  Голосовая почта
+
'''Доступные функции для пользователей:'''
 +
* Идентификатор пользователя.
 +
* Имя пользователя.
 +
* Логин пользователя.
 +
* Скилл-тэги.
 +
* Идентификатор связанной линии, по которой пользователь совершает звонки.
 +
* Внутренний номер. Возвращает персональный номер, а в случае его отсутствия - групповой номер, в котором пользователь приоритетнее (вызывается первее или имеет наибольший приоритет). Если под это условие попадает несколько номеров, то выбирается с наименьшим номером.
 +
* Отдел. Пустая строка — если без отдела, название отдела — если установлено.
 +
* IP-адрес, с которого запущено клиентское приложение или web-клиент.
 +
* Статус. 0 - не авторизован, 1 - готов, 2 - перерыв, 3 - отключен (нет на месте), 5 - занят, 6 - зарезервирован, 7 - без телефона.
 +
* Признак переадресации. 0 - переадресация не установлена, 1 - в статусе переадресации
 +
* Признак перерыва. 0 - перерыв не установлен, 1 - в перерыве
 +
* Присутствие в КЦ. 0 - вне Call-центра, 1 - в Call-центре
 +
* Ручной режим КЦ. 0 - ручной режим не установлен, 1 - в ручном режиме
 +
* Свободное состояние. 0 — нет, 1 — да
 +
* Количество абонентов в очереди.
 +
* Наибольшее время ожидания среди абонентов очереди.
 +
* Наличие привилегии в правах. В значении указывается код привилегии из таблицы ''A_UserRoles_Rights'' (столбец Code)
 +
* Наличие роли. В значении указывается название или GUID-идентификатор роли. Идентификатор можно найти в таблице A_UserRoles_Roles (столбец Id)
  
 
  
Осуществляет перемещение данных об указанном звуковом файле (чаще после записи в этом же сценарии) в голосовой ящик указанных пользователей. Подробнее о сервисе голосовой почты в разделе «Офис. Кабинет. Голосовая почта».  
+
'''Доступные функции для номеров:'''
 +
* Количество абонентов в очереди.
 +
* Наибольшее время ожидания среди абонентов очереди.
 +
* Наличие свободных абонентов. 0 — нет, 1 — есть.
 +
* Тип внутреннего номера.
 +
:-1 — номер не найден, 1 — стандартный номер, 11 — Hunt-номер в порядке приоритета, 12 — Hunt-номер с поочередным режимом, 13 — Hunt-номер со случайным выбором, 14 — Hunt-номер с выбором "Наиболее свободный", 15 — Hunt-номер с выбором "Наименее занятый", 16 — Hunt-номер с выбором "Наименее занятый по этому номеру",
 +
:102 — служебный номер Flash, 103 — служебный номер "Выход в город", 104 — служебный номер "Выход в атс", 105 — служебный номер "Перехват",  110 — служебный номер "SIP Hotline",  112 — служебный номер "Управление конференцией",
 +
:201 — быстрый номер, 301 — запуск IVR, 401 — экстренный номер, 501 — стандартный номер на другом сервере(при межсерверном взаимодействии).
 +
* Идентификатор основного объекта. Возвращает первый вызываемый объект (или объект с наибольшим приоритетом). Визуально, такой объект располагается выше в настройках номерах.  
 +
* Идентификатор основной линии. Возвращает первую вызываемую внутреннюю линию (или линию с наибольшим приоритетом).
 +
* Идентификатор основного пользователя. Возвращает первого вызываемого пользователя (или пользователя с наибольшим приоритетом). Только для стандартных внутренних номеров с режимом вызова абонентов "Согласно заданному правилу"; не имеет смысла для Hunt-номеров.
  
 
  
Заполняя свойство «Голосовой ящик» в окне адресата, можно явно указать существующих в системе пользователей, а также существующие отделы и внутренние номера. Также можно использовать свойство «Ключ получателя», значением которого является вычисляемый аргумент. Это удобно, когда заранее неизвестно получателя, и данные о нем формируются в момент исполнения сценария. При этом сообщение попадет ко всем пользователям, которые указаны явно, составляют указанные внутренние номера и группы. У пользователей, которым поступает голосовая почта, в их модулях появляются данные об абоненте, и возможность прослушать файл.  
+
'''Доступные функции для линий:'''
 +
* Идентификатор линии.
 +
* Номер линии.
 +
* Код линии.
 +
* Внутренний номер. Возвращает персональный номер линии или логически связанного с линией пользователя. Если персональных номеров нет, то возвращается групповой номер, в котором линия или связанный пользователь самый приоритетный (вызывается первее или имеет приоритет выше чем в остальных). Среди двух одинаковых номеров, приоритет отдается номер на логически связанного пользователя с наименьшим номером.  
 +
* CallerId.
 +
* CalledId.
 +
* Идентификатор цепочки коммутаций.
 +
* Идентификатор пользователя, логически связанного с данной линией.
 +
* IP-адрес (устройства или шлюза).
 +
* Состояние. 1 - Не подключена, 2 - Выключена, 4 - Готова, 8 - Трубка поднята, 16 - Входящий звонок, 32 - Скоммутирована, 64 - Ожидание, 128 - Флеш, 256 - не используется, 512 - Занято, 1024 - Неопределено, 2048 - Зарезервирована, 4096 - Зарезервирована задачей.
 +
* Время активности. Количество секунд с момента поднятия трубки.
 +
* Название абонента. Установленное ранее в сценарии название.
 +
* Описание абонента. Установленное ранее в сценарии описание.
 +
* Текущая позиция в очереди.
 +
* Расчетное время ожидания в секундах.
 +
* Текущий приоритет в очереди.
 +
* Контент линии (XML). Только для внешних линий. Полная информация о всех коммутациях на данной линии в виде XML.
 +
* Контент цепочки (XML). Полная информация о всех коммутациях по цепочке коммутаций в виде XML.
 +
* Контент цепочки (JSON). Полная информация о всех коммутациях по цепочке коммутаций в виде JSON.
 +
* Поле контента линии. Только для внешних линий. В контенте линии (XML) это поле
 +
:<code><nowiki><property_cdata key="custominfo"><![CDATA[]]></property_cdata></nowiki></code>.
 +
* Поле контента цепочки (заголовок). В контенте цепочки коммутаций это поле
 +
:<code><nowiki><property_cdata key="custom" /></nowiki></code>
 +
* Поле контента цепочки (коммутация). В контенте цепочки коммутаций для текущей коммутации это поле
 +
:<code><nowiki><property_cdata key="custom"><![CDATA[]]></property_cdata></nowiki></code>
 +
* Время без звука, сек. Интервал времени, в течении которого с линии не приходят RTP-пакеты.
 +
* Идентификатор скоммутированной линии/конференции.
 +
* Номер скоммутированной линии/конференции.
 +
* Принадлежность к направлению. В значении указывается код направления. -1 — направления не существует, 0 — не принадлежит, 1 — принадлежит.
 +
* Заголовок из входящего SIP INVITE/OK сообщения. В значении указывается название заголовка (например, From). Если значение не указано, возвращается полный текст SIP-сообщения.
  
Сообщение отправится всем выбранным по одному из двух параметров – указателей адресатов. При этом один компонент формирует группу из всех перечисленных участников - прослушивание одним из них будет отражено на всей записи. При необходимости разослать сообщение независимо нескольким пользователям следует использовать серию из компонентов «Голосовая почта»
 
  
+
'''Доступные функции для направлений:'''
 +
* Существование. 0 — не существует, 1 - существует.
 +
* Идентификатор. Если не существует, возвращает "''00000000-0000-0000-0000-000000000000''"
 +
* Код.
 +
* Название.
 +
* Включено. Проверка активности, 0 - не активно, 1 - активно
 +
* Выход во внешнюю сеть. 0 - есть, 1 - нет
 +
* Количество линий.
 +
* Количество свободных линий.
 +
* Количество занятых линий.
 +
* Количество линий, занятых исходящими звонками.
 +
* Количество линий, занятых входящими звонками.
 +
* Проверить принадлежность линии. В значении указывается GUID, код или номер линии. 0 - не принадлежит, 1 - принадлежит направлению.
 +
* Найти свободную линию (без резервирования). Возвращает GUID-идентификатор линии.
  
Свойства:
 
  
   
+
'''Доступные функции для конференций:'''
 +
* Существование. 0 - не существует, 1 - существует.
 +
* Время активности. Возвращает время существования конференции в секундах.
 +
* Идентификатор. Уникальный GUID для конференции.
 +
* Код идентификатора. Уникальный числовой код для конференции.
 +
* Номер комнаты.
 +
* Название.
 +
* Описание.
 +
* Идентификатор управляющего.
 +
* Идентификатор создателя.
 +
* Количество всех участников.
 +
* Количество активных участников.
 +
* Тип доступа. 11 — Открытое совещание, 12 - Закрытое, с возможностью подать заявку на вход, 13 — закрытое, вход только по приглашениям.
 +
* Активность воспроизведения. Свойство определяет воспроизводится ли музыкальный файл в конференцию (с помощью компонента Статус Объекта, свойство "''Установить — Конференция — Воспроизвести файл''"). 0 - не воспроизводится, 1 - воспроизводится.
  
Имя файла
 
Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо поместить в голосовой ящик. При использовании после объекта «Запись файла», в котором имя файла генерируется, необходимо в соответствующем свойстве выбирать возврат полного пути в переменную, сохраняющую имя записанного файла.
 
 
Ключ получателя
 
Аргумент, определяющий пользователя-получателя почты. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
 
  
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
+
'''Доступные функции для сессии (цепочки коммутаций):'''
   
+
* Существование. 1 - существует, 0 - не существует.   
Голосовой ящик
+
* Количество активных линий. Если нет, возвращает -1.
Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующей явно через отдел, или через номер получит соответствующее голосовое сообщение.
+
* Количество активных сценариев. Возвращает общее количество сценариев (IVR, служебных и диалоговых), запущенных под данной сессией.
 +
* Наличие активного обработчика задачи. Определяет, обрабатывается ли данный звонок по задаче Call-центра. 0 - нет, 1 - есть.
 +
* Контент (XML). Полная информация о всех коммутациях по цепочке коммутаций в виде XML.
 +
* Контент (JSON). Полная информация о всех коммутациях по цепочке коммутаций в виде JSON.
 +
* Поле контента (заголовок). В контенте цепочки коммутаций это поле
 +
:<code><nowiki><property_cdata key="custom" /></nowiki></code>
 +
* Поле контента (коммутация). В контенте цепочки коммутаций для текущей коммутации это поле
 +
:<code><nowiki><property_cdata key="custom"><![CDATA[]]></property_cdata></nowiki></code>
  
При одновременном указании голосового ящика и ключа производится объединение всех установленных получателей на момент исполнения компонента.
 
 
Режим подстановки CallerId
 
Определяет режим подстановки CallerId.
 
  
· Автоматически. Для сценариев IVR и диалоговых существует возможность автоматически определить номер абонента, чей звонок обслуживается в текущем сценарии. Если голосовую почту оставляет внутренний пользователь системы, будет подставлено его имя.  
+
'''Доступные функции для контактов:'''
 +
* Проверить группу. В поле "Группа" необходимо указать название группы контактов. 0 - не входит, 1 - входит.
  
· Из аргумента. В некоторых случаях (если номер не определен, номер требует преобразований, служебный сценарий, работающий без привязки к каналу и т.д.) номер следует указывать вручную. При выборе данного значения появляется возможность задать callerid из аргумента.
 
 
 
CallerId
 
Доступно только в режиме подстановки CallerId из аргумента.
 
  
Аргумент, значение которого подставляется при размещении голосового сообщения в поле таблицы CallerId и устанавливает номер абонента, оставившего сообщение.
+
'''Доступные функции для сервера:'''
+
* Имя хоста сервера.
Переход
+
* Локальный IP-адрес. Один из локальных IP-адресов хоста.
Компонент, на который передается управление после успешного завершения ввода.
+
* Все локальные IP-адреса. Перечень всех IP-адресов через точку с запятой.
+
* Внешний IP-адрес сервера (STUN-запрос). В качестве параметра может быть указан адрес конкретного stun-сервера.
Имя
+
* Значение конфигурации. В качестве параметра указывается ключ конфигурации.
Название компонента для отображения в визуальной среде и выбора в списке.
+
* Рабочее время по графику офиса. В качестве параметра может быть указано значение дата/время. 0 - не рабочее время, 1 - рабочее время.
+
* Объем виртуальной памяти службы (в МБ).
 +
* Объем виртуальной памяти процесса HAL (в МБ).
 +
* Количество подключенных пользователей.
 +
* Количество внешних линий.
 +
* Количество внутренних линий.
 +
* Регистрационный номер.
 +
* Количество пользователей в лицензии.
 +
* Количество внешних линий в лицензии.
 +
* Количество внутренних линий в лицензии.
 +
* Дата следующего подтверждения лицензии.
  
 
   
 
   
 +
<h3>Установка состояния.</h3>
  
+
'''Доступные функции для задач:'''
 +
* Активность. В значении: 1 - активировать, 0 - деактивировоать.
 +
* Очистить оперативную статистику.
 +
* Синхронизировать таблицу абонентов с БД.
 +
* [[Задачи:Дополнительно#ManualCall|Привязать к звонку оператора]]. В значении указывается ключ пользователя или json-форматированная строка, содержащая ключи-значения user и/или idinlist для указания идентификатора абонента в прикрепленной к задаче таблице абонентов. Например, <code>operatorMasha</code> или <code>{"user": "operatorMasha", "idinlist": 2}</code>
 +
* Добавить оператора. В значении указывается ключ оператора (GUID, имя или логин).
 +
* Удалить оператора. В значении указывается ключ оператора (GUID, имя или логин).
 +
* Изменить количество линий. Используется для ограничения одновременного количества звонков по задаче. -1 — снять ограничение.
  
 
  
Уведомление
+
'''Доступные функции для пользователей:'''
 +
* Сохранить скриншот (в размерах 640х480 или переопределенных в [[Параметры файлов конфигурации#ScreenShotSize|конфигурационном файле сервера]]). В параметре указывается относительный (от папки \oktell\server) или абсолютный путь к файлу, куда изображение следует сохранить. Таймаут на исполнение 10 секунд. Например, <code>screens\1.png</code> или <code>C:\screens\2.png</code>
 +
* [[Голосовые задачи#ManualCall|Привязать текущий звонок к задаче]] (дополнительно указывается ключ задачи или json-форматированная строка, содержащая ключи-значения task и/или idinlist для указания Id абонента в прикрепленной к задаче таблице абонентов). Например, <code>54C3F5F4-BD04-4EE7-9209-B3C4F2460643</code> или <code>{"task": "54C3F5F4-BD04-4EE7-9209-B3C4F2460643", "idinlist": 2}</code>
 +
* Изменить статус. В значении: 1 — готов, 2 — перерыв, 3 — отключен (нет на месте), 5 — занят,
 +
* Изменить признак занятости. В значении: 0-освободить, 1-занять.
 +
* Изменить признак переадресации. В значении: 0-выключить, 1-включить.
 +
* Ввести/вывести в перерыв. В значении: 0-вывести, 1-ввести. Для указания причины перерыва может быть указана комбинированная строка
 +
:<code>[сам флаг];[код перерыва];[текстовое описание перерыва]</code>, например <code>1;-1;Обед</code>.
 +
* Ввести/вывести в Call-центр. В значении: 0-вывести, 1-ввести.
 +
* Ввести/вывести в ручной режим Call-центра. В значении: 0-вывести, 1-ввести.
  
 
  
Уведомление – всплывающее окно, позволяющее донести до пользователя информацию о происходящем в сценарии действии. В качестве адресатов могут быть выбран список из пользователей, отделов и конкретных номеров. Также в качестве адреса может выступать номер, определяемый значением аргумента.
+
'''Доступные функции для линий:'''
 +
* Разрыв (выполняется безусловно). Производит разрыв и отсоединение линии.
 +
* Мягкий сброс. Производит разрыв с переключением в [[Параметры_АТС#Сценарий IVR вместо отбоя внешней линии|сценарий вместо отбоя]].
 +
* Выход из задачи при следующем переключении. В значении: 1 - применить, 0 - отменить. Фактически используется менеджером задач при обслуживании вызова с участием оператора. Установленный режим будет способствовать  следующее переключение абонента на любой другой объект, отличный от оператора с выходом из задачи. Без использования компонента аналогичное действие можно достигнуть, выставив в настройках задачи режим «Выход из задачи при переключении на IVR». Подробно о режиме в разделе [[Голосовые задачи#Дополнительно|Call-центр.Голосовые задачи.Дополнительно]].
 +
* Название абонента. Отображается в [[Статистика АТС#Журнал звонков|журналах статистики]], а также при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе [[Телефон|программного телефона]].
 +
* Описание абонента. Отображается при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе [[Телефон|программного телефона]].
 +
* Приоритет очереди. Применяется до входа абонента в очередь. Изменение во время нахождения в очереди требует вывода и повторного ввода. После завершения коммутации сбрасывается в значение по умолчанию. Можно установить заранее, даже когда на линии абонент отсутствует.
 +
* Поле контента линии. Только для внешних линий. Введенное значение записывается в контент линии (XML) в поле
 +
:<code><nowiki><property_cdata key="custominfo"><![CDATA[]]></property_cdata></nowiki></code>.
 +
* Поле контента цепочки (заголовок). Введенное значение записывается в контент цепочки коммутаций в поле
 +
:<code><nowiki><property_cdata key="custom" /></nowiki></code>
 +
* Поле контента цепочки (коммутация). Введенное значение записывается в контент цепочки коммутаций для текущей коммутации в поле
 +
:<code><nowiki><property_cdata key="custom"><![CDATA[]]></property_cdata></nowiki></code>
 +
* Разрешить DTMF-управление. Только для внешних линий. В значении 1 - разрешить, 0 - запретить. Позволяет на время текущей сессии разрешить исполнение команд (FLASH и управление конференциями) через DTMF.
 +
* Перерегистрировать SIP-поток. Только для тех линий, по которым регистрация идет от Oktell (на стороне шлюза).
 +
* DTMF в линию. Отправляет в линию DTMF-сигнал, указанный в значении.
 +
* Воспроизвести файл в линию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Если абонент соединен с IVR сценарием — музыкальный файл не воспроизводится. Если абонент находится в коммутации - музыкальный файл воспроизводится только в его линию. Если абонент находится в конференции - на время воспроизведения файла данный участник перестает слышать остальных.
 +
* Воспроизвести файл в коммутацию/конференцию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Дополнительно указывается звуковой файл в формате MP3. В значении указывается уровень громкости для воспроизведения от 0 (громко) до 8 (тихо). Проигрываемый файл в этом режиме слышат все участники разговора. Не воспроизводится, если абонент соединен с IVR.
  
 
  
Уведомление получат все пользователи, которые указаны персонально, либо состоят в выбранных группах или внутренних номерах. В режиме «Офис. Кабинет. Уведомления» пользователь всегда сможет просмотреть пришедшие к нему уведомления и осуществить поиск.
+
'''Доступные функции для конференции:'''
 +
* Установить название.
 +
* Установить описание.
 +
* Обновить информацию у клиентов. Во всех клиентских приложениях обновляется название и описание конференции.
 +
* Воспроизвести файл. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Проигрываемый файл слышат все участники конференции.
 +
* Завершить конференцию.
  
 
  
Свойства:
+
'''Доступные функции для сессии:'''
 +
* Поле контента (заголовок). Введенное значение записывается в контент цепочки коммутаций в поле
 +
:<code><nowiki><property_cdata key="custom" /></nowiki></code>
 +
* Поле контента (коммутация). Введенное значение записывается в контент цепочки коммутаций для текущей коммутации в поле
 +
:<code><nowiki><property_cdata key="custom"><![CDATA[]]></property_cdata></nowiki></code>
 +
* Воспроизвести файл в коммутацию/конференцию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Дополнительно указывается звуковой файл в формате MP3. В значении указывается уровень громкости для воспроизведения от 0 (громко) до 8 (тихо). Проигрываемый файл в этом режиме слышат все участники разговора. Не воспроизводится, если абонент соединен с IVR.
  
 
  
Отладочный режим
+
'''Доступные функции для сервера:'''
Да / нет. По умолчанию «нет». При сохранении сценария может быть установлен общий режим отладки (на странице свойств сценария). Отладочные уведомления будут отображаться только в режиме отладки сценария. Остальные будут отображаться в любом случае.
+
* Обновить список задач. Синхронизирует менеджер задач с базой данных, обновляя список задач и их свойства.
+
* Обновить общие настройки. Перезагружает текущие общие настройки, задаваемые в разделе ''[[Общие Настройки]]'', из БД.
Ключ получателя
+
* Перерегистрировать все SIP-потоки.
Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).  
+
* [[Динамическое управление картой сети|Изменить карту сети]].
 +
* Перезагрузить сервер состояний (выполняется безусловно). Производится действие, аналогичное нажатию кнопки «Применить» в любом из модулей администрирования. Сервер состояний инициализируется на основе информации в БД. 
 +
* Перезагрузить аппаратный модуль (выполняется безусловно). Производится переинициализация аппаратной подсистемы с завершением всех коммутаций и конференций. В случае, если аппаратный модуль настроен на работу в отдельном процессе, производится выгрузка процесса с последующим автоматическим его запуском.  
 +
* Перезагрузить службу сервера (выполняется безусловно). Действие производится сразу же без ожидания корректного завершения коммутаций и служебных сценариев.
 +
* Перезагрузить серверную станцию (выполняется безусловно). Отдает команду операционной системе на полное завершение всех процессов с последующей перезагрузкой.
 +
* Сборка мусора .NET.
 +
* Произвести анализ памяти .NET.
 +
* Обновить лицензионный сертификат.
 +
* Добавить в бан-лист SIP. После применения сервер перестает принимать любые SIP-сообщения с указанного адреса или c указанным user-agent. В trn-логе пишется соответствующая информация "banned" (если включено [[Логирование#.D0.9F.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D1.8B_.D0.B0.D0.BF.D0.BF.D0.B0.D1.80.D0.B0.D1.82.D1.83.D1.80.D1.8B._.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D1.8F|логирование сетевых атак]]). В значении следует указать IP-адрес, например <code>3.14.15.92</code>, или user-agent, например <code>angry-scanner</code>
 +
* Удалить из бан-листа SIP. После применения сервер снова начинает принимать SIP-запросы с указанного адреса. В значении следует указать IP-адрес, например <code>3.14.15.92</code>, или user-agent, например <code>angry-scanner</code>
 +
* Добавить в бан-лист App, WS, HTTP. После применения сервер перестает принимать web-запросы с указанного IP-адреса. В значении следует указать IP-адрес, например <code>3.14.15.92</code>.
 +
* Удалить из бан-листа App, WS, HTTP. После применения сервер снова начинает принимать web-запросы с указанного IP-адреса. В значении следует указать IP-адрес, например <code>3.14.15.92</code>.
 +
|-
 +
|Значение в переменную
 +
|Доступно только для действия «Определить».
 +
Переменная, в которую заносится результат вычисления функции.
 +
|-
 +
|Значение
 +
|Доступно только для действия «Установить».
 +
Аргумент, значение которого вычисляется для установки состояния.
 +
|-
 +
|Идентификатор в переменную
 +
|Доступно только для действия «Создать».
 +
Переменная, в которую заносится идентификатор вновь созданного объекта.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
 
 
Адресат
 
Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующий явно, через отдел, или через номер получит соответствующее уведомление.
 
  
При одновременном указании адресата и ключа производится объединение всех установленных получателей на момент исполнения компонента.
+
<div id="SQL"></div>
+
Сохранять в БД
+
Да/нет. По умолчанию «да». При установке свойства сообщение будет сохранено в БД и будет доступно в модуле «Офис. Кабинет. Уведомления». Если пользователь отсутствует, то сообщение будет доставлено сразу после его авторизации в системе.
+
+
Текст
+
Аргумент, определяющий текст уведомления.
+
  
Поддерживается минимальный набор тегов HTML для форматирования. Чтобы отобразить текст в виде HTML-документа необходимо его заключить в теги <html>..</html>
+
==[[Файл:cl_cc_scr_i11.png|left]]Запрос в базу данных==
 
+
Ниже за пределами таблицы свойств приведен перечень поддерживаемых HTML-тегов.
+
 
   
 
   
Способ оповещения
 
Позволяет выбрать режим, в котором данные поступают указанным адресатам.
 
 
· Всплывающее уведомление. Появляющиеся в правой части экрана цветные окна с информацией.
 
 
· Системный чат. Сообщение от имени системы во встроенном системном чате.
 
 
 
Цвет фона
 
Определяет цвет фона всплывающего окошка.
 
 
Скрывать автоматически
 
Да/нет. По умолчанию «да». При отключении уведомление будет скрыто только после щелчка пользователя на нем. Поступающие уведомления помещаются в очередь, из которой отображаются в видимых областях экрана в порядке поступления. Очередь сообщений может быть очищена из системного меню в трее.
 
 
При отправке уведомления отключенному пользователю с сохранением в БД, отображаемые после авторизации последние несколько пропущенных уведомлений будут в любом случае автоматически скрываться.
 
 
Асинхронный режим
 
Да/нет. Способ рассылки уведомлений. При выборе асинхронного режима компонент не ожидает доставки уведомлений пользователям и сразу передает управление следующему объекту сценария. Имеет смысл при рассылке уведомления множеству пользователей из сценариев IVR обработки входящих вызовов во избежание незапланированных пауз. Однако при завершении сценария асинхронные рассылки всех уведомлений, не успевшие завершиться, будут прерваны.
 
 
Разрешать несколько экземпляров на экране
 
Да/нет. В некоторых случаях требуется выводить уведомления об одном и том же. Чтобы однотипные отображения не заполняли экран, можно устанавливать режим фильтрации по коду сообщения. Код указывается в открывающемся при этом свойстве.
 
 
Код сообщения
 
Доступно только при запрете нескольких экземпляров на экране. Аргумент, определяющий код, на основании которого будет производиться фильтрация и пропуск отображения.
 
 
Переход
 
Компонент, на который передается управление после успешного завершения ввода.
 
 
Имя
 
Название компонента для отображения в визуальной среде и выбора в списке.
 
 
 
 
 
Поддерживаемые HTML-теги:
 
 
· <html>..</html> - определяет, что блок текста должен быть отображен как HTML-документ
 
 
· <span>..</span> - текстовый блок, атрибуты: style - стиль
 
 
· <a>..</a> - гиперссылка, атрибуты: href - ссылка, title - заголовок, style - стиль
 
 
· <b>..</b> - полужирный, атрибуты: style - стиль
 
 
· <u>..</u> - подчеркнутый, атрибуты: style - стиль
 
 
· <i>..</i> - курсив, атрибуты: style - стиль
 
 
· <s>..</s> - перечеркнутый, атрибуты: style - стиль
 
 
· <br> - переход на следующую строчку, атрибуты: style - стиль
 
 
· <center>..</center> - выравнение по центру, атрибуты: style - стиль
 
 
· <p>..</p> - параграф, атрибуты: style - стиль
 
 
 
 
Атрибутами стиля могут быть
 
 
1) font-weight - толщина символов
 
 
Значения:
 
 
· bold - полужирный
 
 
· normal - обычный               
 
 
(Не поддерживается: bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900)
 
 
2) text-decoration - декорация текста
 
 
Значения:
 
 
· line-through - перечеркнутый
 
 
· underline - подчеркнутый
 
 
· none - отсутствует
 
 
(Не поддерживается: blink | overline )
 
 
3) font-style - стиль шрифта
 
 
Значения:
 
 
· normal - обычный
 
 
· italic - курсив
 
 
(Не поддерживается: oblique)
 
 
4) text-align - выравнение текста (только для <p>)
 
 
Значения:
 
 
· left - по левому краю
 
 
· right - по правому краю
 
 
· center - по центру
 
 
· justify - по ширине
 
 
5) color - цвет текста
 
 
Значения:
 
 
· red - красный
 
 
· green - зеленый
 
 
· blue - синий
 
 
· black - черный
 
 
· white - белый
 
 
· yellow - желтый
 
 
· gray - серый
 
 
· #XXXXXX - шестнадцатеричный код цвета где (X - шестнадцатеричное число 0..F )
 
 
Другие атрибуты игнорируются
 
 
 
 
Примеры:
 
 
1) <html>Данное устройство <b style='color:red;'>не обнаружено</b></html>
 
 
2) <html>У Вас новая <a style='font-style:bold;color:#127A81;' href='http://mail.ru' title='Нажмите, чтобы открыть'>почта</a></html>
 
 
 
 
 
 
Задание на звонок
 
 
 
 
Компонент инициирует задачу однократного выполнения в указанное время на указанный номер. Задача запускает указанный в соответствующем свойстве компонента сценарий IVR. Для формируемой задачи в компоненте указываются инициирующие значения, а также параметр задачи, который будет доступен через функцию «Параметр задачи» в сценарии IVR.
 
 
ВНИМАНИЕ! Для инициации звонка существует альтернатива данному компоненту. Служебный сценарий имеет компонент «Дозвон», рекомендуемый к использованию в большинстве случаев, так как имеет расширенные настройки и не производит дополнительной нагрузки на менеджер задач.
 
 
 
 
Свойства:
 
 
 
 
Номер
 
Аргумент, определяющий номер, по которому производить дозвон.
 
 
Выполнить сразу
 
Да/Нет. Сразу выполнять задачу или дожидаться указанного времени.
 
 
Дата/время
 
Дата и время, когда производить выполнение задачи.
 
 
Поле доступно только при выборе значения «Нет» в свойстве «Выполнить сразу».
 
 
Сценарий
 
Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить после дозвона.
 
 
Параметр запуска
 
Числовой аргумент, передающий свое значение в задачу, а через нее на старт запускаемого сценария и в функцию «Параметр задачи». Может быть использован для идентификации через сопоставление по таблице в БД, или для передачи множества параметров. Доступен в сценарии автоматической задачи через встроенную функцию «Параметр задачи».
 
 
Количество сигналов «Занято»
 
Сколько дозвонов с ответом «Занято» считать успешным выполнением задачи.
 
 
Количество сигналов «Не отвечает»
 
Сколько дозвонов с ответом «Не отвечает» считать успешным выполнением задачи.
 
 
Время фиксации в секундах
 
Сколько секунд необходимо выполнять сценарий после дозвона, чтобы считать успешным выполнение задачи.
 
 
Время ожидания ответа
 
Сколько секунд ожидать ответа от линии для получения сигнала «Не отвечает».
 
 
Пауза после сигнала «Занято»
 
Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Занято».
 
 
Пауза после сигнала «Не отвечает»
 
Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Не отвечает».
 
 
Переход
 
Компонент, на который передается управление.
 
 
Имя
 
Название компонента для отображения в визуальной среде и выбора в списке.
 
 
 
 
 
 
 
 
 
Запрос SQL в БД
 
 
 
 
 
Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: ADO, OLE, ODBC. Для запросов во внешние БД необходимо заполнить строку подключения с помощью помощника – построителя. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.  
 
Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: ADO, OLE, ODBC. Для запросов во внешние БД необходимо заполнить строку подключения с помощью помощника – построителя. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.  
  
 
   
 
   
 +
'''Свойства''':
  
Свойства:
+
{|cellpadding="10" cellspacing="0" border="1"
 
+
|SQL запрос
+
|Окно ввода запроса в формате SQL. В нем вы можете проверить запрос, а также исполнить в базе в момент создания. Параметры запроса в виде переменных SQL обозначаются маркером «@» в начале имени («:» в начале имени для OLE, Oracle, или «?» для входных параметров ODBC). Встроенный парсер разберет параметры и предложит сопоставить им переменные сценария. Входные параметры запроса получат значение из соответствующих переменных сценария перед выполнением запроса, выходные параметры занесут свои значения в переменные сценария после выполнения запроса. Также, если в возвращаемой выборке название какого-либо поля совпадает с названием внутренней переменной сценария, в нее будет занесено соответствующее значение из выборки.
 
+
SQL запрос
+
Окно ввода запроса в формате SQL. В нем вы можете проверить запрос, а также исполнить в базе в момент создания. Параметры запроса в виде переменных SQL обозначаются маркером «@» в начале имени («:» в начале имени для OLE, Oracle, или «?» для входных параметров ODBC). Встроенный парсер разберет параметры и предложит сопоставить им переменные сценария. Входные параметры запроса получат значение из соответствующих переменных сценария перед выполнением запроса, выходные параметры занесут свои значения в переменные сценария после выполнения запроса. Также, если в возвращаемой выборке название какого-либо поля совпадает с названием внутренней переменной сценария, в нее будет занесено соответствующее значение из выборки.
+
 
+
 
На вкладке «Подключение» вы можете выбрать один из вариантов подключения к БД. Это используется в большей части для получения индивидуальных нестандартных настроек, а также при подключении к внешним БД. В случае использования общего формата ADO, OLE или ODBC (а также подключения по отдельно выделенным каналам к БД Oracle) необходимо заполнить строку подключения. В строке и определяются индивидуальные настройки. Например, таймаут ожидания ответа, или драйвер для подключения к различным СУБД при использовании технологии ODBC. В окне помощника формирования строки подключения вы можете увидеть все доступные для использования параметры и их описания.
 
На вкладке «Подключение» вы можете выбрать один из вариантов подключения к БД. Это используется в большей части для получения индивидуальных нестандартных настроек, а также при подключении к внешним БД. В случае использования общего формата ADO, OLE или ODBC (а также подключения по отдельно выделенным каналам к БД Oracle) необходимо заполнить строку подключения. В строке и определяются индивидуальные настройки. Например, таймаут ожидания ответа, или драйвер для подключения к различным СУБД при использовании технологии ODBC. В окне помощника формирования строки подключения вы можете увидеть все доступные для использования параметры и их описания.
 
+
В случае необходимости плотного взаимодействия с внешней СУБД, обилия хранимых процедур, запросов и их параметров рекомендуется настроить прилинкованный сервер СУБД в MS SQL Server и работать с внешней СУБД по правилам, определяемым TSQL. Подробнее о процедуре подключения линкованных серверов можно узнать в разделе  [[Подключение внешних БД]]
В случае необходимости плотного взаимодействия с внешней СУБД, обилия хранимых процедур, запросов и их параметров рекомендуется настроить прилинкованный сервер СУБД в MS SQL Server и работать с внешней СУБД по правилам, определяемым TSQL. Подробнее о процедуре подключения линкованных серверов можно узнать в разделе  «Подключение внешних БД»
+
 
+
 
Формат самих запросов SQL вне рамок данного описания.   
 
Формат самих запросов SQL вне рамок данного описания.   
+
|-
Таймаут
+
|Таймаут
Устанавливает временное ограничение выполнения запроса на сервере БД. По умолчанию 30 секунд.
+
|Устанавливает временное ограничение выполнения запроса на сервере БД. По умолчанию 30 секунд.
 
+
 
В случае, если используется уникальная строка подключения, таймаут может быть установлен в ней (Command Time Out). Если значением является 0, таймаут особым образом не устанавливается и применятся таймаут по умолчанию для созданного подключения (берется из строки подключения или из параметров соответствующего драйвера).
 
В случае, если используется уникальная строка подключения, таймаут может быть установлен в ней (Command Time Out). Если значением является 0, таймаут особым образом не устанавливается и применятся таймаут по умолчанию для созданного подключения (берется из строки подключения или из параметров соответствующего драйвера).
 
 
Не применяется при подключении к Oracle.
 
Не применяется при подключении к Oracle.
+
|-
Код ошибки
+
|Код ошибки
Переменная, в которую сохранится код возврата.
+
|Переменная, в которую сохранится код возврата.
+
|-
Переход
+
|Переход
Компонент, на который передается управление после успешной транзакции.
+
|Компонент, на который передается управление после успешной транзакции.
   
+
  |-
Переход, ошибка
+
|Переход, ошибка
Компонент, на который передается управление при появлении исключительной ситуации. В переменную свойства «Код ошибки» попадает код полученного исключения из сервера БД.
+
|Компонент, на который передается управление при появлении исключительной ситуации. В переменную свойства «Код ошибки» попадает код полученного исключения из сервера БД.
+
|-
Имя
+
|Имя
Название компонента для отображения в визуальной среде и выбора в списке.
+
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|}
  
 
  
+
<div id="WebRequest"></div>
  
+
==[[Файл:cl_cc_scr_i12.png|left]]Запрос к WEB-сервису==
  
Запрос к WEB-сервису, XML-запрос
+
Позволяет выполнять запросы к web-сервисам в форматах get, post, put, head, delete. На вход может передавать указанным образом заполненную структуру XML документа. Прием данных и их обработку осуществляет также согласно прикрепленной к компоненту структуре XML документа. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения. Для детального разбора ответа может быть использован совместно с компонентом «Парсер»: сохранив ответ в строковой переменной, его дальнейший анализ производится совокупностью других компонентов сценария.
 
+
+
 
+
Позволяет выполнять запросы к web-сервисам в форматах get и post. На вход может передавать указанным образом заполненную структуру XML документа. Прием данных и их обработку осуществляет также согласно прикрепленной к компоненту структуре XML документа. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения. Для детального разбора ответа может быть использован совместно с компонентом «Парсер»: сохранив ответ в строковой переменной, его дальнейший анализ производится совокупностью других компонентов сценария.
+
  
 
Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов.
 
Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов.
  
 
  
Свойства:
+
'''Свойства''':
 
+
+
 
+
Подключение
+
Форма, определяющая адрес сервера, а также способ подключения к нему и параметры авторизации. При необходимости устанавливаются адрес и пароль подключения к Proxy-серверу.
+
+
Максимальное число перенаправлений
+
Устанавливает ограничение на количество перенаправлений при отправке запроса. По умолчанию свойство не задано, что эквивалентно ограничению в 20 перенаправлений - недостижимое в нормальных условиях значение. 0 - полностью игнорирует перенаправления.
+
  
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|URL
 +
|Переменная, определяющая адрес web-сервера
 +
|-
 +
|Прокси-сервер
 +
|Свойство, определяющее источник настроек для подключения к прокси-серверу.
 +
*Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
 +
*Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
 +
*Настроить индивидуально — используются настройки, указанные в данном компоненте
 +
|-
 +
|Адрес прокси-сервера
 +
|Доступно, если выбраны индивидуальные настройки прокси-сервере. Адрес прокси-сервера.
 +
|-
 +
|Порт прокси-сервера
 +
|Доступно, если выбраны индивидуальные настройки прокси-сервере. Порт прокси-сервера.
 +
|-
 +
|Авторизация на прокси
 +
|Да/Нет. Доступно, если выбраны индивидуальные настройки прокси-сервере. Свойство, отвечающее за необходимость авторизации на прокси-сервер.
 +
|-
 +
|Логин для авторизации на прокси
 +
|Доступно, если необходима авторизация на прокси. Логин учетной записи на прокси-сервере
 +
|-
 +
|Пароль для авторизации на прокси
 +
|Доступно, если необходима авторизация на прокси. Пароль учетной записи на прокси-сервере
 +
|-
 +
|Базовая авторизация
 +
|Свойство, определяющее необходимости использования авторизация на web-сервере
 +
*Не использовать — подключение выполняется без авторизации
 +
*По логину и паролю — подключение выполняется с указанным логином и паролем
 +
|-
 +
|Логин для базовой авторизации
 +
|Доступно, если выбрано использование базовой авторизации. Логин для авторизации на web-сервере
 +
|-
 +
|Пароль для базовой авторизации
 +
|Доступно, если выбрано использование базовой авторизации. Пароль для авторизации на web-сервере
 +
|-
 +
|Максимальное число перенаправлений
 +
|Устанавливает ограничение на количество перенаправлений при отправке запроса. По умолчанию свойство не задано, что эквивалентно ограничению в 20 перенаправлений - недостижимое в нормальных условиях значение. 0 - полностью игнорирует перенаправления.
 
При каждом перенаправлении cookie-файлы накапливаются и передаются дальше.
 
При каждом перенаправлении cookie-файлы накапливаются и передаются дальше.
+
|-
Тип контента
+
|Метод
Строка contenttype, подставляемая в отсылаемый запрос.
+
|POST / GET / PUT / HEAD / DELETE
 
+
В случае POST, PUT, HEAD, DELETE запроса становится доступным формирование и отправка контента.
Например  
+
|-
 
+
|Тип контента
· application/x-www-form-urlencoded  
+
|Доступно только для методов POST, PUT, HEAD, DELETE. Строка contenttype, подставляемая в отсылаемый запрос. Например,
 
+
* application/x-www-form-urlencoded  
· text/xml  
+
* text/xml  
 
+
* text/html  
· text/html  
+
* text/plain  
 
+
· text/plain  
+
 
+
 
Допускается указание других строк.
 
Допускается указание других строк.
+
|-
Метод
+
|Тип запроса
POST / GET
+
|XML / Аргумент.  
+
Доступно только для методов POST, PUT, HEAD, DELETE. Вариант определения тела запроса - формирование в специальной форме с подстановкой переменных, либо на базе указанного аргумента.
Тип запроса
+
|-
XML / Аргумент.  
+
|Запрос
 
+
|Доступно только для методов POST, PUT, HEAD, DELETE. В зависимости от выбранного значения свойства «Тип запроса» это либо форма, определяющая структуру запроса и подстановку в качестве параметров аргументов (переменных) сценария, либо форма выбора строкового аргумента.
Доступно только для метода POST. Вариант определения тела POST запроса - формирование в специальной форме с подстановкой переменных, либо на базе указанного аргумента.
+
|-
+
|Кодировка запроса
Запрос
+
|Определяет в какой кодировке передается тело запроса. В списке возможных вариантов:
Доступно только для метода POST.
+
* Unicode  
 
+
* UTF-8  
В зависимости от выбранного значения свойства «Тип запроса» это либо форма, определяющая структуру запроса и подстановку в качестве параметров аргументов (переменных) сценария, либо форма выбора строкового аргумента.
+
* UTF-7  
+
* Текущая кодовая страница Windows  
Кодировка запроса
+
* Windows-1251  
Определяет в какой кодировке передается тело POST-запроса. В списке возможных вариантов:
+
* Указанная кодовая страница Windows  
 
+
|-
· Unicode  
+
|Кодовая страница Windows для запроса
 
+
|Доступно только при выборе кодировки запроса «Указанная кодовая страница Windows».  
· UTF-8  
+
 
+
· UTF-7  
+
 
+
· Текущая кодовая страница Windows  
+
 
+
· Windows-1251  
+
 
+
· Указанная кодовая страница Windows
+
+
+
Кодовая страница Windows для запроса
+
Доступно только при выборе кодировки запроса «Указанная кодовая страница Windows».  
+
 
+
 
Числовой аргумент, определяющий кодовую страницу Windows для формирования запроса.  
 
Числовой аргумент, определяющий кодовую страницу Windows для формирования запроса.  
+
|-
Режим работы
+
|Дополнительные заголовки
Определяет режим работы компонента. Один из четырех вариантов:
+
|Позволяет переопределить некоторые стандартные заголовки, а также установить новые персональные заголовки.
 
+
Строковый аргумент, подразумевающий многострочное присутствие одного или нескольких заголовков в виде:
· Ожидание результата. Компонент завершает свою работу только после получения ответа от сервера, ошибки сокета или принудительного завершения работы сценария (по обрыву связи). Во всех случаях кроме последнего производится анализ результата и сохранение значений в соответствии с настройками компонента.  
+
  HeaderName1: Value1
 
+
  HeaderName2: Value2
· Асинхронный запуск. Запускает асинхронную процедуру запроса к серверу и мгновенно возвращает управление. Ответ сервера не сохраняется и не анализируется. Запрос продолжает выполняться даже после завершения работы сценария.  
+
|-
 
+
|Дополнительные cookie
· Обрыв по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего обрывает запрос и возвращает управление. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В случае принудительного завершения работы сценария (по обрыву связи) выполнение запроса обрывается.  
+
|Позволяет установить дополнительные cookie значения.
 
+
Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки, запятой или точкой с запятой.
· Выход по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего возвращает управление, оставляя запрос работать асинхронно. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В противном случае ответ сервера не сохраняется (так как сценарий может быть уже завершен). В случае принудительного завершения работы сценария (по обрыву связи) запрос продолжает выполняться.
+
|-
+
|Режим работы
+
|Определяет режим работы компонента. Один из четырех вариантов:
Таймаут, секунды
+
* Ожидание результата. Компонент завершает свою работу только после получения ответа от сервера, ошибки сокета или принудительного завершения работы сценария (по обрыву связи). Во всех случаях кроме последнего производится анализ результата и сохранение значений в соответствии с настройками компонента.  
Определяет таймаут, после которого компонент завершит свою работу в соответствии с выбранным режимом работы. Доступно только для режимов обрыва и выхода по таймауту.
+
* Асинхронный запуск. Запускает асинхронную процедуру запроса к серверу и мгновенно возвращает управление. Ответ сервера не сохраняется и не анализируется. Запрос продолжает выполняться даже после завершения работы сценария.  
+
* Обрыв по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего обрывает запрос и возвращает управление. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В случае принудительного завершения работы сценария (по обрыву связи) выполнение запроса обрывается.  
Тип ответа
+
* Выход по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего возвращает управление, оставляя запрос работать асинхронно. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В противном случае ответ сервера не сохраняется (так как сценарий может быть уже завершен). В случае принудительного завершения работы сценария (по обрыву связи) запрос продолжает выполняться.
XML / TEXT. Определяет, в каком режиме производить сохранение полученного ответа - парсить XML или сохранять в строковую переменную для дальнейшего анализа. Недоступно для асинхронного режима.
+
|-
+
|Таймаут, секунды
Ответ(XML)
+
|Определяет таймаут, после которого компонент завершит свою работу в соответствии с выбранным режимом работы. Доступно только для режимов обрыва и выхода по таймауту.
Форма, определяющая структуру стандартного ответа сервера и характер распределения выходных значений по переменным сценария. Поддерживает только строгое соответствие дерева XML. Недоступно для асинхронного режима.
+
|-
+
|Тип ответа
Ответ(строка)
+
|XML / TEXT. Определяет, в каком режиме производить сохранение полученного ответа - парсить XML или сохранять в строковую переменную для дальнейшего анализа. Недоступно для асинхронного режима.
Переменная, в которую сохранится текст ответа. Недоступно для асинхронного режима.
+
|-
+
|Ответ(XML)
Кодировка ответа
+
|Если выбран "Тип ответа" — XML. Форма, определяющая структуру стандартного ответа сервера и характер распределения выходных значений по переменным сценария. Поддерживает только строгое соответствие дерева XML. Недоступно для асинхронного режима.
Определяет в какой кодировке форматировать тело ответа. В списке возможных вариантов:
+
|-
 
+
|Ответ в переменную
· Unicode  
+
|Если выбран "Тип ответа" — Текст. Переменная, в которую сохранится текст ответа. Недоступно для асинхронного режима.
 
+
|-
· UTF-8  
+
|Кодировка ответа
 
+
|Определяет в какой кодировке форматировать тело ответа. В списке возможных вариантов:
· UTF-7  
+
* Unicode  
 
+
* UTF-8  
· Текущая кодовая страница Windows  
+
* UTF-7  
 
+
* Текущая кодовая страница Windows  
· Windows-1251  
+
* Windows-1251  
 
+
* Указанная кодовая страница Windows  
· Указанная кодовая страница Windows  
+
* Авто (заголовок)  
 
+
* Авто (метатэги, заголовок)
· Авто (заголовок)  
+
|-
 
+
|Кодовая страница Windows для ответа
· Авто (метатэги, заголовок)
+
|Доступно только при выборе кодировки ответа «Указанная кодовая страница Windows».  
+
+
Кодовая страница Windows для ответа
+
Доступно только при выборе кодировки ответа «Указанная кодовая страница Windows».  
+
 
+
 
Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа.
 
Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа.
+
|-
Код ошибки
+
|Заголовки ответа в переменную
Переменная, в которую сохранится код возврата сценария.
+
|Переменная, в которую сохранятся заголовки ответа
+
|-
Переход
+
|Код ошибки в переменную
Компонент, на который передается управление после успешной транзакции.
+
|Переменная, в которую сохранится код возврата сценария.
+
Если был получен ответ от web-сервиса, то код ошибки совпадает с кодом состояния HTTP.
Переход, таймаут
+
В противном случае это внутренние коды ошибок работы компонента:
Компонент, на который передается управление в случае, если выход осуществляется по таймауту.
+
* 661 - истёк таймаут установления подключения (10 секунд) для отправки данных
+
* 662 - не удалось установить соединение для отправки данных
Переход, ошибка
+
* 663 - истёк таймаут отправки тела запроса
Компонент, на который передается управление, если web-сервис не доступен или вернул ошибку.
+
* 664 - ошибка при завершении отправки тела запроса
+
* 1 - прочие ошибки. Конкретная информация об ошибке попадёт в серверный лог Exception
Имя
+
|-
Название компонента для отображения в визуальной среде и выбора.
+
|Переход
+
|Компонент, на который передается управление после успешной транзакции.
 +
|-
 +
|Переход, таймаут
 +
|Компонент, на который передается управление в случае, если выход осуществляется по таймауту.
 +
|-
 +
|Переход, ошибка
 +
|Компонент, на который передается управление, если web-сервис не доступен или вернул ошибку.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора.
 +
|}
  
 
  
+
<div id="Parser"></div>
  
Парсер текста
+
==[[Файл:cl_cc_scr_i27.png|left]]Парсер (XML, HTML, текст)==
 
+
+
  
 
Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента.
 
Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента.
Строка 846: Строка 701:
 
В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос».
 
В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос».
  
+
Подробнее о компоненте можете прочитать в статье [[Компонент Парсер]]
  
Документ
+
{|cellpadding="10" cellspacing="0" border="1"
Аргумент, содержащий текстовую структуру, подлежащую разбору.
+
|Документ
+
|Аргумент, содержащий текстовую структуру, подлежащую разбору.
Алгоритм
+
|-
Метод разбора:
+
|Алгоритм
 +
|Метод разбора:
 +
* Регулярные выражения.
 +
* Язык OQuery для HTML.
 +
* Парсер JSON
 +
|-
 +
|Поисковый запрос
 +
|Строка запроса для соответствующего алгоритма. Язык регулярных выражений совпадает со стандартом .NET. Синтаксис языка OQuery и JSON описан ниже.
 +
|-
 +
|Функция
 +
|Тип запроса (возвращаемого значения)
  
· Регулярные выражения.  
+
В зависимости от выбранного алгоритма допускает выбор одного из возможных вариантов.  
  
· Язык OQuery.
 
 
 
Поисковый запрос
 
Строка запроса для соответствующего алгоритма. Язык регулярных выражений совпадает со стандартом .NET. Синтаксис языка OQuery описан ниже.
 
 
Функция
 
Тип запроса (возвращаемого значения)
 
  
В зависимости от выбранного алгоритма допускает выбор одного из возможных вариантов. Для регулярных выражений доступны:
+
Для регулярных выражений доступны:
 +
* Содержимое.
 +
* Количество найденных.
  
· Содержимое. 
 
 
· Количество найденных.
 
 
 
  
 
Для OQuery доступны:
 
Для OQuery доступны:
 +
* Документ. Возвращает текст структуры с обрамляющими тэгами.
 +
* Содержимое. Возвращает текст структуры без обрамляющих тэгов.
 +
* Количество элементов. Возвращает число - количество найденных структур, расположенных согласно поисковому запросу на одном уровне.
 +
* Значение атрибута.
 +
* Имя атрибута.
 +
* Количество атрибутов.
  
· Документ. Возвращает текст структуры с обрамляющими тэгами.
 
 
· Содержимое. Возвращает текст структуры без обрамляющих тэгов.
 
 
· Количество найденных. Возвращает число - количество найденных структур, расположенных согласно поисковому запросу на одном уровне.
 
 
· Значение атрибута.
 
 
· Имя атрибута.
 
 
· Количество атрибутов.
 
 
 
Номер элемента
 
Аргумент, определяющий порядковый номер структуры на случай, если поисковый запрос нашел несколько результатов. Нумерация в этом случае начинается с 1. Если указывается 0, то результаты склеиваются в одно значение.
 
 
Атрибут
 
Аргумент, определяющий параметры интересующего атрибута. Доступен только для алгоритма OQuery и функций, связанных с атрибутами.
 
  
 +
Для JSON доступны:
 +
* Содержимое. Возвращает текст структуры - значение элемента, объект или массив. Значение элемента возвращается в кавычках.
 +
* Восстановленное содержимое. То же, что и содержимое, но возвращает значение элемента без кавычек.
 +
* Количество элементов. Возвращает число - количество вложенных элементов, объектов, массивов.
 +
|-
 +
|Номер элемента
 +
|Доступно для регулярных выражений и языка OQuery.
 +
Аргумент, определяющий порядковый номер структуры на случай, если поисковый запрос нашел несколько результатов. Нумерация у парсера OQuery начинается с 1, нумерация в случае регулярных выражения и парсера JSON начинается с 0.
 +
|-
 +
|Атрибут
 +
|Доступно только для алгоритма OQuery и функций, связанных с атрибутами.
 +
Аргумент, определяющий параметры интересующего атрибута.
 
Функция "Значение атрибута" ждет в качестве значения аргумента имя или порядковый номер атрибута.
 
Функция "Значение атрибута" ждет в качестве значения аргумента имя или порядковый номер атрибута.
 
 
Функция "Имя атрибута" ждет в качестве значения аргумента порядковый номер атрибута.
 
Функция "Имя атрибута" ждет в качестве значения аргумента порядковый номер атрибута.
+
|-
Результат в переменную
+
|Результат в переменную
Переменная, в которую будет сохранен результат применения поискового запроса к документу (число или часть текста вырезанного или сформированного).
+
|Переменная, в которую будет сохранен результат применения поискового запроса к документу (число или часть текста вырезанного или сформированного).
+
|-
Переход
+
|Переход
Компонент, на который передается управление в случае корректного выполнения поискового запроса.
+
|Компонент, на который передается управление в случае корректного выполнения поискового запроса.
+
|-
Переход, неудача
+
|Переход, неудача
Компонент, на который передается управление в случае неудачи при разборе.
+
|Компонент, на который передается управление в случае неудачи при разборе.
+
|-
Имя
+
|Имя
Название компонента для отображения в визуальной среде и выбора в списке.
+
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|}
  
 
 
Синтаксис OQuery:
 
 
 
 
Запрос - это набор команд.
 
 
Запрос пишется в одну строчку и выполняется в порядке перечисления (слева направо)
 
  
 +
===Синтаксис языка OQuery===
 
   
 
   
 +
Запрос - это набор команд. Запрос пишется в одну строчку и выполняется в порядке перечисления (слева направо). Для тестирования запросов можно воспользоваться программой [[Media:OQuery-tester.zip|'''OQuery-tester.exe''']].
  
 
Уровни:
 
Уровни:
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|*
 +
|Все элементы
 +
|-
 +
|>
 +
|Все дочерние элементы
 +
|-
 +
|^
 +
|Корневые элементы (содержатся на нулевом уровне искомой структуры)
 +
|-
 +
|пробел
 +
|Все элементы кроме корневых
 +
|}
  
*
 
Все элементы
 
 
>
 
Все дочерние элементы
 
 
^
 
Корневые элементы (содержатся на нулевом уровне искомой структуры)
 
 
пробел
 
Все элементы кроме корневых
 
 
 
 
 
 
  
 
Простые команды:
 
Простые команды:
 
+
{|cellpadding="10" cellspacing="0" border="1"
название тега документа
+
|название тега документа
Теги, английские буквы и цифры (начинаются на букву).  
+
|Теги, английские буквы и цифры (начинаются на букву).  
 
+
 
Пример: ^TITLE - найдет тег TITLE в корне  
 
Пример: ^TITLE - найдет тег TITLE в корне  
+
|-
#значение
+
|#значение
Возвращает теги, у которых атрибут id равен указанному значению.  
+
|Возвращает теги, у которых атрибут id равен указанному значению.  
 
+
 
Пример: FORM#32 - найдет все теги FORM, у которых атрибут id равен 32 ( <FORM class=a id=32> )
 
Пример: FORM#32 - найдет все теги FORM, у которых атрибут id равен 32 ( <FORM class=a id=32> )
+
|-
[название=значение]
+
|[название=значение]
Возвращает теги, в теле которых присутствует атрибут с соответствующим названием и значением.
+
|Возвращает теги, в теле которых присутствует атрибут с соответствующим названием и значением.
 
+
 
Пример: TABLE[width=90%]
 
Пример: TABLE[width=90%]
+
|-
.значение
+
|.значение
Возвращает теги, у которых атрибут class равен указанному значению.  
+
|Возвращает теги, у которых атрибут class равен указанному значению.  
 
+
 
Пример: INPUT.b.c - найдет теги, у которых атрибут class содержит b и c ( <INPUT class="a b c" /> )
 
Пример: INPUT.b.c - найдет теги, у которых атрибут class содержит b и c ( <INPUT class="a b c" /> )
+
|}
  
 
  
 
Примечание: Результат не зависит от порядка перечисления команд. Например TABLE#big.sample = TABLE.sample#big - найдет теги, у которых атрибут id = big и атрибут class содержит sample.
 
Примечание: Результат не зависит от порядка перечисления команд. Например TABLE#big.sample = TABLE.sample#big - найдет теги, у которых атрибут id = big и атрибут class содержит sample.
  
 
 
 
  
 
Операции сравнения:
 
Операции сравнения:
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|=
 +
|Знак полного совпадения значения аттрибута. Пример: TABLE[width=90%]
 +
|-
 +
|^=
 +
|Начинается со значения. Пример:<nowiki>IMG[src^="http://bulmas.ru/images"]</nowiki>
 +
|-
 +
|$=
 +
|Заканчивается значением. Пример: IMG[src$=".gif"]
 +
|-
 +
|*=
 +
|Значение содержится где-то в центре. Пример: IMG[src*="erotic"]
 +
|}
  
=
 
Знак полного совпадения значения аттрибута. Пример: TABLE[width=90%]
 
 
   
 
   
^=
 
Начинается со значения. Пример: IMG[src^="http://bulmas.ru/images"]
 
 
$=
 
Заканчивается значением. Пример: IMG[src$=".gif"]
 
 
*=
 
Значение содержится где-то в центре. Пример: IMG[src*="erotic"]
 
 
 
 
 
 
 
 
Суффиксы:
 
Суффиксы:
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|:first
 +
|Возвращает первый элемент коллекции. Пример: TD:first
 +
|-
 +
|:last
 +
|Возвращает последний элемент коллекции. Пример: UL:last
 +
|-
 +
|:parent
 +
|Возвращает родительские теги элементов коллекции. Пример: TABLE>TD>A:parent:parent
 +
|}
  
:first
 
Возвращает первый элемент коллекции. Пример: TD:first
 
 
   
 
   
:last
 
Возвращает последний элемент коллекции. Пример: UL:last
 
 
:parent
 
Возвращает родительские теги элементов коллекции. Пример: TABLE>TD>A:parent:parent
 
 
 
 
 
 
 
 
Простые функции - команды с параметрами:
 
Простые функции - команды с параметрами:
 
+
{|cellpadding="10" cellspacing="0" border="1"
:gt(позиция)
+
|:gt(позиция)
Возвращает элементы начиная с текущей позиции. Пример: TD:gt(10)
+
|Возвращает элементы начиная с текущей позиции. Пример: TD:gt(10)
+
|-
:lt(позиция)
+
|:lt(позиция)
Возвращает элементы до текущей позиции включительно. Пример: TD:lt(15)
+
|Возвращает элементы до текущей позиции включительно. Пример: TD:lt(15)
+
|-
:eq(позиция)
+
|:eq(позиция)
Возвращает элемент соответсвующей позиции, если число отрицательное, то с конца. Пример: TD:eq(-3) третий тег с конца.
+
|Возвращает элемент соответсвующей позиции, если число отрицательное, то с конца. Пример: TD:eq(-3) третий тег с конца.
+
|-
:eq(начало,конец)
+
|:eq(начало,конец)
Возвращает набор элементов от начальной до конечной позиции, если числа отрицательные, то с конца.
+
|Возвращает набор элементов от начальной до конечной позиции, если числа отрицательные, то с конца.
 
+
 
Пример: TD:eq (10,24) - Аналог TD:eq(10):lt(15)
 
Пример: TD:eq (10,24) - Аналог TD:eq(10):lt(15)
 
 
Пример: TD:eq(-1,-3) - возвращает последние 3 элемента
 
Пример: TD:eq(-1,-3) - возвращает последние 3 элемента
 
 
eq, equal, range - синонимы
 
eq, equal, range - синонимы
+
|}
  
 
   
 
   
 
 
 
 
Сложные функции - команды, которым в качестве параметра можно передавать набор команд:
 
Сложные функции - команды, которым в качестве параметра можно передавать набор команд:
 
+
{|cellpadding="10" cellspacing="0" border="1"
:has(OQuery-запрос)
+
|:has(OQuery-запрос)
Возвращает теги, содержащие другие теги, которые удовлетворяют указанному OQuery-запросу.  
+
|Возвращает теги, содержащие другие теги, которые удовлетворяют указанному OQuery-запросу.  
 
+
 
Пример: TABLE:has(^TD>A) - аналог TABLE>TD>A:parent:parent
 
Пример: TABLE:has(^TD>A) - аналог TABLE>TD>A:parent:parent
+
|-
:not(OQuery-запрос)         
+
|:not(OQuery-запрос)         
Возвращает теги не удовлетворяющие указанному OQuery-запросу.  
+
|Возвращает теги не удовлетворяющие указанному OQuery-запросу.  
 
+
Пример: A:not(<nowiki>[href=http://bulmas.ru]</nowiki>) - найдет все теги A, которые не ссылаются на <nowiki>http://bulmas.ru.</nowiki>
Пример: A:not([href=http://bulmas.ru]) - найдет все теги A, которые не ссылаются на http://bulmas.ru.
+
 
+
 
Или: A:eq(1,10):not(:eq(2)) - Все теги A по порядку от 1 до 10, кроме второго.
 
Или: A:eq(1,10):not(:eq(2)) - Все теги A по порядку от 1 до 10, кроме второго.
+
|}
  
 
   
 
   
 
 
Пример: Результат следующих запросов разный
 
Пример: Результат следующих запросов разный
  
A:has(:not(IMG)) - все теги A, которые содержат не IMG
+
:A:has(:not(IMG)) - все теги A, которые содержат не IMG
 
+
:A:not(:has(IMG)) - все теги A, которые не содержат IMG
A:not(:has(IMG)) - все теги A, которые не содержат IMG
+
  
 
   
 
   
 
 
 
 
Операции и знаки:
 
Операции и знаки:
 
+
{|cellpadding="10" cellspacing="0" border="1"
запрос1 , запрос2
+
|запрос1 , запрос2
Запятая (логическое "или"), для перечисления запросов. Примеры:  
+
|Запятая (логическое "или"), для перечисления запросов.  
 
+
Примеры: *A>IMG,>TABLE - вернет все IMG, содержащиеся в A, и TABLE содержащиеся в корне.
*A>IMG,>TABLE - вернет все IMG, содержащиеся в A, и TABLE содержащиеся в корне.
+
 
+
 
INPUT([value="Петр"],[value="Виктор"]) - все INPUT со значениями "Петр" или "Виктор".
 
INPUT([value="Петр"],[value="Виктор"]) - все INPUT со значениями "Петр" или "Виктор".
+
|-
запрос1 + запрос2         
+
|запрос1 + запрос2         
Плюс, найдет теги удовлетворяющие запросу1, за которым идут теги удовлетворяющие запросу2.
+
|Плюс, найдет теги удовлетворяющие запросу1, за которым идут теги удовлетворяющие запросу2.
+
|-
запрос1 - запрос2
+
|запрос1 - запрос2
Минус, найдет теги удовлетворяющие запросу1 перед которым идут теги, удовлетворяющие запросу2.
+
|Минус, найдет теги удовлетворяющие запросу1 перед которым идут теги, удовлетворяющие запросу2.
+
|}
  
 
  
 
Примечание: Операции могут объединять и более двух запросов например A + IMG + #num - вернет все теги A, за которыми идут теги IMG, за которым в свою очередь идут теги с id="num".
 
Примечание: Операции могут объединять и более двух запросов например A + IMG + #num - вернет все теги A, за которыми идут теги IMG, за которым в свою очередь идут теги с id="num".
  
 
 
 
  
 
Скобки:
 
Скобки:
 
+
{|cellpadding="10" cellspacing="0" border="1"
()
+
|()
Скобки, для объединения команд одинакового приоритета.  
+
|Скобки, для объединения команд одинакового приоритета.  
 
+
 
Пример: (FONT,A)(:has(IMG),:has(SPAN)) - теги FONT и A содержащие IMG или SPAN,  
 
Пример: (FONT,A)(:has(IMG),:has(SPAN)) - теги FONT и A содержащие IMG или SPAN,  
 
 
Аналог (FONT:has(IMG), FONT:has(SPAN), A:has(IMG), A:has(SPAN))
 
Аналог (FONT:has(IMG), FONT:has(SPAN), A:has(IMG), A:has(SPAN))
+
|}
  
 
 
 
  
 
Наборы команд:
 
Наборы команд:
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|^FONT       
 +
|все теги FONT корневого (нулевого) уровня.
 +
|-
 +
|>FONT
 +
|все теги FONT первого уровня.
 +
|-
 +
|*FONT
 +
|все теги FONT.
 +
|-
 +
|*>FONT
 +
|все теги FONT кроме корня.
 +
|-
 +
|*>>FONT или >*>FONT
 +
|все теги FONT начиная со второго уровня.
 +
|-
 +
|A>>B
 +
|все теги B находящиеся на втором уровне у A.
 +
|}
  
^FONT       
+
===Рекомендации===
все теги FONT корневого (нулевого) уровня.
+
+
>FONT
+
все теги FONT первого уровня.
+
+
*FONT
+
все теги FONT.
+
+
*>FONT
+
все теги FONT кроме корня.
+
+
*>>FONT или >*>FONT
+
все теги FONT начиная со второго уровня.
+
+
A>>B
+
все теги B находящиеся на втором уровне у A.
+
+
 
+
+
 
+
+
 
+
Рекомендации:
+
  
 
Время выполнения запроса в основном зависит от размера исходного текста и количетсва тегов в нем, и значительно меньше от длины самого запроса.
 
Время выполнения запроса в основном зависит от размера исходного текста и количетсва тегов в нем, и значительно меньше от длины самого запроса.
  
+
Если данные нужно получать в цикле, постарайтесь сначала сократить размер исходного текста.
 
+
Если данные нужно получать в цикле, постарайтесь, сначала сократить размер исходного текста.
+
 
+
Например, если хотим вернуть прогноз погоды в Казани с содержимого сайта "http://weather.yandex.ru/?city=27595" (Около 50кб) за последние
+
 
+
+
 
+
10 дней, можно воспользоваться запросами
+
 
+
+
 
+
tr.data.day>td>b:eq(1)
+
 
+
tr.data.day>td>b:eq(2)
+
 
+
tr.data.day>td>b:eq(3)
+
  
 +
Например, если хотим вернуть прогноз погоды в Казани с содержимого сайта <nowiki>"http://weather.yandex.ru/?city=27595"</nowiki> (Около 50кб) за последние 10 дней, можно воспользоваться запросами
 +
tr.data.day>td>b:eq(1)
 +
tr.data.day>td>b:eq(2)
 +
tr.data.day>td>b:eq(3)
 
и т. д.
 
и т. д.
  
+
Каждый запрос выполняется примерно ~50мс. Итого: ~500мс
  
Каждый запрос выполняется примерно ~50мс.
+
Но можно поступить следующим образом: Организуется цепочка из нескольких компонентов «Парсер», первый из которых забирает все нужные теги <nowiki><B></nowiki> запросом <nowiki>tr.data.day>td>b</nowiki> (~50мс) в переменную сценария. Далее в цикле сценария следующими компонентами забираются соответствующие значения
 
+
Итого: ~500мс
+
 
+
+
 
+
Но можно поступить следующим образом: Организуется цепочка из нескольких компонентов «Парсер», первый из которых забирает все нужные теги <B> запросом tr.data.day>td>b (~50мс) в переменную сценария. Далее в цикле сценария следующими компонентами забираются соответствующие значения
+
 
+
:eq(1)
+
 
+
:eq(2)
+
 
+
:eq(3)
+
  
 +
<nowiki>:eq(1)</nowiki>
 +
<nowiki>:eq(2)</nowiki>
 +
<nowiki>:eq(3)</nowiki>
 
и т. д.
 
и т. д.
 
 
  
 
Каждый запрос выполняется примерно ~0.2мс. Итого время выполнения ~50мс. Получается тот же результат, но в 10 раз быстрее.
 
Каждый запрос выполняется примерно ~0.2мс. Итого время выполнения ~50мс. Получается тот же результат, но в 10 раз быстрее.
  
 
  
+
<div id="json"></div>
 +
===Синтаксис парсера JSON===
  
+
Запросом к парсеру JSON является строка, определяющая ключи свойств объектов или номера элементов в массиве, разделенных символом слэша. При выполнении запроса слева направо парсер на каждом этапе углубляется внутрь структуры JSON.
  
Заказ на встречный звонок
+
Таким образом, строка
  
+
<pre>
 +
"values"/3/"x"
 +
</pre>
  
Сохраняет информацию о заказанном звонке в БД, и отображает в клиентском приложении Oktell у пользователей-адресатов, определяющихся указанным внутренним номером. Подробнее о сервисе заказов встречных звонков в разделе «Офис. Кабинет. Встречные звонки».
+
примененная к структуре JSON с выбранным значением свойства ''Функция'' -> ''Содержимое''
  
   
+
<pre>
 +
{
 +
  "name": "xxx",
 +
  "values": [
 +
    "37",
 +
    true,
 +
    99,
 +
    {"x":2, "y":3},
 +
    "value"
 +
  ],
 +
  "result": true  
 +
}
 +
</pre>
  
Свойства:
+
вернет значение 2.
  
 
  
Ключ получателя
+
<div id="File"></div>
Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
+
  
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
+
==[[Файл:cl_cc_scr_i07.png|left]]Файловая операция==
+
Заказ на номер
+
Аргумент, определяющий номер, на который заказан встречный звонок. Может быть введен пользователем с клавиатуры, определен как «CallerId», или подставлен из базы по коду.
+
+
Заказ на время
+
Ориентировочное время, на которое заказан встречный звонок (сохранится в базе и будет отображено в описании заказа). Не заполнять, если время не указывается.
+
+
Комментарий
+
Комментарий к компоненту (сохранится в базе и будет отображен в описании заказа).
+
+
Переход
+
Компонент, на который передается управление.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
  
 +
Производит указанную дисковую операцию с файлом, каталогом или путем.
 
   
 
   
  
+
'''Свойства''':
  
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Путь
 +
|Аргумент, определяющий место размещения объекта, подвергаемого файловой операции - абсолютный путь к каталогу или файлу.
 +
|-
 +
|Тип объекта
 +
|Каталог / Файл / Путь
 +
Определяет перечень операций, возможных для проведения с объектом, указанным с помощью пути.
 +
|-
 +
|Операция
 +
|В зависимости от выбранного типа объекта предоставляет перечень возможных операций.
  
Статус объекта
+
Каталог:
 +
* Создать
 +
* Удалить
 +
* Переместить
 +
* Переименовать
 +
* Скопировать
 +
* Проверить существование
 +
* Количество подкаталогов
 +
* Вернуть путь к подкаталогу
 +
* Количество файлов
 +
* Вернуть путь к файлу
  
+
Файл:
 +
* Создать
 +
* Удалить
 +
* Переместить
 +
* Переименовать
 +
* Скопировать
 +
* Проверить существование
 +
* Определить размер
 +
* Определить MD5 содержимого
 +
* Считать данные
 +
* Дописать данные в конец
  
Позволяет получить доступ к состояниям различных объектов (на чтение и запись). Например до начала переключения определить статус объекта (пользователя, задачи, номера), чтобы без попытки переключения и, соответственно, без включения сигнала ожидания, озвучить соответствующий текст меню.
+
Путь:
 +
* Вернуть родительский каталог
 +
* Вернуть имя
 +
* Вернуть имя без расширения
 +
* Вернуть расширение
 +
* Проверить полноту
 +
* Склеить пути
 +
|-
 +
|Новый путь
 +
Новое имя
  
+
Путь копии
 +
|Путь или имя, которое будет присвоено вновь созданному файлу (или каталогу).
 +
В случае, если при переименовании указывается имя без пути, за основу будет взят путь к исходному объекту.
 +
|-
 +
|Данные
 +
|Аргумент, представляющий собой строку. Строка в соответствии с выбранной кодировкой будет переведена в бинарный формат и размещена в содержимом файла при проведении операций создания и записи в файл.
 +
|-
 +
|Кодировка
 +
|Определяет кодировку, посредством которой происходит преобразовании строки в бинарные данные и обратно при проведении операций записи в файл и чтения из файла.
 +
* Unicode
 +
* UTF-8
 +
* UTF-7
 +
* Текущая кодовая страница Windows
 +
* Windows-1251
 +
* Указанная кодовая страница Windows
 +
|-
 +
|Данные в переменную
 +
|Строковая переменная, куда будет сохранено содержимое файла при проведении операции чтения. Данные из файла считываются в бинарном виде и преобразуются в строку согласно выбранной кодировке.
  
Свойства:
+
<span style="color:red;">Внимание! Если целью считывания данных из файла является их дальнейшая передача вовне без изменений (например используя веб-запрос или сохранение файла, осуществляющие преобразование строки в бинарные данные), необходимо в обоих компонентах использовать кодировки ANSI, так как только она гарантирует однозначное двустороннее преобразование без потери данных.
 +
|-
 +
|Маска
 +
|Аргумент, представляющий собой маску для файлов/каталогов в формате операционной системы, например *.inf или data_??.txt. Используется при определении содержимого каталога.
  
+
<span style="color:red;">Внимание! Если целью определения содержимого является обнаружение конкретного подкаталога/файла, либо обработка всего содержимого, соответствующего маске, то при взятии пути к конкретному файлу используется индекс. В этом случае необходимо также указывать ту же самую маску.
 +
|-
 +
|Индекс
 +
|Аргумент, определяющий индекс файла/подкаталога при взятии его пути. Индекс - порядковый номер объекта в общем списке файлов/подкаталогов исследуемого каталога, отфильтрованного в соответствии с указанной маской. Индекс начинается с 0.
 +
|-
 +
|Добавочный путь
 +
|Аргумент, определяющий часть пути, подвергаемый склейке с основным. Например, если основной указанный путь 'C:\1', а добавочный '2.txt', то при проведении склейки результатом будет 'C:\1\2.txt'.
 +
|-
 +
|Результат в переменную
 +
|Переменная, куда будет сохранен результат выполнения операции. Может быть строковой, либо числовой для проведения отдельных операций.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после успешного завершения ввода.
 +
|-
 +
|Переход, не найдено
 +
|Компонент, на который передается управление в случае, если указанный каталог или файл не найден.
 +
|-
 +
|Переход, ошибка
 +
|Компонент, на который передается управление в случае, если в назначенных параметрах допущена ошибка или при проведении указанной операции возникла ошибка.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Действие
 
Доступные действия:
 
  
· Определить. Формирует работу компонента для записи в назначенную переменную выбранного состояния указанного объекта.
+
<div id="ExecProcess"></div>
  
· Установить. Изменяет выбранное состояние указанного объекта на результат вычисления назначенного аргумента.  
+
==[[Файл:cl_cc_scr_i17.png|left]]Запуск внешнего процесса с параметрами==
  
· Создать. Создает объект выбранного типа, возвращая его идентификатор.  
+
Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.  
  
· Удалить. Удаляет объект выбранного типа.
+
<span style="color:red;">ВНИМАНИЕ! При работе сервера Oktell в режиме службы запуск процесса производится от имени того пользователя, который указан в настройках службы. По умолчанию это системная учетная запись «NETWORK SERVICE». Запускаемые таким образом процессы выполняются в фоновом режиме и не отображаются на экране пользователя.</span>
+
+
Тип объекта
+
Один из вариантов: Задача, Пользователь, Номер, Линия, Сервер. Тип объекта, с которым производится работа: статус которого подлежит определению, изменению, или который необходимо создать/удалить.
+
  
В зависимости от выбранного действия перечень типов может меняться.
 
 
   
 
   
Задача (ключ), Пользователь (ключ), Номер, Линия (ключ)
+
'''Свойства''':
Доступны только для действий определить/установить.
+
  
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Файла
 +
|Строковый аргумент, определяющий имя или путь к файлу, который необходимо запустить.
 +
|-
 +
|Путь
 +
|Относительный/абсолютный. Определяет, какой путь будет подставляться впереди к имени файла. Относительный – от папки запуска приложения Oktell.
 +
|-
 +
|Параметры командной строки
 +
|Строковый аргумент, определяющий параметры запуска для командной строки, если необходимо.
 +
|-
 +
|Режим запуска
 +
|Определяет способ исполнения указанного файла
 +
* С помощью оболочки. В качестве файла можно указывать документы - их открытие будет осуществляться автоматически в зарегистрированных приложениях, однако становится недоступным использование консоли для ввода/вывода.
 +
* Скрыть окно. Приложение не отображает свое консольное окно.
 +
* Не скрывать окно. Приложение ведет себя стандартным образом.
 +
|-
 +
|Ожидание завершения
 +
|Да/нет. Определяет, приостанавливать ли сценарий в ожидании завершения работы запущенного процесса.
 +
|-
 +
|Консольный ввод/вывод
 +
|Доступно только при ожидании завершения процесса, запущенном в обычном режиме (не с помощью оболочки).
 +
* Нет.
 +
* Только ввод. Позволяет передать произвольные текстовые данные в консоль приложения сразу после старта.
 +
* Только вывод. Позволяет считать произвольные текстовые данные из консоли приложения сразу после завершения.
 +
* Ввод и вывод. Позволяет передать и считать данные.
 +
|-
 +
|Консольный ввод
 +
|Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).
 +
Строковый аргумент, значение которого передается в консоль сразу после запуска приложения.
  
В зависимости от выбранного типа поле принимает тот или иной вид:
+
<span style="color:red;">ВНИМАНИЕ! При передаче сложных данных для простоты реализации чтения из консоли рекомендуется компоновать данные общим размером в самом начале.
 +
|-
 +
|Консольный вывод в переменную
 +
|Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).
 +
Строковая переменная, в которую полностью сохраняется консольный вывод исполненного приложения.
 +
|-
 +
|Таймаут, мс
 +
|Доступно только для режима ожидания завершения процесса.
 +
Аргумент, определяющий предельное время ожидания, по истечении которого управление будет в любом случае передано дальше по сценарию. «0» - таймаут не установлен.
 +
|-
 +
|Завершать при обрыве
 +
|Доступно только для режима ожидания завершения процесса.
 +
Да/нет. Определяет, следует ли принудительно завершить работу запущенного процесса, если за установленный таймаут он так и не завершился самостоятельно.
 +
|-
 +
|Переход, успех
 +
|Компонент, на который передается управление, если приложение успешно стартовало.
 +
|-
 +
|Переход, таймаут
 +
|Доступно только для режима ожидания завершения процесса.
 +
Компонент, на который передается управление в случае таймаута ожидания.
 +
|-
 +
|Переход, неудача
 +
|Компонент, на который передается управление, если файл не найден, отсутствует доступ, или по другой причине не удалось запустить приложение.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
· Задача. Одна из списка задач системы (или проекта, если сценарий принадлежит проекту). Возможно задание через строковый аргумент «Ключ задачи». Может содержать идентификатор в виде Guid значения «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx», код задачи или название задачи. Будет использован только в случае, если задача не указана явно в списке имеющихся в системе задач.
 
  
· Пользователь. Один из списка пользователей системы. Возможно задание через строковый аргумент «Ключ пользователя». Может содержать идентификатор в виде GUID значения, имя или логин.
+
<div id="WebCRM"></div>
  
· Номер. Аргумент, определяющий внутренний номер (стандартный).  
+
==[[Файл:cl_cc_scr_i29.png|left]]Действие/карточка в plugin или WebCRM==
  
· Линия. Аргумент, определяющий номер, код или Guid-идентификатор линии.  
+
В любом месте сценария может быть выполнен компонент, осуществляющий исполнение динамического (известного только на этапе создания сценария) метода во внешней среде. Суть метода в предоставлении сервисных функций внешней средой серверу Oktell. Такой средой может быть указанный плагин или активная подключенная Web-CRM система.  
  
· Конференция. Аргумент, определяющий номер комнаты, Guid-идентификатор или код идентификатора конференции.
+
Интеграция с сервером коммуникаций подразумевает то, что Oktell выступает в качестве сервера, исполняя запросы WebCRM системы, и информируя ее о происходящих коммуникационных событиях. Этот компонент позволяет наладить встречное взаимодействие, когда Oktell выступает в качестве клиента WebCRM системы.
+
+
Функция / действие
+
Доступно только для действий определить/установить.
+
  
+
В указанном клиентском плагине в качестве динамических методов выступают заявленные формы (опрос производится после регистрации плагина при настройке сценария). В качестве исполнимых поддерживаются диалоговые формы (тип 0) и компоненты типа 3 (подробно в руководстве по интеграции). При настройке компонента задаются значения всем заявленным входным параметрам, привязанным к выбранной форме, возможно ожидание возвращаемых значений и сохранение их в переменные сценария. Серверные плагины не требуют тонко настраиваемого функционала, и вызов их методов осуществляется компонентом [[#Плагин-компонент|Серверный плагин]].
 +
Web-CRM система предоставляет информацию о поддерживаемых динамических методах в рамках обмена информацией между сервером Oktell и web-socket сервером Web-CRM системы согласно интеграционному протоколу (подробно в статье [[Oktell Web-Socket Protocol|«Интеграции. Web-Socket протокол»]]). Каждый динамический метод может принимать на вход определяемые в сценарии значения для всех заявленных входных параметров. Компонент может дожидаться исполнения и возврата выходных значений. Вызов метода производится согласно описанию Web-CRM системы и детальным настройкам компонента.
  
В зависимости от выбранного действия и типа объекта поле содержит список доступных состояний.
+
В качестве возможных примеров можно привести такие общесерверные запросы, как «Определение компании и ответственного сотрудника по определившемуся номеру телефона», «Создать инцидент в связи с обращением» и т.д., и такие пользовательско-ориентированные методы как «Отобразить карточку указанной компании», «Закрыть карточку», «Переключить отображение в режим работы с партнерами» и т.д.
  
 
  
Определение состояния.
+
'''Свойства''':
  
Доступные функции для задач:
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Модуль, действие
 +
|Окно выбора plugin-модуля или web-crm системы, ответственной за вызов настраиваемого метода, а также одного из списка динамических методов, заявленных в выбранном модуле.
 +
|-
 +
|Свойства
 +
|Настройка входных и выходных параметров выбранного метода. Выходные параметры сохраняются только в случае, если настраивается вызов метода с ожиданием завершения исполнения.
 +
|-
 +
|Дожидаться завершения
 +
|Да/нет. При ожидании завершения устанавливается также допустимый таймаут. Сценарий приостанавливается до получения ответа, после чего сохраняет выходные значения в переменные в соответствии с настроенными свойствами.
 +
Если ожидание не выставлено, то сценарий отправляет команду на исполнение метода, а сам переходит к следующим компонентам.
 +
|-
 +
|Момент отображения
 +
|Доступно только при отключенном режиме ожидания завершения. В случае, если стоит ожидание завершения, то автоматически применяется значение «Сразу».
 +
* Сразу. Команда на выполнение отправляется сразу и одновременно на адреса всех указанных пользователей в ходе работы компонента.
 +
Следующие пункты доступны только для настройки в сценариях IVR.
 +
* При входящем вызове. Команда на выполнение запоминается, но не отправляется и сохраняется до следующего компонента «Переключение», после чего автоматически удаляется. Особенностью является то, что исполнение производится у всех пользователей, но у каждого только в момент, когда телефон начинает фактически звенеть, с нахождением обслуживаемого канала в первой позиции в очереди. Если пользователь не снимает трубку, а вызов уходит другому или теряется, отправляется команда на прекращение исполнения метода (согласно интеграционному интерфейсу web-socket протокола).
 +
* При коммутации. Аналогично «При входящем вызове», но команда отправляется только в случае успешного переключения тому, с кем произошло соединение обслуживаемого канала. Отмена невозможна.
 +
* При завершении коммутации. Аналогично «При входящем вызове», но команда отправляется только в момент разрыва коммутации с тем, с кем произошло успешное соединение обслуживаемого канала. Отмена невозможна.
 +
|-
 +
|Ключ получателя
 +
|Доступно только при выборе пункта «Сразу» в качестве момента отображения. В других случаях получатели определяются автоматически.
 +
Аргумент, определяющий пользователя-получателя. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка ([[Внутренние номера#Стандартные номера|«Администрирование. Внутренние номера. Стандартные»]]). В случае, если номер групповой, то получателями будут являться все его участники (пользователи указанные в номере явно, или посредством внутренних линий); при этом запросов будет отправлено ровно столько, сколько обнаружено получателей.
 +
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
  
· Количество абонентов в очереди.  
+
<span style="color:red;">Внимание! При вызове динамического метода WebCRM в его декларации может быть заявлен режим вызова без указания пользователя (это касается прямых методов, исполняемых непосредственно на сервере без привязки к конкретным пользователям и их станциям). В этом случае ключ получателя применен не будет. О необходимости указания пользователей должно сообщаться в описаниях динамических методов.</span>
 +
|-
 +
|Таймаут, сек
 +
|Доступно только в режиме ожидания завершения.
 +
Устанавливает максимальное время в секундах, которое сценарий простаивает, ожидая ответ внешнего модуля с отчетом о выполнении и выходными значениями. В случае, если ответ не получен долее установленного времени, исполнение передается следующему компоненту по ветке «Таймаут». Значение 0 устанавливает бесконечное ожидание.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после успешного выполнения компонента.
 +
|-
 +
|Переход, таймаут
 +
|Компонент, на который передается управление, если за установленный период времени не получен ответ от внешнего модуля/CRM-системы.
 +
Поле доступно только при выборе значения «Да» в свойстве «Дожидаться завершения».
 +
|-
 +
|Переход, ошибка
 +
|Компонент, на который передается управление, если модуль не обнаружен, не доступен или другие условия не позволяют провести операцию.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
· Наибольшее время ожидания среди абонентов очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества минут).
 
 
· Расчетное время ожидания в очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества секунд). Осуществляет расчет времени ожидания при гипотетическом размещении текущего звонка в очереди указанной задачи. В случае, если установлен приоритет звонку, он будет учтен. При выполнении в диалоговом и служебном сценариях, где отсутствует понятие приоритета звонка, происходит оценка времени ожидания при размещении в конец очереди.
 
 
· Количество активных операторов задачи.
 
 
· Активность задачи.
 
 
· Проверка доступности входа. -1 - функция не выполнена, 0 - вход разрешен, 1 - текущее время не подходит по расписанию, 2 - текущее время не подходит по установленному периоду активности, 3 - превышение максимального числа одновременно активных внешних линий, 4 - задача не найдена, 5 - несоответствие состояния (задача неактивна, отсутствуют операторы и т.д.), 6 - ошибка при попытке входа.
 
 
Доступные функции для пользователей:
 
 
· Количество абонентов в очереди.
 
 
· Наибольшее время ожидания среди абонентов очереди.
 
 
· Статус (0 - не авторизован, 1 - готов, 2 - перерыв, 3 - отключен (нет на месте), 5 - занят, 6 - зарезервирован, 7 - без телефона).
 
 
· Свободное состояние (1-да, 0-нет).
 
 
Доступные функции для номеров:
 
 
· Количество абонентов в очереди.
 
 
· Наибольшее время ожидания среди абонентов очереди.
 
 
· Наличие свободных абонентов.
 
 
· Тип внутреннего номера. (-1 - номер не найден. 1 - стандартный номер, 11...16 - hunt-номер, 101...105 - служебный номер, 201 - быстрый номер, 301 - запуск IVR, 401 - экстренный номер).
 
 
Доступные функции для линий:
 
 
· Состояние.
 
 
· Время активности.
 
 
· Название абонента. Установленное ранее в сценарии название.
 
 
· Описание абонента. Установленное ранее в сценарии описание.
 
 
Доступные функции для конференций:
 
 
· Существование.
 
 
· Время активности.
 
 
· Идентификатор.
 
 
· Код идентификатора.
 
 
· Номер комнаты.
 
 
· Количество всех участников.
 
 
· Количество активных участников.
 
 
· Тип доступа.
 
  
 +
<div id="Plugin"></div>
 +
==[[Файл:cl_cc_scr_i28.png|left]]Плагин==
 
   
 
   
 +
Компонент позволяет выполнять произвольный сторонний код, подключенный к серверу в виде стандартного плагин-компонента (см. руководство по интеграции, раздел «Встраиваемые plugin-модули»).
  
Установка состояния.
 
  
Доступные функции для задач:
+
Подробно об архитектуре исполнения описано в руководстве по интеграции.
  
· Активность (1 - активна, 0 - неактивна).  
+
При выполнении компонента осуществляется подгрузка внешней сборки и передача управления компоненту. В случае, если сборка плагина уже загружена, повторной ее загрузки не происходит. Исключением может являться только обновление сборок в модуле [[Внешние модули#Plugin-модули|Администрирование. Внешние модули]].
 +
Передача управления производится путем вызова метода PrepareShow управляющего объекта, описанного в plugin-программе. В качестве параметра для метода передается XML-структура, содержащая комплексную информацию о требуемом компоненте (его guid-идентификатор, описанный при вызове метода GetForms() управляющего объекта), параметрах сценария, сессии, задаче, а также других имеющихся свойств (различаются в зависимости от типа исполняемого сценария). Помимо базовых параметров передаются значения требуемых для работы компонента параметров (информация о них возвращается при вызове GetInputParams управляющего объекта plugin-программы). В качестве возвращаемого значения ожидается XML-структура с описанием всех выходных значений согласно общему списку выходных параметров (определяются при вызове GetOutputParams управляющего объекта).
 +
В качестве возможных для использования в сценариях компонентов принимаются все формы подпрограммы со свойством 'module=2'.
  
Доступные функции для линий:
+
Назначение входных значений, а также переменных для приема выходных значений производится на отдельной вкладке.  
 
+
Дальнейшая реализация сценария приостанавливается вплоть до получения назад управления из внешнего компонента. Может быть назначен интервал таймаута, по истечению которого будет произведен принудительный возврат управления и переход к следующему компоненту сценария. Обрыв исполнения производится также при остановке сценария.
· Разрыв (выполняется безусловно).  
+
 
+
· Выход из задачи (1 - применить, 0 - отменить). Фактически используется менеджером задач при обслуживании вызова с участием оператора. Установленный режим будет способствовать  следующее переключение абонента на любой другой объект, отличный от оператора с выходом из задачи. Без использования компонента аналогичное действие можно достигнуть, выставив в настройках задачи режим «Выход из задачи при переключении на IVR». Подробно о режиме в разделе «Call-центр. Голосовые задачи. Дополнительно».
+
 
+
· Название абонента. Отображается в журналах статистики, а также при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе программного телефона.  
+
 
+
· Описание абонента. Отображается при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе программного телефона.  
+
 
+
Доступные функции для сервера:
+
  
· Перезагрузить сервер состояний (выполняется безусловно). Производится действие, аналогичное нажатию кнопки «Применить» в любом из модулей администрирования. Сервер состояний инициализируется на основе информации в БД. 
 
 
· Перезагрузить аппаратный модуль (выполняется безусловно). Производится переинициализация аппаратной подсистемы с завершением всех коммутаций и конференций. В случае, если аппаратный модуль настроен на работу в отдельном процессе, производится выгрузка процесса с последующим автоматическим его запуском.
 
 
· Перезагрузить службу сервера (выполняется безусловно). Действие производится сразу же без ожидания корректного завершения коммутаций и служебных сценариев.
 
 
· Перезагрузить серверную станцию (выполняется безусловно). Отдает команду операционной системе на полное завершение всех процессов с последующей перезагрузкой.
 
 
   
 
   
+
'''Свойства''':
Значение в переменную
+
Доступно только для действия «Определить».
+
  
Переменная, в которую заносится результат вычисления функции.
+
{|cellpadding="10" cellspacing="0" border="1"
+
|Модуль/Форма
Значение
+
|Выбор конкретного плагина и одного из его компонентов для работы в сценарии.
Доступно только для действия «Установить».
+
|-
 +
|Свойства
 +
|Доступ к вкладке редактора параметров формы для настройки передаваемых и сохраняемых параметров.
 +
|-
 +
|Таймаут, сек
 +
|Аргумент, устанавливающий время в секундах, по истечению которого будет произведен принудительный отъем управления из вызванной подпрограммы. В случае, если интервал нулевой (по умолчанию), таймаут считается не установленным.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после возврата в случае успешного проведения операции.
 +
|-
 +
|Переход, компонент не найден
 +
|Компонент, на который передается управление, если plugin-программа не указана, не найдена или не может быть загружена.
 +
|-
 +
|Переход, таймаут
 +
|Компонент, на который передается управление в случае, если за установленный интервал времени не вернулось управление от внешнего компонента.
 +
|-
 +
|Переход, ошибка
 +
|Компонент, на который передается управление в случае возникновения ошибок.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Аргумент, значение которого вычисляется для установки состояния.
 
 
Идентификатор в переменную
 
Доступно только для действия «Создать».
 
  
Переменная, в которую заносится идентификатор вновь созданного объекта.
 
 
Переход
 
Компонент, на который передается управление.
 
 
Имя
 
Название компонента для отображения в визуальной среде и выбора в списке.
 
 
  
+
<div id="SipRegister"></div>
 +
==[[Файл:cl_cc_scr_i45.png|left]]Регистрация динамического потока==
  
+
Компонент используется совместно со шлюзом с динамической регистрацией потоков (подробнее в разделе [[Свойства компонентов#IP шлюз|Карта сети. Компоненты. Шлюз]]). Служит для проведения динамической регистрации под указанным аккаунтом перед осуществлением звонка по каналу потока такого шлюза. Параметры аккаунта - логин и пароль - могут быть взяты из БД, вычислены, указаны явно в сценарии. Для проведения регистрации достаточно указать в свойствах компонента шлюз, и свободный поток автоматически будет зарегистрирован и зарезервирован под совершение вызова именно в этом экземпляре сценария. Потоки и линии шлюзов с динамической регистрацией недоступны для выбора ни в задачах, ни в настройках прав пользователей, ни в списках линий при наборе номера компонентами сценариев. Осуществить дозвон через них можно только путем явного указания кода зарегистрированного потока в соответствующий аргумент компонентов «Дозвон» служебного сценария и «Переключение на внешние» сценария IVR.
 
+
+
  
Определить группу клиента
 
  
 +
<span style="color:red;">ВНИМАНИЕ! В случае успешной коммутации поток будет разрегистрирован автоматически по завершению разговора и переводу одной из линий потока в состояние готовности. Однако, если коммутации не произведено, то разрегистрация производится автоматически по истечению времени неактивности (3 минуты), либо путем использования этого же компонента с действием «Отмена регистрации».
 
   
 
   
  
Осуществляет проверку на принадлежность контакта (определившегося номера телефона, почтового адреса и любого другого переданного аргумента) указанной группе клиентов. Позволяет разделить обработку в сценарии звонков VIP клиентов, клиентов из черного списка, личных контактов и пр.
+
'''Свойства''':
  
   
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Действие
 +
|Выбор режима работы. Регистрация / отмена регистрации.
 +
В случае установки режима регистрации осуществляет прямое действие по регистрации аккаунта на сервере и активации (перевода в состояние готовности) одного из потоков указанного шлюза с динамической регистрацией потоков.
 +
В режиме отмены регистрации освобождает аккаунт и переводит указанный поток в отключенное состояние.
 +
|-
 +
|Шлюз
 +
|Доступно только для действия «Регистрация». В списке выбирается один из существующих в карте сети шлюзов с динамической регистрацией потоков.
 +
|-
 +
|Аккаунт
 +
|Доступно только для действия «Регистрация». Аргумент, представляющий собой логин для регистрации потока.
 +
|-
 +
|Пароль
 +
|Доступно только для действия «Регистрация». Аргумент, представляющий собой пароль для регистрации потока.
 +
|-
 +
|Время ожидания
 +
|Доступно только для действия «Регистрация». Максимальное время ожидания регистрации, по истечению которого будет прервана регистрация и произведен выход по ветке «Таймаут».
 +
|-
 +
|Автоматическая отмена регистрации
 +
|Доступно только для действия «Регистрация». Позволяет установить такой режим работы, при котором при любой последующей попытке дозвона по одной из линий зарегистрированного потока даже в случае неудачи (занято, недоступно и т.д.) будет производиться мгновенная отмена регистрации.
 +
|-
 +
|Код потока в переменную
 +
|Доступно только для действия «Регистрация». В случае успешного проведения операции по регистрации в указанную переменную будет размещен Guid-идентификатор зарегистрированного потока. Эта переменная впоследствии может быть использована для осуществления вызова в компонентах [[Компоненты сценариев IVR#Переключение на внешний номер с указанием последовательности выделения линий|Переключение на внешние]] и/или [[Компоненты служебных сценариев#Дозвон|Дозвон]] или отмены регистрации.
 +
|-
 +
|Код ошибки в переменную
 +
|Доступно только для действия «Регистрация». В переменную попадает код ошибки в случае возникновения проблем при регистрации. Большинство кодов совпадают с типами ответов HTTP-сервера (например, 404 - not found).
 +
|-
 +
|Код потока
 +
|Доступно только для действия «Отмена регистрации». Аргумент, представляющий собой Guid-идентификатор потока в строковом представлении. Может быть указан явно, или получен в переменную в одном из предыдущих компонентов «Регистрация».
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после возврата в случае успешного проведения операции.
 +
|-
 +
|Переход, потоков не найдено
 +
|Доступно только для действия «Регистрация». Компонент, на который передается управление, если у выбранного шлюза нет свободных потоков.
 +
|-
 +
|Переход, таймаут
 +
|Доступно только для действия «Регистрация». Компонент, на который передается управление в случае, если за установленный интервал времени не получен ответ от внешнего сервера/шлюза.
 +
|-
 +
|Переход, ошибка
 +
|Компонент, на который передается управление в случае возникновения ошибок.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Свойства:
 
  
+
<div id="Counter"></div>
 +
==[[Файл:cl_cc_scr_i16.png|left]]Увеличение значения счетчика==
  
Контакт
+
Увеличивает значение выбранного счетчика на 1. Подробнее о счетчиках, их создании и анализе в модуле общего меню [[Отчеты#Счетчики|Call-центр. Отчеты. Счетчики]].  
Аргумент, содержащий произвольную контактную информацию.
+
+
Группа
+
Аргумент, содержащий имя группы клиентов.
+
+
Переход, принадлежит
+
Компонент, на который передается управление, если соответствующий контакту клиент найден, указанная группа существует, и клиент принадлежит группе.
+
+
Переход, не принадлежит
+
Компонент, на который передается управление, если не найден соответствующий контакту клиент, не существует группа, или клиент не принадлежит группе.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
  
 
   
 
   
 +
'''Свойства''':
  
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Счетчик
 +
|Список счетчиков, существующих в системе и доступных для увеличения.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление в случае успешной коммутации.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
Счетчик
+
<div id="CallTask"></div>
 +
==[[Файл:cl_cc_scr_i10.png|left]]Создание исходящей задачи==
  
+
Компонент инициирует задачу однократного выполнения в указанное время на указанный номер. Задача запускает указанный в соответствующем свойстве компонента сценарий IVR. Для формируемой задачи в компоненте указываются инициирующие значения, а также параметр задачи, который будет доступен через функцию «Параметр задачи» в сценарии IVR.
  
Увеличивает значение выбранного счетчика на 1. Подробнее о счетчиках, их создании и анализе в модуле общего меню «Call-центр. Отчеты. Счетчики».  
+
<span style="color:red;">ВНИМАНИЕ! Для инициации звонка существует альтернатива данному компоненту. Служебный сценарий имеет компонент «Дозвон», рекомендуемый к использованию в большинстве случаев, так как имеет расширенные настройки и не производит дополнительной нагрузки на менеджер задач.  
  
 
   
 
   
 +
'''Свойства''':
  
Свойства:
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Номер
 +
|Аргумент, определяющий номер, по которому производить дозвон.
 +
|-
 +
|Выполнить сразу
 +
|Да/Нет. Сразу выполнять задачу или дожидаться указанного времени.
 +
|-
 +
|Дата/время
 +
|Дата и время, когда производить выполнение задачи.
 +
Поле доступно только при выборе значения «Нет» в свойстве «Выполнить сразу».
 +
|-
 +
|Сценарий
 +
|Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить после дозвона.
 +
|-
 +
|Параметр запуска
 +
|Числовой аргумент, передающий свое значение в задачу, а через нее на старт запускаемого сценария и в функцию «Параметр задачи». Может быть использован для идентификации через сопоставление по таблице в БД, или для передачи множества параметров. Доступен в сценарии автоматической задачи через встроенную функцию «Параметр задачи».
 +
|-
 +
|Количество сигналов «Занято»
 +
|Сколько дозвонов с ответом «Занято» считать успешным выполнением задачи.
 +
|-
 +
|Количество сигналов «Не отвечает»
 +
|Сколько дозвонов с ответом «Не отвечает» считать успешным выполнением задачи.
 +
|-
 +
|Время фиксации в секундах
 +
|Сколько секунд необходимо выполнять сценарий после дозвона, чтобы считать успешным выполнение задачи.
 +
|-
 +
|Время ожидания ответа
 +
|Сколько секунд ожидать ответа от линии для получения сигнала «Не отвечает».
 +
|-
 +
|Пауза после сигнала «Занято»
 +
|Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Занято».
 +
|-
 +
|Пауза после сигнала «Не отвечает»
 +
|Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Не отвечает».
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
Счетчик
+
<div id="VoiceMail"></div>
Список счетчиков, существующих в системе и доступных для увеличения.
+
==[[Файл:cl_cc_scr_i08.png|left]]Голосовая почта==
+
Переход
+
Компонент, на который передается управление в случае успешной коммутации.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
 
   
 
   
 +
Осуществляет перемещение данных об указанном звуковом файле (чаще после записи в этом же сценарии) в голосовой ящик указанных пользователей. Подробнее о сервисе голосовой почты в разделе [[Кабинет#Голосовая почта|Офис. Кабинет. Голосовая почта]].
  
+
Заполняя свойство «Голосовой ящик» в окне адресата, можно явно указать существующих в системе пользователей, а также существующие отделы и внутренние номера. Также можно использовать свойство «Ключ получателя», значением которого является вычисляемый аргумент. Это удобно, когда заранее неизвестно получателя, и данные о нем формируются в момент исполнения сценария. При этом сообщение попадет ко всем пользователям, которые указаны явно, составляют указанные внутренние номера и группы. У пользователей, которым поступает голосовая почта, в их модулях появляются данные об абоненте, и возможность прослушать файл.
  
+
Сообщение отправится всем выбранным по одному из двух параметров – указателей адресатов. При этом один компонент формирует группу из всех перечисленных участников - прослушивание одним из них будет отражено на всей записи. При необходимости разослать сообщение независимо нескольким пользователям следует использовать серию из компонентов «Голосовая почта»
  
 
   
 
   
 +
'''Свойства''':
  
Запуск процесса
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Имя файла
 +
|Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо поместить в голосовой ящик. При использовании после объекта [[Компоненты сценариев IVR#Запись звукового файла|Запись файла]], в котором имя файла генерируется, необходимо в соответствующем свойстве выбирать возврат полного пути в переменную, сохраняющую имя записанного файла.
 +
|-
 +
|Ключ получателя
 +
|Аргумент, определяющий пользователя-получателя почты. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
 +
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
 +
|-
 +
|Голосовой ящик
 +
|Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующей явно через отдел, или через номер получит соответствующее голосовое сообщение.
 +
При одновременном указании голосового ящика и ключа производится объединение всех установленных получателей на момент исполнения компонента.
 +
|-
 +
|Режим подстановки CallerId
 +
|Определяет режим подстановки CallerId.
  
+
* Автоматически. Для сценариев IVR и диалоговых существует возможность автоматически определить номер абонента, чей звонок обслуживается в текущем сценарии. Если голосовую почту оставляет внутренний пользователь системы, будет подставлено его имя.
 +
* Из аргумента. В некоторых случаях (если номер не определен, номер требует преобразований, служебный сценарий, работающий без привязки к каналу и т.д.) номер следует указывать вручную. При выборе данного значения появляется возможность задать callerid из аргумента.
 +
|-
 +
|CallerId
 +
|Доступно только в режиме подстановки CallerId из аргумента.
 +
Аргумент, значение которого подставляется при размещении голосового сообщения в поле таблицы CallerId и устанавливает номер абонента, оставившего сообщение.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после успешного завершения ввода.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.
 
  
ВНИМАНИЕ! При работе сервера Oktell в режиме службы запуск процесса производится от имени того пользователя, который указан в настройках службы. По умолчанию это системная учетная запись «NETWORK SERVICE». Запускаемые таким образом процессы выполняются в фоновом режиме и не отображаются на экране пользователя.
+
<div id="Callback"></div>
  
 +
==[[Файл:cl_cc_scr_i13.png|left]]Заказ на встречный звонок==
 
   
 
   
 
+
Сохраняет информацию о заказанном звонке в БД, и отображает в клиентском приложении Oktell у пользователей-адресатов, определяющихся указанным внутренним номером. Подробнее о сервисе заказов встречных звонков в разделе [[Кабинет#Заказы на встречные звонки|Офис. Кабинет. Встречные звонки]].
Свойства:
+
  
 
   
 
   
 +
'''Свойства''':
  
Имя файла
+
{|cellpadding="10" cellspacing="0" border="1"
Аргумент, определяющий имя файла, который необходимо запустить .
+
|Ключ получателя
+
|Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).  
Относительный путь
+
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
Да/нет. Определяет, какой путь будет подставляться впереди к имени файла. Относительный – от папки запуска серверного приложения Oktell.
+
|-
+
|Заказ на номер
Параметры
+
|Аргумент, определяющий номер, на который заказан встречный звонок. Может быть введен пользователем с клавиатуры, определен как «CallerId», или подставлен из базы по коду.
Строковый аргумент, определяющий параметры запуска, если необходимо.
+
|-
+
|Заказ на время
Переход, успех
+
|Ориентировочное время, на которое заказан встречный звонок (сохранится в базе и будет отображено в описании заказа). Не заполнять, если время не указывается.
Компонент, на который передается управление, если приложение успешно стартовало.
+
|-
+
|Комментарий
Переход, неудача
+
|Комментарий к компоненту (сохранится в базе и будет отображен в описании заказа).
Компонент, на который передается управление, если файл не найден, отсутствует доступ, или по другой причине не удалось запустить приложение.  
+
|-
+
|Переход
Имя
+
|Компонент, на который передается управление.
Название компонента для отображения в визуальной среде и выбора в списке.
+
|-
+
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
+
<div id="Notify"></div>
 +
==[[Файл:cl_cc_scr_i09.png|left]]Уведомление==
  
+
Уведомление – всплывающее окно, позволяющее донести до пользователя информацию о происходящем в сценарии действии. В качестве адресатов могут быть выбран список из пользователей, отделов и конкретных номеров. Также в качестве адреса может выступать номер, определяемый значением аргумента.
  
Запуск сценария
 
  
+
Уведомление получат все пользователи, которые указаны персонально, либо состоят в выбранных группах или внутренних номерах. В режиме [[Кабинет#Системные уведомления|Офис. Кабинет. Уведомления]] пользователь всегда сможет просмотреть пришедшие к нему уведомления и осуществить поиск.
 
+
В случае организации автоматических сервисов размеры сценария могут быть достаточно велики, и компонент «Запуск сценария» предоставляет возможность разбить крупный сценарий на несколько логических блоков. Таким образом, один сценарий передает управление в начало другого сценария. При этом можно задать некоторое значение на запуск, которое примет компонент «Старт» вложенного сценария и сохранит в свою локальную переменную. Помимо этого, все переменные одного типа, которые названы одинаково в запускающем и запускаемом сценариях, перенесут свои значения из одного в другой без изменений. Такой способ запуска называется вложенным.
+
 
+
ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена (в основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонента "Старт" производится безусловный переход к компоненту "Поднять трубку", если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам.
+
 
+
Также с помощью компонента можно запускать в параллельный процесс любой служебный сценарий, не работающий с зависимыми от основного сценария ресурсами (линией, оператором). При запуске асинхронного служебного сценария начальные значения его переменных, совпадающих по типам и именам с переменными основного сценария, будут установлены в соответствии с их значениями.
+
  
 
   
 
   
 +
'''Свойства''':
  
Свойства:
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Отладочный режим
 +
|Да / нет. По умолчанию «нет». При сохранении сценария может быть установлен общий режим отладки (на странице свойств сценария). Отладочные уведомления будут отображаться только в режиме отладки сценария. Остальные будут отображаться в любом случае.
 +
|-
 +
|Ключ получателя
 +
|Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).
 +
В качестве значения аргумента может быть указан список ключей, разделенных запятыми.
 +
|-
 +
|Адресат
 +
|Окно ввода адресата: списка получателей, среди которых могут быть пользователи системы, отделы и конкретные внутренние номера. Каждый пользователь, участвующий явно, через отдел, или через номер получит соответствующее уведомление.
 +
При одновременном указании адресата и ключа производится объединение всех установленных получателей на момент исполнения компонента.
 +
|-
 +
|Сохранять в БД
 +
|Да/нет. По умолчанию «да». При установке свойства сообщение будет сохранено в БД и будет доступно в модуле [[Кабинет#Системные уведомления|Офис. Кабинет. Уведомления]]. Если пользователь отсутствует, то сообщение будет доставлено сразу после его авторизации в системе.
 +
|-
 +
|Текст
 +
|Аргумент, определяющий текст уведомления.
 +
Поддерживается минимальный набор тегов HTML для форматирования. Чтобы отобразить текст в виде HTML-документа необходимо его заключить в теги <html>..</html>
 +
Ниже за пределами таблицы свойств приведен перечень поддерживаемых HTML-тегов.
 +
|-
 +
|Способ оповещения
 +
|Позволяет выбрать режим, в котором данные поступают указанным адресатам.
 +
* Всплывающее уведомление. Появляющиеся в правой части экрана цветные окна с информацией.
 +
* Системный чат. Сообщение от имени системы во встроенном [[Сотрудники|системном чате]].
 +
* Лог-журнал. Запись в серверном лог-журнале Common.
 +
|-
 +
|Цвет фона
 +
|Определяет цвет фона всплывающего окошка.
 +
|-
 +
|Скрывать автоматически
 +
|Да/нет. По умолчанию «да». При отключении уведомление будет скрыто только после щелчка пользователя на нем. Поступающие уведомления помещаются в очередь, из которой отображаются в видимых областях экрана в порядке поступления. Очередь сообщений может быть очищена из системного меню в трее.
 +
При отправке уведомления отключенному пользователю с сохранением в БД, отображаемые после авторизации последние несколько пропущенных уведомлений будут в любом случае автоматически скрываться.
 +
|-
 +
|Асинхронный режим
 +
|Да/нет. Способ рассылки уведомлений. При выборе асинхронного режима компонент не ожидает доставки уведомлений пользователям и сразу передает управление следующему объекту сценария. Имеет смысл при рассылке уведомления множеству пользователей из сценариев IVR обработки входящих вызовов во избежание незапланированных пауз. Однако при завершении сценария асинхронные рассылки всех уведомлений, не успевшие завершиться, будут прерваны.
 +
|-
 +
|Разрешать несколько экземпляров на экране
 +
|Да/нет. В некоторых случаях требуется выводить уведомления об одном и том же. Чтобы однотипные отображения не заполняли экран, можно устанавливать режим фильтрации по коду сообщения. Код указывается в открывающемся при этом свойстве.
 +
|-
 +
|Код сообщения
 +
|Доступно только при запрете нескольких экземпляров на экране. Аргумент, определяющий код, на основании которого будет производиться фильтрация и пропуск отображения.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление после успешного завершения ввода.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
Тип запуска
+
'''Поддерживаемые HTML-теги''':
Определяет тип и формат запуска дочернего сценария.
+
  
· Вложенный. Запуск вложенного сценария прекращает выполнение (возможно на время, до возврата управления) текущего сценария и активизирует обработку выбранного сценария того же типа.
+
* <html>..</html> - определяет, что блок текста должен быть отображен как HTML-документ
 +
* <nowiki><span>..</span></nowiki> - текстовый блок, атрибуты: style - стиль
 +
* <nowiki><a>..</a></nowiki> - гиперссылка, атрибуты: href - ссылка, title - заголовок, style - стиль
 +
* <nowiki><b>..</b></nowiki> - полужирный, атрибуты: style - стиль
 +
* <nowiki><u>..</u></nowiki> - подчеркнутый, атрибуты: style - стиль
 +
* <nowiki><i>..</i></nowiki> - курсив, атрибуты: style - стиль
 +
* <nowiki><s>..</s></nowiki> - перечеркнутый, атрибуты: style - стиль
 +
* <nowiki><br></nowiki> - переход на следующую строчку, атрибуты: style - стиль
 +
* <nowiki><center>..</center></nowiki> - выравнение по центру, атрибуты: style - стиль
 +
* <nowiki><p>..</p></nowiki> - параграф, атрибуты: style - стиль >
  
· Асинхронный служебный. Запускает в параллельном процессе выполнение выбранного служебного сценария и продолжает выполнение текущего. 
 
  
· Фоновое медиа-взаимодействие. Доступно только для IVR сценариев. Инициирует дублирующий параллельный сценарий IVR. Подробнее в разделе «Сценарии IVR. Фоновый сценарий».
 
 
 
Сценарий
 
Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить.
 
 
Параметр запуска
 
Аргумент, передающий свое значение на старт запускаемого сценария.
 
 
Возврат управления
 
Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария.
 
  
При установке значения «Нет» выполнение текущего сценария прекращается и запускается вложенный сценарий (с сохранением значений всех переменных). Такой способ наиболее часто применим на практике.
+
'''Атрибутами стиля могут быть'''
  
При установке значения «Да» вложенный сценарий вызывается как функция и после его завершения происходит возврат в точку вызова. Все переменные исходного сценария доступны во вложенном и наоборот, таким образом после возврата они будут иметь соответствующие измененные значения. На процедуру возврата также влияет флаг «Возврат управления» компонента «Стоп», - используется во вложенном сценарии после успешного переключения с необходимостью безусловно прервать обработчик сценариев.
+
1. font-weight - толщина символов
  
ВНИМАНИЕ! Обработчик сценариев поддерживает условно неограниченную вложенность и имеет стек с ограничением в 100 сценариев во избежание зацикливания.
+
Значения:
 +
* bold - полужирный
 +
* normal - обычный               
 +
(Не поддерживается: bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900)<br />
  
ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата.
+
2. text-decoration - декорация текста
+
Переход
+
Компонент, на который передается управление после возврата в случае запуска вложенного сценария, а также непосредственно после запуска служебного сценария.
+
  
Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен.
+
Значения:
+
* line-through - перечеркнутый
Имя
+
* underline - подчеркнутый
Название компонента для отображения в визуальной среде и выбора в списке.
+
* none - отсутствует
+
(Не поддерживается: blink | overline )
  
+
3. font-style - стиль шрифта
  
+
Значения:
 +
* normal - обычный
 +
* italic - курсив
 +
(Не поддерживается: oblique)
  
+
4. text-align - выравнение текста (только для<nowiki><p></nowiki>)
  
Регистрация
+
Значения:
 +
* left - по левому краю
 +
* right - по правому краю
 +
* center - по центру
 +
* justify - по ширине
  
+
5. color - цвет текста
  
Компонент используется совместно со шлюзом с динамической регистрацией потоков (подробнее в разделе «Карта сети. Компоненты. Шлюз»). Служит для проведения динамической регистрации под указанным аккаунтом перед осуществлением звонка по каналу потока такого шлюза. Параметры аккаунта - логин и пароль - могут быть взяты из БД, вычислены, указаны явно в сценарии. Для проведения регистрации достаточно указать в свойствах компонента шлюз, и свободный поток автоматически будет зарегистрирован и зарезервирован под совершение вызова именно в этом экземпляре сценария. Потоки и линии шлюзов с динамической регистрацией недоступны для выбора ни в задачах, ни в настройках прав пользователей, ни в списках линий при наборе номера компонентами сценариев. Осуществить дозвон через них можно только путем явного указания кода зарегистрированного потока в соответствующий аргумент компонентов «Дозвон» служебного сценария и «Переключение на внешние» сценария IVR.  
+
Значения:
 +
* red - красный
 +
* green - зеленый
 +
* blue - синий
 +
* black - черный
 +
* white - белый
 +
* yellow - желтый
 +
* gray - серый
 +
* #XXXXXX - шестнадцатеричный код цвета где (X - шестнадцатеричное число 0..F )
  
ВНИМАНИЕ! В случае успешной коммутации поток будет разрегистрирован автоматически по завершению разговора и переводу одной из линий потока в состояние готовности. Однако, если коммутации не произведено, то разрегистрация производится автоматически по истечению времени неактивности (3 минуты), либо путем использования этого же компонента с действием «Отмена регистрации».
 
  
 
  
Свойства:
+
'''Другие атрибуты игнорируются'''
  
 
  
Действие
+
Примеры:
Выбор режима работы. Регистрация / отмена регистрации.
+
* <html>Данное устройство<nowiki> <b style='color:red;'></nowiki>не обнаружено<nowiki></b></html></nowiki>
 +
* <html>У Вас новая <nowiki><a style='font-style:bold;color:#127A81</nowiki>;<nowiki>' href='http://mail.ru' title='</nowiki>Нажмите, чтобы открыть<nowiki>'>почта</a></html></nowiki>
  
В случае установки режима регистрации осуществляет прямое действие по регистрации аккаунта на сервере и активации (перевода в состояние готовности) одного из потоков указанного шлюза с динамической регистрацией потоков.
 
 
В режиме отмены регистрации освобождает аккаунт и переводит указанный поток в отключенное состояние.
 
 
Шлюз
 
Доступно только для действия «Регистрация». В списке выбирается один из существующих в карте сети шлюзов с динамической регистрацией потоков.
 
 
Аккаунт
 
Доступно только для действия «Регистрация». Аргумент, представляющий собой логин для регистрации потока.
 
 
Пароль
 
Доступно только для действия «Регистрация». Аргумент, представляющий собой пароль для регистрации потока.
 
 
Время ожидания
 
Доступно только для действия «Регистрация». Максимальное время ожидания регистрации, по истечению которого будет прервана регистрация и  произведен выход по ветке «Таймаут».
 
 
Автоматическая отмена регистрации
 
Доступно только для действия «Регистрация». Позволяет установить такой режим работы, при котором при любой последующей попытке дозвона по одной из линий зарегистрированного потока даже в случае неудачи (занято, недоступно и т.д.) будет производиться мгновенная отмена регистрации.
 
 
Код потока в переменную
 
Доступно только для действия «Регистрация». В случае успешного проведения операции по регистрации в указанную переменную будет размещен Guid-идентификатор зарегистрированного потока. Эта переменная впоследствии может быть использована для осуществления вызова в компонентах «Переключение на внешние» и/или «Дозвон» или отмены регистрации.
 
 
Код ошибки в переменную
 
Доступно только для действия «Регистрация». В переменную попадает код ошибки в случае возникновения проблем при регистрации. Большинство кодов совпадают с типами ответов HTTP-сервера (например, 404 - not found).
 
 
Код потока
 
Доступно только для действия «Отмена регистрации». Аргумент, представляющий собой Guid-идентификатор потока в строковом представлении. Может быть указан явно, или получен в переменную в одном из предыдущих компонентов «Регистрация».
 
 
Переход
 
Компонент, на который передается управление после возврата в случае успешного проведения операции.
 
 
Переход, потоков не найдено
 
Доступно только для действия «Регистрация». Компонент, на который передается управление, если у выбранного шлюза нет свободных потоков.
 
 
Переход, таймаут
 
Доступно только для действия «Регистрация». Компонент, на который передается управление в случае, если за установленный интервал времени не получен ответ от внешнего сервера/шлюза.
 
 
Переход, ошибка
 
Компонент, на который передается управление в случае возникновения ошибок.
 
 
Имя
 
Название компонента для отображения в визуальной среде и выбора в списке.
 
 
   
 
   
 +
<div id="SmsSend"></div>
 +
==[[Файл:cl_cc_scr_i19.png|left]]Отправка одного SMS==
  
+
Осуществляет отправку SMS-сообщения по указанному номеру с назначенным текстом. Может быть настроен на ожидание доставки. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках].
  
 
   
 
   
 +
'''Свойства''':
  
+
{|cellpadding="10" cellspacing="0" border="1"
 
+
|Номер
Плагин-компонент
+
|Аргумент, определяющий номер адресата.
 
+
|-
+
|Текст
 
+
|Аргумент, определяющий текст SMS-сообщения.  
Компонент позволяет выполнять произвольный сторонний код, подключенный к серверу в виде стандартного плагин-компонента (см. руководство по интеграции, раздел «Встраиваемые plugin-модули»).
+
|-
 
+
|Подставляемый номер
+
|Номер, от которого осуществляется доставка.
 
+
|-
Подробно об архитектуре исполнения описано в руководстве по интеграции.
+
|Push Id
 
+
|Код отправленного сообщения (для дальнейшего запроса отчета о доставке).
При выполнении компонента осуществляется подгрузка внешней сборки и передача управления компоненту. В случае, если сборка плагина уже загружена, повторной ее загрузки не происходит. Исключением может являться только обновление сборок в модуле «Администрирование. Внешние модули».
+
|-
 
+
|Ожидание доставки
Передача управления производится путем вызова метода PrepareShow управляющего объекта, описанного в plugin-программе. В качестве параметра для метода передается XML-структура, содержащая комплексную информацию о требуемом компоненте (его guid-идентификатор, описанный при вызове метода GetForms() управляющего объекта), параметрах сценария, сессии, задаче, а также других имеющихся свойств (различаются в зависимости от типа исполняемого сценария). Помимо базовых параметров передаются значения требуемых для работы компонента параметров (информация о них возвращается при вызове GetInputParams управляющего объекта plugin-программы). В качестве возвращаемого значения ожидается XML-структура с описанием всех выходных значений согласно общему списку выходных параметров (определяются при вызове GetOutputParams управляющего объекта).
+
|Да/Нет. Требуется ли ожидать отчета о доставке.
 
+
|-
В качестве возможных для использования в сценариях компонентов принимаются все формы подпрограммы со свойством 'module=2'.
+
|Таймаут ожидания
 
+
|Время, которое компонент будет ожидать отчета о доставке.  
+
 
+
Назначение входных значений, а также переменных для приема выходных значений производится на отдельной вкладке.
+
 
+
Дальнейшая реализация сценария приостанавливается вплоть до получения назад управления из внешнего компонента. Может быть назначен интервал таймаута, по истечению которого будет произведен принудительный возврат управления и переход к следующему компоненту сценария. Обрыв исполнения производится также при остановке сценария.
+
 
+
+
 
+
Свойства:
+
 
+
+
 
+
Модуль/Форма
+
Выбор конкретного плагина и одного из его компонентов для работы в сценарии.
+
+
Свойства
+
Доступ к вкладке редактора параметров формы для настройки передаваемых и сохраняемых параметров.
+
+
Таймаут, сек
+
Аргумент, устанавливающий время в секундах, по истечению которого будет произведен принудительный отъем управления из вызванной подпрограммы. В случае, если интервал нулевой (по умолчанию), таймаут считается не установленным.
+
+
Переход
+
Компонент, на который передается управление после возврата в случае успешного проведения операции.
+
+
Переход, компонент не найден
+
Компонент, на который передается управление, если plugin-программа не указана, не найдена или не может быть загружена.
+
+
Переход, таймаут
+
Компонент, на который передается управление в случае, если за установленный интервал времени не вернулось управление от внешнего компонента.
+
+
Переход, ошибка
+
Компонент, на который передается управление в случае возникновения ошибок.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
 
+
+
 
+
+
 
+
+
 
+
Отправка SMS-сообщения
+
 
+
+
 
+
Осуществляет отправку SMS-сообщения по указанному номеру с назначенным текстом. Может быть настроен на ожидание доставки.
+
 
+
+
 
+
Свойства:
+
 
+
+
 
+
Номер
+
Аргумент, определяющий номер адресата.
+
+
Текст
+
Аргумент, определяющий текст SMS-сообщения.  
+
+
Подставляемый номер
+
Номер, от которого осуществляется доставка.
+
+
Push Id
+
Код отправленного сообщения (для дальнейшего запроса отчета о доставке).
+
+
Ожидание доставки
+
Да/Нет. Требуется ли ожидать отчета о доставке.
+
+
Таймаут ожидания
+
Время, которое компонент будет ожидать отчета о доставке.  
+
 
+
 
Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки».
 
Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки».
+
|-
Переход, доставлено
+
|Переход, доставлено
Компонент, на который передается управление после успешной отправки сообщения. В случае установки значения «Да» в свойстве "Ожидание доставки", если сообщение успешно доставлено до таймаута ожидания.
+
|Компонент, на который передается управление после успешной отправки сообщения. В случае установки значения «Да» в свойстве "Ожидание доставки", если сообщение успешно доставлено до таймаута ожидания.
+
|-
Переход, не доставлено
+
|Переход, не доставлено
Компонент, на который передается управление, если сообщение отправлено, но не было доставлено за установленное время ожидания (в случае если ожидание было назначено).
+
|Компонент, на который передается управление, если сообщение отправлено, но не было доставлено за установленное время ожидания (в случае если ожидание было назначено).
 
+
 
Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки».
 
Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки».
+
|-
Переход, ошибка
+
|Переход, ошибка
Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
+
|Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
+
|-
Имя
+
|Имя
Название компонента для отображения в визуальной среде и выбора в списке.
+
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|}
  
 
  
+
<div id="SmsReceive"></div>
  
 +
==[[Файл:cl_cc_scr_i21.png|left]]Получение первого SMS==
 
   
 
   
 
+
Производит запрос к SMS-сервису на получение первого в очереди входящих сообщений. В случае успеха наполняет переменные сценария соответствующими сообщению значениями. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках]. 
Получение статуса отправленного SMS-сообщения
+
  
 
   
 
   
 +
'''Свойства''':
  
Производит запрос к SMS-сервису на получение отчета о доставке конкретного SMS-сообщения по коду отправки (Push Id).
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Номер отправителя
 +
|Переменная, куда запишется номер отправителя.
 +
|-
 +
|Текст
 +
|Переменная, куда запишется текст сообщения.
 +
|-
 +
|Номер адресата
 +
|Переменная, куда запишется номер, на который сообщение было отправлено.
 +
|-
 +
|Переход, получено
 +
|Компонент, на который передается управление, если сообщение на сервере имеется и получено успешно.
 +
|-
 +
|Переход, сообщений нет
 +
|Компонент, на который передается управление, если входящих сообщений на сервере нет.
 +
|-
 +
|Переход, ошибка
 +
|Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
Свойства:
+
<div id="SmsCheck"></div>
  
+
==[[Файл:cl_cc_scr_i20.png|left]]Получение статуса отправленного SMS==
  
Push Id
+
Производит запрос к SMS-сервису на получение отчета о доставке конкретного SMS-сообщения по коду отправки (Push Id). Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках].  
Код отправленного сообщения.
+
+
Переход, доставлено
+
Компонент, на который передается управление, если sms уже доставлено.
+
+
Переход, не доставлено
+
Компонент, на который передается управление, если sms еще не доставлено.
+
+
Переход, ошибка
+
Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
  
 
   
 
   
 +
'''Свойства''':
  
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Push Id
 +
|Код отправленного сообщения.
 +
|-
 +
|Переход, доставлено
 +
|Компонент, на который передается управление, если sms уже доставлено.
 +
|-
 +
|Переход, не доставлено
 +
|Компонент, на который передается управление, если sms еще не доставлено.
 +
|-
 +
|Переход, неудача
 +
|Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
Получение входящего SMS-сообщения
+
<div id="SmsBalance"></div>
  
+
==[[Файл:cl_cc_scr_i22.png|left]]Запрос баланса SMS==
  
Производит запрос к SMS-сервису на получение первого в очереди входящих сообщений. В случае успеха наполняет переменные сценария соответствующими сообщению значениями.
+
Производит запрос к SMS-сервису для получения баланса на счете. Компонент работает с SMS-сервисом, указанным в [//wiki.oktell.ru/SMS-сервис общих настройках].
  
 
   
 
   
 +
'''Свойства''':
  
Свойства:
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Количество
 +
|Переменная, куда вернется количество оставшихся оплаченных SMS-сообщений.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление, если запрос отработан.
 +
|-
 +
|Переход, ошибка
 +
|Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
   
 
   
 +
<div id="EmailSend"></div>
  
Номер отправителя
+
==[[Файл:cl_cc_scr_i23.png|left]]Отправка одного Email==
Переменная, куда запишется номер отправителя.
+
+
Текст
+
Переменная, куда запишется текст сообщения.
+
+
Номер адресата
+
Переменная, куда запишется номер, на который сообщение было отправлено.
+
+
Переход, получено
+
Компонент, на который передается управление, если сообщение на сервере имеется и получено успешно.
+
+
Переход, сообщений нет
+
Компонент, на который передается управление, если входящих сообщений на сервере нет.
+
+
Переход, ошибка
+
Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
  
   
+
Осуществляет отправку email-сообщения на указанный ящик электронной почты. Для зашифрованного соединения (свойство "SSL-авторизация") компонент использует протокол StartTLS. Это означает, что соединение изначально идет по незащищенному порту 25, а затем шифруется, в отличии от протокола SSL, где соединение изначально происходит по защищенным портам. Именно поэтому, в большинстве случаев в свойстве "Порт почтового сервера" следует указывать незащищенный порт 25, вместо 465.
  
 
  
+
'''Свойства''':
 
+
Баланс счета на SMS-сервере
+
 
+
+
 
+
Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.
+
 
+
+
 
+
Свойства:
+
 
+
+
 
+
Количество
+
Переменная, куда вернется количество оставшихся оплаченных SMS-сообщений.
+
+
Переход
+
Компонент, на который передается управление, если запрос отработан.
+
+
Переход, ошибка
+
Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
 
+
+
 
+
+
 
+
+
 
+
Отправка сообщения электронной почты
+
 
+
+
 
+
Осуществляет отправку email-сообщения на указанный ящик электронной почты.
+
 
+
+
 
+
Свойства:
+
 
+
+
 
+
Способ отправки
+
Форма, определяющая способ отправки email-сообщения.
+
+
Кому
+
Аргумент, определяющий получателей email сообщения. Если письмо предназначается нескольким адресатам, то адреса должны быть перечислены через «;».
+
+
От кого
+
Аргумент, определяющий отправителя email сообщения. Ряд почтовых серверов требует явного указания поля "Отправитель" (e-mail адрес отправителя). В этом случае свойство должно быть вычислено к моменту, когда компонент получит управление.
+
  
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|Почтовый сервер
 +
|Свойство, определяющее источник настроек для SMTP сервера
 +
* Согласно общим настройкам - используется SMTP-сервер, указанный в [//wiki.oktell.ru/Настройки_E-mail общих настройках] комплекса
 +
* SMTP - используется отдельный SMTP-сервер, указанный в настройках данного компонента
 +
|-
 +
|Адрес почтового сервера
 +
|Адрес SMTP-сервера.
 +
|-
 +
|Порт почтового сервера
 +
|Порт SMTP-сервера. В большинстве случаев, порт 25 (смотрите выше).
 +
|-
 +
|Логин
 +
|Учетная запись на почтовом сервере
 +
|-
 +
|Пароль
 +
|Пароль учетной записи на почтовом сервере
 +
|-
 +
|SSL-авторизация
 +
|Устанавливается "Да", если SMTP сервер требует SSL-авторизацию.
 +
|-
 +
|Кому
 +
|Аргумент, определяющий получателей email сообщения. Если письмо предназначается нескольким адресатам, то адреса должны быть перечислены через «,». Для версий ниже 2.9 адреса должны быть перечислены через «;»
 +
|-
 +
|От кого
 +
|Аргумент, определяющий отправителя email сообщения. Ряд почтовых серверов требует явного указания поля "Отправитель" (e-mail адрес отправителя). В этом случае свойство должно быть вычислено к моменту, когда компонент получит управление.
 
В качестве отправителя может быть указана строка вида "username <address@mail.com>".
 
В качестве отправителя может быть указана строка вида "username <address@mail.com>".
+
|-
Тема
+
|Тема
Аргумент, определяющий тему email сообщения.
+
|Аргумент, определяющий тему email сообщения.
+
|-
Формат тела письма
+
|Формат
Текст или HTML. Определяет формат, в котором будет сформировано тело для отправки.
+
|Текст или HTML. Определяет формат, в котором будет сформировано тело для отправки.
+
|-
Содержание письма
+
|Содержание письма
Аргумент, определяющий текстовую часть e-mail сообщения.
+
|Аргумент, определяющий текстовую часть e-mail сообщения.
+
|-
Кодировка
+
|Кодировка
Определяет кодировку отправляемого письма. При необходимости осуществляется преобразование тела.
+
|Определяет кодировку отправляемого письма. При необходимости осуществляется преобразование тела.
 
+
* UTF-8  
· UTF-8  
+
* UTF-7  
 
+
* Windows-1251  
· UTF-7  
+
* KOI8-R  
 
+
* Текущая кодовая страница Windows  
· Windows-1251  
+
* Указанная кодовая страница Windows
 
+
|-
· KOI8-R  
+
|Кодовая страница Windows
 
+
|Доступно только при выборе кодировки «Указанная кодовая страница Windows».  
· Текущая кодовая страница Windows  
+
 
+
· Указанная кодовая страница Windows
+
+
+
Кодовая страница Windows
+
Доступно только при выборе кодировки «Указанная кодовая страница Windows».  
+
 
+
 
Числовой аргумент, определяющий кодовую страницу Windows для формирования тела письма.  
 
Числовой аргумент, определяющий кодовую страницу Windows для формирования тела письма.  
+
|-
Вложение 1
+
|Вложение 1
Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо прикрепить к сообщению email.  
+
|Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо прикрепить к сообщению email.  
+
|-
Вложение 2
+
|Вложение 2
По аналогии со свойством «Вложение 1».
+
|Появляется, только если выбрано "Вложение 1".
+
|-
Вложение 3
+
|Вложение 3
По аналогии со свойством «Вложение 1».
+
|Появляется, только если выбрано "Вложение 2".
+
|-
Вложение 4
+
|Вложение 4
По аналогии со свойством «Вложение 1».
+
|Появляется, только если выбрано "Вложение 3".
+
|-
Вложение 5
+
|Вложение 5
По аналогии со свойством «Вложение 1».
+
|Появляется, только если выбрано "Вложение 4".
+
|-
Уведомлять об ошибках
+
|Уведомлять об ошибках
Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
+
|Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
+
|-
Переход
+
|Переход
Компонент, на который передается управление, если сообщение успешно отправлено.
+
|Компонент, на который передается управление, если сообщение успешно отправлено.
+
|-
Переход, неудача
+
|Переход, неудача
Компонент, на который передается управление, если при отправке SMTP сервер вернул ошибку.
+
|Компонент, на который передается управление, если при отправке SMTP сервер вернул ошибку.
+
|-
Имя
+
|Имя
Название компонента для отображения в визуальной среде и выбора в списке.
+
|Название компонента для отображения в визуальной среде и выбора в списке.
+
|}
  
 
  
+
<div id="EmailReceive"></div>
 
+
Форма «Способ отправки»:
+
  
 +
==[[Файл:cl_cc_scr_i24.png|left]]Получение первого Email==
 
   
 
   
 
 
 
 
 
Форма определяет способ отправки email сообщения. В зависимости от типа сценария email можно отправить через:
 
 
 
 
· SMTP сервер
 
 
· Встроенный почтовый клиент (доступен только для сценариев диалога)
 
 
 
 
Если для отправки выбран выбран «SMTP сервер», письмо будет отправлено немедленно на указанный SMTP сервер.
 
 
Для настройки доступны свойства:
 
 
 
 
Тип SMTP сервера
 
Свойство, определяющее источник настроек для SMTP сервера
 
 
· Операторский - используются настройки SMTP сервера по умолчанию в случае настроенного SMTP сервера на компьютере, где установлен клиент. Например - MS IIS SMTP Server.
 
 
· Общий (из настроек комплекса) - используются общие настройки комплекса
 
 
· Отдельный - настройки SMTP сервера определяются нижеследуюшими свойствами.
 
 
 
Адрес
 
Адрес SMTP сервера
 
 
Порт
 
Порт SMTP сервера. Значение не должно содержать более 4 цифр ( максимум: 9999 )
 
 
Требуется авторизация
 
Установлено, если SMTP сервер требует авторизацию
 
 
Требуется SSL авторизация
 
Установлено, если SMTP сервер требует SSL авторизацию
 
 
Логин
 
Учетная запись на почтовом сервере
 
 
Пароль
 
Пароль учетной записи на почтовом сервере
 
 
 
 
 
Если для отправки выбран «Встроенный почтовый клиент», письмо будет открыто на компьютере оператора в почтовом редакторе по умолчанию. Открыть письмо может любой почтовый редактор, поддерживающий MAPI интерфейс.
 
 
 
 
 
 
Прием входящего сообщения электронной почты
 
 
 
 
 
Осуществляет прием email-сообщения с указанного ящика электронной почты.  
 
Осуществляет прием email-сообщения с указанного ящика электронной почты.  
  
 
  
Свойства:
+
'''Свойства''':
 
+
+
 
+
Способ получения
+
Форма, определяющая способ получения email-сообщения.
+
+
MessageId
+
Переменная, в которую будут сохранен идентификатор email сообщения.
+
+
Кому
+
Переменная, в которую будут сохранены получатели email сообщения.
+
+
От кого
+
Переменная, в которую будут сохранены отправители email сообщения.
+
+
Тема
+
Переменная, в которую будут сохранена тема email сообщения.
+
+
Предпочитаемый тип контента
+
Для разделов multipart/alternative позволяет установить предпочитаемый тип текстового контента. При наличии указанного типа среди блоков в переменную будет сохранено именно его содержимое, а остальные дублирующие альтернативные блоки будут игнорироваться. По умолчанию text/plain, но может быть установлен text/html, text/xml, text/rtf, text/richtext.
+
+
Текст письма
+
Переменная, в которую будут сохранен текст email сообщения.
+
+
Текст письма часть2
+
Переменная, в которую будут сохранен текст из второй части email сообщения. Используется для сообщений multipart.
+
+
Текст письма часть3
+
Переменная, в которую будут сохранен текст из третьей части email сообщения. Используется для сообщений multipart.
+
+
IMAP каталог
+
Аргумент, значение которого определяет IMAP каталог, из которого будет получено сообщение. По умолчанию используется стандартный каталог входящей почты Inbox.
+
  
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|Почтовый сервер
 +
|Свойство, определяющее источник настроек для сервера входящей почты.
 +
*Согласно общим настройкам — используется сервер входящей почты, указанный в [//wiki.oktell.ru/Настройки_E-mail общих настройках] комплекса
 +
*POP3 — используется отдельный сервер, работающий по протоколу POP3
 +
*IMAP4 — используется отдельный сервер, работающий по протоколу IMAP4
 +
|-
 +
|Адрес почтового сервера
 +
|Адрес сервера входящей почты
 +
|-
 +
|Порт почтового сервера
 +
|Порт сервера входящей почты (стандартный порт POP сервера - 110, IMAP сервера - 143).
 +
|-
 +
|Логин
 +
|Учетная запись на сервере
 +
|-
 +
|Пароль
 +
|Пароль учетной записи на сервере
 +
|-
 +
|SSL-авторизация
 +
|Устанавливается "Да", если почтовый сервер требует SSL-авторизацию.
 +
|-
 +
|MessageId
 +
|Переменная, в которую будут сохранен идентификатор email сообщения.
 +
|-
 +
|Кому
 +
|Переменная, в которую будут сохранены получатели email сообщения.
 +
|-
 +
|От кого
 +
|Переменная, в которую будут сохранены отправители email сообщения.
 +
|-
 +
|Тема
 +
|Переменная, в которую будут сохранена тема email сообщения.
 +
|-
 +
|Предпочитаемый тип контента
 +
|Для разделов multipart/alternative позволяет установить предпочитаемый тип текстового контента. При наличии указанного типа среди блоков в переменную будет сохранено именно его содержимое, а остальные дублирующие альтернативные блоки будут игнорироваться. По умолчанию text/plain, но может быть установлен text/html, text/xml, text/rtf, text/richtext.
 +
|-
 +
|Текст письма
 +
|Переменная, в которую будут сохранен текст email сообщения.
 +
|-
 +
|Текст письма часть2
 +
|Переменная, в которую будут сохранен текст из второй части email сообщения. Используется для сообщений multipart.
 +
|-
 +
|Текст письма часть3
 +
|Переменная, в которую будут сохранен текст из третьей части email сообщения. Используется для сообщений multipart.
 +
|-
 +
|IMAP каталог
 +
|Аргумент, значение которого определяет IMAP каталог, из которого будет получено сообщение. По умолчанию используется стандартный каталог входящей почты Inbox.
 
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).
 
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).
+
|-
IMAP запрос
+
|IMAP-запрос
Аргумент, значение которого определяет IMAP запрос. Запрос определяет критерии выбора сообщения из каталога, заданного свойством IMAP каталог. По умолчанию используется запрос, возвращающий все письма (значение "ALL"). Более подробно о синтаксисе IMAP запросов можно узнать из документации RFC 2060.
+
|Аргумент, значение которого определяет IMAP запрос. Запрос определяет критерии выбора сообщения из каталога, заданного свойством IMAP каталог. По умолчанию используется запрос, возвращающий все письма (значение "ALL"). Более подробно о синтаксисе IMAP запросов можно узнать из документации <nowiki>RFC 2060</nowiki>.
 
+
 
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).
 
Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).
+
|-
Принимать только заголовки
+
|Принимать только заголовки
Да/Нет. Требуется ли получать только заголовки письма (в этом случае тело сообщения и прикрепленные файлы скачиваться с почтового сервера не будут)
+
|Да/Нет. Требуется ли получать только заголовки письма (в этом случае тело сообщения и прикрепленные файлы скачиваться с почтового сервера не будут)
+
|-
Удалять с сервера
+
|Удалять с сервера
Да/Нет. Требуется ли удалить письмо с почтового сервера после получения.
+
|Да/Нет. Требуется ли удалить письмо с почтового сервера после получения.
+
|-
Сохранять вложения
+
|Сохранять вложения
Определяет режим сохранения вложений.
+
|Определяет режим сохранения вложений.
 
+
* Нет. Вложения сохранены не будут.  
· Нет. Вложения сохранены не будут.  
+
* В указанную папку. В этом случае все вложенные файлы будут сохранены в папку, путь к которой установлен свойством "Папка для вложений".  
 
+
* В папку по умолчанию. В этом случае каталог определяется из общих настроек, раздел «Настройки e-mail».
· В указанную папку. В этом случае все вложенные файлы будут сохранены в папку, путь к которой установлен свойством "Папка для вложений".  
+
|-
 
+
|Папка для вложений
· В папку по умолчанию. В этом случае каталог определяется из общих настроек, раздел «Настройки e-mail».
+
|Доступно только при выбранном режиме сохранения вложений в указанную папку.
+
+
Папка для вложений
+
Доступно только при выбранном режиме сохранения вложений в указанную папку.
+
 
+
 
Представляет собой аргумент, устанавливающий абсолютный или относительный путь к папке, куда будут сохранены вложения с исходными именами.
 
Представляет собой аргумент, устанавливающий абсолютный или относительный путь к папке, куда будут сохранены вложения с исходными именами.
+
|-
Путь к папке для вложений в переменную
+
|Путь к папке для вложений в переменную
Доступно только при выбранном режиме сохранения вложений в папку по умолчанию, заданную в общих настройках.
+
|Доступно только при выбранном режиме сохранения вложений в папку по умолчанию, заданную в общих настройках.
 
+
 
Представляет собой переменную, в которую будет сохранен путь к папке с вложениями, заданный в общих настройках.
 
Представляет собой переменную, в которую будет сохранен путь к папке с вложениями, заданный в общих настройках.
+
|-
Уведомлять об ошибках
+
|Уведомлять об ошибках
Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
+
|Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
+
|-
Переход, получено
+
|Переход, получено
Компонент, на который передается управление, если сообщение успешно получено.
+
|Компонент, на который передается управление, если сообщение успешно получено.
+
|-
Переход, не получено
+
|Переход, не получено
Компонент, на который передается управление, если сообщение не получено, но при этом ошибок не возникло. Такая ситуация может возникнуть, если:
+
|Компонент, на который передается управление, если сообщение не получено, но при этом ошибок не возникло. Такая ситуация может возникнуть, если:
 +
* на POP3 сервере нет сообщений
 +
* на IMAP4 сервере нет сообщений в заданном каталоге
 +
* на IMAP4 сервере нет сообщений в заданном каталоге удовлетворяющих заданным критериям
 +
|-
 +
|Переход, неудача
 +
|Компонент, на который передается управление, если при получении сообщения POP3 ( IMAP4 ) сервер вернул ошибку.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
· на POP3 сервере нет сообщений
 
  
· на IMAP4 сервере нет сообщений в заданном каталоге
 
 
· на IMAP4 сервере нет сообщений в заданном каталоге удовлетворяющих заданным критериям
 
 
 
Переход, неудача
 
Компонент, на который передается управление, если при получении сообщения POP3 ( IMAP4 ) сервер вернул ошибку.
 
 
Имя
 
Название компонента для отображения в визуальной среде и выбора в списке.
 
 
   
 
   
 +
<div id="ICQSend"></div>
  
+
==[[Файл:cl_cc_scr_i25.png|left]]Отправка сообщения IM (ICQ, Jabber) ==
 
+
+
 
+
Форма «Способ получения»:
+
 
+
+
 
+
 
+
 
+
+
 
+
Форма определяет способ получения email сообщения. Сообщение можно получить через:
+
 
+
· POP сервер (по протоколу POP3)
+
 
+
· IMAP сервер (по протоколу IMAP4)
+
 
+
+
 
+
Для настройки доступны свойства:
+
 
+
+
 
+
Тип почтового сервера
+
Свойство, определяющее источник настроек для сервера входящей почты
+
 
+
· Общий (из настроек комплекса) - используются общие настройки комплекса
+
 
+
· Отдельный - настройки SMTP сервера определяются нижеследуюшими свойствами.
+
+
+
Адрес
+
Адрес сервера.
+
+
Порт
+
Порт сервера. (стандартный порт POP сервера - 110, IMAP сервера - 143).
+
+
Требуется авторизация
+
Установлено, если сервер требует авторизацию.
+
+
Требуется SSL авторизация
+
Установлено, если сервер требует SSL авторизацию.
+
+
Логин
+
Учетная запись на почтовом сервере.
+
+
Пароль
+
Пароль учетной записи на почтовом сервере.
+
+
 
+
+
 
+
+
 
+
+
 
+
Отправка IM (ICQ/jabber) сообщения
+
 
+
+
  
 
Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси).
 
Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси).
 +
Работа с аккаунтом происходит через пул подключений. Любые обращения к аккаунту (отправки/приема из разных сценариев), влекущие подключение к серверу, помещают созданное подключение в специальный пул, где оно поддерживается некоторое время (устанавливается в разделах «[[ICQ-сервис|Общие настройки. ICQ-сервис]]» и «[[Jabber-сервис|Общие настройки. Jabber-сервис]]»). Каждое последующее обращение к аккаунту работает с подключением из пула и продляет время его существования. В случае таймаута аккаунт отключается. Также аккаунт отключается при получении ошибки сервера или выгрузке серверного приложения. Такой механизм работы в частности гарантирует работу комплекса от ошибки сервера ICQ «Превышен лимит подключений». Для каждого аккаунта в пуле держится отдельное подключение. Для Jabber-аккаунтов держатся отдельно подключения с разными настройками, даже если они имеют одинаковый JID.
  
Работа с аккаунтом происходит через пул подключений. Любые обращения к аккаунту (отправки/приема из разных сценариев), влекущие подключение к серверу, помещают созданное подключение в специальный пул, где оно поддерживается некоторое время (устанавливается в разделах «Общие настройки. ICQ-сервис» и «Общие настройки. Jabber-сервис»). Каждое последующее обращение к аккаунту работает с подключением из пула и продляет время его существования. В случае таймаута аккаунт отключается. Также аккаунт отключается при получении ошибки сервера или выгрузке серверного приложения. Такой механизм работы в частности гарантирует работу комплекса от ошибки сервера ICQ «Превышен лимит подключений». Для каждого аккаунта в пуле держится отдельное подключение. Для Jabber-аккаунтов держатся отдельно подключения с разными настройками, даже если они имеют одинаковый JID.
 
  
+
'''Свойства''':
  
Свойства:
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Протокол
 +
|ICQ / Jabber.
 +
|-
 +
|Прокси-сервер
 +
|Свойство, определяющее источник настроек для подключения к прокси-серверу.
 +
* Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
 +
* Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы [[ICQ-сервис|ICQ-сервис]] и [[Jabber-сервис|Jabber-сервис]]).
 +
* HTTPS — используется тип протокола прокси-сервера HTTPS
 +
* SOCKS5 — используется тип протокола прокси-сервера SOCKS5
 +
|-
 +
|Адрес прокси-сервера
 +
|Адрес сервера.
 +
|-
 +
|Порт прокси-сервера
 +
|Порт сервера. (стандартный порт SOCKS5 сервера - 1080, HTTPS сервера - 8080).
 +
|-
 +
|Авторизация на прокси
 +
|Устанавливается "Да", если сервер требует авторизацию.
 +
|-
 +
|Учетная запись
 +
|Свойство, определяющее источник настроек учетной записи для ICQ или Jabber, которая будет использоваться в качестве отправителя сообщения.
 +
* Использовать общую (из настроек комплекса) — используется учетная запись, заданная в общих настройках комплекса (отдельно разделы [[ICQ-сервис|ICQ-сервис]] и [[Jabber-сервис|Jabber-сервис]]).
 +
* Настроить — настройки учетной записи определяются нижеследующими свойствами.
 +
|-
 +
|Адрес jabber-сервера
 +
|Только при использовании протокола Jabber. Адрес сервера
 +
|-
 +
|Порт jabber-сервера
 +
|Только при использовании протокола Jabber. Порт сервера
 +
|-
 +
|UIN / Jabber ID
 +
|Номер учетной записи ICQ/Jabber
 +
|-
 +
|Пароль UIN / JID
 +
|Пароль учетной записи ICQ/Jabber
 +
|-
 +
|Таймаут ожидания соединения
 +
|Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с IM-сервером (ICQ / Jabber). При отправке сообщения выполнение сценария будет приостановленно до тех пор пока:
 +
* Будет установлено успешное соединение с сервером
 +
* Истечет таймаут ожидания соединения
 +
|-
 +
|Таймаут отправки сообщения
 +
|Аргумент, определяющий временную задержку ( в миллисекундах ) перед отправкой сообщения.
 +
|-
 +
|UIN / JID получателя
 +
|Аргумент, определяющий UIN-номера / JID-аккаунты получателей IM-сообщения. Если сообщение предназначается нескольким адресатам, то адреса должны быть перечислены через «,».
 +
|-
 +
|Текст сообщения
 +
|Аргумент, определяющий текст сообщения.
 +
|-
 +
|Уведомлять об ошибках
 +
|Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление, если сообщение успешно отправлено.
 +
|-
 +
|Переход, неудача
 +
|Компонент, на который передается управление, если при отправке сервер вернул ошибку.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
 
  
Протокол
 
ICQ / Jabber.
 
 
Настройки прокси
 
Форма, определяющая настройки подключения к прокси-серверу.
 
 
Настройки учетной записи
 
При отправке ICQ-сообщения - форма, определяющая настройки учетной записи (UIN) ICQ, которая будет использоваться в качестве отправителя сообщения ICQ.
 
  
При отправке Jabber-сообщения - форма настройки учетной записи (JID) сервиса Jabber, которая будет использоваться в качестве отправителя Jabber-сообщения, а также настройки сервера, к которому необходимо осуществлять подключение для работы в сети Jabber. Обратите внимание на рекомендации, приведенные в разделе «Общие настройки. Jabber-сервис».
+
<div id="ICQReceive"></div>
+
UIN / JID
+
Аргумент, определяющий UIN-номера / JID-аккаунты получателей IM-сообщения. Если сообщение предназначается нескольким адресатам, то адреса должны быть перечислены через «,».
+
+
Таймаут ожидания соединения
+
Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с IM-сервером (ICQ / Jabber). При отправке сообщения выполнение сценария будет приостановленно до тех пор пока:
+
  
· Будет установлено успешное соединение с сервером
+
==[[Файл:cl_cc_scr_i26.png|left]]Прием первого сообщения IM (ICQ, Jabber) ==
 
+
· Истечет таймаут ожидания соединения
+
+
+
Таймаут отправки соединения
+
Аргумент, определяющий временную задержку ( в миллисекундах ) перед отправкой сообщения.  
+
+
Текст сообщения
+
Аргумент, определяющий текст сообщения.
+
+
Уведомлять об ошибках
+
Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
+
+
Переход
+
Компонент, на который передается управление, если сообщение успешно отправлено.
+
+
Переход, неудача
+
Компонент, на который передается управление, если при отправке сервер вернул ошибку.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
 
+
+
 
+
Форма «Настройки подключения»:
+
 
+
+
 
+
 
+
 
+
+
 
+
Форма определяет настройки подключения к ICQ / Jabber серверу. Имеется возможность подключения напрямую и через прокси-сервер. Поддерживаются следующие типы прокси-серверов:
+
 
+
· SOCKS5 
+
 
+
· HTTPS 
+
 
+
+
 
+
Для настройки доступны свойства:
+
 
+
+
 
+
Тип прокси сервера
+
Свойство, определяющее источник настроек для подключения к серверу.
+
 
+
· Без прокси-сервера - подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
+
 
+
· Общий (из настроек комплекса) - используется режим подключения, заданный в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
+
 
+
· Отдельный - настройки прокси-сервера определяются в текущей форме и актуальны только для настраиваемого в данный момент компонента сценария.
+
+
+
Тип протокола
+
Свойство, определяющее тип протокола прокси-сервера:
+
 
+
· SOCKS5 - протокол SOCKS5
+
 
+
· HTTPS - протокол HTTPS
+
+
+
Адрес
+
Адрес сервера.
+
+
Порт
+
Порт сервера. (стандартный порт SOCKS5 сервера - 1080, HTTPS сервера - 8080).
+
+
Требуется авторизация
+
Установлено, если сервер требует авторизацию.
+
+
Логин
+
Учетная запись на прокси сервере.
+
+
Пароль
+
Пароль учетной записи на прокси сервере.
+
+
 
+
+
 
+
+
 
+
Форма «Настройки учетной записи ICQ»:
+
 
+
+
 
+
 
+
 
+
+
 
+
Форма определяет учетную запись ICQ, которая будет использоваться в качестве отправителя сообщения ICQ.
+
 
+
+
 
+
Для настройки доступны свойства:
+
 
+
+
 
+
Тип учетной записи
+
Свойство, определяющее источник настроек учетной записи
+
 
+
· Общий (из настроек комплекса) - используются общие настройки комплекса
+
 
+
· Отдельный - настройки учетной записи определяются нижеследуюшими свойствами.
+
+
+
UIN
+
Номер ICQ
+
+
Пароль UIN
+
Пароль ICQ
+
+
 
+
+
 
+
Аналогичная форма открывается и при настройке JID-аккаунта (при работе с Jabber). В ней в дополнение к JID и паролю при осуществлении индивидуальной настройки предлагается указать адрес и порт сервера Jabber.
+
 
+
+
 
+
+
 
+
Получение IM (ICQ/jabber) сообщения
+
 
+
+
  
 
Осуществляет прием IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт получателя, способ подключения к серверу.  
 
Осуществляет прием IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт получателя, способ подключения к серверу.  
 
 
Получаемые сообщения сохраняют в указанных переменных аккаунт отправителя и текст сообщения.
 
Получаемые сообщения сохраняют в указанных переменных аккаунт отправителя и текст сообщения.
 
 
Работа компонента происходит через пул подключений аналогично компоненту «Отправка IM-сообщения».
 
Работа компонента происходит через пул подключений аналогично компоненту «Отправка IM-сообщения».
  
 
  
Свойства:
+
'''Свойства''':
  
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Протокол
 +
|ICQ / Jabber
 +
|-
 +
|Настройки прокси
 +
|Форма, определяющая настройки подключения к прокси-серверу.
 +
|-
 +
|Настройки учетной записи
 +
|При получении ICQ-сообщения - форма, определяющая настройки учетной записи (UIN) ICQ, которая будет использоваться в качестве получателя сообщения ICQ.
 +
При получении Jabber-сообщения - форма настройки учетной записи (JID) сервиса Jabber, которая будет использоваться в качестве получателя Jabber-сообщения, а также настройки сервера, к которому необходимо осуществлять подключение для работы в сети Jabber. Обратите внимание на рекомендации, приведенные в разделе [[Jabber-сервис|Общие настройки. Jabber-сервис]].
 +
|-
 +
|UIN / JID
 +
|Переменная, в которую будет сохранен UIN / JID отправителя IM-сообщения.
 +
|-
 +
|Таймаут ожидания соединения
 +
|Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с сервером. При получении сообщения выполнение сценария будет приостановленно до тех пор пока:
 +
* Будет установлено успешное соединение с сервером
 +
* Истечет таймаут ожидания соединения
 +
|-
 +
|Таймаут получения сообщения
 +
|Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы.
 +
|-
 +
|Текст сообщения
 +
|Переменная, в которую будет сохранен текст полученного сообщения.
 +
|-
 +
|Уведомлять об ошибках
 +
|Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения получения. Необходимо в отладочных целях в первые дни работы новых проектов.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление, если сообщение успешно получено.
 +
|-
 +
|Переход, сообщений нет
 +
|Компонент, на который передается управление, если новых сообщений не обнаружено.
 +
|-
 +
|Переход, неудача
 +
|Компонент, на который передается управление, если при получении сервер вернул ошибку.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Протокол
 
ICQ / Jabber
 
 
Настройки прокси
 
Форма, определяющая настройки подключения к прокси-серверу.
 
 
Настройки учетной записи
 
При получении ICQ-сообщения - форма, определяющая настройки учетной записи (UIN) ICQ, которая будет использоваться в качестве получателя сообщения ICQ.
 
  
При получении Jabber-сообщения - форма настройки учетной записи (JID) сервиса Jabber, которая будет использоваться в качестве получателя Jabber-сообщения, а также настройки сервера, к которому необходимо осуществлять подключение для работы в сети Jabber. Обратите внимание на рекомендации, приведенные в разделе «Общие настройки. Jabber-сервис».
 
 
UIN / JID
 
Переменная, в которую будет сохранен UIN / JID отправителя IM-сообщения.
 
 
Таймаут ожидания соединения
 
Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с сервером. При получении сообщения выполнение сценария будет приостановленно до тех пор пока:
 
  
· Будет установлено успешное соединение с сервером
 
  
· Истечет таймаут ожидания соединения
+
<div id="1CQuery"></div>
+
+
Таймаут получения сообщения
+
Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы.
+
+
Текст сообщения
+
Переменная, в которую будет сохранен текст полученного сообщения.
+
+
Уведомлять об ошибках
+
Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения получения. Необходимо в отладочных целях в первые дни работы новых проектов.
+
+
Переход
+
Компонент, на который передается управление, если сообщение успешно получено.
+
+
Переход, сообщений нет
+
Компонент, на который передается управление, если новых сообщений не обнаружено.
+
+
Переход, неудача
+
Компонент, на который передается управление, если при получении сервер вернул ошибку.
+
+
Имя
+
Название компонента для отображения в визуальной среде и выбора в списке.
+
+
  
+
==[[Файл:cl_cc_scr_i501.png|left]]Запрос к веб-сервису 1С==
  
+
Осуществляет запрос к веб-сервису 1C, зарегистрированному в общих настройках или в компоненте. Запрос формируется на языке 1C. Параметры веб-сервиса могут быть заданы как в компоненте, так и в общих настройках.
 +
Для работы компонента (для его появления в редакторе сценариев) требуется наличие интеграционной лицензии.
  
 
  
+
'''Свойства''':
  
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Запрос
 +
|Тело запроса на языке 1С.
 +
|-
 +
|Параметры веб-сервиса
 +
|Устанавливает к использованию параметры веб-сервиса из общих настроек или позволяет настроить в рамках компонента (в этом случае появляются дополнительные поля ''URI'', ''логин'', ''пароль'').
 +
|-
 +
|URI
 +
|Аргумент, определяющий URI веб-сервиса 1С.
 +
Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.
 +
|-
 +
|Логин
 +
|Аргумент, определяющий логин к веб-сервису 1С.
 +
Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.
 +
|-
 +
|Пароль
 +
|Аргумент, определяющий пароль к веб-сервису 1С.
 +
Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.
 +
|-
 +
|Режим запроса
 +
|Асинхронно без ожидания/Ожидание ответа/Ожидание ответа с таймаутом.
 +
|-
 +
|Таймаут, с
 +
|Аргумент, определяющий таймаут в секундах для ожидания ответа от веб-сервиса на отправленный запрос.
 +
Доступно только при выборе режима ''Ожидание ответа с таймаутом''.
 +
|-
 +
|Сохранять значения первой строки
 +
|Да/нет. Определяет, сохранять ли значения из первой строки вернувшегося в ответе от веб-сервиса набора данных в переменных сценария, сопоставляя их имена с названиями столбцов в наборе.
 +
|-
 +
|Результат CSV в переменную
 +
|Переменная, в которую сохранится результат в формате CSV.
 +
|-
 +
|Результат XML в переменную
 +
|Переменная, в которую сохранится результат в формате XML
 +
|-
 +
|Таймаут получения сообщения
 +
|Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы.
 +
|-
 +
|Переход
 +
|Компонент, на который передается управление, если работа компонента завершена удачно.
 +
|-
 +
|Переход, таймаут
 +
|Компонент, на который передается управление, если работа компонента завершена по таймауту.
 +
|-
 +
|Переход, неудача
 +
|Компонент, на который передается управление, если при веб-сервер вернул ошибку или задан не верно.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}
  
Другие компоненты сценариев:
 
  
+
<div id="ClientGroup"></div>
 +
==[[Файл:cl_cc_scr_i15.png|left]](Удалено) Определить группу клиента==
  
      — Компоненты сценариев IVR
+
<span style="color:red">ВНИМАНИЕ: Компонент перенесен в "Статус объекта", начиная с версии 2.11.3.150320.
  
+
Осуществляет проверку на принадлежность контакта (определившегося номера телефона, почтового адреса и любого другого переданного аргумента) указанной группе клиентов. Позволяет разделить обработку в сценарии звонков VIP клиентов, клиентов из черного списка, личных контактов и пр.
 
+
      — Компоненты сценариев диалога
+
  
 
   
 
   
 +
'''Свойства''':
  
      — Компоненты служебных сценариев
+
{|cellpadding="10" cellspacing="0" border="1"
 +
|Контакт
 +
|Аргумент, содержащий произвольную контактную информацию.
 +
|-
 +
|Группа
 +
|Аргумент, содержащий имя группы клиентов.
 +
|-
 +
|Переход, принадлежит
 +
|Компонент, на который передается управление, если соответствующий контакту клиент найден, указанная группа существует, и клиент принадлежит группе.
 +
|-
 +
|Переход, не принадлежит
 +
|Компонент, на который передается управление, если не найден соответствующий контакту клиент, не существует группа, или клиент не принадлежит группе.
 +
|-
 +
|Имя
 +
|Название компонента для отображения в визуальной среде и выбора в списке.
 +
|}

Текущая версия на 08:51, 16 февраля 2023

Техническая документация / Call-центр или Администрирование / Сценарии / Общие компоненты сценариев


Смотрите также:



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

Содержание


Cl cc scr i01.png
Старт

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


Свойства:

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



Cl cc scr i02.png
Стоп

Осуществляет завершение сценария без разрыва связи. Служит для остановки выполнения сценария после появления соответствующих условий. Классические примеры успешное переключение в сценарии IVR или корректное завершение работы в сценарии диалога.


Свойства:

Возврат управления Да/нет. По умолчанию «Да». Флаг определяет необходимо ли в текущей точке передать управление стеку (да) или прекратить выполнение всей последовательности сценариев (нет). Актуален только в сценариях, вызванных через компонент Запуск сценария с установленным флагом «Возврат управления» и в проектных сценариях IVR, вызванных через компонент Вход в проект.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i04.png
Присвоение значения переменной

Задает значение указанной переменной. В качестве присваемого значения выступает аргумент. Используется механизм преобразования типов, если типы значения аргумента и переменной не совпадают.


Свойства:

Режим Одиночный / Множественный

Множественный режим позволяет в одном компоненте производить сразу несколько операций присвоения.

Переменная Локальная переменная, в которую нужно записать указанное значение.

Доступно только в режиме одиночной операции.

Значение Аргумент (значение, переменная, функция, выражение), значение которого необходимо задать для указанной переменной.

Доступно только в режиме одиночной операции.

Операции Список операций (пар элементов {Переменная, Аргумент}), которые будут выполнены в порядке перечисления в окне задания значений нескольких операций присвоения.

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

Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i05.png
Сравнение

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


Свойства:

Аргумент 1 Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
Аргумент 2 Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
Тип сравнения Один из вариантов логической операции
  • = (равно)
  • > (больше)
  • => (больше или равно)
  • < (меньше)
  • <= (меньше или равно)
  •  != (не равно)
Переход, правда Компонент, на который передается управление, если выбранная логическая операция вернула истину.
Переход, ложь Компонент, на который передается управление, если выбранная логическая операция вернула ложь.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i06.png
Меню сравнения

Сравнивает аргумент со списком значений. Компонент может иметь неограниченное число веток перехода. Переход осуществляется по ветке значения, с которым совпало значение аргумента. Если совпадений не найдено, переход осуществляется по ветке «Прочее».


Свойства:

Аргумент Аргумент (значение, переменная, функция, выражение), значение которого необходимо сравнить.
Значения (варианты) Окно ввода значений, позволяющее задать возможные значения и связывающее с каждым указанным значением элемент перехода. Соответственно переход осуществляется по ветке первого найденного совпадающего значения.
Переход, прочее Компонент, на который передается управление, если среди значений не найдено того, которое соответствует значению аргумента.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i18.png
Запуск сценария

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


ВНИМАНИЕ! Обработка сценария начинается с компонента Старт и ведется последовательно согласно значениям свойств перехода, если трубка положена (в основном это входящие звонки с внешних линий). В случае, когда трубка уже поднята, после компонента Старт производится безусловный переход к компоненту "Поднять трубку", если такой имеется в сценарии. При этом обработчик пропускает все компоненты, которые находятся между ними. Запуск вложенных сценариев следует этим же правилам.


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


Свойства:

Тип запуска Определяет тип и формат запуска дочернего сценария.
  • Вложенный. Запуск вложенного сценария прекращает выполнение (возможно на время, до возврата управления) текущего сценария и активизирует обработку выбранного сценария того же типа.
  • Асинхронный служебный. Запускает в параллельном процессе выполнение выбранного служебного сценария и продолжает выполнение текущего.
  • Фоновое медиа-взаимодействие. Доступно только для IVR сценариев. Инициирует дублирующий параллельный сценарий IVR. Подробнее в разделе Сценарии IVR. Фоновый сценарий.
Сценарий Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить.
Параметр запуска Аргумент, передающий свое значение на старт запускаемого сценария.
Возврат управления Да/нет. По умолчанию «Нет». Определяет способ вызова вложенного сценария.

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


ВНИМАНИЕ! Обработчик сценариев поддерживает условно неограниченную вложенность и имеет стек с ограничением в 100 сценариев во избежание зацикливания.

ВНИМАНИЕ! Вызов внутри одной цепочки исполнения может происходить одновременно как с возвратом, так и без возврата.

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

Поле используется (и обязательно для заполнения) только в случае асинхронного запуска служебного сценария, а также в случае вложенного, если флаг «Возврат управления» установлен.

Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i03.png
Пауза

Осуществляет задержку сценария перед выполнением следующего компонента. В случае указания длительности 0 – компонент пропускается. В некоторых случаях при работе с большими сценариями удобно использовать компонент «Пауза» в качестве пустышки, для удобства и быстроты смены свойств. Например, по веткам выхода из компонента «Меню», где каждое свойство перехода задается внутри специального окна путем выбора одного объекта из списка всех объектов сценария.


Свойства:

Время задержки Время в миллисекундах, которое необходимо простоять на компоненте в паузе.
Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i14.png
Статус объекта

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


Свойства:

Действие Доступные действия:
  • Определить. Формирует работу компонента для записи в назначенную переменную выбранного состояния указанного объекта.
  • Установить. Изменяет выбранное состояние указанного объекта на результат вычисления назначенного аргумента.
Тип объекта Один из вариантов: Задача, Пользователь, Номер, Линия, Направление, Конференция, Сервер. Тип объекта, с которым производится работа: статус которого подлежит определению, изменению, или который необходимо создать/удалить.

В зависимости от выбранного действия перечень типов может меняться.

Задача (ключ), Пользователь (ключ), Номер, Линия (ключ), Направление (ключ), Конференция (ключ), Сервер Доступны только для действий определить/установить.

В зависимости от выбранного типа поле принимает тот или иной вид:

  • Задача. Одна из списка задач системы (или проекта, если сценарий принадлежит проекту). Возможно задание через строковый аргумент «Ключ задачи». Может содержать идентификатор в виде Guid значения «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx», код задачи или название задачи. Будет использован только в случае, если задача не указана явно в списке имеющихся в системе задач.
  • Пользователь. Один из списка пользователей системы. Возможно задание через строковый аргумент «Ключ пользователя». Может содержать идентификатор в виде GUID значения, имя или логин.
  • Номер. Аргумент, определяющий внутренний номер (стандартный).
  • Линия. Аргумент, определяющий номер, код или Guid-идентификатор линии.
  • Направление. Аргумент, определяющий направление (код или Guid-идентификатор).
  • Конференция. Аргумент, определяющий номер комнаты, Guid-идентификатор или код идентификатора конференции.
  • Сессия. Аргумент, определяющий Id цепочки коммутации или сессию служебного сценария.
  • Контакт. Аргумент, определяющий телефон (электронную почту, ICQ и т.д.) у контакта.
Функция / действие Доступно только для действий определить/установить.

В зависимости от выбранного действия и типа объекта поле содержит список доступных состояний.

Определение состояния.

Доступные функции для задач:

  • Количество абонентов в очереди.
  • Наибольшее время ожидания среди абонентов очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества минут).
  • Расчетное время ожидания в очереди (при сохранении в переменную типа дата/время подставляется значение переменной начиная с 01.01.0000; в переменную строка - значение ЧЧ:мм:cc, ЧЧ при превышении 24 продолжает увеличиваться; в числовую переменную попадает действительное значение количества секунд). Осуществляет расчет времени ожидания при гипотетическом размещении текущего звонка в очереди указанной задачи. В случае, если установлен приоритет звонку, он будет учтен. При выполнении в диалоговом и служебном сценариях, где отсутствует понятие приоритета звонка, происходит оценка времени ожидания при размещении в конец очереди.
  • Количество активных операторов задачи.
  • Количество свободных операторов задачи.
  • Активность задачи. 0 - неактивна, 1 - активна.
  • Доступность по расписанию. 0 - в данный момент недоступна, 1 - в данный момент доступна.
  • Проверка доступности входа. -1 — функция не выполнена, 0 — вход разрешен, 1 — текущее время не подходит по расписанию, 2 — текущее время не подходит по установленному периоду активности, 3 — превышение максимального числа одновременно активных внешних линий, 4 — задача не найдена, 5 — несоответствие состояния (задача неактивна, отсутствуют операторы и т.д.), 6 — ошибка при попытке входа
  • Количество использованных линий.
  • Количество линий в разговоре.
  • Количество линий в дозвоне.
  • Количество линий в ожидании оператора.


Доступные функции для пользователей:

  • Идентификатор пользователя.
  • Имя пользователя.
  • Логин пользователя.
  • Скилл-тэги.
  • Идентификатор связанной линии, по которой пользователь совершает звонки.
  • Внутренний номер. Возвращает персональный номер, а в случае его отсутствия - групповой номер, в котором пользователь приоритетнее (вызывается первее или имеет наибольший приоритет). Если под это условие попадает несколько номеров, то выбирается с наименьшим номером.
  • Отдел. Пустая строка — если без отдела, название отдела — если установлено.
  • IP-адрес, с которого запущено клиентское приложение или web-клиент.
  • Статус. 0 - не авторизован, 1 - готов, 2 - перерыв, 3 - отключен (нет на месте), 5 - занят, 6 - зарезервирован, 7 - без телефона.
  • Признак переадресации. 0 - переадресация не установлена, 1 - в статусе переадресации
  • Признак перерыва. 0 - перерыв не установлен, 1 - в перерыве
  • Присутствие в КЦ. 0 - вне Call-центра, 1 - в Call-центре
  • Ручной режим КЦ. 0 - ручной режим не установлен, 1 - в ручном режиме
  • Свободное состояние. 0 — нет, 1 — да
  • Количество абонентов в очереди.
  • Наибольшее время ожидания среди абонентов очереди.
  • Наличие привилегии в правах. В значении указывается код привилегии из таблицы A_UserRoles_Rights (столбец Code)
  • Наличие роли. В значении указывается название или GUID-идентификатор роли. Идентификатор можно найти в таблице A_UserRoles_Roles (столбец Id)


Доступные функции для номеров:

  • Количество абонентов в очереди.
  • Наибольшее время ожидания среди абонентов очереди.
  • Наличие свободных абонентов. 0 — нет, 1 — есть.
  • Тип внутреннего номера.
-1 — номер не найден, 1 — стандартный номер, 11 — Hunt-номер в порядке приоритета, 12 — Hunt-номер с поочередным режимом, 13 — Hunt-номер со случайным выбором, 14 — Hunt-номер с выбором "Наиболее свободный", 15 — Hunt-номер с выбором "Наименее занятый", 16 — Hunt-номер с выбором "Наименее занятый по этому номеру",
102 — служебный номер Flash, 103 — служебный номер "Выход в город", 104 — служебный номер "Выход в атс", 105 — служебный номер "Перехват", 110 — служебный номер "SIP Hotline", 112 — служебный номер "Управление конференцией",
201 — быстрый номер, 301 — запуск IVR, 401 — экстренный номер, 501 — стандартный номер на другом сервере(при межсерверном взаимодействии).
  • Идентификатор основного объекта. Возвращает первый вызываемый объект (или объект с наибольшим приоритетом). Визуально, такой объект располагается выше в настройках номерах.
  • Идентификатор основной линии. Возвращает первую вызываемую внутреннюю линию (или линию с наибольшим приоритетом).
  • Идентификатор основного пользователя. Возвращает первого вызываемого пользователя (или пользователя с наибольшим приоритетом). Только для стандартных внутренних номеров с режимом вызова абонентов "Согласно заданному правилу"; не имеет смысла для Hunt-номеров.


Доступные функции для линий:

  • Идентификатор линии.
  • Номер линии.
  • Код линии.
  • Внутренний номер. Возвращает персональный номер линии или логически связанного с линией пользователя. Если персональных номеров нет, то возвращается групповой номер, в котором линия или связанный пользователь самый приоритетный (вызывается первее или имеет приоритет выше чем в остальных). Среди двух одинаковых номеров, приоритет отдается номер на логически связанного пользователя с наименьшим номером.
  • CallerId.
  • CalledId.
  • Идентификатор цепочки коммутаций.
  • Идентификатор пользователя, логически связанного с данной линией.
  • IP-адрес (устройства или шлюза).
  • Состояние. 1 - Не подключена, 2 - Выключена, 4 - Готова, 8 - Трубка поднята, 16 - Входящий звонок, 32 - Скоммутирована, 64 - Ожидание, 128 - Флеш, 256 - не используется, 512 - Занято, 1024 - Неопределено, 2048 - Зарезервирована, 4096 - Зарезервирована задачей.
  • Время активности. Количество секунд с момента поднятия трубки.
  • Название абонента. Установленное ранее в сценарии название.
  • Описание абонента. Установленное ранее в сценарии описание.
  • Текущая позиция в очереди.
  • Расчетное время ожидания в секундах.
  • Текущий приоритет в очереди.
  • Контент линии (XML). Только для внешних линий. Полная информация о всех коммутациях на данной линии в виде XML.
  • Контент цепочки (XML). Полная информация о всех коммутациях по цепочке коммутаций в виде XML.
  • Контент цепочки (JSON). Полная информация о всех коммутациях по цепочке коммутаций в виде JSON.
  • Поле контента линии. Только для внешних линий. В контенте линии (XML) это поле
<property_cdata key="custominfo"><![CDATA[]]></property_cdata>.
  • Поле контента цепочки (заголовок). В контенте цепочки коммутаций это поле
<property_cdata key="custom" />
  • Поле контента цепочки (коммутация). В контенте цепочки коммутаций для текущей коммутации это поле
<property_cdata key="custom"><![CDATA[]]></property_cdata>
  • Время без звука, сек. Интервал времени, в течении которого с линии не приходят RTP-пакеты.
  • Идентификатор скоммутированной линии/конференции.
  • Номер скоммутированной линии/конференции.
  • Принадлежность к направлению. В значении указывается код направления. -1 — направления не существует, 0 — не принадлежит, 1 — принадлежит.
  • Заголовок из входящего SIP INVITE/OK сообщения. В значении указывается название заголовка (например, From). Если значение не указано, возвращается полный текст SIP-сообщения.


Доступные функции для направлений:

  • Существование. 0 — не существует, 1 - существует.
  • Идентификатор. Если не существует, возвращает "00000000-0000-0000-0000-000000000000"
  • Код.
  • Название.
  • Включено. Проверка активности, 0 - не активно, 1 - активно
  • Выход во внешнюю сеть. 0 - есть, 1 - нет
  • Количество линий.
  • Количество свободных линий.
  • Количество занятых линий.
  • Количество линий, занятых исходящими звонками.
  • Количество линий, занятых входящими звонками.
  • Проверить принадлежность линии. В значении указывается GUID, код или номер линии. 0 - не принадлежит, 1 - принадлежит направлению.
  • Найти свободную линию (без резервирования). Возвращает GUID-идентификатор линии.


Доступные функции для конференций:

  • Существование. 0 - не существует, 1 - существует.
  • Время активности. Возвращает время существования конференции в секундах.
  • Идентификатор. Уникальный GUID для конференции.
  • Код идентификатора. Уникальный числовой код для конференции.
  • Номер комнаты.
  • Название.
  • Описание.
  • Идентификатор управляющего.
  • Идентификатор создателя.
  • Количество всех участников.
  • Количество активных участников.
  • Тип доступа. 11 — Открытое совещание, 12 - Закрытое, с возможностью подать заявку на вход, 13 — закрытое, вход только по приглашениям.
  • Активность воспроизведения. Свойство определяет воспроизводится ли музыкальный файл в конференцию (с помощью компонента Статус Объекта, свойство "Установить — Конференция — Воспроизвести файл"). 0 - не воспроизводится, 1 - воспроизводится.


Доступные функции для сессии (цепочки коммутаций):

  • Существование. 1 - существует, 0 - не существует.
  • Количество активных линий. Если нет, возвращает -1.
  • Количество активных сценариев. Возвращает общее количество сценариев (IVR, служебных и диалоговых), запущенных под данной сессией.
  • Наличие активного обработчика задачи. Определяет, обрабатывается ли данный звонок по задаче Call-центра. 0 - нет, 1 - есть.
  • Контент (XML). Полная информация о всех коммутациях по цепочке коммутаций в виде XML.
  • Контент (JSON). Полная информация о всех коммутациях по цепочке коммутаций в виде JSON.
  • Поле контента (заголовок). В контенте цепочки коммутаций это поле
<property_cdata key="custom" />
  • Поле контента (коммутация). В контенте цепочки коммутаций для текущей коммутации это поле
<property_cdata key="custom"><![CDATA[]]></property_cdata>


Доступные функции для контактов:

  • Проверить группу. В поле "Группа" необходимо указать название группы контактов. 0 - не входит, 1 - входит.


Доступные функции для сервера:

  • Имя хоста сервера.
  • Локальный IP-адрес. Один из локальных IP-адресов хоста.
  • Все локальные IP-адреса. Перечень всех IP-адресов через точку с запятой.
  • Внешний IP-адрес сервера (STUN-запрос). В качестве параметра может быть указан адрес конкретного stun-сервера.
  • Значение конфигурации. В качестве параметра указывается ключ конфигурации.
  • Рабочее время по графику офиса. В качестве параметра может быть указано значение дата/время. 0 - не рабочее время, 1 - рабочее время.
  • Объем виртуальной памяти службы (в МБ).
  • Объем виртуальной памяти процесса HAL (в МБ).
  • Количество подключенных пользователей.
  • Количество внешних линий.
  • Количество внутренних линий.
  • Регистрационный номер.
  • Количество пользователей в лицензии.
  • Количество внешних линий в лицензии.
  • Количество внутренних линий в лицензии.
  • Дата следующего подтверждения лицензии.


Установка состояния.

Доступные функции для задач:

  • Активность. В значении: 1 - активировать, 0 - деактивировоать.
  • Очистить оперативную статистику.
  • Синхронизировать таблицу абонентов с БД.
  • Привязать к звонку оператора. В значении указывается ключ пользователя или json-форматированная строка, содержащая ключи-значения user и/или idinlist для указания идентификатора абонента в прикрепленной к задаче таблице абонентов. Например, operatorMasha или {"user": "operatorMasha", "idinlist": 2}
  • Добавить оператора. В значении указывается ключ оператора (GUID, имя или логин).
  • Удалить оператора. В значении указывается ключ оператора (GUID, имя или логин).
  • Изменить количество линий. Используется для ограничения одновременного количества звонков по задаче. -1 — снять ограничение.


Доступные функции для пользователей:

  • Сохранить скриншот (в размерах 640х480 или переопределенных в конфигурационном файле сервера). В параметре указывается относительный (от папки \oktell\server) или абсолютный путь к файлу, куда изображение следует сохранить. Таймаут на исполнение 10 секунд. Например, screens\1.png или C:\screens\2.png
  • Привязать текущий звонок к задаче (дополнительно указывается ключ задачи или json-форматированная строка, содержащая ключи-значения task и/или idinlist для указания Id абонента в прикрепленной к задаче таблице абонентов). Например, 54C3F5F4-BD04-4EE7-9209-B3C4F2460643 или {"task": "54C3F5F4-BD04-4EE7-9209-B3C4F2460643", "idinlist": 2}
  • Изменить статус. В значении: 1 — готов, 2 — перерыв, 3 — отключен (нет на месте), 5 — занят,
  • Изменить признак занятости. В значении: 0-освободить, 1-занять.
  • Изменить признак переадресации. В значении: 0-выключить, 1-включить.
  • Ввести/вывести в перерыв. В значении: 0-вывести, 1-ввести. Для указания причины перерыва может быть указана комбинированная строка
[сам флаг];[код перерыва];[текстовое описание перерыва], например 1;-1;Обед.
  • Ввести/вывести в Call-центр. В значении: 0-вывести, 1-ввести.
  • Ввести/вывести в ручной режим Call-центра. В значении: 0-вывести, 1-ввести.


Доступные функции для линий:

  • Разрыв (выполняется безусловно). Производит разрыв и отсоединение линии.
  • Мягкий сброс. Производит разрыв с переключением в сценарий вместо отбоя.
  • Выход из задачи при следующем переключении. В значении: 1 - применить, 0 - отменить. Фактически используется менеджером задач при обслуживании вызова с участием оператора. Установленный режим будет способствовать следующее переключение абонента на любой другой объект, отличный от оператора с выходом из задачи. Без использования компонента аналогичное действие можно достигнуть, выставив в настройках задачи режим «Выход из задачи при переключении на IVR». Подробно о режиме в разделе Call-центр.Голосовые задачи.Дополнительно.
  • Название абонента. Отображается в журналах статистики, а также при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе программного телефона.
  • Описание абонента. Отображается при звонках на пользователей системы во всплывающем при входящем звонке окне и в разделе программного телефона.
  • Приоритет очереди. Применяется до входа абонента в очередь. Изменение во время нахождения в очереди требует вывода и повторного ввода. После завершения коммутации сбрасывается в значение по умолчанию. Можно установить заранее, даже когда на линии абонент отсутствует.
  • Поле контента линии. Только для внешних линий. Введенное значение записывается в контент линии (XML) в поле
<property_cdata key="custominfo"><![CDATA[]]></property_cdata>.
  • Поле контента цепочки (заголовок). Введенное значение записывается в контент цепочки коммутаций в поле
<property_cdata key="custom" />
  • Поле контента цепочки (коммутация). Введенное значение записывается в контент цепочки коммутаций для текущей коммутации в поле
<property_cdata key="custom"><![CDATA[]]></property_cdata>
  • Разрешить DTMF-управление. Только для внешних линий. В значении 1 - разрешить, 0 - запретить. Позволяет на время текущей сессии разрешить исполнение команд (FLASH и управление конференциями) через DTMF.
  • Перерегистрировать SIP-поток. Только для тех линий, по которым регистрация идет от Oktell (на стороне шлюза).
  • DTMF в линию. Отправляет в линию DTMF-сигнал, указанный в значении.
  • Воспроизвести файл в линию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Если абонент соединен с IVR сценарием — музыкальный файл не воспроизводится. Если абонент находится в коммутации - музыкальный файл воспроизводится только в его линию. Если абонент находится в конференции - на время воспроизведения файла данный участник перестает слышать остальных.
  • Воспроизвести файл в коммутацию/конференцию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Дополнительно указывается звуковой файл в формате MP3. В значении указывается уровень громкости для воспроизведения от 0 (громко) до 8 (тихо). Проигрываемый файл в этом режиме слышат все участники разговора. Не воспроизводится, если абонент соединен с IVR.


Доступные функции для конференции:

  • Установить название.
  • Установить описание.
  • Обновить информацию у клиентов. Во всех клиентских приложениях обновляется название и описание конференции.
  • Воспроизвести файл. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Проигрываемый файл слышат все участники конференции.
  • Завершить конференцию.


Доступные функции для сессии:

  • Поле контента (заголовок). Введенное значение записывается в контент цепочки коммутаций в поле
<property_cdata key="custom" />
  • Поле контента (коммутация). Введенное значение записывается в контент цепочки коммутаций для текущей коммутации в поле
<property_cdata key="custom"><![CDATA[]]></property_cdata>
  • Воспроизвести файл в коммутацию/конференцию. Позволяет проиграть указанный звуковой файл в формате MP3 во время разговора. Дополнительно указывается звуковой файл в формате MP3. В значении указывается уровень громкости для воспроизведения от 0 (громко) до 8 (тихо). Проигрываемый файл в этом режиме слышат все участники разговора. Не воспроизводится, если абонент соединен с IVR.


Доступные функции для сервера:

  • Обновить список задач. Синхронизирует менеджер задач с базой данных, обновляя список задач и их свойства.
  • Обновить общие настройки. Перезагружает текущие общие настройки, задаваемые в разделе Общие Настройки, из БД.
  • Перерегистрировать все SIP-потоки.
  • Изменить карту сети.
  • Перезагрузить сервер состояний (выполняется безусловно). Производится действие, аналогичное нажатию кнопки «Применить» в любом из модулей администрирования. Сервер состояний инициализируется на основе информации в БД.
  • Перезагрузить аппаратный модуль (выполняется безусловно). Производится переинициализация аппаратной подсистемы с завершением всех коммутаций и конференций. В случае, если аппаратный модуль настроен на работу в отдельном процессе, производится выгрузка процесса с последующим автоматическим его запуском.
  • Перезагрузить службу сервера (выполняется безусловно). Действие производится сразу же без ожидания корректного завершения коммутаций и служебных сценариев.
  • Перезагрузить серверную станцию (выполняется безусловно). Отдает команду операционной системе на полное завершение всех процессов с последующей перезагрузкой.
  • Сборка мусора .NET.
  • Произвести анализ памяти .NET.
  • Обновить лицензионный сертификат.
  • Добавить в бан-лист SIP. После применения сервер перестает принимать любые SIP-сообщения с указанного адреса или c указанным user-agent. В trn-логе пишется соответствующая информация "banned" (если включено логирование сетевых атак). В значении следует указать IP-адрес, например 3.14.15.92, или user-agent, например angry-scanner
  • Удалить из бан-листа SIP. После применения сервер снова начинает принимать SIP-запросы с указанного адреса. В значении следует указать IP-адрес, например 3.14.15.92, или user-agent, например angry-scanner
  • Добавить в бан-лист App, WS, HTTP. После применения сервер перестает принимать web-запросы с указанного IP-адреса. В значении следует указать IP-адрес, например 3.14.15.92.
  • Удалить из бан-листа App, WS, HTTP. После применения сервер снова начинает принимать web-запросы с указанного IP-адреса. В значении следует указать IP-адрес, например 3.14.15.92.
Значение в переменную Доступно только для действия «Определить».

Переменная, в которую заносится результат вычисления функции.

Значение Доступно только для действия «Установить».

Аргумент, значение которого вычисляется для установки состояния.

Идентификатор в переменную Доступно только для действия «Создать».

Переменная, в которую заносится идентификатор вновь созданного объекта.

Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i11.png
Запрос в базу данных

Позволяет производить действия в БД, а также передавать параметры (на вход и на выход). В качестве параметров выступают переменные сценария. Обращение к БД происходит по одной из выбранных технологий: ADO, OLE, ODBC. Для запросов во внешние БД необходимо заполнить строку подключения с помощью помощника – построителя. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.


Свойства:

SQL запрос Окно ввода запроса в формате SQL. В нем вы можете проверить запрос, а также исполнить в базе в момент создания. Параметры запроса в виде переменных SQL обозначаются маркером «@» в начале имени («:» в начале имени для OLE, Oracle, или «?» для входных параметров ODBC). Встроенный парсер разберет параметры и предложит сопоставить им переменные сценария. Входные параметры запроса получат значение из соответствующих переменных сценария перед выполнением запроса, выходные параметры занесут свои значения в переменные сценария после выполнения запроса. Также, если в возвращаемой выборке название какого-либо поля совпадает с названием внутренней переменной сценария, в нее будет занесено соответствующее значение из выборки.

На вкладке «Подключение» вы можете выбрать один из вариантов подключения к БД. Это используется в большей части для получения индивидуальных нестандартных настроек, а также при подключении к внешним БД. В случае использования общего формата ADO, OLE или ODBC (а также подключения по отдельно выделенным каналам к БД Oracle) необходимо заполнить строку подключения. В строке и определяются индивидуальные настройки. Например, таймаут ожидания ответа, или драйвер для подключения к различным СУБД при использовании технологии ODBC. В окне помощника формирования строки подключения вы можете увидеть все доступные для использования параметры и их описания. В случае необходимости плотного взаимодействия с внешней СУБД, обилия хранимых процедур, запросов и их параметров рекомендуется настроить прилинкованный сервер СУБД в MS SQL Server и работать с внешней СУБД по правилам, определяемым TSQL. Подробнее о процедуре подключения линкованных серверов можно узнать в разделе Подключение внешних БД Формат самих запросов SQL вне рамок данного описания.

Таймаут Устанавливает временное ограничение выполнения запроса на сервере БД. По умолчанию 30 секунд.

В случае, если используется уникальная строка подключения, таймаут может быть установлен в ней (Command Time Out). Если значением является 0, таймаут особым образом не устанавливается и применятся таймаут по умолчанию для созданного подключения (берется из строки подключения или из параметров соответствующего драйвера). Не применяется при подключении к Oracle.

Код ошибки Переменная, в которую сохранится код возврата.
Переход Компонент, на который передается управление после успешной транзакции.
Переход, ошибка Компонент, на который передается управление при появлении исключительной ситуации. В переменную свойства «Код ошибки» попадает код полученного исключения из сервера БД.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i12.png
Запрос к WEB-сервису

Позволяет выполнять запросы к web-сервисам в форматах get, post, put, head, delete. На вход может передавать указанным образом заполненную структуру XML документа. Прием данных и их обработку осуществляет также согласно прикрепленной к компоненту структуре XML документа. В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения. Для детального разбора ответа может быть использован совместно с компонентом «Парсер»: сохранив ответ в строковой переменной, его дальнейший анализ производится совокупностью других компонентов сценария.

Компонент поддерживает работу в сессиях, сохраняя и используя COOKIE, а также HTTPS и подтверждение сертификатов.


Свойства:

URL Переменная, определяющая адрес web-сервера
Прокси-сервер Свойство, определяющее источник настроек для подключения к прокси-серверу.
  • Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
  • Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
  • Настроить индивидуально — используются настройки, указанные в данном компоненте
Адрес прокси-сервера Доступно, если выбраны индивидуальные настройки прокси-сервере. Адрес прокси-сервера.
Порт прокси-сервера Доступно, если выбраны индивидуальные настройки прокси-сервере. Порт прокси-сервера.
Авторизация на прокси Да/Нет. Доступно, если выбраны индивидуальные настройки прокси-сервере. Свойство, отвечающее за необходимость авторизации на прокси-сервер.
Логин для авторизации на прокси Доступно, если необходима авторизация на прокси. Логин учетной записи на прокси-сервере
Пароль для авторизации на прокси Доступно, если необходима авторизация на прокси. Пароль учетной записи на прокси-сервере
Базовая авторизация Свойство, определяющее необходимости использования авторизация на web-сервере
  • Не использовать — подключение выполняется без авторизации
  • По логину и паролю — подключение выполняется с указанным логином и паролем
Логин для базовой авторизации Доступно, если выбрано использование базовой авторизации. Логин для авторизации на web-сервере
Пароль для базовой авторизации Доступно, если выбрано использование базовой авторизации. Пароль для авторизации на web-сервере
Максимальное число перенаправлений Устанавливает ограничение на количество перенаправлений при отправке запроса. По умолчанию свойство не задано, что эквивалентно ограничению в 20 перенаправлений - недостижимое в нормальных условиях значение. 0 - полностью игнорирует перенаправления.

При каждом перенаправлении cookie-файлы накапливаются и передаются дальше.

Метод POST / GET / PUT / HEAD / DELETE

В случае POST, PUT, HEAD, DELETE запроса становится доступным формирование и отправка контента.

Тип контента Доступно только для методов POST, PUT, HEAD, DELETE. Строка contenttype, подставляемая в отсылаемый запрос. Например,
  • application/x-www-form-urlencoded
  • text/xml
  • text/html
  • text/plain

Допускается указание других строк.

Тип запроса XML / Аргумент.

Доступно только для методов POST, PUT, HEAD, DELETE. Вариант определения тела запроса - формирование в специальной форме с подстановкой переменных, либо на базе указанного аргумента.

Запрос Доступно только для методов POST, PUT, HEAD, DELETE. В зависимости от выбранного значения свойства «Тип запроса» это либо форма, определяющая структуру запроса и подстановку в качестве параметров аргументов (переменных) сценария, либо форма выбора строкового аргумента.
Кодировка запроса Определяет в какой кодировке передается тело запроса. В списке возможных вариантов:
  • Unicode
  • UTF-8
  • UTF-7
  • Текущая кодовая страница Windows
  • Windows-1251
  • Указанная кодовая страница Windows
Кодовая страница Windows для запроса Доступно только при выборе кодировки запроса «Указанная кодовая страница Windows».

Числовой аргумент, определяющий кодовую страницу Windows для формирования запроса.

Дополнительные заголовки Позволяет переопределить некоторые стандартные заголовки, а также установить новые персональные заголовки.

Строковый аргумент, подразумевающий многострочное присутствие одного или нескольких заголовков в виде:

 HeaderName1: Value1
 HeaderName2: Value2
Дополнительные cookie Позволяет установить дополнительные cookie значения.

Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки, запятой или точкой с запятой.

Режим работы Определяет режим работы компонента. Один из четырех вариантов:
  • Ожидание результата. Компонент завершает свою работу только после получения ответа от сервера, ошибки сокета или принудительного завершения работы сценария (по обрыву связи). Во всех случаях кроме последнего производится анализ результата и сохранение значений в соответствии с настройками компонента.
  • Асинхронный запуск. Запускает асинхронную процедуру запроса к серверу и мгновенно возвращает управление. Ответ сервера не сохраняется и не анализируется. Запрос продолжает выполняться даже после завершения работы сценария.
  • Обрыв по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего обрывает запрос и возвращает управление. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В случае принудительного завершения работы сценария (по обрыву связи) выполнение запроса обрывается.
  • Выход по таймауту. Ожидает ответа сервера не дольше установленного времени, после чего возвращает управление, оставляя запрос работать асинхронно. Если ответ сервера получен в промежутке до таймаута, то производится анализ результата и сохранение значений в соответствии с настройками компонента. В противном случае ответ сервера не сохраняется (так как сценарий может быть уже завершен). В случае принудительного завершения работы сценария (по обрыву связи) запрос продолжает выполняться.
Таймаут, секунды Определяет таймаут, после которого компонент завершит свою работу в соответствии с выбранным режимом работы. Доступно только для режимов обрыва и выхода по таймауту.
Тип ответа XML / TEXT. Определяет, в каком режиме производить сохранение полученного ответа - парсить XML или сохранять в строковую переменную для дальнейшего анализа. Недоступно для асинхронного режима.
Ответ(XML) Если выбран "Тип ответа" — XML. Форма, определяющая структуру стандартного ответа сервера и характер распределения выходных значений по переменным сценария. Поддерживает только строгое соответствие дерева XML. Недоступно для асинхронного режима.
Ответ в переменную Если выбран "Тип ответа" — Текст. Переменная, в которую сохранится текст ответа. Недоступно для асинхронного режима.
Кодировка ответа Определяет в какой кодировке форматировать тело ответа. В списке возможных вариантов:
  • Unicode
  • UTF-8
  • UTF-7
  • Текущая кодовая страница Windows
  • Windows-1251
  • Указанная кодовая страница Windows
  • Авто (заголовок)
  • Авто (метатэги, заголовок)
Кодовая страница Windows для ответа Доступно только при выборе кодировки ответа «Указанная кодовая страница Windows».

Числовой аргумент, определяющий кодовую страницу Windows для разбора ответа.

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

Если был получен ответ от web-сервиса, то код ошибки совпадает с кодом состояния HTTP. В противном случае это внутренние коды ошибок работы компонента:

  • 661 - истёк таймаут установления подключения (10 секунд) для отправки данных
  • 662 - не удалось установить соединение для отправки данных
  • 663 - истёк таймаут отправки тела запроса
  • 664 - ошибка при завершении отправки тела запроса
  • 1 - прочие ошибки. Конкретная информация об ошибке попадёт в серверный лог Exception
Переход Компонент, на который передается управление после успешной транзакции.
Переход, таймаут Компонент, на который передается управление в случае, если выход осуществляется по таймауту.
Переход, ошибка Компонент, на который передается управление, если web-сервис не доступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора.


Cl cc scr i27.png
Парсер (XML, HTML, текст)

Осуществляет разбор любых текстовых структур. Может использоваться метод регулярных выражений или встроенный анализатор гипертекста OQuery. Согласно строке поиска формирует ответ, либо вырезает запрошенный раздел или их совокупность, либо определяет количество элементов в указанном разделе структуры. Сложные структуры могут быть разобраны последовательностью элементов «Парсер». Каждый из которых выделяет из документа некоторую структуру и возвращает ее на вход следующего элемента.

В общем случае производится разбор HTML, XML структур различного формата. На уровне сценария могут быть организованы циклы и условия. Чаще применяется для разбора ответов веб-сервисов компонентом «Web-запрос».

Подробнее о компоненте можете прочитать в статье Компонент Парсер

Документ Аргумент, содержащий текстовую структуру, подлежащую разбору.
Алгоритм Метод разбора:
  • Регулярные выражения.
  • Язык OQuery для HTML.
  • Парсер JSON
Поисковый запрос Строка запроса для соответствующего алгоритма. Язык регулярных выражений совпадает со стандартом .NET. Синтаксис языка OQuery и JSON описан ниже.
Функция Тип запроса (возвращаемого значения)

В зависимости от выбранного алгоритма допускает выбор одного из возможных вариантов.


Для регулярных выражений доступны:

  • Содержимое.
  • Количество найденных.


Для OQuery доступны:

  • Документ. Возвращает текст структуры с обрамляющими тэгами.
  • Содержимое. Возвращает текст структуры без обрамляющих тэгов.
  • Количество элементов. Возвращает число - количество найденных структур, расположенных согласно поисковому запросу на одном уровне.
  • Значение атрибута.
  • Имя атрибута.
  • Количество атрибутов.


Для JSON доступны:

  • Содержимое. Возвращает текст структуры - значение элемента, объект или массив. Значение элемента возвращается в кавычках.
  • Восстановленное содержимое. То же, что и содержимое, но возвращает значение элемента без кавычек.
  • Количество элементов. Возвращает число - количество вложенных элементов, объектов, массивов.
Номер элемента Доступно для регулярных выражений и языка OQuery.

Аргумент, определяющий порядковый номер структуры на случай, если поисковый запрос нашел несколько результатов. Нумерация у парсера OQuery начинается с 1, нумерация в случае регулярных выражения и парсера JSON начинается с 0.

Атрибут Доступно только для алгоритма OQuery и функций, связанных с атрибутами.

Аргумент, определяющий параметры интересующего атрибута. Функция "Значение атрибута" ждет в качестве значения аргумента имя или порядковый номер атрибута. Функция "Имя атрибута" ждет в качестве значения аргумента порядковый номер атрибута.

Результат в переменную Переменная, в которую будет сохранен результат применения поискового запроса к документу (число или часть текста вырезанного или сформированного).
Переход Компонент, на который передается управление в случае корректного выполнения поискового запроса.
Переход, неудача Компонент, на который передается управление в случае неудачи при разборе.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Синтаксис языка OQuery

Запрос - это набор команд. Запрос пишется в одну строчку и выполняется в порядке перечисления (слева направо). Для тестирования запросов можно воспользоваться программой OQuery-tester.exe.

Уровни:

* Все элементы
> Все дочерние элементы
^ Корневые элементы (содержатся на нулевом уровне искомой структуры)
пробел Все элементы кроме корневых


Простые команды:

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

Пример: ^TITLE - найдет тег TITLE в корне

#значение Возвращает теги, у которых атрибут id равен указанному значению.

Пример: FORM#32 - найдет все теги FORM, у которых атрибут id равен 32 ( <FORM class=a id=32> )

[название=значение] Возвращает теги, в теле которых присутствует атрибут с соответствующим названием и значением.

Пример: TABLE[width=90%]

.значение Возвращает теги, у которых атрибут class равен указанному значению.

Пример: INPUT.b.c - найдет теги, у которых атрибут class содержит b и c ( <INPUT class="a b c" /> )


Примечание: Результат не зависит от порядка перечисления команд. Например TABLE#big.sample = TABLE.sample#big - найдет теги, у которых атрибут id = big и атрибут class содержит sample.


Операции сравнения:

= Знак полного совпадения значения аттрибута. Пример: TABLE[width=90%]
^= Начинается со значения. Пример:IMG[src^="http://bulmas.ru/images"]
$= Заканчивается значением. Пример: IMG[src$=".gif"]
*= Значение содержится где-то в центре. Пример: IMG[src*="erotic"]


Суффиксы:

:first Возвращает первый элемент коллекции. Пример: TD:first
:last Возвращает последний элемент коллекции. Пример: UL:last
:parent Возвращает родительские теги элементов коллекции. Пример: TABLE>TD>A:parent:parent


Простые функции - команды с параметрами:

:gt(позиция) Возвращает элементы начиная с текущей позиции. Пример: TD:gt(10)
:lt(позиция) Возвращает элементы до текущей позиции включительно. Пример: TD:lt(15)
:eq(позиция) Возвращает элемент соответсвующей позиции, если число отрицательное, то с конца. Пример: TD:eq(-3) третий тег с конца.
:eq(начало,конец) Возвращает набор элементов от начальной до конечной позиции, если числа отрицательные, то с конца.

Пример: TD:eq (10,24) - Аналог TD:eq(10):lt(15) Пример: TD:eq(-1,-3) - возвращает последние 3 элемента eq, equal, range - синонимы


Сложные функции - команды, которым в качестве параметра можно передавать набор команд:

:has(OQuery-запрос) Возвращает теги, содержащие другие теги, которые удовлетворяют указанному OQuery-запросу.

Пример: TABLE:has(^TD>A) - аналог TABLE>TD>A:parent:parent

:not(OQuery-запрос) Возвращает теги не удовлетворяющие указанному OQuery-запросу.

Пример: A:not([href=http://bulmas.ru]) - найдет все теги A, которые не ссылаются на http://bulmas.ru. Или: A:eq(1,10):not(:eq(2)) - Все теги A по порядку от 1 до 10, кроме второго.


Пример: Результат следующих запросов разный

A:has(:not(IMG)) - все теги A, которые содержат не IMG
A:not(:has(IMG)) - все теги A, которые не содержат IMG


Операции и знаки:

запрос1 , запрос2 Запятая (логическое "или"), для перечисления запросов.

Примеры: *A>IMG,>TABLE - вернет все IMG, содержащиеся в A, и TABLE содержащиеся в корне. INPUT([value="Петр"],[value="Виктор"]) - все INPUT со значениями "Петр" или "Виктор".

запрос1 + запрос2 Плюс, найдет теги удовлетворяющие запросу1, за которым идут теги удовлетворяющие запросу2.
запрос1 - запрос2 Минус, найдет теги удовлетворяющие запросу1 перед которым идут теги, удовлетворяющие запросу2.


Примечание: Операции могут объединять и более двух запросов например A + IMG + #num - вернет все теги A, за которыми идут теги IMG, за которым в свою очередь идут теги с id="num".


Скобки:

() Скобки, для объединения команд одинакового приоритета.

Пример: (FONT,A)(:has(IMG),:has(SPAN)) - теги FONT и A содержащие IMG или SPAN, Аналог (FONT:has(IMG), FONT:has(SPAN), A:has(IMG), A:has(SPAN))


Наборы команд:

^FONT все теги FONT корневого (нулевого) уровня.
>FONT все теги FONT первого уровня.
*FONT все теги FONT.
*>FONT все теги FONT кроме корня.
*>>FONT или >*>FONT все теги FONT начиная со второго уровня.
A>>B все теги B находящиеся на втором уровне у A.

Рекомендации

Время выполнения запроса в основном зависит от размера исходного текста и количетсва тегов в нем, и значительно меньше от длины самого запроса.

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

Например, если хотим вернуть прогноз погоды в Казани с содержимого сайта "http://weather.yandex.ru/?city=27595" (Около 50кб) за последние 10 дней, можно воспользоваться запросами

tr.data.day>td>b:eq(1)
tr.data.day>td>b:eq(2)
tr.data.day>td>b:eq(3)

и т. д.

Каждый запрос выполняется примерно ~50мс. Итого: ~500мс

Но можно поступить следующим образом: Организуется цепочка из нескольких компонентов «Парсер», первый из которых забирает все нужные теги <B> запросом tr.data.day>td>b (~50мс) в переменную сценария. Далее в цикле сценария следующими компонентами забираются соответствующие значения

:eq(1)
:eq(2)
:eq(3)

и т. д.

Каждый запрос выполняется примерно ~0.2мс. Итого время выполнения ~50мс. Получается тот же результат, но в 10 раз быстрее.


Синтаксис парсера JSON

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

Таким образом, строка

"values"/3/"x"

примененная к структуре JSON с выбранным значением свойства Функция -> Содержимое

{
  "name": "xxx",
  "values": [
    "37",
    true,
    99,
    {"x":2, "y":3},
    "value"
  ],
  "result": true  
}

вернет значение 2.


Cl cc scr i07.png
Файловая операция

Производит указанную дисковую операцию с файлом, каталогом или путем.


Свойства:

Путь Аргумент, определяющий место размещения объекта, подвергаемого файловой операции - абсолютный путь к каталогу или файлу.
Тип объекта Каталог / Файл / Путь

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

Операция В зависимости от выбранного типа объекта предоставляет перечень возможных операций.

Каталог:

  • Создать
  • Удалить
  • Переместить
  • Переименовать
  • Скопировать
  • Проверить существование
  • Количество подкаталогов
  • Вернуть путь к подкаталогу
  • Количество файлов
  • Вернуть путь к файлу

Файл:

  • Создать
  • Удалить
  • Переместить
  • Переименовать
  • Скопировать
  • Проверить существование
  • Определить размер
  • Определить MD5 содержимого
  • Считать данные
  • Дописать данные в конец

Путь:

  • Вернуть родительский каталог
  • Вернуть имя
  • Вернуть имя без расширения
  • Вернуть расширение
  • Проверить полноту
  • Склеить пути
Новый путь

Новое имя

Путь копии

Путь или имя, которое будет присвоено вновь созданному файлу (или каталогу).

В случае, если при переименовании указывается имя без пути, за основу будет взят путь к исходному объекту.

Данные Аргумент, представляющий собой строку. Строка в соответствии с выбранной кодировкой будет переведена в бинарный формат и размещена в содержимом файла при проведении операций создания и записи в файл.
Кодировка Определяет кодировку, посредством которой происходит преобразовании строки в бинарные данные и обратно при проведении операций записи в файл и чтения из файла.
  • Unicode
  • UTF-8
  • UTF-7
  • Текущая кодовая страница Windows
  • Windows-1251
  • Указанная кодовая страница Windows
Данные в переменную Строковая переменная, куда будет сохранено содержимое файла при проведении операции чтения. Данные из файла считываются в бинарном виде и преобразуются в строку согласно выбранной кодировке.

Внимание! Если целью считывания данных из файла является их дальнейшая передача вовне без изменений (например используя веб-запрос или сохранение файла, осуществляющие преобразование строки в бинарные данные), необходимо в обоих компонентах использовать кодировки ANSI, так как только она гарантирует однозначное двустороннее преобразование без потери данных.

Маска Аргумент, представляющий собой маску для файлов/каталогов в формате операционной системы, например *.inf или data_??.txt. Используется при определении содержимого каталога.

Внимание! Если целью определения содержимого является обнаружение конкретного подкаталога/файла, либо обработка всего содержимого, соответствующего маске, то при взятии пути к конкретному файлу используется индекс. В этом случае необходимо также указывать ту же самую маску.

Индекс Аргумент, определяющий индекс файла/подкаталога при взятии его пути. Индекс - порядковый номер объекта в общем списке файлов/подкаталогов исследуемого каталога, отфильтрованного в соответствии с указанной маской. Индекс начинается с 0.
Добавочный путь Аргумент, определяющий часть пути, подвергаемый склейке с основным. Например, если основной указанный путь 'C:\1', а добавочный '2.txt', то при проведении склейки результатом будет 'C:\1\2.txt'.
Результат в переменную Переменная, куда будет сохранен результат выполнения операции. Может быть строковой, либо числовой для проведения отдельных операций.
Переход Компонент, на который передается управление после успешного завершения ввода.
Переход, не найдено Компонент, на который передается управление в случае, если указанный каталог или файл не найден.
Переход, ошибка Компонент, на который передается управление в случае, если в назначенных параметрах допущена ошибка или при проведении указанной операции возникла ошибка.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i17.png
Запуск внешнего процесса с параметрами

Запускает на сервере внешний процесс или открывает приложение с указанным документом. В сценариях IVR используется чаще для запуска системных программ, а также учетных, сервисных, обслуживающих программ организации-клиента Oktell.

ВНИМАНИЕ! При работе сервера Oktell в режиме службы запуск процесса производится от имени того пользователя, который указан в настройках службы. По умолчанию это системная учетная запись «NETWORK SERVICE». Запускаемые таким образом процессы выполняются в фоновом режиме и не отображаются на экране пользователя.


Свойства:

Файла Строковый аргумент, определяющий имя или путь к файлу, который необходимо запустить.
Путь Относительный/абсолютный. Определяет, какой путь будет подставляться впереди к имени файла. Относительный – от папки запуска приложения Oktell.
Параметры командной строки Строковый аргумент, определяющий параметры запуска для командной строки, если необходимо.
Режим запуска Определяет способ исполнения указанного файла
  • С помощью оболочки. В качестве файла можно указывать документы - их открытие будет осуществляться автоматически в зарегистрированных приложениях, однако становится недоступным использование консоли для ввода/вывода.
  • Скрыть окно. Приложение не отображает свое консольное окно.
  • Не скрывать окно. Приложение ведет себя стандартным образом.
Ожидание завершения Да/нет. Определяет, приостанавливать ли сценарий в ожидании завершения работы запущенного процесса.
Консольный ввод/вывод Доступно только при ожидании завершения процесса, запущенном в обычном режиме (не с помощью оболочки).
  • Нет.
  • Только ввод. Позволяет передать произвольные текстовые данные в консоль приложения сразу после старта.
  • Только вывод. Позволяет считать произвольные текстовые данные из консоли приложения сразу после завершения.
  • Ввод и вывод. Позволяет передать и считать данные.
Консольный ввод Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).

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

ВНИМАНИЕ! При передаче сложных данных для простоты реализации чтения из консоли рекомендуется компоновать данные общим размером в самом начале.

Консольный вывод в переменную Доступно только при ожидании завершения процесса, запущенном в консольном режиме (не с помощью оболочки).

Строковая переменная, в которую полностью сохраняется консольный вывод исполненного приложения.

Таймаут, мс Доступно только для режима ожидания завершения процесса.

Аргумент, определяющий предельное время ожидания, по истечении которого управление будет в любом случае передано дальше по сценарию. «0» - таймаут не установлен.

Завершать при обрыве Доступно только для режима ожидания завершения процесса.

Да/нет. Определяет, следует ли принудительно завершить работу запущенного процесса, если за установленный таймаут он так и не завершился самостоятельно.

Переход, успех Компонент, на который передается управление, если приложение успешно стартовало.
Переход, таймаут Доступно только для режима ожидания завершения процесса.

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

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


Cl cc scr i29.png
Действие/карточка в plugin или WebCRM

В любом месте сценария может быть выполнен компонент, осуществляющий исполнение динамического (известного только на этапе создания сценария) метода во внешней среде. Суть метода в предоставлении сервисных функций внешней средой серверу Oktell. Такой средой может быть указанный плагин или активная подключенная Web-CRM система.

Интеграция с сервером коммуникаций подразумевает то, что Oktell выступает в качестве сервера, исполняя запросы WebCRM системы, и информируя ее о происходящих коммуникационных событиях. Этот компонент позволяет наладить встречное взаимодействие, когда Oktell выступает в качестве клиента WebCRM системы.

В указанном клиентском плагине в качестве динамических методов выступают заявленные формы (опрос производится после регистрации плагина при настройке сценария). В качестве исполнимых поддерживаются диалоговые формы (тип 0) и компоненты типа 3 (подробно в руководстве по интеграции). При настройке компонента задаются значения всем заявленным входным параметрам, привязанным к выбранной форме, возможно ожидание возвращаемых значений и сохранение их в переменные сценария. Серверные плагины не требуют тонко настраиваемого функционала, и вызов их методов осуществляется компонентом Серверный плагин. Web-CRM система предоставляет информацию о поддерживаемых динамических методах в рамках обмена информацией между сервером Oktell и web-socket сервером Web-CRM системы согласно интеграционному протоколу (подробно в статье «Интеграции. Web-Socket протокол»). Каждый динамический метод может принимать на вход определяемые в сценарии значения для всех заявленных входных параметров. Компонент может дожидаться исполнения и возврата выходных значений. Вызов метода производится согласно описанию Web-CRM системы и детальным настройкам компонента.

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


Свойства:

Модуль, действие Окно выбора plugin-модуля или web-crm системы, ответственной за вызов настраиваемого метода, а также одного из списка динамических методов, заявленных в выбранном модуле.
Свойства Настройка входных и выходных параметров выбранного метода. Выходные параметры сохраняются только в случае, если настраивается вызов метода с ожиданием завершения исполнения.
Дожидаться завершения Да/нет. При ожидании завершения устанавливается также допустимый таймаут. Сценарий приостанавливается до получения ответа, после чего сохраняет выходные значения в переменные в соответствии с настроенными свойствами.

Если ожидание не выставлено, то сценарий отправляет команду на исполнение метода, а сам переходит к следующим компонентам.

Момент отображения Доступно только при отключенном режиме ожидания завершения. В случае, если стоит ожидание завершения, то автоматически применяется значение «Сразу».
  • Сразу. Команда на выполнение отправляется сразу и одновременно на адреса всех указанных пользователей в ходе работы компонента.

Следующие пункты доступны только для настройки в сценариях IVR.

  • При входящем вызове. Команда на выполнение запоминается, но не отправляется и сохраняется до следующего компонента «Переключение», после чего автоматически удаляется. Особенностью является то, что исполнение производится у всех пользователей, но у каждого только в момент, когда телефон начинает фактически звенеть, с нахождением обслуживаемого канала в первой позиции в очереди. Если пользователь не снимает трубку, а вызов уходит другому или теряется, отправляется команда на прекращение исполнения метода (согласно интеграционному интерфейсу web-socket протокола).
  • При коммутации. Аналогично «При входящем вызове», но команда отправляется только в случае успешного переключения тому, с кем произошло соединение обслуживаемого канала. Отмена невозможна.
  • При завершении коммутации. Аналогично «При входящем вызове», но команда отправляется только в момент разрыва коммутации с тем, с кем произошло успешное соединение обслуживаемого канала. Отмена невозможна.
Ключ получателя Доступно только при выборе пункта «Сразу» в качестве момента отображения. В других случаях получатели определяются автоматически.

Аргумент, определяющий пользователя-получателя. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться все его участники (пользователи указанные в номере явно, или посредством внутренних линий); при этом запросов будет отправлено ровно столько, сколько обнаружено получателей. В качестве значения аргумента может быть указан список ключей, разделенных запятыми.

Внимание! При вызове динамического метода WebCRM в его декларации может быть заявлен режим вызова без указания пользователя (это касается прямых методов, исполняемых непосредственно на сервере без привязки к конкретным пользователям и их станциям). В этом случае ключ получателя применен не будет. О необходимости указания пользователей должно сообщаться в описаниях динамических методов.

Таймаут, сек Доступно только в режиме ожидания завершения.

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

Переход Компонент, на который передается управление после успешного выполнения компонента.
Переход, таймаут Компонент, на который передается управление, если за установленный период времени не получен ответ от внешнего модуля/CRM-системы.

Поле доступно только при выборе значения «Да» в свойстве «Дожидаться завершения».

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


Cl cc scr i28.png
Плагин

Компонент позволяет выполнять произвольный сторонний код, подключенный к серверу в виде стандартного плагин-компонента (см. руководство по интеграции, раздел «Встраиваемые plugin-модули»).


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

При выполнении компонента осуществляется подгрузка внешней сборки и передача управления компоненту. В случае, если сборка плагина уже загружена, повторной ее загрузки не происходит. Исключением может являться только обновление сборок в модуле Администрирование. Внешние модули. Передача управления производится путем вызова метода PrepareShow управляющего объекта, описанного в plugin-программе. В качестве параметра для метода передается XML-структура, содержащая комплексную информацию о требуемом компоненте (его guid-идентификатор, описанный при вызове метода GetForms() управляющего объекта), параметрах сценария, сессии, задаче, а также других имеющихся свойств (различаются в зависимости от типа исполняемого сценария). Помимо базовых параметров передаются значения требуемых для работы компонента параметров (информация о них возвращается при вызове GetInputParams управляющего объекта plugin-программы). В качестве возвращаемого значения ожидается XML-структура с описанием всех выходных значений согласно общему списку выходных параметров (определяются при вызове GetOutputParams управляющего объекта). В качестве возможных для использования в сценариях компонентов принимаются все формы подпрограммы со свойством 'module=2'.

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


Свойства:

Модуль/Форма Выбор конкретного плагина и одного из его компонентов для работы в сценарии.
Свойства Доступ к вкладке редактора параметров формы для настройки передаваемых и сохраняемых параметров.
Таймаут, сек Аргумент, устанавливающий время в секундах, по истечению которого будет произведен принудительный отъем управления из вызванной подпрограммы. В случае, если интервал нулевой (по умолчанию), таймаут считается не установленным.
Переход Компонент, на который передается управление после возврата в случае успешного проведения операции.
Переход, компонент не найден Компонент, на который передается управление, если plugin-программа не указана, не найдена или не может быть загружена.
Переход, таймаут Компонент, на который передается управление в случае, если за установленный интервал времени не вернулось управление от внешнего компонента.
Переход, ошибка Компонент, на который передается управление в случае возникновения ошибок.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i45.png
Регистрация динамического потока

Компонент используется совместно со шлюзом с динамической регистрацией потоков (подробнее в разделе Карта сети. Компоненты. Шлюз). Служит для проведения динамической регистрации под указанным аккаунтом перед осуществлением звонка по каналу потока такого шлюза. Параметры аккаунта - логин и пароль - могут быть взяты из БД, вычислены, указаны явно в сценарии. Для проведения регистрации достаточно указать в свойствах компонента шлюз, и свободный поток автоматически будет зарегистрирован и зарезервирован под совершение вызова именно в этом экземпляре сценария. Потоки и линии шлюзов с динамической регистрацией недоступны для выбора ни в задачах, ни в настройках прав пользователей, ни в списках линий при наборе номера компонентами сценариев. Осуществить дозвон через них можно только путем явного указания кода зарегистрированного потока в соответствующий аргумент компонентов «Дозвон» служебного сценария и «Переключение на внешние» сценария IVR.


ВНИМАНИЕ! В случае успешной коммутации поток будет разрегистрирован автоматически по завершению разговора и переводу одной из линий потока в состояние готовности. Однако, если коммутации не произведено, то разрегистрация производится автоматически по истечению времени неактивности (3 минуты), либо путем использования этого же компонента с действием «Отмена регистрации».


Свойства:

Действие Выбор режима работы. Регистрация / отмена регистрации.

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

Шлюз Доступно только для действия «Регистрация». В списке выбирается один из существующих в карте сети шлюзов с динамической регистрацией потоков.
Аккаунт Доступно только для действия «Регистрация». Аргумент, представляющий собой логин для регистрации потока.
Пароль Доступно только для действия «Регистрация». Аргумент, представляющий собой пароль для регистрации потока.
Время ожидания Доступно только для действия «Регистрация». Максимальное время ожидания регистрации, по истечению которого будет прервана регистрация и произведен выход по ветке «Таймаут».
Автоматическая отмена регистрации Доступно только для действия «Регистрация». Позволяет установить такой режим работы, при котором при любой последующей попытке дозвона по одной из линий зарегистрированного потока даже в случае неудачи (занято, недоступно и т.д.) будет производиться мгновенная отмена регистрации.
Код потока в переменную Доступно только для действия «Регистрация». В случае успешного проведения операции по регистрации в указанную переменную будет размещен Guid-идентификатор зарегистрированного потока. Эта переменная впоследствии может быть использована для осуществления вызова в компонентах Переключение на внешние и/или Дозвон или отмены регистрации.
Код ошибки в переменную Доступно только для действия «Регистрация». В переменную попадает код ошибки в случае возникновения проблем при регистрации. Большинство кодов совпадают с типами ответов HTTP-сервера (например, 404 - not found).
Код потока Доступно только для действия «Отмена регистрации». Аргумент, представляющий собой Guid-идентификатор потока в строковом представлении. Может быть указан явно, или получен в переменную в одном из предыдущих компонентов «Регистрация».
Переход Компонент, на который передается управление после возврата в случае успешного проведения операции.
Переход, потоков не найдено Доступно только для действия «Регистрация». Компонент, на который передается управление, если у выбранного шлюза нет свободных потоков.
Переход, таймаут Доступно только для действия «Регистрация». Компонент, на который передается управление в случае, если за установленный интервал времени не получен ответ от внешнего сервера/шлюза.
Переход, ошибка Компонент, на который передается управление в случае возникновения ошибок.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i16.png
Увеличение значения счетчика

Увеличивает значение выбранного счетчика на 1. Подробнее о счетчиках, их создании и анализе в модуле общего меню Call-центр. Отчеты. Счетчики.


Свойства:

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


Cl cc scr i10.png
Создание исходящей задачи

Компонент инициирует задачу однократного выполнения в указанное время на указанный номер. Задача запускает указанный в соответствующем свойстве компонента сценарий IVR. Для формируемой задачи в компоненте указываются инициирующие значения, а также параметр задачи, который будет доступен через функцию «Параметр задачи» в сценарии IVR.

ВНИМАНИЕ! Для инициации звонка существует альтернатива данному компоненту. Служебный сценарий имеет компонент «Дозвон», рекомендуемый к использованию в большинстве случаев, так как имеет расширенные настройки и не производит дополнительной нагрузки на менеджер задач.


Свойства:

Номер Аргумент, определяющий номер, по которому производить дозвон.
Выполнить сразу Да/Нет. Сразу выполнять задачу или дожидаться указанного времени.
Дата/время Дата и время, когда производить выполнение задачи.

Поле доступно только при выборе значения «Нет» в свойстве «Выполнить сразу».

Сценарий Текстовое поле с возможностью выбора из списка имеющихся сценариев. Определяет имя сценария, который необходимо запустить после дозвона.
Параметр запуска Числовой аргумент, передающий свое значение в задачу, а через нее на старт запускаемого сценария и в функцию «Параметр задачи». Может быть использован для идентификации через сопоставление по таблице в БД, или для передачи множества параметров. Доступен в сценарии автоматической задачи через встроенную функцию «Параметр задачи».
Количество сигналов «Занято» Сколько дозвонов с ответом «Занято» считать успешным выполнением задачи.
Количество сигналов «Не отвечает» Сколько дозвонов с ответом «Не отвечает» считать успешным выполнением задачи.
Время фиксации в секундах Сколько секунд необходимо выполнять сценарий после дозвона, чтобы считать успешным выполнение задачи.
Время ожидания ответа Сколько секунд ожидать ответа от линии для получения сигнала «Не отвечает».
Пауза после сигнала «Занято» Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Занято».
Пауза после сигнала «Не отвечает» Сколько секунд делать перерыв в выполнении задачи, если от линии получен сигнал «Не отвечает».
Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i08.png
Голосовая почта

Осуществляет перемещение данных об указанном звуковом файле (чаще после записи в этом же сценарии) в голосовой ящик указанных пользователей. Подробнее о сервисе голосовой почты в разделе Офис. Кабинет. Голосовая почта.

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

Сообщение отправится всем выбранным по одному из двух параметров – указателей адресатов. При этом один компонент формирует группу из всех перечисленных участников - прослушивание одним из них будет отражено на всей записи. При необходимости разослать сообщение независимо нескольким пользователям следует использовать серию из компонентов «Голосовая почта»


Свойства:

Имя файла Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо поместить в голосовой ящик. При использовании после объекта Запись файла, в котором имя файла генерируется, необходимо в соответствующем свойстве выбирать возврат полного пути в переменную, сохраняющую имя записанного файла.
Ключ получателя Аргумент, определяющий пользователя-получателя почты. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).

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

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

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

Режим подстановки CallerId Определяет режим подстановки CallerId.
  • Автоматически. Для сценариев IVR и диалоговых существует возможность автоматически определить номер абонента, чей звонок обслуживается в текущем сценарии. Если голосовую почту оставляет внутренний пользователь системы, будет подставлено его имя.
  • Из аргумента. В некоторых случаях (если номер не определен, номер требует преобразований, служебный сценарий, работающий без привязки к каналу и т.д.) номер следует указывать вручную. При выборе данного значения появляется возможность задать callerid из аргумента.
CallerId Доступно только в режиме подстановки CallerId из аргумента.

Аргумент, значение которого подставляется при размещении голосового сообщения в поле таблицы CallerId и устанавливает номер абонента, оставившего сообщение.

Переход Компонент, на который передается управление после успешного завершения ввода.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i13.png
Заказ на встречный звонок

Сохраняет информацию о заказанном звонке в БД, и отображает в клиентском приложении Oktell у пользователей-адресатов, определяющихся указанным внутренним номером. Подробнее о сервисе заказов встречных звонков в разделе Офис. Кабинет. Встречные звонки.


Свойства:

Ключ получателя Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).

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

Заказ на номер Аргумент, определяющий номер, на который заказан встречный звонок. Может быть введен пользователем с клавиатуры, определен как «CallerId», или подставлен из базы по коду.
Заказ на время Ориентировочное время, на которое заказан встречный звонок (сохранится в базе и будет отображено в описании заказа). Не заполнять, если время не указывается.
Комментарий Комментарий к компоненту (сохранится в базе и будет отображен в описании заказа).
Переход Компонент, на который передается управление.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i09.png
Уведомление

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


Уведомление получат все пользователи, которые указаны персонально, либо состоят в выбранных группах или внутренних номерах. В режиме Офис. Кабинет. Уведомления пользователь всегда сможет просмотреть пришедшие к нему уведомления и осуществить поиск.


Свойства:

Отладочный режим Да / нет. По умолчанию «нет». При сохранении сценария может быть установлен общий режим отладки (на странице свойств сценария). Отладочные уведомления будут отображаться только в режиме отладки сценария. Остальные будут отображаться в любом случае.
Ключ получателя Аргумент, определяющий пользователя-получателя сообщения. В качестве ключа может выступать идентификатор пользователя, его имя или логин. Также ключом может являться внутренний стандартный номер, явно определяющий пользователя через правило звонка («Администрирование. Внутренние номера. Стандартные»). В случае, если номер групповой, то получателями будут являться одновременно все его участники (пользователи указанные в номере явно, или посредством внутренних линий).

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

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

При одновременном указании адресата и ключа производится объединение всех установленных получателей на момент исполнения компонента.

Сохранять в БД Да/нет. По умолчанию «да». При установке свойства сообщение будет сохранено в БД и будет доступно в модуле Офис. Кабинет. Уведомления. Если пользователь отсутствует, то сообщение будет доставлено сразу после его авторизации в системе.
Текст Аргумент, определяющий текст уведомления.

Поддерживается минимальный набор тегов HTML для форматирования. Чтобы отобразить текст в виде HTML-документа необходимо его заключить в теги <html>..</html> Ниже за пределами таблицы свойств приведен перечень поддерживаемых HTML-тегов.

Способ оповещения Позволяет выбрать режим, в котором данные поступают указанным адресатам.
  • Всплывающее уведомление. Появляющиеся в правой части экрана цветные окна с информацией.
  • Системный чат. Сообщение от имени системы во встроенном системном чате.
  • Лог-журнал. Запись в серверном лог-журнале Common.
Цвет фона Определяет цвет фона всплывающего окошка.
Скрывать автоматически Да/нет. По умолчанию «да». При отключении уведомление будет скрыто только после щелчка пользователя на нем. Поступающие уведомления помещаются в очередь, из которой отображаются в видимых областях экрана в порядке поступления. Очередь сообщений может быть очищена из системного меню в трее.

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

Асинхронный режим Да/нет. Способ рассылки уведомлений. При выборе асинхронного режима компонент не ожидает доставки уведомлений пользователям и сразу передает управление следующему объекту сценария. Имеет смысл при рассылке уведомления множеству пользователей из сценариев IVR обработки входящих вызовов во избежание незапланированных пауз. Однако при завершении сценария асинхронные рассылки всех уведомлений, не успевшие завершиться, будут прерваны.
Разрешать несколько экземпляров на экране Да/нет. В некоторых случаях требуется выводить уведомления об одном и том же. Чтобы однотипные отображения не заполняли экран, можно устанавливать режим фильтрации по коду сообщения. Код указывается в открывающемся при этом свойстве.
Код сообщения Доступно только при запрете нескольких экземпляров на экране. Аргумент, определяющий код, на основании которого будет производиться фильтрация и пропуск отображения.
Переход Компонент, на который передается управление после успешного завершения ввода.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Поддерживаемые HTML-теги:

  • <html>..</html> - определяет, что блок текста должен быть отображен как HTML-документ
  • <span>..</span> - текстовый блок, атрибуты: style - стиль
  • <a>..</a> - гиперссылка, атрибуты: href - ссылка, title - заголовок, style - стиль
  • <b>..</b> - полужирный, атрибуты: style - стиль
  • <u>..</u> - подчеркнутый, атрибуты: style - стиль
  • <i>..</i> - курсив, атрибуты: style - стиль
  • <s>..</s> - перечеркнутый, атрибуты: style - стиль
  • <br> - переход на следующую строчку, атрибуты: style - стиль
  • <center>..</center> - выравнение по центру, атрибуты: style - стиль
  • <p>..</p> - параграф, атрибуты: style - стиль >


Атрибутами стиля могут быть

1. font-weight - толщина символов

Значения:

  • bold - полужирный
  • normal - обычный

(Не поддерживается: bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900)

2. text-decoration - декорация текста

Значения:

  • line-through - перечеркнутый
  • underline - подчеркнутый
  • none - отсутствует

(Не поддерживается: blink | overline )

3. font-style - стиль шрифта

Значения:

  • normal - обычный
  • italic - курсив

(Не поддерживается: oblique)

4. text-align - выравнение текста (только для<p>)

Значения:

  • left - по левому краю
  • right - по правому краю
  • center - по центру
  • justify - по ширине

5. color - цвет текста

Значения:

  • red - красный
  • green - зеленый
  • blue - синий
  • black - черный
  • white - белый
  • yellow - желтый
  • gray - серый
  • #XXXXXX - шестнадцатеричный код цвета где (X - шестнадцатеричное число 0..F )


Другие атрибуты игнорируются


Примеры:

  • <html>Данное устройство <b style='color:red;'>не обнаружено</b></html>
  • <html>У Вас новая <a style='font-style:bold;color:#127A81;' href='http://mail.ru' title='Нажмите, чтобы открыть'>почта</a></html>


Cl cc scr i19.png
Отправка одного SMS

Осуществляет отправку SMS-сообщения по указанному номеру с назначенным текстом. Может быть настроен на ожидание доставки. Компонент работает с SMS-сервисом, указанным в общих настройках.


Свойства:

Номер Аргумент, определяющий номер адресата.
Текст Аргумент, определяющий текст SMS-сообщения.
Подставляемый номер Номер, от которого осуществляется доставка.
Push Id Код отправленного сообщения (для дальнейшего запроса отчета о доставке).
Ожидание доставки Да/Нет. Требуется ли ожидать отчета о доставке.
Таймаут ожидания Время, которое компонент будет ожидать отчета о доставке.

Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки».

Переход, доставлено Компонент, на который передается управление после успешной отправки сообщения. В случае установки значения «Да» в свойстве "Ожидание доставки", если сообщение успешно доставлено до таймаута ожидания.
Переход, не доставлено Компонент, на который передается управление, если сообщение отправлено, но не было доставлено за установленное время ожидания (в случае если ожидание было назначено).

Поле доступно только при выборе значения «Да» в свойстве «Ожидание доставки».

Переход, ошибка Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i21.png
Получение первого SMS

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


Свойства:

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


Cl cc scr i20.png
Получение статуса отправленного SMS

Производит запрос к SMS-сервису на получение отчета о доставке конкретного SMS-сообщения по коду отправки (Push Id). Компонент работает с SMS-сервисом, указанным в общих настройках.


Свойства:

Push Id Код отправленного сообщения.
Переход, доставлено Компонент, на который передается управление, если sms уже доставлено.
Переход, не доставлено Компонент, на который передается управление, если sms еще не доставлено.
Переход, неудача Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i22.png
Запрос баланса SMS

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


Свойства:

Количество Переменная, куда вернется количество оставшихся оплаченных SMS-сообщений.
Переход Компонент, на который передается управление, если запрос отработан.
Переход, ошибка Компонент, на который передается управление, если сервис недоступен или вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i23.png
Отправка одного Email

Осуществляет отправку email-сообщения на указанный ящик электронной почты. Для зашифрованного соединения (свойство "SSL-авторизация") компонент использует протокол StartTLS. Это означает, что соединение изначально идет по незащищенному порту 25, а затем шифруется, в отличии от протокола SSL, где соединение изначально происходит по защищенным портам. Именно поэтому, в большинстве случаев в свойстве "Порт почтового сервера" следует указывать незащищенный порт 25, вместо 465.


Свойства:

Почтовый сервер Свойство, определяющее источник настроек для SMTP сервера
  • Согласно общим настройкам - используется SMTP-сервер, указанный в общих настройках комплекса
  • SMTP - используется отдельный SMTP-сервер, указанный в настройках данного компонента
Адрес почтового сервера Адрес SMTP-сервера.
Порт почтового сервера Порт SMTP-сервера. В большинстве случаев, порт 25 (смотрите выше).
Логин Учетная запись на почтовом сервере
Пароль Пароль учетной записи на почтовом сервере
SSL-авторизация Устанавливается "Да", если SMTP сервер требует SSL-авторизацию.
Кому Аргумент, определяющий получателей email сообщения. Если письмо предназначается нескольким адресатам, то адреса должны быть перечислены через «,». Для версий ниже 2.9 адреса должны быть перечислены через «;»
От кого Аргумент, определяющий отправителя email сообщения. Ряд почтовых серверов требует явного указания поля "Отправитель" (e-mail адрес отправителя). В этом случае свойство должно быть вычислено к моменту, когда компонент получит управление.

В качестве отправителя может быть указана строка вида "username <address@mail.com>".

Тема Аргумент, определяющий тему email сообщения.
Формат Текст или HTML. Определяет формат, в котором будет сформировано тело для отправки.
Содержание письма Аргумент, определяющий текстовую часть e-mail сообщения.
Кодировка Определяет кодировку отправляемого письма. При необходимости осуществляется преобразование тела.
  • UTF-8
  • UTF-7
  • Windows-1251
  • KOI8-R
  • Текущая кодовая страница Windows
  • Указанная кодовая страница Windows
Кодовая страница Windows Доступно только при выборе кодировки «Указанная кодовая страница Windows».

Числовой аргумент, определяющий кодовую страницу Windows для формирования тела письма.

Вложение 1 Аргумент, значение которого определяет абсолютный путь к файлу, который необходимо прикрепить к сообщению email.
Вложение 2 Появляется, только если выбрано "Вложение 1".
Вложение 3 Появляется, только если выбрано "Вложение 2".
Вложение 4 Появляется, только если выбрано "Вложение 3".
Вложение 5 Появляется, только если выбрано "Вложение 4".
Уведомлять об ошибках Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
Переход Компонент, на который передается управление, если сообщение успешно отправлено.
Переход, неудача Компонент, на который передается управление, если при отправке SMTP сервер вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i24.png
Получение первого Email

Осуществляет прием email-сообщения с указанного ящика электронной почты.


Свойства:

Почтовый сервер Свойство, определяющее источник настроек для сервера входящей почты.
  • Согласно общим настройкам — используется сервер входящей почты, указанный в общих настройках комплекса
  • POP3 — используется отдельный сервер, работающий по протоколу POP3
  • IMAP4 — используется отдельный сервер, работающий по протоколу IMAP4
Адрес почтового сервера Адрес сервера входящей почты
Порт почтового сервера Порт сервера входящей почты (стандартный порт POP сервера - 110, IMAP сервера - 143).
Логин Учетная запись на сервере
Пароль Пароль учетной записи на сервере
SSL-авторизация Устанавливается "Да", если почтовый сервер требует SSL-авторизацию.
MessageId Переменная, в которую будут сохранен идентификатор email сообщения.
Кому Переменная, в которую будут сохранены получатели email сообщения.
От кого Переменная, в которую будут сохранены отправители email сообщения.
Тема Переменная, в которую будут сохранена тема email сообщения.
Предпочитаемый тип контента Для разделов multipart/alternative позволяет установить предпочитаемый тип текстового контента. При наличии указанного типа среди блоков в переменную будет сохранено именно его содержимое, а остальные дублирующие альтернативные блоки будут игнорироваться. По умолчанию text/plain, но может быть установлен text/html, text/xml, text/rtf, text/richtext.
Текст письма Переменная, в которую будут сохранен текст email сообщения.
Текст письма часть2 Переменная, в которую будут сохранен текст из второй части email сообщения. Используется для сообщений multipart.
Текст письма часть3 Переменная, в которую будут сохранен текст из третьей части email сообщения. Используется для сообщений multipart.
IMAP каталог Аргумент, значение которого определяет IMAP каталог, из которого будет получено сообщение. По умолчанию используется стандартный каталог входящей почты Inbox.

Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).

IMAP-запрос Аргумент, значение которого определяет IMAP запрос. Запрос определяет критерии выбора сообщения из каталога, заданного свойством IMAP каталог. По умолчанию используется запрос, возвращающий все письма (значение "ALL"). Более подробно о синтаксисе IMAP запросов можно узнать из документации RFC 2060.

Поле доступно только при работе с IMAP-сервером (свойство «Способ получения»).

Принимать только заголовки Да/Нет. Требуется ли получать только заголовки письма (в этом случае тело сообщения и прикрепленные файлы скачиваться с почтового сервера не будут)
Удалять с сервера Да/Нет. Требуется ли удалить письмо с почтового сервера после получения.
Сохранять вложения Определяет режим сохранения вложений.
  • Нет. Вложения сохранены не будут.
  • В указанную папку. В этом случае все вложенные файлы будут сохранены в папку, путь к которой установлен свойством "Папка для вложений".
  • В папку по умолчанию. В этом случае каталог определяется из общих настроек, раздел «Настройки e-mail».
Папка для вложений Доступно только при выбранном режиме сохранения вложений в указанную папку.

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

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

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

Уведомлять об ошибках Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
Переход, получено Компонент, на который передается управление, если сообщение успешно получено.
Переход, не получено Компонент, на который передается управление, если сообщение не получено, но при этом ошибок не возникло. Такая ситуация может возникнуть, если:
  • на POP3 сервере нет сообщений
  • на IMAP4 сервере нет сообщений в заданном каталоге
  • на IMAP4 сервере нет сообщений в заданном каталоге удовлетворяющих заданным критериям
Переход, неудача Компонент, на который передается управление, если при получении сообщения POP3 ( IMAP4 ) сервер вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i25.png
Отправка сообщения IM (ICQ, Jabber)

Осуществляет отправку IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт адресата, аккаунт отправителя, способ подключения к серверу (прокси/без прокси). Работа с аккаунтом происходит через пул подключений. Любые обращения к аккаунту (отправки/приема из разных сценариев), влекущие подключение к серверу, помещают созданное подключение в специальный пул, где оно поддерживается некоторое время (устанавливается в разделах «Общие настройки. ICQ-сервис» и «Общие настройки. Jabber-сервис»). Каждое последующее обращение к аккаунту работает с подключением из пула и продляет время его существования. В случае таймаута аккаунт отключается. Также аккаунт отключается при получении ошибки сервера или выгрузке серверного приложения. Такой механизм работы в частности гарантирует работу комплекса от ошибки сервера ICQ «Превышен лимит подключений». Для каждого аккаунта в пуле держится отдельное подключение. Для Jabber-аккаунтов держатся отдельно подключения с разными настройками, даже если они имеют одинаковый JID.


Свойства:

Протокол ICQ / Jabber.
Прокси-сервер Свойство, определяющее источник настроек для подключения к прокси-серверу.
  • Не использовать — подключение выполняется напрямую к серверу ICQ/Jabber, минуя прокси.
  • Согласно общим настройкам — используется режим подключения, заданный в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
  • HTTPS — используется тип протокола прокси-сервера HTTPS
  • SOCKS5 — используется тип протокола прокси-сервера SOCKS5
Адрес прокси-сервера Адрес сервера.
Порт прокси-сервера Порт сервера. (стандартный порт SOCKS5 сервера - 1080, HTTPS сервера - 8080).
Авторизация на прокси Устанавливается "Да", если сервер требует авторизацию.
Учетная запись Свойство, определяющее источник настроек учетной записи для ICQ или Jabber, которая будет использоваться в качестве отправителя сообщения.
  • Использовать общую (из настроек комплекса) — используется учетная запись, заданная в общих настройках комплекса (отдельно разделы ICQ-сервис и Jabber-сервис).
  • Настроить — настройки учетной записи определяются нижеследующими свойствами.
Адрес jabber-сервера Только при использовании протокола Jabber. Адрес сервера
Порт jabber-сервера Только при использовании протокола Jabber. Порт сервера
UIN / Jabber ID Номер учетной записи ICQ/Jabber
Пароль UIN / JID Пароль учетной записи ICQ/Jabber
Таймаут ожидания соединения Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с IM-сервером (ICQ / Jabber). При отправке сообщения выполнение сценария будет приостановленно до тех пор пока:
  • Будет установлено успешное соединение с сервером
  • Истечет таймаут ожидания соединения
Таймаут отправки сообщения Аргумент, определяющий временную задержку ( в миллисекундах ) перед отправкой сообщения.
UIN / JID получателя Аргумент, определяющий UIN-номера / JID-аккаунты получателей IM-сообщения. Если сообщение предназначается нескольким адресатам, то адреса должны быть перечислены через «,».
Текст сообщения Аргумент, определяющий текст сообщения.
Уведомлять об ошибках Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения отправки. Необходимо в отладочных целях в первые дни работы новых проектов.
Переход Компонент, на который передается управление, если сообщение успешно отправлено.
Переход, неудача Компонент, на который передается управление, если при отправке сервер вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i26.png
Прием первого сообщения IM (ICQ, Jabber)

Осуществляет прием IM-сообщения (ICQ или Jabber). Указываются сервер, аккаунт получателя, способ подключения к серверу. Получаемые сообщения сохраняют в указанных переменных аккаунт отправителя и текст сообщения. Работа компонента происходит через пул подключений аналогично компоненту «Отправка IM-сообщения».


Свойства:

Протокол ICQ / Jabber
Настройки прокси Форма, определяющая настройки подключения к прокси-серверу.
Настройки учетной записи При получении ICQ-сообщения - форма, определяющая настройки учетной записи (UIN) ICQ, которая будет использоваться в качестве получателя сообщения ICQ.

При получении Jabber-сообщения - форма настройки учетной записи (JID) сервиса Jabber, которая будет использоваться в качестве получателя Jabber-сообщения, а также настройки сервера, к которому необходимо осуществлять подключение для работы в сети Jabber. Обратите внимание на рекомендации, приведенные в разделе Общие настройки. Jabber-сервис.

UIN / JID Переменная, в которую будет сохранен UIN / JID отправителя IM-сообщения.
Таймаут ожидания соединения Аргумент, определяющий временной интервал (в миллисекундах), в течение которого система ожидает соединения с сервером. При получении сообщения выполнение сценария будет приостановленно до тех пор пока:
  • Будет установлено успешное соединение с сервером
  • Истечет таймаут ожидания соединения
Таймаут получения сообщения Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы.
Текст сообщения Переменная, в которую будет сохранен текст полученного сообщения.
Уведомлять об ошибках Форма выбора пользователей-получателей уведомлений об ошибках, возникающих в момент выполнения получения. Необходимо в отладочных целях в первые дни работы новых проектов.
Переход Компонент, на который передается управление, если сообщение успешно получено.
Переход, сообщений нет Компонент, на который передается управление, если новых сообщений не обнаружено.
Переход, неудача Компонент, на который передается управление, если при получении сервер вернул ошибку.
Имя Название компонента для отображения в визуальной среде и выбора в списке.



Cl cc scr i501.png
Запрос к веб-сервису 1С

Осуществляет запрос к веб-сервису 1C, зарегистрированному в общих настройках или в компоненте. Запрос формируется на языке 1C. Параметры веб-сервиса могут быть заданы как в компоненте, так и в общих настройках. Для работы компонента (для его появления в редакторе сценариев) требуется наличие интеграционной лицензии.


Свойства:

Запрос Тело запроса на языке 1С.
Параметры веб-сервиса Устанавливает к использованию параметры веб-сервиса из общих настроек или позволяет настроить в рамках компонента (в этом случае появляются дополнительные поля URI, логин, пароль).
URI Аргумент, определяющий URI веб-сервиса 1С.

Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.

Логин Аргумент, определяющий логин к веб-сервису 1С.

Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.

Пароль Аргумент, определяющий пароль к веб-сервису 1С.

Доступно только при выборе режима доступа к веб-сервису по параметрам, определенным текущим компонентом.

Режим запроса Асинхронно без ожидания/Ожидание ответа/Ожидание ответа с таймаутом.
Таймаут, с Аргумент, определяющий таймаут в секундах для ожидания ответа от веб-сервиса на отправленный запрос.

Доступно только при выборе режима Ожидание ответа с таймаутом.

Сохранять значения первой строки Да/нет. Определяет, сохранять ли значения из первой строки вернувшегося в ответе от веб-сервиса набора данных в переменных сценария, сопоставляя их имена с названиями столбцов в наборе.
Результат CSV в переменную Переменная, в которую сохранится результат в формате CSV.
Результат XML в переменную Переменная, в которую сохранится результат в формате XML
Таймаут получения сообщения Аргумент, определяющий временную задержку (в миллисекундах) перед получением сообщения. Если на указанный в свойстве «Настройки учетной записи» аккаунт раньше приходили сообщения, то таймаут игнорируется, а в переменные «UIN/JID», «Текст сообщения» будет подставлены значения, сохраненные в пуле сервера состояний системы.
Переход Компонент, на который передается управление, если работа компонента завершена удачно.
Переход, таймаут Компонент, на который передается управление, если работа компонента завершена по таймауту.
Переход, неудача Компонент, на который передается управление, если при веб-сервер вернул ошибку или задан не верно.
Имя Название компонента для отображения в визуальной среде и выбора в списке.


Cl cc scr i15.png
(Удалено) Определить группу клиента

ВНИМАНИЕ: Компонент перенесен в "Статус объекта", начиная с версии 2.11.3.150320.

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


Свойства:

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