Работа со схемой компоновки данных позволяет выполнить различные решения для вывода своего макета. К примеру необходима таблица Заказы покупателей, требуется вывести помимо стандартного вывода, еще надписи в шапку документа, а так же в подвал.
1. Создаем отчет, в котором добавляем макет, тип: Схема компоновки данных.
2. Запрос:
ВЫБРАТЬ ЗаказыПокупателейОбороты.ЗаказПокупателя Как Документ, ЗаказыПокупателейОбороты.Номенклатура Как Номенклатура, ЗаказыПокупателейОбороты.КоличествоОборот Как Количество ИЗ РегистрНакопления.ЗаказыПокупателей.Обороты КАК ЗаказыПокупателейОбороты
3. Параметры на вкладке Настройка установим:
Начало периода Произвольная дата 13.07.2000 0:00:00
Конец периода Произвольная дата 13.07.2018 0:00:00
4. В настройках выберем Отчет, щелкаем правой кнопкой мыши, далее выбираем Новая группировка. В Поле ничего не ставим, Тип - Без иерархии.
5. В результате выполнения получает такую таблицу:
Но требуется добавить в Шапку отчета, надпись: Отчет Заказы покупателей за период с НачалоПериода по НачалоПериода. НачалоПериода и НачалоПериода - это параметры, которые устанавливает пользователь. В подвал отчет требуется вывести пользователя 1С.
6. Добавляем еще один макет. Тип Табличный документ.
Рисуем макет: Шапку и Подвал. Ячейку: за период с [НачалоПериода] по [КонецПериода] устанавливаем как Шаблон (Поле Заполнение). Ответственный как Параметр.
7. Создаем форму отчета. Добавим еще одну кнопку СформироватьПоНовому.
8. В модуль формы:
Процедура СформироватьПоНовому(Кнопка) // Вставить содержимое обработчика. ВывестиОтчет(ЭлементыФормы.Результат); КонецПроцедуры
9. В модуль объекта:
Процедура ВывестиОтчет(ДокументРезультат) Экспорт //Получение параметров из настроек НачПериода = ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода"); КонПериода = ЭтотОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода"); //Подключаем свой макет МакетЗаголовокПодвал = ПолучитьМакет("МакетПечать"); ДокументРезультат.Очистить(); Область = МакетЗаголовокПодвал.ПолучитьОбласть("Шапка"); Область.Параметры.НачалоПериода = НачПериода.Значение; Область.Параметры.КонецПериода = КонПериода.Значение; ДокументРезультат.Вывести(Область); //выводим строки из ОсновнаяСхемаКомпоновкиДанных ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; ЭтотОбъект.СкомпоноватьРезультат(ДокументРезультат, ДанныеРасшифровки); Область = МакетЗаголовокПодвал.ПолучитьОбласть("Подвал"); Область.Параметры.Ответственный = ПолноеИмяПользователя(); ДокументРезультат.Вывести(Область); ДокументРезультат.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ДокументРезультат.АвтоМасштаб = Истина; КонецПроцедуры
10. Результат:
11. Получилось, но мешает стандартный вывод параметров: Начало периода: 13.07.2000 00:00:00 Конец периода: 13.07.2018 00:00:00. Переходим в макет ОсновнаяСхемаКомпоновкиДанных на закладку Настройки. Выбираем закладку Другие настройки. Отмечаем флажок Выводить параметры в значение: Не выводить.