воскресенье, 16 июня 2019 г.

Оптимизация исполняемого запроса в СКД

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



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

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


если в редактировании полей выбираем не все поля а 1 и 2


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

Делается это следующим способом.

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


получаем вот такой запрос



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


если мы не проставим разные номера для всех номер группы  то запрос примет немного иной вид


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


Конфигурация Управление торговлей

Комментариев нет:

Отправить комментарий

Печать чека ККМ из драйвера ККМ

Суть проблемы: Пробиваем чек из 1С: Бухгалтерии. Чек пробит не  правильно. Теперь нужно сделать чек коррекции. Но в программе это сделать н...