15.09.2010

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

Добавим вариант отчета, в настройках которого добавим детальные записи (группировку без полей группировки), в выбранные поля добавим поля Товар и СуммаОборот, в отбор добавим условие Покупатель = "Магазин "Бытовая техника"".

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

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

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

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

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

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

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

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

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