Система компоновки данных
17.06.2009

Отладка схем компоновки данных: анализ запросов

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

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

Для отладки сложных схем компоновки данных можно использовать консоль системы компоновки данных, которая имеется на диске ИТС.

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

Использование консоли системы компоновки данных

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

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


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

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


Если в схеме компоновки данных уже имеются настройки, то можно их загрузить из схемы воспользовавшись командой "Стандартные настройки" .

Когда схема компоновки и настройки готовы, можно приступать к исполнении отчета. Для того, чтобы выполнить отчет с текущими настройками нужно нажать команду "Выполнить" .

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

Просмотр запросов

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

Рассмотрим пример. 

Создадим схему компоновки данных, в которой добавим набор данных с запросом:

Копировать в буфер обмена
ВЫБРАТЬ
 ПродажиОбороты.Контрагент,
 ПродажиОбороты.Номенклатура,
 ПродажиОбороты.КоличествоОборот,
 ПродажиОбороты.СуммаОборот
ИЗ
 РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

В настройках добавим детальные записи (группировку без полей группировки), в выбранные поля добавим поля Номенклатура и СуммаОборот, в отбор добавим условие Контрагент = "Автохозяйство №34".

Сформируем.

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

<query>ВЫБРАТЬ
 ПродажиОбороты.Номенклатура КАК Номенклатура,
 ПродажиОбороты.СуммаОборот КАК СуммаОборот,
 ПРЕДСТАВЛЕНИЕССЫЛКИ(ПродажиОбороты.Номенклатура) КАК НоменклатураПредставление
ИЗ
 РегистрНакопления.Продажи.Обороты(, , , Контрагент = &amp;П) КАК ПродажиОбороты</query>

ПРИМЕЧАНИЕ
Т.к. текст запроса отображается в XML тексте, некоторые символы, зарезервированные в XML, отображаются при помощи специальных обозначений. Так символ "&" отображается как "&amp;", символ "<" отображается как "&lt;", символ ">" как "&gt;".

Как видно, система добавила условие в параметр виртуальной таблицы и в список выборки запроса поместила только поля, которые нам требовалось выводить.

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

Другие возможности

В консоли имеется возможность сохранить текст сгенерированного макета компоновки данных в качестве эталона (команда "Сохранить эталон") и сравнить с новым макетм, после изменения схемы компоновки данных или настроек (команда "Сравнить с эталоном"). Это дает возможность понять, что меняется в зависимости от того или иного изменения в настройках или схеме компоновки данных.


Если после нажатия на команду "Сформировать" переключиться на страницу "Табличный документ", то можно увидеть результат исполнения отчета.

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