Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
today2 / today2 / Лабраб10.doc
Скачиваний:
298
Добавлен:
08.11.2013
Размер:
41.58 Mб
Скачать

2.10.1.6 Универсальный отчет

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

Построитель отчета является объектом встроенного языка, позволяющим выполнять различные настройки запроса в ходе выполнения программы. Такие настройки могут выполняться как средствами встроенного языка (в результате некоторого алгоритма работы программы), так и работы интерактивно, непосредственно пользователем.

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

Рис. 76

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

Автоматически параметры настройки формируются вызовом метода «ЗаполнитьНастройки()» следующим образом:

  • полями, доступными для выбора в качестве полей отбора, порядка или вывода в отчет (свойство «ДоступныеПоля»), становятся все поля из списка выборки и все их подчиненные поля,

  • в список полей, выбранных для вывода в отчет (свойство «ВыбранныеПоля»), добавляются все поля из списка выборки, полями, доступными для выбора в качестве измерений, становятся все поля из предложения «ИТОГИ ПО» и все их подчиненные поля,

  • в список измерений по строкам (свойство «ИзмеренияСтроки») добавляются все поля из предложения «ИТОГИ ПО»,

  • в доступные отборы (свойство «Отбор») добавляются параметры виртуальных таблиц.

Вторым способом формирования параметров настроек построителя отчета является выделение их в тексте запроса. Для этого используются фигурные скобки «{}». Фигурными скобками могут быть выделены параметры построителя отчета, а также некоторые синтаксические конструкции:

  • «ВЫБРАТЬ ...» - описывает поля, которые пользователь сможет выбирать для вывода,

  • «ГДЕ ...» - описывает поля, на которые пользователь может накладывать ограничения,

  • «УПОРЯДОЧИТЬ ПО ...» - описывает поля для обозначения порядка,

  • «ИТОГИ ПО ...» - описывает поля, по которым будут выводиться итоговые значения.

После того, как значения параметров указаны, вывод результатов запроса возможен как принудительно (используя методы «Выполнить()» и «Вывести()»), либо автоматически, если результаты выводятся в сводную таблицу.

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

Рис. 77

Этот отчет будет иметь реквизит «ПостроительОтчета», с типом «ПостроительОтчета».

Рис. 78

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

Рис. 79

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

Рис. 80

Рис. 81

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

Рис. 82

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

Рис. 83

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

Рис. 84

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

Рис. 85

Рис. 86

Рис. 87

Затем установим курсор в верхнюю левую ячейку поля табличного документа и выполним «Таблица |Встроенные таблицы | Вставить сводную таблицу». После этого создадим обработчик события формы отчета «При открытии», и добавим в него следующий текст:

Рис. 88

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

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

Рис. 89

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

Рис. 90

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

Соседние файлы в папке today2