Как в обработчике выполнить SQL инструкцию?

Внимание!

Функциональность доступна, начиная с версии Экстрактора старше 3.3.1.14

Теперь вы можете выполнить любую инструкцию SQL в вашей базе данных, подключение к которой выбрано в вашем проекте! Работает для всех 3-х видов СУБД (Clickhouse, PostgreSQL, MS SQL).

Для чего?
1. Например, вы хотите вести логи выполнения в таблице вашей СУБД, и при старте обработчика фиксировать информацию о том, что некое событие произошло.
2. Или вы можете выполнять некую инструкцию по предварительной обработке данных в вашей базе данных, прежде чем запускать проект на выполнение.

Как это сделать?

  • Зайдем в настройки строки проекта и создадим в ней обработчик (перед выполнением строки например или можете выбрать “перед выполнение проекта”, т.е. любой обработчик события проекта, который вам нужен, на ваш выбор).

    Для примера наш обработчик будет просто добавлять запись в таблице TableLog с неким текстом и текущей датой. Чтобы указать, что обработчик должен выполнить именно инструкцию SQL, а не код языка 1С, в самом начале обработчика напишите //t-sql, а затем на следующих строках саму инструкцию SQL:

    1

    2

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

  • Пример с подстановкой параметров из параметров обработчика: