Блок Работа с данными

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

Файловая операция
Название | Описание |
Тип объекта | Подробно описано ниже в Типы и операции работы с файлами |
Операции | |
Путь | Аргумент, содержащий путь. |
Отрезать расширение | При работе с получением файлов возможно указать вид получаемого ответа
|
Категория каталога | При работе с каталогами возможно указать тип каталога. Подробнее в Типы каталогов |
другие поля | В зависимости от Типа и Операции могут появляться другие однозначные поля (например, Путь источника, Путь назначения, Имя файла и т.д.). Подробно описано в Типы и операции работы с файлами |
Результат в переменную | Переменная для сохранения результата операции. |
Код ошибки в переменную | Переменная для сохранения кода ошибки операции. |
Переход | Компонент, которому передается управление в случае успешного завершения операции. Переход по умолчанию |
Переход, не найдено | Компонент, которому передается управление в случае, если объект по указанному пути отсутствует. |
Переход, ошибка | Компонент, которому передается управление в случае ошибки выполнения операции. |
Описание | Описание компонента |
Операции и свойства различных типов объектов
Тип объекта | Операция | Описание | Доступные свойства |
Файл | Удалить | Удаление файла | • Путь |
Скопировать | Копирование определенного файла по указанному пути |
| |
Переместить | Перемещение определенного файла по указанному пути |
| |
Переименовать | Переименование файла |
| |
Проверить наличие | Проверка наличия файла |
| |
Размер | Определение размера файла в байтах |
| |
Хеш содержимого | Вычисление md5 подписи к файлу |
| |
Создать путь | Создание всех каталогов до указанного файла. Необходимо передавать с именем файла. Файл создан не будет. |
| |
Путь | Тип пути | Определение типа пути из строки. |
|
Относительный путь | Относительный путь после типа пути. |
| |
Имя файла | Возвращает из пути имя файла |
– Да – Нет | |
Расширение | Определение расширение файла из строки полного пути |
| |
Каталог | Определение каталога из строки полного пути |
| |
Построить путь | Создать строку пути (в результат) относительно типа каталога |
| |
Построить путь к файлу | Создать строку пути с именем файла и расширения |
| |
Каталог | Создать | Создание всех каталогов из переменной, включая последний отрезок.
Необходимо передавать без имени файла. |
|
Удалить | Удаление каталога и его содержимого по указанному пути |
| |
Скопировать | Копирование каталога источника и его содержимого в каталог назначения |
| |
Переместить | Перемещение каталога источника и его содержимого в каталог назначения |
| |
Переименовать | Переименование каталога |
| |
Проверить наличие | Проверка наличия указанного каталога |
| |
Количество файлов | Подсчет количества файлов в текущем каталоге без дочерних |
| |
Количество подкаталогов | Подсчет количества подкаталогов в текущем |
| |
Содержимое файла | Создать файл | Создание файла в указанной кодировке |
• Кодировка • Содержимое |
Записать файл | Запись данных в указанной кодировке в файл (перезаписывает существующий файл) |
| |
Дописать в конец файла | Запись данных в указанной кодировке в файл (дописывает в конец если файл существующий) |
| |
Считать файл | Считывание содержимого файла в указной Кодировке в переменную Результат. |
| |
При указании каталога можно выбрать один из следующих типов:
Тип каталога | Описание |
SYNC_COMMON | Каталог общих данных всех доменов в синхронизирующемся между серверами каталоге. |
SYNC_DOMAIN_COMMON | Каталог общих данных домена в синхронизирующемся между серверами каталоге. |
SYNC_DOMAIN_DATA | Каталог данных домена в синхронизирующемся между серверами каталоге. |
SYNC_SCRIPT_DATA | Каталог данных сценария в синхронизирующемся между серверами. |
SITESHARE_PUBLIC | Каталог общих данных на сетевом диске сайтового хранилища, доступного всем серверам на сайте. |
SITESHARE_DOMAIN_DATA | Каталог данных домена на сетевом диске сайтового хранилища, доступного всем серверам на сайте. |
SITESHARE_SCRIPT_DATA | Каталог данных сценария на сетевом диске сайтового хранилища, доступного всем серверам на сайте. |
GLOBALSHARE_PUBLIC | Каталог общих данных на сетевом диске глобального хранилища, доступного всем сайтам. |
GLOBALSHARE_DOMAIN_DATA | Каталог данных домена на сетевом диске глобального хранилища, доступного всем сайтам. |
GLOBALSHARE_SCRIPT_DATA | Каталог данных сценария на сетевом диске глобального хранилища, доступного всем сайтам. |
TEMP | Временный каталог текущего обработчика сценария. Удаляется через 5 секунд после его завершения. |

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

