Создание универсального отчета
Мы с вами рассмотрим один из вариантов использования построителя отчета, в котором результаты отчета будут выводиться в сводную таблицу.
Создадим в конфигураторе новый объект конфигурации Отчет "Универсальный". Этот отчет будет иметь реквизит "ПостроительОтчета", с типом ПостроительОтчета.
В модуле отчета создадим текст запроса для построителя отчета. Для этого вставим в модуль следующие строки:
ПостроительОтчета.Текст =
;
Установим курсор перед символом точки с запятой и вызовем конструктор запросов (Текст
Конструктор запроса...).В качестве таблицы выберем виртуальную таблицу регистра накопления "Продажи.Обороты". Из этой таблицы выберем все поля:
Ha закладке "Итоги" укажем получение общих итогов и выберем все ресурсы регистра:
[211]
Нажмем "OK". B модуле отчета появится текст сформированного запроса:
ПостроительОтчета.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| ПродажиОбороты.Номенклатура.Представление,
| ПродажиОбороты.Клиент,
| ПродажиОбороты.Клиент.Представление,
| ПродажиОбороты.Мастер,
| ПродажиОбороты.Мастер.Представление,
| ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
| ПродажиОбороты.ВыручкаОборот КАК ВыручкаОборот,
| ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
|ИТОГИ
| СУММА(КоличествоОборот),
| СУММА(ВыручкаОборот),
| СУММА(СтоимостьОборот)
|ПО
| ОБЩИЕ";
Добавим в текст запроса указания для построителя отчетов:
ПостроительОтчета.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| ПродажиОбороты.Номенклатура.Представление,
| ПродажиОбороты.Клиент,
| ПродажиОбороты.Клиент.Представление,
| ПродажиОбороты.Мастер,
| ПродажиОбороты.Мастер.Представление,
| ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
| ПродажиОбороты.ВыручкаОборот КАК ВыручкаОборот,
| ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
|{ИТОГИ ПО Номенклатура, Клиент, Мастер}
|ИТОГИ
| СУММА(КоличествоОборот),
| СУММА(ВыручкаОборот),
| СУММА(СтоимостьОборот)
|ПО
| ОБЩИЕ";[212]
Расположим в форме поле табличного документа
Затем установим курсор в верхнюю левую ячейку поля табличного документа и выполним ТаблицаВстроенные таблицыВставить сводную таблицу.
После этого создадим обработчик события формы отчета "При открытии", и добавим в него следующий текст:
СводнаяТаблица = ЭлементыФормы.ПолеТабличногоДокумента.ВстроенныеТаблицы.СводнаяТаблица1;
СводнаяТаблица.ИсточникДанных = ПостроительОтчета;
КонецПроцедуры
Запустим 1С:Предприятие в режиме отладки и откроем отчет "Универсальный". На экране появится форма отчета, и окно выбора полей сводной таблицы:
Поместим значение ресурса "ВыручкаОборот" в данные, измерение "Номенклатура" в строки, а измерение "Мастер" в колонки. Отчет примет вид:
[214]
Теперь в окне выбора полей сводной таблицы раскроем группу "Номенклатура" и добавим значение "(Без иерархии)" в строки, а измерение "Клиент" добавим в колонки. Отчет изменит свой вид:
Таким образом, используя построитель отчета, мы предоставили пользователю возможность самостоятельно формировать отчет по регистру "ОказанныеУслуги" в том виде, который ему нужен.[215]