Книга: Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных
Назад: Расчет итогов
Дальше: Многоязычные отчеты

Использование нескольких схем компоновки для одного отчета

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

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

Рис. 3.103. Создание новой схемы компоновки данных

Либо можно открыть отчет двойным щелчком мыши и на закладке Макеты нажать кнопку Добавить в командной панели отчета (рис. 3.104).

Рис. 3.104. Создание новой схемы компоновки данных

В открывшемся конструкторе макета нужно ввести имя схемы компоновки данных, выбрать тип макета Схема компоновки данных и нажать Готово (рис. 3.105).

Рис. 3.105. Создание новой схемы компоновки данных

Чтобы при вызове из меню Отчеты отчет выполнялся в соответствии с новой схемой компоновки данных, нужно установить ее в качестве основной схемы для отчета на закладке Основные (рис. 3.106).

Рис. 3.106. Установка основной схемы компоновки данных для отчета

Теперь отчет Список номенклатуры будет выполняться из меню Отчеты в соответствии со схемой компоновки данных ИерархияДетальныхЗаписей (рис. 3.107).

Рис. 3.107. Результат выполнения отчета из панели действий приложения

Однако этот же отчет программно выводится в табличный документ из формы списка справочника Номенклатура по команде Печать. При его программной компоновке в функции ВывестиСписокНоменклатуры() используется макет отчета – ОсновнаяСхемаКомпоновкиДанных (листинг 3.28).

Листинг 3.28. Функция модуля формы «ВывестиСписокНоменклатуры ()»

&НаСервереБезКонтекста

Функция ВывестиСписокНоменклатуры()

 

СхемаКомпоновкиДанных =

Отчеты.СписокНоменклатуры.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

.....      

КонецФункции

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

Рис. 3.108. Результат выполнения отчета из формы списка справочника «Номенклатура»

Назад: Расчет итогов
Дальше: Многоязычные отчеты