Присоединить область. Присоединяет область в печатную форму из макета.
// Присоединяет область в печатную форму из макета.
// Применяется при одиночном выводе области.
//
// Параметры:
// ПечатнаяФорма - Структура - печатная форма, см. УправлениеПечатью.ИнициализироватьПечатнуюФорму.
// ОбластьМакета - Структура - см. УправлениеПечатью.ОбластьМакета.
// ПереходНаСледующуюСтроку - Булево - Истина, если требуется вставить разрыв после вывода области.
//
Процедура ПрисоединитьОбласть(ПечатнаяФорма, ОбластьМакета, Знач ПереходНаСледующуюСтроку = Ложь) Экспорт
Если ОбластьМакета = Неопределено Тогда
Возврат;
КонецЕсли;
Попытка
ОписаниеОбласти = ОбластьМакета.ОписаниеОбласти;
ВыведеннаяОбласть = Неопределено;
Если ОписаниеОбласти.ТипОбласти = "ВерхнийКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "ВерхнийЧетныйКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "ВерхнийТитульныйКолонтитул" Тогда
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ДобавитьВерхнийКолонтитул(ПечатнаяФорма, ОбластьМакета);
ИначеЕсли ОписаниеОбласти.ТипОбласти = "НижнийКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "НижнийЧетныйКолонтитул" ИЛИ ОписаниеОбласти.ТипОбласти = "НижнийТитульныйКолонтитул" Тогда
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ДобавитьНижнийКолонтитул(ПечатнаяФорма, ОбластьМакета);
ИначеЕсли ОписаниеОбласти.ТипОбласти = "Общая" Тогда
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ПрисоединитьОбласть(ПечатнаяФорма, ОбластьМакета, ПереходНаСледующуюСтроку);
ИначеЕсли ОписаниеОбласти.ТипОбласти = "Список" ИЛИ ОписаниеОбласти.ТипОбласти = "СтрокаТаблицы" Тогда
ВыведеннаяОбласть = УправлениеПечатьюСлужебный.ПрисоединитьОбласть(ПечатнаяФорма, ОбластьМакета, ПереходНаСледующуюСтроку);
Иначе
ВызватьИсключение ТекстТипОбластиУказанНекорректно();
КонецЕсли;
ОписаниеОбласти.Вставить("Область", ВыведеннаяОбласть);
ОписаниеОбласти.Вставить("ПереходНаСледующуюСтроку", ПереходНаСледующуюСтроку);
// Содержит тип области, и границы области (если требуется).
ПечатнаяФорма.ПоследняяВыведеннаяОбласть = ОписаниеОбласти;
Исключение
СообщениеОбОшибке = СокрЛП(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
СообщениеОбОшибке = ?(Прав(СообщениеОбОшибке, 1) = ".", СообщениеОбОшибке, СообщениеОбОшибке + ".");
СообщениеОбОшибке = СообщениеОбОшибке + " " + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Ошибка при попытке вывести область ""%1"" из макета.'"),
ОбластьМакета.ОписаниеОбласти.ИмяОбласти);
ВызватьИсключение СообщениеОбОшибке;
КонецПопытки;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПрисоединитьИЗаполнитьКоллекцию (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)