- •2.10 Лабораторная работа № 10. Конструктор запросов.
- •2.10.1. Теоретические сведения
- •2.10.1.1 Отчет «РеестрДокументовОказаниеУслуги»
- •2.10.1.2 Отчет «Рейтинг услуг»
- •2.10.1.3 Отчет «ВыручкаМастеров»
- •2.10.1.4 Отчет «ПереченьУслуг»
- •2.10.1.5 Отчет «РейтингКлиентов»
- •2.10.1.5.1 Диаграмма
- •2.10.1.5.2 Создание отчета «РейтингКлиентов»
- •2.10.1.6 Универсальный отчет
- •2.10.2 Задание на лабораторную работу
- •2.10.3 Контрольные вопросы
2.10.1.6 Универсальный отчет
На примере создания универсального отчета мы подробнее познакомимся с объектом встроенного языка «ПостроительОтчета» и узнаем, как работать со сводной таблицей.
Построитель отчета является объектом встроенного языка, позволяющим выполнять различные настройки запроса в ходе выполнения программы. Такие настройки могут выполняться как средствами встроенного языка (в результате некоторого алгоритма работы программы), так и работы интерактивно, непосредственно пользователем.
Исходными данными для построителя отчета является текст запроса. На его основании построитель отчета определяет, какие параметры будут доступны для настройки, и каким образом возможна настройка состава и порядка итоговых данных. Затем происходит программное или интерактивное формирование этих настроек и вывод результатов в табличный документ, диаграмму, сводную таблицу или сводную диаграмму.
Рис. 76
Формировать параметры настройки на основании текста запроса построитель отчета может двумя способами: автоматически и на основании указаний, расположенных в тексте запроса.
Автоматически параметры настройки формируются вызовом метода «ЗаполнитьНастройки()» следующим образом:
полями, доступными для выбора в качестве полей отбора, порядка или вывода в отчет (свойство «ДоступныеПоля»), становятся все поля из списка выборки и все их подчиненные поля,
в список полей, выбранных для вывода в отчет (свойство «ВыбранныеПоля»), добавляются все поля из списка выборки, полями, доступными для выбора в качестве измерений, становятся все поля из предложения «ИТОГИ ПО» и все их подчиненные поля,
в список измерений по строкам (свойство «ИзмеренияСтроки») добавляются все поля из предложения «ИТОГИ ПО»,
в доступные отборы (свойство «Отбор») добавляются параметры виртуальных таблиц.
Вторым способом формирования параметров настроек построителя отчета является выделение их в тексте запроса. Для этого используются фигурные скобки «{}». Фигурными скобками могут быть выделены параметры построителя отчета, а также некоторые синтаксические конструкции:
«ВЫБРАТЬ ...» - описывает поля, которые пользователь сможет выбирать для вывода,
«ГДЕ ...» - описывает поля, на которые пользователь может накладывать ограничения,
«УПОРЯДОЧИТЬ ПО ...» - описывает поля для обозначения порядка,
«ИТОГИ ПО ...» - описывает поля, по которым будут выводиться итоговые значения.
После того, как значения параметров указаны, вывод результатов запроса возможен как принудительно (используя методы «Выполнить()» и «Вывести()»), либо автоматически, если результаты выводятся в сводную таблицу.
Рассмотрим один из вариантов использования построителя отчета, в котором результаты отчета будут выводиться в сводную таблицу. Создадим в конфигураторе новый объект конфигурации Отчет «Универсальный».
Рис. 77
Этот отчет будет иметь реквизит «ПостроительОтчета», с типом «ПостроительОтчета».
Рис. 78
В модуле отчета создадим текст запроса для построителя отчета. Для этого вставим в модуль следующие строки:
Рис. 79
Установим курсор перед символом точки с запятой и вызовем конструктор запросов (Текст | Конструктор запроса...). В качестве таблицы выберем виртуальную таблицу регистра накопления «Продажи.Обороты». Из этой таблицы выберем все поля.
Рис. 80
Рис. 81
Ha закладке «Итоги» укажем получение общих итогов и выберем все ресурсы регистра.
Рис. 82
Нажмем «OK». B модуле отчета появится текст сформированного запроса.
Рис. 83
Добавим в текст запроса указания для построителя отчетов:
Рис. 84
Теперь создадим форму отчета и расположим на ней поле табличного документа (Форма | Вставить элемент управления I Поле табличного документа) с именем «ПолеТабличногоДокумента»
Рис. 85
Рис. 86
Рис. 87
Затем установим курсор в верхнюю левую ячейку поля табличного документа и выполним «Таблица |Встроенные таблицы | Вставить сводную таблицу». После этого создадим обработчик события формы отчета «При открытии», и добавим в него следующий текст:
Рис. 88
Этим текстом мы устанавливаем сводной таблице в качестве источника данных построитель отчета.
Запустим 1С:Предприятие в режиме отладки и откроем отчет «Универсальный». На экране появится форма отчета, и окно выбора полей сводной таблицы. Поместим значение ресурса «ВыручкаОборот» в данные, измерение «Номенклатура» в строки, а измерение «Мастер» в колонки. Отчет примет вид:
Рис. 89
Теперь в окне выбора полей сводной таблицы раскроем группу «Номенклатура» и добавим значение «(Без иерархии)» в строки, а измерение «Клиент» добавим в колонки. Отчет изменит свой вид:
Рис. 90
Таким образом, используя построитель отчета, мы предоставили пользователю возможность самостоятельно формировать отчет по регистру «ОказанныеУслуги» в том виде, который ему нужен.