Модуль «MS SQL Gateway» / Настроить отправку запросов в Microsoft SQL Server

Настроить отправку запросов в Microsoft SQL Server

При работе с модулем MS SQL Gateway запросы на сервер отправляются в ходе пользовательских бизнес-процессов с помощью графического элемента Запрос в MS SQL. Вы можете передавать любые запросы на языке SQL: для получения сведений, их записи в базу данных и т. д.

Допустим, в вашей компании настроена интеграция Microsoft SQL Server со сторонней системой электронного документооборота. В СЭД содержатся все документы компании: контракты, акты, счета и т. д. Бизнес-процессы согласования этих документов настроены в ELMA365. С помощью SQL‑запроса можно импортировать новый документ из СЭД, а затем с помощью запроса получать его данные перед каждым новым этапом обработки. Это позволяет убедиться, что файл и сведения о документе в ELMA365 актуальны. Когда согласование в ELMA365 завершается, с помощью запроса можно обновить статус документа в СЭД.

Настройка блока

Разместите блок Запрос в MS SQL на отрезке процесса, где необходимо отправить запрос во внешнюю систему, например, получить данные.

Для работы блока нужен SQL-запрос, который отправится в Microsoft SQL Server. В ходе процесса его нужно записать в переменную типа Строка и передать во входных атрибутах блока. Сформировать запрос можно с помощью сценария или вручную. Для этого перед блоком разместите графический элемент Сценарий или Задача.

Дважды нажмите на блок Запрос в MS SQL на схеме процесса, чтобы перейти к его настройке.

Вкладка «Основное»

Заполните поля:

work-with-ms-sql-1

  • Название — введите название блока, которое будет отображаться на схеме процесса;
  • Описание — по умолчанию в поле отображается краткая информация о назначении блока;
  • Название задачи — блок Запрос в MS SQL выполняется автоматически без назначения задачи на пользователя. Поэтому настраивать формирование названия задачи не требуется, и поле можно оставить пустым;
  • Присвоить выходные атрибуты в — укажите, в каком контексте создана переменная, в которую запишется результат работы блока. Вы укажете её в настройках на вкладке Входные и выходные атрибуты:
    • контекст процесса — отметьте эту опцию, если переменная создана в контексте процесса;
    • приложение — выберите опцию, а затем в поле Переменная* укажите приложение, добавленное в контекст процесса. Результат работы блока запишется в поле этого приложения.

Вкладка «Входные и выходные атрибуты»

На этой вкладке поля настроек блока сопоставляются с контекстными переменными.

work-with-ms-sql-2

  • Запрос — укажите переменную типа Строка из контекста бизнес-процесса, в которой хранится отправляемый запрос на языке SQL;
  • Результат — выберите переменную типа Строка из контекста процесса или приложения, в которую запишется ответ с сервера в формате JSON. В нём будет содержаться результат запроса — сведения, полученные из другой системы, количество строк, обновлённых в базе данных и т. п. Подробнее об извлечении данных из JSON‑строки читайте в разделе «Использовать результат запроса».

Если SQL-запрос некорректен, например, указана несуществующая таблица в базе данных, в ответе отобразится текст ошибки.

Вкладка «Обработка ошибок»

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

work-with-ms-sql-3

  • Оповещение — включите опцию, а затем укажите пользователей, которым будет отправляться оповещение об ошибке в процессе. Вы можете выбрать пользователя, группу пользователей, элемент оргструктуры или указать контекстную переменную, например, инициатора процесса;
  • Прервать — отметьте опцию, а затем в поле Переход укажите, по какой ветке направится процесс в случае возникновения ошибки. Выбранный переход будет отмечен на схеме процесса значком error-connector-icon.

После завершения настройки нажмите кнопку Сохранить.

Использовать результат запроса

При работе блока ответ от Microsoft SQL Server возвращается в виде JSON-строки. Чтобы применить полученный результат, извлеките информацию при помощи сценария, используя метод parse(). Затем запишите результат в переменные и обработайте его.

Допустим, в рамках процесса вы направляете SQL-запрос в СЭД, чтобы импортировать в ELMA365 сведения о новом договоре. Из JSON‑ответа получите данные документа и запишите их в переменные, затем с помощью сценария создайте на их основе элемент приложения Договоры. Подробнее о работе с элементами в сценариях читайте в ELMA365 TS SDK.