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



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

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

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

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

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

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

Теперь для табличного поля «ТабличноеПолеПоля» зададим источник данных как ОтчетОбъект.ПостроительОтчета.ВыбранныеПоля:

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

Выберем поля: «Мастер», «Номенклатура.ВидНоменклатуры», «Номенклатура» и «Выручка». Зададим следующий порядок сортировки:

· «Мастер» по возрастанию,

· «Номенклатура.ВидНоменклатуры» по убыванию,

· «Номенклатура» по возрастанию.

Выберем оформление «Апельсин» и нажмем «Сформировать». Результат будет выглядеть следующим образом:

Теперь изменим условия формирования отчета. Выберем поля «Клиент», «Номенклатура» и «Выручка», порядок сортировки будет по возрастанию значения поля «Клиент», а вариант оформления - «Асфальт»:

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

 


Дата добавления: 2015-12-20; просмотров: 20; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!