Название | Описание |
Баз а Данных | БД для подключения.
|
Драйвер | (если База Данных = Другая)
|
Строка соединения | Пример для odbc драйвера Driver={SQL Server Native Client 11.0};
Server=192.168.0.73,14350;
Database=testbase;
UID=test;
PWD=123; Пример для psql драйвера Driver={PostgreSQL Unicode(x64)};
Server=127.0.0.1;
Port=5433;
Database=r_cdr_central_common;
Uid=rostellpgadmin;
Pwd=123456; |
Время,с | Предельное время выполнения запроса. По достижению этого времени, если не получен ответ, будет переход по ветке “Переход, время” |
Запрос | Тело SQL запрос, который будет отправлен в БД. INSERT INTO EMPLOYEE (NR, FIRSTNAME, LASTNAME, GENDER)
VALUES (?, ?, ?, ?) |
Параметры запроса | Списочное значение, устанавливающее параметры для запроса. pKey="sql_integer", pValue=[2,3],
pKey="sql_varchar, 20", pValue=["Sergey", "Alina"],
pKey="sql_varchar, 20", pValue=["Ivanov","Gallyamova"],
pKey="sql_char, 1", pValue=["M","F"]. |
Кодировка | Кодировка, в которой следует сохранить строковые значения в переменных.
|
Код ошибки | Переменная для сохранения кода ошибки. |
Название ошибки | Переменная для сохранения названия ошибки. |
Переход | Компонент, которому передается управление после успешного завершения запроса. |
Переход, время | Компонент, которому передается управление после истечения таймаута до получения ответа на запрос. |
Переход, ошибка | Компонент, которому передается управление в случае возникновения ошибки при подготовке или выполнении запроса. |
Описание | Описание компонента |
Если необходимо вернуть множество строк в ответе, то в SQL запросе необходимо сделать "сохранение в json структуру" и уже компонентом Парсер разобрать результат. В зависимости от СУБД трансформация в json будет различная

Позволяет выполнять HTTP- и HTTPS- запросы к web-сервисам, настроенным в Каналах интеграции. Поддерживает методы GET, POST, PUT, HEAD, DELETE, PATCH, TRACE, OPTIONS с контентом и без. Поддерживает отправку асинхронных запросов и запросов с ожиданием ответов.
В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код HTTP. Компонент поддерживает работу в сессиях, сохраняя и используя cookie, а также HTTPS и подтверждение сертификатов.
Фактическая отправка запроса может производиться как с сервера, на котором работает текущий обработчик сценария, так и с других серверов текущего сайта от имени роли WS.

Web-запрос
Название | Описание |
Прокси | Использовать ли прокси сервер для подключения: • Нет. Прямой запрос • Да. Запрос через прокси сервер. Дополнительно надо определить: * Адрес прокси - IP/fqdn прокси сервера
* Порт прокси - Port прокси сервера
* Аутентификация:
** Да - необходима аутентификация на прокси
*** Логин прокси
*** Пароль прокси
** Нет - прокси без аутентификации |
Макс. перенаправлений | Ограничение на максимальное число перенаправлений. Значение для HTTP-заголовка Max-Forwards. При каждом перенаправлении cookie-файлы накапливаются и передаются дальше. |
Источник канала интеграции | Способ выбора канала интеграции, через URL которого отправлять HTTP-запрос.
|
Страница | Аргумент, содержащий страницу (endpoint, левая часть URL адреса) Итоговый URL для запроса формируется на основании URL канала интеграции и указанной страницы. |
Источник запроса | Адрес сервера, с которого необходимо отправить запрос. По умолчанию запрос отправляется с сервера, где обработчик выполняет сценарий. Возможные форматы указания: * RoleId
* RoleId:Iface
,где
- RoleId – идентификатор роли в конфигурации, по роли определяется нода;
- Iface – адрес сетевого интерфейса на сервере. |
Метод |
|
Базовая аутентификация |
|
Заголовки | Позволяет переопределить некоторые стандартные заголовки, а также установить новые персональные заголовки.
Вид: HeaderName1: Value1
HeaderName2: Value2 |
Куки | Позволяет установить дополнительные cookie значения.
Строковый аргумент, подразумевающий присутствие одного или нескольких дуплетов "ключ=значение", разделенных переводом строки (вид аналогичный “Заголовки”). |
Режим | Режим работы компонента после отправки запроса. Возможные вари анты:
|
Время, с | (для режимов Обрыв по таймауту и Выход по таймауту) Количество секунд ожидания ответа. |
Заголовки ответа | (для всех режимов кроме Асинхронный) Сохранение заголовков ответа. |
Ответ | (для всех режимов кроме Асинхронный) Сохранение тела ответа. |
Кодировка ответа | (для всех режимов кроме Асинхронный)
|
Ошибка | Переменная для сохранения HTTP-кода ошибки. |
Переход | Компонент, которому передается управление в случае успешного завершения операции асинхронной отправки, либо получения HTTP-ответа. Переход по-умолчанию. |
Переход, ошибка | Компонент, которому передается управление в случае ошибки отправки запроса, либо получения неудачного ответа (коды 4xx – 6xx). |
Описание | Описание компонента |
Адрес запроса формируется как поле URL из канала интеграции + значение из поля Страница

Осуществляет отправку сообщения в websocket-подключение пользователя системы. Подключение должно существовать и быть активным. Каждое подключение идентифицируется внутренним ID Аксател, который можно получить при входящих сообщениях от клиента.
Хранить текущий ID websocket подключения можно в объекте Адресная книга или extObj (доступ через компонент Операция)

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

Осуществляет разбор различных структур данных для выделения необходимого результата. Может работать с
- JSON-структурами
- XML-структурами
- HTML- структурами
- текстовыми документами
На уровне сценария могут быть организованы циклы и условия. Наиболее частое использование для разбора ответов от компонентов Web-запрос, Монитор и Операция.

