Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Меркулова_Пособие_РазработкаУправляемыхПриложен...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
17.82 Mб
Скачать

15.3. Макеты оформления Работа со стандартными макетами оформления

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

Например, после настроек (Рис.15.38.)

Рис. 15.38. Стандартные настройки оформления отчета

Получим (Рис.15.39.):

Рис.15.39. Печатная форма отчета со стандартными настройками макета оформления

Создание собственного макета оформления

Собственный макет можно создать, используя конструктор макетов.

Задача. В предыдущий отчет (с предопределенными макетами СКД) добавить еще нестандартный макет оформления.

Для этого добавим в раздел макетов нашего отчета новый макет. В открывшемся конструкторе установим тип макета Макет оформления компоновки данных (Рис.15.40).

Рис.15.40. Вызов нестандартного макета оформления

Получим (Рис.15.41.):

Рис.15.41. Редактор несоандартного макета офрмления

Редактор макетов позволяет редактировать почти все те же параметры оформления, что и предопределенные макеты.

Например, возьмем за основу стандартный макет Яркий с помощью кнопки Стандартный макет.. в нижнем левом углу(Рис.15.42).

Рис.15.42. Выбор стандартного макета Яркий как основы нестандартного макета оформления

Затем отдельно (произвольно) можно по своему усмотрению отредактировать оформление несколько областей.

Таким образом, к основному макету СКД прибавился дополнительный макет оформления

Стандартный макет оформления в СКД для всего отчета в этом случае необходимо – отключить (Рис.15.43.).

Рис.15.43. Отключение стандартного макета оформеления всего отчета

После завершения построения нового макета оформления необходимо привязать наш макет к компоновщику макета.

Для этого неизбежен программный код для вывода отчета, в котором необходимо прописать следующие строки:

ОбОтчет=РеквизитФормыВЗначение("Отчет");

МакетОформления = ОбОтчет .ПолучитьМакет("МакетОформленияСКД");

И добавим наш макет в параметры выполнения компоновщика макета:

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки, МакетОформления);

Таким образом, формируем новую кнопку «Сформировать» с обработчиком события нажатия, а встроенную одноименную кнопку – скрываем (см. раньше).

В предыдущей задаче в предопределенных макетах использовались три параметра: Период, ГлБух, МОЛ. Значения параметров Период и МОЛ формировались в настройках отчета, а ГлБух рассчитывался в СКД по формуле Константы.ГлавныйБухгалтер.Получить().

Теперь расчет по этой формуле необходимо выполнить в модуле формы.

Предварительно добавим этот параметр в качестве параметра отчета (с ограничением доступности) (Рис.15.44.)

Рис.15.44. Добавление пареметра макета в список параметров отчета

На закладке макеты изменить выражение для данного параметра (Рис.15.46.):

Рис.15.46. Изменение выражения в расчете параметра макета ГлБух

Программный код:

&НаКлиенте

Процедура Сформировать(Команда)

СформироватьНаСервере();

КонецПроцедуры

Процедура СформироватьНаСервере()

// удалим фразу СКД "Отчет не сформирован. Нажмите...."

УстановитьПараметрыКомпоновки();

Элементы.Результат.ОтображениеСостояния.Видимость=ложь;

Элементы.Результат.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.НеИспользовать;

Элементы.Результат.ОтображениеСостояния.Картинка = Новый Картинка;

Элементы.Результат.ОтображениеСостояния.Текст = "";

Результат.Очистить();

ОбОтчет=РеквизитФормыВЗначение("Отчет");

СхемаКомпоновкиДанных = ОбОтчет.СхемаКомпоновкиДанных;

МакетОформления= ОбОтчет.ПолучитьМакет("МакетОформленияСКД");

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Отчет.КомпоновщикНастроек.Настройки, ДанныеРасшифровки,МакетОформления);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

ПроцессорВывода.УстановитьДокумент(Результат);

ПроцессорВывода.ОтображатьПроцентВывода = Истина;

ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры

Процедура УстановитьПараметрыКомпоновки()

КомпоновщикНастроек=Отчет.КомпоновщикНастроек;

Настройки=КомпоновщикНастроек.ПолучитьНастройки();

Стр = Настройки.ПараметрыДанных.Элементы.Найти("ГлБух");

Если НЕ Стр = Неопределено Тогда

Стр.Значение = Константы.ГлавныйБухгалтер.Получить();

Стр.Использование=Истина;

КонецЕсли;

Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

КонецПроцедуры

Запустим отчет в режиме 1С:Предприятие (Рис.15.47.):

Рис.15.47. Запуск отчета в пользовательском режиме

Окончательный результат (Рис.15.48.):

Рис.15.48. Печатная форма отчета с использованием предопределенных макетов и нестандартного макета оформления