При работе с модулем MS SQL Gateway запросы на сервер отправляются в ходе пользовательских бизнес-процессов с помощью графического элемента Запрос в MS SQL. Вы можете передавать любые запросы на языке SQL: для получения сведений, их записи в базу данных и т. д.
Допустим, в вашей компании настроена интеграция Microsoft SQL Server со сторонней системой электронного документооборота. В СЭД содержатся все документы компании: контракты, акты, счета и т. д. Бизнес-процессы согласования этих документов настроены в ELMA365. С помощью SQL‑запроса можно импортировать новый документ из СЭД, а затем с помощью запроса получать его данные перед каждым новым этапом обработки. Это позволяет убедиться, что файл и сведения о документе в ELMA365 актуальны. Когда согласование в ELMA365 завершается, с помощью запроса можно обновить статус документа в СЭД.
Настройка блока
Разместите блок Запрос в MS SQL на отрезке процесса, где необходимо отправить запрос во внешнюю систему, например, получить данные.
Для работы блока нужен SQL-запрос, который отправится в Microsoft SQL Server. В ходе процесса его нужно записать в переменную типа Строка и передать во входных атрибутах блока. Сформировать запрос можно с помощью сценария или вручную. Для этого перед блоком разместите графический элемент Сценарий или Задача.
Дважды нажмите на блок Запрос в MS SQL на схеме процесса, чтобы перейти к его настройке.
Вкладка «Основное»
Заполните поля:
- Название — введите название блока, которое будет отображаться на схеме процесса;
- Описание — по умолчанию в поле отображается краткая информация о назначении блока;
- Название задачи — блок Запрос в MS SQL выполняется автоматически без назначения задачи на пользователя. Поэтому настраивать формирование названия задачи не требуется, и поле можно оставить пустым;
- Присвоить выходные атрибуты в — укажите, в каком контексте создана переменная, в которую запишется результат работы блока. Вы укажете её в настройках на вкладке Входные и выходные атрибуты:
- контекст процесса — отметьте эту опцию, если переменная создана в контексте процесса;
- приложение — выберите опцию, а затем в поле Переменная* укажите приложение, добавленное в контекст процесса. Результат работы блока запишется в поле этого приложения.
Вкладка «Входные и выходные атрибуты»
На этой вкладке поля настроек блока сопоставляются с контекстными переменными.
- Запрос — укажите переменную типа Строка из контекста бизнес-процесса, в которой хранится отправляемый запрос на языке SQL;
- Результат — выберите переменную типа Строка из контекста процесса или приложения, в которую запишется ответ с сервера в формате JSON. В нём будет содержаться результат запроса — сведения, полученные из другой системы, количество строк, обновлённых в базе данных и т. п. Подробнее об извлечении данных из JSON‑строки читайте в разделе «Использовать результат запроса».
Если SQL-запрос некорректен, например, указана несуществующая таблица в базе данных, в ответе отобразится текст ошибки.
Вкладка «Обработка ошибок»
На этой вкладке укажите, по какой ветке направится ход бизнес-процесса при ошибке в работе блока. Также вы можете настроить оповещение пользователей об ошибке.
- Оповещение — включите опцию, а затем укажите пользователей, которым будет отправляться оповещение об ошибке в процессе. Вы можете выбрать пользователя, группу пользователей, элемент оргструктуры или указать контекстную переменную, например, инициатора процесса;
- Прервать — отметьте опцию, а затем в поле Переход укажите, по какой ветке направится процесс в случае возникновения ошибки. Выбранный переход будет отмечен на схеме процесса значком .
После завершения настройки нажмите кнопку Сохранить.
Использовать результат запроса
При работе блока ответ от Microsoft SQL Server возвращается в виде JSON-строки. Чтобы применить полученный результат, извлеките информацию при помощи сценария, используя метод parse(). Затем запишите результат в переменные и обработайте его.
Допустим, в рамках процесса вы направляете SQL-запрос в СЭД, чтобы импортировать в ELMA365 сведения о новом договоре. Из JSON‑ответа получите данные документа и запишите их в переменные, затем с помощью сценария создайте на их основе элемент приложения Договоры. Подробнее о работе с элементами в сценариях читайте в справке ELMA365 TS SDK.