Отчет Универсальный2
На примере создания второго универсального отчета рассмотрим способы непосредственного управления настройками построителя отчета и возможность формирования макетов на основе вариантов стандартного оформления.
Для более легкого понимания будем использовать практически тот же самый запрос по регистру накопления «Продажи». Таким образом, можно сказать, что в этом отчете просто познакомимся с другим вариантом управления настройками построителя отчета.
Создадим новый объект конфигурации Отчет с именем «Универсальный2».
На закладке «Данные» создадим реквизит отчета с именем «ПостроительОтчета» и типом ПостроительОтчета. На закладке «Формы» с помощью конструктора создадим основную форму отчета и приступим к ее редактированию.
Расположим в форме две надписи с именами «Поля» и «Порядок» и заголовками «Поля:» и «Порядок:» соответственно.
Под каждым текстовым полем расположим командную панель и табличное поле с именами «КоманднаяПанельПоля» и «ТабличноеПолеПоля» (соответственно «КоманднаяПанельПорядок» и «ТабличноеПолеПорядок»):
Теперь для табличного поля «ТабличноеПолеПоля» зададим источник данных как ОтчетОбъект.ПостроительОтчета.ВыбранныеПоля:
После этого для командной панели «КоманднаяПанельПоля» установим флаг «Автозаполнение» и в качестве источника действий укажем ТабличноеПолеПоля:
Затем аналогичные действия произведем для другой командной панели и табличного поля.
|
|
Табличному полю «ТабличноеПолеПорядок» укажем источник данных ОтчетОбъект.ПостроительОтчета.Порядок, и у командной панели «КоманднаяПанельПорядок» поднимем флаг «Автозаполнение» и укажем в качестве источника действий ТабличноеПолеПорядок:
Путем этих несложных действий мы связали элементы управления, расположенные в форме, со свойствами построителя отчета «ВыбранныеПоля» и «Порядок». Свойство «ВыбранныеПоля» позволяет управлять списком полей, которые войдут в результат запроса, а свойство «Порядок» позволяет настраивать порядок вывода строк результата запроса.
Кроме этого, для того, чтобы пользователь мог настраивать значения этих полей, мы расположили в форме две командные панели, связанные с этими табличными полями. Используя свойства командных панелей «Автозаполнение» и «ИсточникДействий» мы добились автоматического формирования команд в командных панелях, исходя из типа данных, содержащихся в каждом из табличных полей.
Теперь в нижней части формы разместим еще одну надпись с именем «Оформление» и заголовком «Оформление:», а под ним поле выбора с именем «ПолеВыбораОформление»:
Теперь откроем модуль формы и добавим в него текст запроса для построителя отчета:
|
|
Как видите это совсем простой запрос по регистру накопления «Продажи», в котором расположены управляющие конструкции для построителя отчета.
Конструкция «ВЫБРАТЬ» позволяет предоставить пользователю возможность выбирать в качестве полей запроса как сами исходные поля запроса, так и все поля «через точку» от данных полей.
Конструкция «УПОРЯДОЧИТЬ ПО» предоставляет пользователю возможность упорядочивать строки результата запроса.
Теперь, для того, чтобы привести состав полей в «исходное» состояние, добавим команду очистки выбранных полей построителя отчета, и затем в обработчик «КнопкаСформироватьНажатие» вставим команды выполнения построителя отчета:
Если построителю отчета не указывать объект, в который необходимо выводить результат, то результат будет выведен в новый табличный документ. Построитель отчета имеет возможность оформить макет результата, используя варианты стандартного оформления макетов. Для этого мы в начале процедуры получаем стандартный макет оформления, используя значение, которое будет выбрано пользователем в поле выбора, а затем на основе этого макета оформляем макет, созданный построителем отчета по умолчанию.
|
|
Здесь следует сказать о том, что построитель отчета предоставляет возможность полностью формировать макет будущего отчета, как задавая его целиком (свойство «Макет»), так и путем описания отдельных областей макета (свойства «МакетДетальныхЗаписей», «МакетЗаголовка» и т.д.).
Теперь, для завершения нашего универсального отчета следует заполнить список выбора поля выбора «ПолеВыбораОформление» и установить начальное значение поля. Для этого добавим в конце модуля формы следующий текст:
Запустим 1С:Предприятие в режиме отладки и откроем отчет «Универсальный2».
Выберем поля: «Мастер», «Номенклатура.ВидНоменклатуры», «Номенклатура» и «Выручка». Зададим следующий порядок сортировки:
· «Мастер» по возрастанию,
· «Номенклатура.ВидНоменклатуры» по убыванию,
· «Номенклатура» по возрастанию.
Выберем оформление «Апельсин» и нажмем «Сформировать». Результат будет выглядеть следующим образом:
Теперь изменим условия формирования отчета. Выберем поля «Клиент», «Номенклатура» и «Выручка», порядок сортировки будет по возрастанию значения поля «Клиент», а вариант оформления - «Асфальт»:
Таким образом, на примере этого отчета мы познакомились с возможностью задания условий для построителя отчета и одним из способов формирования макета отчета на основе интерактивного выбора пользователя.
|
|
Дата добавления: 2015-12-20; просмотров: 20; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!