Название | Описание |
Документ | Аргумент, содержащий структуру, подлежащую разбору. |
Алгоритм |
|
Поисковый запрос | Строка с поисковым запросом для выбранного алгоритма. Подробно описано в Правила поиска различных алгоритмов Парсера |
Функция | В зависимости от алгоритма используются различные функции. Подробнее в Функции различных алгоритмов Парсера |
Номер элемента | (только для алгоритма Регулярные выражения) Указывает индекс элемента в списке элементов, обнаруженных по шаблону в исходном документе. Нумерация начинается с 0. |
Номер группы | (только для алгоритма Регулярные выражения) Указывает номер группы в списке захваченных групп выбранного элемента. Имеет значение только при указании в поисковом запросе групп захвата (выделяются круглыми скобками в соответствии с синтаксисом регулярных выражений). |
Номер атрибута | (только для алгоритмов xml и html) Указывает номер атрибута |
Имя атрибута | (только для алгоритмов xml и html) Указывает имя атрибута |
Результат в переменную | Переменная, в которую будет сохранен результат применения поискового запроса к документу. |
Ошибка в переменную | Переменная, в которую сохраняется текст ошибки. |
Переход | Компонент, на который передается управление. Переход по-умолчанию |
Переход, ошибка | Компонент, на который передается управление в случае ошибки |
Описание | Описание компонента |
Функция для алгоритма Парсер JSON.
Вариант | Описание |
Содержимое | Возвращает обнаруженный элемент вместе с содержимым. |
Восстановленное содержимое | В ответе убраны внешние признаки JSON элемента |
Количество элементов | Возвращает количество найденных элементов. |
Список ключей | Возвращает список ключей в найденном объекте. |
Функция для алгоритма Парсер XML.
Вариант | Описание |
Документ | Возвращает выбранный элемент целиком вместе с содержимым. |
Содержимое | Возвращает содержимое выбранного элемента, исключая сам элемент. |
Количество элементов | Возвращает количество обнаруженных элементов. |
Значение атрибута | Возвращает значение указанного атрибута выбранного элемента. |
Имя атрибута | Возвращает имя атрибута по его индексу в выбранном элементе. |
Количество атрибутов | Возвращает количество атрибутов в выбранном элементе. |
Функция для алгоритма Регулярные выражения.
Вариант | Описание |
Содержимое | Возвращает содержимое указанной группы из указанного элемента. Отсчет элементов с 1 (значение по умолчанию), отсчет групп с 0 (значение по умолчанию 1), причем нулевая группа – это полное содержание элемента. Применение в поисковом шаблоне группировок (круглые скобки) влечет необходимость указывать корректное значение интересующей группы, указание неподходящего индекса приводит к завершению работы компонента с ошибкой. |
Количество элементов | Возвращает количество обнаруженных элементов, соответствующих поисковому шаблону. |
Количество групп | Возвращает количество захваченных групп в обнаруженном элементе с указанным индексом. Необходимо указание номера элемента, по умолчанию 1. Если группировка в поисковом шаблоне не используется, то возвращается значение 0. |
Функция для алго ритма Парсер HTML.
Вариант | Описание |
Документ | Возвращает выбранный элемент целиком вместе с содержимым. |
Содержимое | Возвращает содержимое выбранного элемента, исключая сам элемент. |
Количество элементов | Возвращает количество обнаруженных элементов. |
Значение атрибута | Возвращает значение указанного атрибута выбранного элемента. |
Имя атрибута | Возвращает имя атрибута по его индексу в выбранном элементе. |
Количество атрибутов | Возвращает количество атрибутов в выбранном элементе. |
Алгоритм JSON
Запросом к парсеру JSON является строка, определяющая ключи свойств объектов или номера элементов в массиве, разделенных символом /.
При выполнении запроса слева направо парсер на каждом этапе углубляется внутрь структуры JSON.
Пример исходного json
{
"result": "ok",
"errormsg": "",
"chat": [
{
"sessId": "uvajoqnx0qcpbjoflxr",
"msgs": [
{
"msgId": 8255,
"msgDt": 1491292390,
"msgData": {
"type": "text",
"data": "Добрый день. Выберите интересующий Вас вопрос."
},
"msgSender": "op"
},
{
"msgId": 8256,
"msgDt": 1491292391,
"msgData": {
"type": "buttons",
"data": "Связаться с usr 6"
},
"msgSender": "ab"
},
{
"msgId": 8257,
"msgDt": 1491292392,
"msgData": {
"type": "buttons",
"data": "Связаться с usr 8"
},
"msgSender": "ab"
}
]
}
]
}
Запрос | Функция | Результат |
"chat"/0/"sessId" | Содержимое | uvajoqnx0qcpbjoflxr |
Количество элементов | 1 | |
"chat"/0/"msgs"("msgSender":"ab")/1/"msgId" | Содержимое | 8257 |
Количество элементов | 1 | |
"chat"/0/"msgs"("msgSender":"ab") | Содержимое | [
{
"msgId": 8256,
"msgDt": 1491292391,
"msgData": {
"type": "buttons",
"data": "Связаться с usr 6"
},
"msgSender": "ab"
},
{
"msgId": 8257,
"msgDt": 1491292392,
"msgData": {
"type": "buttons",
"data": "Связаться с usr 8"
},
"msgSender": "ab"
}
] |
Количество элементов | 2 | |
"chat"/0 | Список ключей | ["sessId","msgs"] |
Алгоритм XML
Пример документа XML:
<configuration version="16">
<folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
<device id="RXYYDPI-SVKNBMF-YADG7WD"></device>
<minDiskFreePct>1</minDiskFreePct>
<versioning></versioning>
<copiers>0</copiers>
<pullers>0</pullers>
<hashers>0</hashers>
<order>random</order>
</folder>
<folder id="demo.rostell.ru" label="demo.rostell.ru" path="c:\rtx_mg3\Media\domains\demo.rostell.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
<device id="RXYYDPI-SVKNBMF-01020304"></device>
<minDiskFreePct>1</minDiskFreePct>
<versioning></versioning>
<copiers>0</copiers>
<pullers>0</pullers>
<hashers>0</hashers>
<order>random</order>
</folder>
<gui enabled="true" tls="false" debugging="false">
<address>127.0.0.1:8384</address>
<apikey>jeopL9MghPvTmweKDeGcoXhwRtrdaVDP</apikey>
<theme></theme>
</gui>
</configuration>
Запрос | Функция | Результат |
"configuration"/0/"folder" | Документ | <folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
<device id="RXYYDPI-SVKNBMF-YADG7WD"></device>
<minDiskFreePct>1</minDiskFreePct>
<versioning></versioning>
<copiers>0</copiers>
<pullers>0</pullers>
<hashers>0</hashers>
<order>random</order>
</folder>
<folder id="demo.rostell.ru" label="demo.rostell.ru" path="c:\rtx_mg3\Media\domains\demo.rostell.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
<device id="RXYYDPI-SVKNBMF-YADG7WD"></device>
<minDiskFreePct>1</minDiskFreePct>
<versioning></versioning>
<copiers>0</copiers>
<pullers>0</pullers>
<hashers>0</hashers>
<order>random</order>
</folder> |
"configuration"/0/"folder"("id":"x.demo.rostell.ru")/0/"device"/0/ | Документ | <device id="RXYYDPI-SVKNBMF-YADG7WD"/> |
"configuration"/0/"folder"("id":"x.demo.rostell.ru") | Документ | <folder id="x.demo.rostell.ru" label="x.demo.rostel.ru" path="c:\rtx_mg3\Media\domains\x.demo.rostell.ru.ru" type="readwrite" rescanIntervalS="10" ignorePerms="false" autoNormalize="true">
<device id="RXYYDPI-SVKNBMF-YADG7WD"></device>
<minDiskFreePct>1</minDiskFreePct>
<versioning></versioning>
<copiers>0</copiers>
<pullers>0</pullers>
<hashers>0</hashers>
<order>random</order>
</folder> |
Содержимое | <device id="RXYYDPI-SVKNBMF-YADG7WD"/>
<minDiskFreePct>1</minDiskFreePct>
<versioning/>
<copiers>0</copiers>
<pullers>0</pullers>
<hashers>0</hashers>
<order>random</order> | |
Значение атрибута.
Имя атрибута: "type" | readwrite | |
Имя атрибута.
Номер атрибута: 1 | id | |
Количество атрибутов | 7 | |
Алгоритм HTML
Общие правила:
- Поиск по наименованию тега в двойных кавычках, например "br"
- Последовательность тегов формируется разделителем |, например "html"|"head"|"title"
- Получения одного из одинаковых тегов производится добавлением индекса после разделителя тега (начиная с нуля), например "html"|"br"|1|"title"
- По умолчанию переход к поиску следующего тега происходит с выбором нулевого тега.
- Запрос "html"|0|"head"|0|"title"|0 равносилен запросу "html"|"head"|"title", т.е запрос по имени тега всегда возвращает список.
- Запрос можно строить по индексам, например "0|0|1"
- Для обращений к атрибутам тега используется скобки.
- Запрос "html"|"head"|("charset") выдаст список родительских тегов "head" в которых присутствует атрибут "charset".
- Запрос "html"|"head"|("type="test/css") выдаст список родительских тегов "head" в которых атрибут "type" равен "test/css".
Пример документа HTML:
<HTML>
<HEAD>
<META a="1" b="2"/>
</HEAD>
<BODY>
<p id="x1" class="abc">abc abc
<a href="http://asdf.ru">link</a> <br>
</p>
<br><br>
<p id="x2" class="abc" v="123">zxcv zxcv</p>
</BODY>
</HTML>
Запрос | Функция | Результат |
("id"="x1") | Документ | <p id="x1" class="abc">abc abc
<a href="http://asdf.ru">link</a> <br></p> |
Содержимое | abc abc
<a href="http://asdf.ru">link</a> <br> | |
Количество элементов | 1 | |
Значение атрибута.
Имя атрибута: id | x1 | |
"META" | Количество атрибутов | 2 |
"p" | Документ | <p id="x1" class="abc">abc abc
<a href="http://asdf.ru">link</a> <br></p> |
"p"|0 |