- •Язык запросов
- •Отчет РеестрДокументовОказаниеУслуги
- •Процедура РеестрДокументовОказаниеУслуги(ТабДок) Экспорт
- •/Л}конструктор_выходных_форм КонецПроцедуры
- •Отчет Рейтинг услуг
- •Перечисления.ВидыНоменклатуры.Услуга);
- •Отчет ВыручкаМастеров
- •Отчет ПереченьУслуг
- •Процедура ПриОткрытии() // Заполним список поля выбора
- •Создание универсального отчета
- •|{Итоги по Номенклатура, Клиент, Мастер}
- •ЭлементыФормы.ПолеТабличногоДокумеита
- •Отчет Универсальный2
Создание универсального отчета
Мы с вами рассмотрим один из вариантов использования построителя отчета, в котором результаты отчета будут выводиться в сводную таблицу.
Создадим в конфигураторе новый объект конфигурации Отчет «Универсальный». Этот отчет будет иметь реквизит «ПостроительОтчета», с типом ПостроительОтчета.
В модуле отчета создадим текст запроса для построителя отчета. Для этого вставим в модуль следующие строки:
ПостроительОтчета.Текст =;
Установим курсор перед символом точки с запятой и вызовем конструктор запросов (Текст | Конструктор запроса...).
В качестве таблицы выберем виртуальную таблицу регистра накопления «Продажи.Обороты». Из этой таблицы выберем все поля:
Ha закладке «Итоги» укажем получение общих итогов и выберем все ресурсы регистра:
Нажмем «OK». B модуле отчета появится текст сформированного запроса:
ПостроительОтчета.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| ПродажиОбороты.Номенклатура.Представление,
| ПродажиОбороты.Клиент,
| ПродажиОбороты.Клиент.Представление,
| ПродажиОбороты.Мастер,
| ПродажиОбороты.Мастер.Представление,
| ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
| ПродажиОбороты.ВыручкаОборот КАК ВыручкаОборот,
| ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
|
|ИТОГИ СУММАСКоличествоОборот), СУММА(ВыручкаОборот),
| СУММА(СтоимостьОборот)
| ПООБЩИЕ";
Добавим в текст запроса указания для построителя отчетов:
ПостроительОтчета.Текст =
"ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| ПродажиОбороты.Номенклатура.Представление,
| ПродажиОбороты.Клиент,
| ПродажиОбороты.Клиент.Представление,
| ПродажиОбороты.Мастер,
| ПродажиОбороты.Мастер.Представление,
| ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
| ПродажиОбороты.ВыручкаОборот КАК ВыручкаОборот,
| ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты
|{Итоги по Номенклатура, Клиент, Мастер}
|ИТОГИ СУММАСКоличествоОборот), СУММА(ВыручкаОборот),
| СУММА(СтоимостьОборот)
| ПООБЩИЕ";
Теперь создадим форму отчета и расположим на ней поле табличного документа (Форма - Вставить элемент управления - Поле табличного документа) с именем «ПолеТабличногоДокумента»:
Расположим в форме поле табличного документа
Затем установим курсор в верхнюю левую ячейку поля табличного документа и выполним Таблица – Встроенные таблицы - Вставить сводную таблицу.
После этого создадим обработчик события формы отчета «При открытии», и добавим в него следующий текст:
Процедура ПриОткрытии() СводнаяТаблица =
ЭлементыФормы.ПолеТабличногоДокумеита
■ВстроенныеТаблицы.СводнаяТаблица1,' СводнаяТаблица.ИсточникДанных = ПостроительОтчета;
КонецПроцедуры
Этим текстом мы устанавливаем сводной таблице в качестве источника данных построитель отчета.
Запустим 1С:Предприятие в режиме отладки и откроем отчет «Универсальный». На экране появится форма отчета, и окно выбора полей сводной таблицы:
Поместим значение ресурса «ВыручкаОборот» в данные, измерение «Номенклатура» в строки, а измерение «Мастер» в колонки. Отчет примет вид:
Теперь в окне выбора полей сводной таблицы раскроем группу «Номенклатура» и добавим значение «(Без иерархии)» в строки, а измерение «Клиент» добавим в колонки. Отчет изменит свой вид:
Таким образом, используя построитель отчета, мы предоставили пользователю возможность самостоятельно формировать отчет по регистру «ОказанныеУслуги» в том виде, который ему нужен.