Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания 1С8.0_Продол_3.doc
Скачиваний:
9
Добавлен:
01.03.2016
Размер:
1.46 Mб
Скачать

Создание универсального отчета

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

Создадим в конфигураторе новый объект конфигурации Отчет «Универсальный». Этот отчет будет иметь реквизит «ПостроительОтчета», с типом ПостроительОтчета.

В модуле отчета создадим текст запроса для построителя отчета. Для этого вставим в модуль следующие строки:

ПостроительОтчета.Текст =;

Установим курсор перед символом точки с запятой и вызовем конструктор запросов (Текст | Конструктор запроса...).

В качестве таблицы выберем виртуальную таблицу регистра накопления «Продажи.Обороты». Из этой таблицы выберем все поля:

Ha закладке «Итоги» укажем получение общих итогов и выберем все ресурсы регистра:

Нажмем «OK». B модуле отчета появится текст сформированного запроса:

ПостроительОтчета.Текст =

"ВЫБРАТЬ

| ПродажиОбороты.Номенклатура,

| ПродажиОбороты.Номенклатура.Представление,

| ПродажиОбороты.Клиент,

| ПродажиОбороты.Клиент.Представление,

| ПродажиОбороты.Мастер,

| ПродажиОбороты.Мастер.Представление,

| ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,

| ПродажиОбороты.ВыручкаОборот КАК ВыручкаОборот,

| ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот

|ИЗ

| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

|

|ИТОГИ СУММАСКоличествоОборот), СУММА(ВыручкаОборот),

| СУММА(СтоимостьОборот)

| ПООБЩИЕ";

Добавим в текст запроса указания для построителя отчетов:

ПостроительОтчета.Текст =

"ВЫБРАТЬ

| ПродажиОбороты.Номенклатура,

| ПродажиОбороты.Номенклатура.Представление,

| ПродажиОбороты.Клиент,

| ПродажиОбороты.Клиент.Представление,

| ПродажиОбороты.Мастер,

| ПродажиОбороты.Мастер.Представление,

| ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,

| ПродажиОбороты.ВыручкаОборот КАК ВыручкаОборот,

| ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот

|ИЗ

| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты

|{Итоги по Номенклатура, Клиент, Мастер}

|ИТОГИ СУММАСКоличествоОборот), СУММА(ВыручкаОборот),

| СУММА(СтоимостьОборот)

| ПООБЩИЕ";

Теперь создадим форму отчета и расположим на ней поле табличного документа (Форма - Вставить элемент управления - Поле табличного документа) с именем «ПолеТабличногоДокумента»:

Расположим в форме поле табличного документа

Затем установим курсор в верхнюю левую ячейку поля табличного документа и выполним Таблица – Встроенные таблицы - Вставить сводную таблицу.

После этого создадим обработчик события формы отчета «При открытии», и добавим в него следующий текст:

Процедура ПриОткрытии() СводнаяТаблица =

ЭлементыФормы.ПолеТабличногоДокумеита

ВстроенныеТаблицы.СводнаяТаблица1,' СводнаяТаблица.ИсточникДанных = ПостроительОтчета;

КонецПроцедуры

Этим текстом мы устанавливаем сводной таблице в качестве источника данных построитель отчета.

Запустим 1С:Предприятие в режиме отладки и откроем отчет «Универсальный». На экране появится форма отчета, и окно выбора полей сводной таблицы:

Поместим значение ресурса «ВыручкаОборот» в данные, измерение «Номенклатура» в строки, а измерение «Мастер» в колонки. Отчет примет вид:

Теперь в окне выбора полей сводной таблицы раскроем группу «Номенклатура» и добавим значение «(Без иерархии)» в строки, а измерение «Клиент» добавим в колонки. Отчет изменит свой вид:

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