Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выбрать




Т


Создание отчетов


 


заполнения диаграммы данными, используя свойство диаграммы -«ИсточникДанных».

Вернемся в модуль формы отчета «РейтингКлиентов» и все строки, которыми мы добавляли в диаграмму данные:


«вручную» (используя

обрабатывать транспонирование диаграммы свойство СерииВСтроках).

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


ВыборкаРезультатаЗапроса = Запрос.Выполнить().Выбрать();

Диаграмма = ЭлементыФормы.Диаграмма; //запретить автотранспонирование диаграммы Диаграмма.АвтоТранспонирование = Ложь;

//создать единственную точку диаграммы ТочкаДиаграммы = Диаграмма.УетановитьТочку("Доход");

//перебрать выборку результата запроса и создать серии и значения Пока ВыборкаРезультатаЗапроса.Следующий() Цикл ТекущаяСерияДиаграммы = Диаграмма

.УстановитьСерикКВыборкаРезультатаЗапроса.Клиент); Диаграмма.УстановитьЗначение(ТочкаДиаграммы, ТекущаяСерияДиаграммы,

ВыборкаРезультатаЗапроса.Доход); КонецЦикла;

//разрешить автотранспонирование диаграммы Диаграмма.АвтоТранспонирование = Истина;

заменим одной строкой:

ЭлементыФормы.Диаграмма.ИсточникДанных = Запрос,Выполнить().Выгрузить();

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

Запустите 1С:Предприятие в режиме отладки и проверьте работу отчета. Обратите внимание на то, что некоторые типы диаграмм выглядят «некрасиво» (график) или не отображаются совсем (изометрическая непрерывная, изометрическая лента). Это связано с тем, что при использовании источника данных нет возможности использовать свойство диаграммы «АвтоТранспонирование» и нужно


206



Использование основных объектов конфигурации


Создание отчетов


 


           
 
   
 
   

н п

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

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

Построитель отчета

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

работы

интерактивно, непосредственно пользователем.


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


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


208



Использование основных объектов конфигурации

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

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

поля,

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

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

 

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

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

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

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

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

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

порядка,

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

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


Создание отчетов

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

М

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

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

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

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

;

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

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

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


 


210



Использование основных объектов конфигурации


Создание отчетов


 


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

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

"ВЫБРАТЬ

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

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

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

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

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

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

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

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

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

|ИЗ

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

|

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

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

| ПООБЩИЕ";

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

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

"ВЫБРАТЬ

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

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

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

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

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

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

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

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

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

|ИЗ

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

|{ИТОГИ ПО Номенклатура, Клиент, Мастер}

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

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

| ПООБЩИЕ";


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

«ПолеТабличногоДокумента»:

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

Затем установим курсор в верхнюю левую ячейку поля табличного
документа и выполним

Таблица | Встроенные таблицы | Вставить сводную таблицу.

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

Процедура ПриОткрытии() СводнаяТаблица = ЭлементыФормы.ПолеТабличногоДокумеита

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

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


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


212



Использование основных объектов конфигурации


Создание отчетов


 


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


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


 


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


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


 



 


 


214



Использование основных объектов конфигурации


Создание отчетов


 


Отчет Универсальный2


«ТабличноеПолеПоля» (соответственно «КоманднаяПанельПорядок» и «ТабличноеПолеПорядок»):


 


Н

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

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

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

На закладке «Данные» создадим реквизит отчета с именем «ПостроительОтчета» и типом ПостроительОтчета. На закладке «Формы» с помощью конструктора создадим основную форму отчета и приступим к ее редактированию.

Расположим в форме две надписи с именами «Поля» и «Порядок» и заголовками «Поля:» и «Порядок:» соответственно:


Теперь для табличного поля «ТабличноеПолеПоля»
источник данных

ОтчетОбъект.ПостроительОтчета.ВыбранныеПоля:


зададим как


 




 


Под каждым текстовым полем расположим командную панель и табличное поле с именами «КоманднаяПанельПоля» и


216



Использование основных объектов конфигурации


Создание отчетов


 


После этого для командной панели «КоманднаяПанельПоля» установим флаг «Автозаполнение» и в качестве источника действий укажем ТабличноеПолеПоля:

Затем аналогичные действия произведем для другой командной панели и табличного поля.


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

«Автозаполнение» и укажем в качестве источника действий ТабличноеПолеПорядок:


Путем этих несложных действий мы с вами связали элементы управления, расположенные в форме, со свойствами построителя отчета «ВыбранныеПоля» и «Порядок». Свойство «ВыбранныеПоля» позволяет управлять списком полей, которые войдут в результат запроса, а свойство «Порядок» позволяет настраивать порядок вывода строк результата запроса.

Кроме этого, для того, чтобы пользователь мог настраивать значения этих полей, мы расположили в форме две командные панели, связанные с этими табличными полями. Используя свойства командных панелей «Автозаполнение» и «ИсточникДействий» мы добились автоматического формирования команд в командных панелях, исходя из типа данных, содержащихся в каждом из табличных полей.

*" Узнай больше!

О связи элементов управления и данных, можно прочитать в разделе «Данные и элементы управления» на странице 502


218



Использование основных объектов конфигурации


Создание отчетов


 


Теперь в нижней части формы разместим еще одну надпись с именем «Оформление» и заголовком «Оформление:», а под ним поле выбора с именем «ПолеВыбораОформление»:

Теперь откроем модуль формы и добавим в него текст запроса для построителя отчета:


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

|

|{УПОРЯДОЧИТЬ ПО Номенклатура.*, Клиент.*, Мастер.*}

|

|ИТОГИ СУММА(Количество),

| Сумма(Выручка),

| Сумма(Стоимость)

| ПО ОБЩИЕ";

Как видите это совсем простой запрос по регистру накопления «Продажи», в котором расположены управляющие конструкции для построителя отчета.

Конструкция ВЫБРАТЬ позволяет предоставить пользователю возможность выбирать в качестве полей запроса как сами исходные поля запроса, так и все поля «через точку» от данных полей.

Конструкция УПОРЯДОЧИТЬ ПО предоставляет пользователю возможность упорядочивать строки результата запроса.

Теперь, для того, чтобы привести состав полей в «исходное» состояние, добавим команду очистки выбранных полей построителя отчета, и затем в обработчик «КнопкаСформироватьНажатие» вставим команды выполнения построителя отчета:


 


ПроцедураКнопкаСформироватьНажатие(Элемент) КонецПроцедуры

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

"ВЫБРАТЬ

| Продажи.Номенклатура КАК Номенклатура,

| Продажн.Клиент КАК Клиеит,

| Продажи.Мастер КАК Мастер,

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

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

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

| Номенклатура.*,

| Клиент.*,

| Мастер.*,

| Количество.*,

| Выручка.*,

| Стоимость.*}




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 713; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.07 сек.