![]() КАТЕГОРИИ: Архитектура-(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С:Предприятие в режиме отладки и проверьте работу отчета. Обратите внимание на то, что некоторые типы диаграмм выглядят «некрасиво» (график) или не отображаются совсем (изометрическая непрерывная, изометрическая лента). Это связано с тем, что при использовании источника данных нет возможности использовать свойство диаграммы «АвтоТранспонирование» и нужно
Использование основных объектов конфигурации Создание отчетов
Универсальный отчет а примере создания универсального отчета мы познакомимся с объектом встроенного языка ПостроительОтчета и узнаем как работать со сводной таблицей. Построитель отчета остроитель отчета является объектом встроенного языка, позволяющим выполнять различные настройки запроса в ходе выполнения программы. Такие настройки могут выполняться как средствами встроенного языка (в результате некоторого алгоритма работы программы), так и работы интерактивно, непосредственно пользователем. Исходными данными для построителя отчета является текст запроса. На его основании построитель отчета определяет, какие параметры будут доступны для настройки и каким образом возможна настройка состава и порядка итоговых данных. Затем происходит программное или интерактивное формирование этих настроек и вывод результатов в табличный документ, диаграмму, сводную таблицу или сводную диаграмму. Формировать параметры настройки на основании текста запроса построитель отчета может двумя способами: автоматически и на основании указаний, расположенных в тексте запроса.
• полями, доступными для выбора в качестве полей отбора, поля, • в список полей, выбранных для вывода в отчет (свойство • полями, доступными для выбора в качестве измерений,
• в список измерений по строкам (свойство • в доступные отборы (свойство «Отбор») добавляются Вторым способом формирования параметров настроек построителя отчета является выделение их в тексте запроса. Для этого используются фигурные скобки «{}». Фигурными скобками могут быть выделены параметры построителя отчета, а также некоторые синтаксические конструкции: • ВЫБРАТЬ... - описывает поля, которые пользователь сможет • ГДЕ... - описывает поля, на которые пользователь может • УПОРЯДОЧИТЬПО... - описывает поля для обозначения порядка, • ИТОГИ ПО... - описывает поля, по которым будут После того, как значения параметров указаны, вывод результатов запроса возможен как принудительно (используя методы Выполнить() и Вывести()), либо автоматически, если результаты выводятся в сводную таблицу. Создание отчетов Создание универсального отчета
ы с вами рассмотрим один из вариантов использования построителя отчета, в котором результаты отчета будут выводиться в сводную таблицу. Создадим в конфигураторе новый объект конфигурации Отчет «Универсальный». Этот отчет будет иметь реквизит «ПостроительОтчета», с типом ПостроительОтчета. В модуле отчета создадим текст запроса для построителя отчета. Для этого вставим в модуль следующие строки:
;
В качестве таблицы выберем виртуальную таблицу регистра накопления «Продажи.Обороты». Из этой таблицы выберем все поля: Ha закладке «Итоги» укажем получение общих итогов и выберем все ресурсы регистра:
Создание отчетов
"ВЫБРАТЬ | ПродажиОбороты.Номенклатура, | ПродажиОбороты.Номенклатура.Представление, | ПродажиОбороты.Клиент, | ПродажиОбороты.Клиент.Представление, | ПродажиОбороты.Мастер, | ПродажиОбороты.Мастер.Представление, | ПродажиОбороты.КоличествоОборот КАК КоличествоОборот, | ПродажиОбороты.ВыручкаОборот КАК ВыручкаОборот, | ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот |ИЗ | РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты | |ИТОГИ СУММАСКоличествоОборот), СУММА(ВыручкаОборот), | СУММА(СтоимостьОборот) | ПООБЩИЕ"; Добавим в текст запроса указания для построителя отчетов:
"ВЫБРАТЬ | ПродажиОбороты.Номенклатура, | ПродажиОбороты.Номенклатура.Представление, | ПродажиОбороты.Клиент, | ПродажиОбороты.Клиент.Представление, | ПродажиОбороты.Мастер, | ПродажиОбороты.Мастер.Представление, | ПродажиОбороты.КоличествоОборот КАК КоличествоОборот, | ПродажиОбороты.ВыручкаОборот КАК ВыручкаОборот, | ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот |ИЗ | РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты |{ИТОГИ ПО Номенклатура, Клиент, Мастер} |ИТОГИ СУММАСКоличествоОборот), СУММА(ВыручкаОборот), | СУММА(СтоимостьОборот) | ПООБЩИЕ"; Теперь создадим форму отчета и расположим на ней поле «ПолеТабличногоДокумента»: Расположим в форме поле табличного документа Затем установим курсор в верхнюю левую ячейку поля табличного Таблица | Встроенные таблицы | Вставить сводную таблицу. После этого создадим обработчик события формы отчета «При открытии», и добавим в него следующий текст:
■ВстроенныеТаблицы.СводнаяТаблица1,' СводнаяТаблица.ИсточникДанных = ПостроительОтчета; КонецПроцедуры
Создание отчетов
Теперь в окне выбора полей сводной таблицы раскроем группу «Номенклатура» и добавим значение «(Без иерархии)» в строки, а измерение «Клиент» добавим в колонки. Отчет изменит свой вид:
Поместим значение ресурса «ВыручкаОборот» в данные, измерение «Номенклатура» в строки, а измерение «Мастер» в колонки. Отчет примет вид: Таким образом, используя построитель отчета, мы предоставили пользователю возможность самостоятельно формировать отчет по регистру «ОказанныеУслуги» в том виде, который ему нужен.
Создание отчетов
«ТабличноеПолеПоля» (соответственно «КоманднаяПанельПорядок» и «ТабличноеПолеПорядок»):
а примере создания второго универсального отчета мы рассмотрим способы непосредственного управления настройками построителя отчета и возможность формирования макетов на основе вариантов стандартного оформления. Для более легкого понимания мы будем использовать практически тот же самый запрос по регистру накопления «Продажи». Таким образом, можно сказать, что в этом отчете мы просто покажем другой вариант управления настройками построителя отчета. Создадим новый объект конфигурации Отчет с именем «Универсальный2». На закладке «Данные» создадим реквизит отчета с именем «ПостроительОтчета» и типом ПостроительОтчета. На закладке «Формы» с помощью конструктора создадим основную форму отчета и приступим к ее редактированию. Расположим в форме две надписи с именами «Поля» и «Порядок» и заголовками «Поля:» и «Порядок:» соответственно: Теперь для табличного поля «ТабличноеПолеПоля» ОтчетОбъект.ПостроительОтчета.ВыбранныеПоля: зададим как
Под каждым текстовым полем расположим командную панель и табличное поле с именами «КоманднаяПанельПоля» и
Создание отчетов
Табличному полю «ТабличноеПолеПорядок» укажем источник «Автозаполнение» и укажем в качестве источника действий ТабличноеПолеПорядок: Путем этих несложных действий мы с вами связали элементы управления, расположенные в форме, со свойствами построителя отчета «ВыбранныеПоля» и «Порядок». Свойство «ВыбранныеПоля» позволяет управлять списком полей, которые войдут в результат запроса, а свойство «Порядок» позволяет настраивать порядок вывода строк результата запроса. Кроме этого, для того, чтобы пользователь мог настраивать значения этих полей, мы расположили в форме две командные панели, связанные с этими табличными полями. Используя свойства командных панелей «Автозаполнение» и «ИсточникДействий» мы добились автоматического формирования команд в командных панелях, исходя из типа данных, содержащихся в каждом из табличных полей. *" Узнай больше! О связи элементов управления и данных, можно прочитать в разделе «Данные и элементы управления» на странице 502
Создание отчетов
| РегистрНакопления.Продажи КАК Продажи | |{УПОРЯДОЧИТЬ ПО Номенклатура.*, Клиент.*, Мастер.*} | |ИТОГИ СУММА(Количество), | Сумма(Выручка), | Сумма(Стоимость) | ПО ОБЩИЕ";
Конструкция ВЫБРАТЬ позволяет предоставить пользователю возможность выбирать в качестве полей запроса как сами исходные поля запроса, так и все поля «через точку» от данных полей. Конструкция УПОРЯДОЧИТЬ ПО предоставляет пользователю возможность упорядочивать строки результата запроса. Теперь, для того, чтобы привести состав полей в «исходное» состояние, добавим команду очистки выбранных полей построителя отчета, и затем в обработчик «КнопкаСформироватьНажатие» вставим команды выполнения построителя отчета:
ПостроительОтчета.Текст = "ВЫБРАТЬ | Продажи.Номенклатура КАК Номенклатура, | Продажн.Клиент КАК Клиеит, | Продажи.Мастер КАК Мастер, | Продажи.Количество КАК Количества, | Продажи.Выручка КАК Выручка, | Продажи.Стоимость КАК Стоимость | Номенклатура.*, | Клиент.*, | Мастер.*, | Количество.*, | Выручка.*, | Стоимость.*}
Дата добавления: 2014-11-16; Просмотров: 736; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |