Вывод различных колонтитулов в разных разделах, при формировании печатной формы по шаблону Word новыми процедурами БСП

30.09.23

Разработка - БСП (Библиотека стандартных подсистем)

Необходимо было вывести колонтитулы на всех страницах, кроме последней.

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

Потратил много времени, полной информации нигде не нашел.

Для начала необходимо, чтобы разрыв разделов вообще был выведен в итоговый документ.

В шаблоне разрыв следует поместить между двумя областями

 

 

В последнем параметре выводе обоих областей следует указать Истина.

 


		Область = УправлениеПечатью.ОбластьМакета(Макет, ОбластьОбщая);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФормаДокумента, Область, МассивДанныхЗаполнения, Истина); 
		
		Область = УправлениеПечатью.ОбластьМакета(Макет, ОбластьРеквизиты);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФормаДокумента, Область, МассивДанныхЗаполнения, Истина); 

 

В процедуре УправлениеПечатью внести изменения - добавить параметр НомерРаздела, и пробросить его в процедуру ПолучитьОбластьНижнегоКолонтитула

 

Функция ОбластьМакета(СсылкаНаМакет, ОписаниеОбласти, НомерРаздела = 1) Экспорт
    
    Область = Неопределено;
    
    Если ОписаниеОбласти.ТипОбласти = "ВерхнийКолонтитул" Или ОписаниеОбласти.ТипОбласти = "ВерхнийЧетныйКолонтитул" 
        Или ОписаниеОбласти.ТипОбласти = "ВерхнийТитульныйКолонтитул" Тогда
        Область = УправлениеПечатьюСлужебный.ПолучитьОбластьВерхнегоКолонтитула(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти);
    ИначеЕсли ОписаниеОбласти.ТипОбласти = "НижнийКолонтитул"  Или ОписаниеОбласти.ТипОбласти = "НижнийЧетныйКолонтитул"  
        Или ОписаниеОбласти.ТипОбласти = "НижнийТитульныйКолонтитул" Тогда
        Область = УправлениеПечатьюСлужебный.ПолучитьОбластьНижнегоКолонтитула(СсылкаНаМакет, ОписаниеОбласти.ИмяОбласти, НомерРаздела);
    ИначеЕсли ОписаниеОбласти.ТипОбласти = "Общая" 
        Или ОписаниеОбласти.ТипОбласти = "СтрокаТаблицы"

....

 

Итого код печати

 

		ОбластьОбщая = Новый Структура;
		ОбластьОбщая.Вставить("ИмяОбласти", "Общая");
		ОбластьОбщая.Вставить("ТипОбласти", "Общая");          
		
		ОбластьРеквизиты = Новый Структура;
		ОбластьРеквизиты.Вставить("ИмяОбласти", "Реквизиты");
		ОбластьРеквизиты.Вставить("ТипОбласти", "Общая");          
		
		ОбластьНижнийКолонтитул = Новый Структура;
		ОбластьНижнийКолонтитул.Вставить("ИмяОбласти", "НижнийКолонтитул");
		ОбластьНижнийКолонтитул.Вставить("ТипОбласти", "НижнийКолонтитул");
		ОбластьНижнийКолонтитул.Вставить("НомерРаздела", 1);    
		
		ОбластьНижнийКолонтитул2 = Новый Структура;
		ОбластьНижнийКолонтитул2.Вставить("ИмяОбласти", "НижнийКолонтитул");
		ОбластьНижнийКолонтитул2.Вставить("ТипОбласти", "НижнийКолонтитул");
		ОбластьНижнийКолонтитул2.Вставить("НомерРаздела", 2);    

		Область = УправлениеПечатью.ОбластьМакета(Макет, ОбластьОбщая);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФормаДокумента, Область, МассивДанныхЗаполнения, Истина); 
		
		Область = УправлениеПечатью.ОбластьМакета(Макет, ОбластьРеквизиты);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФормаДокумента, Область, МассивДанныхЗаполнения, Истина); 
		
		Область = УправлениеПечатью.ОбластьМакета(Макет, ОбластьНижнийКолонтитул);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФормаДокумента, Область, МассивДанныхЗаполнения);
		
		Область = УправлениеПечатью.ОбластьМакета(Макет, ОбластьНижнийКолонтитул2, 2);
		УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФормаДокумента, Область, МассивДанныхЗаполнения);

 

word БСП

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    3636    16    15    

18

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Расскажу, как использовать полезный функционал - инструментарий разработчика «1С:Библиотека стандартных подсистем» (БСП) в своих объектах метаданных. Статья будет полезна как шпаргалка при написании собственных объектов метаданных.

27.12.2024    3432    PROSTO-1C    15    

43

БСП (Библиотека стандартных подсистем) Программист Бесплатно (free)

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

11.12.2024    3899    gorenski    0    

8

БСП (Библиотека стандартных подсистем) Менеджеры внешних отчетов Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

За последние лет 5 несколько раз сталкиваюсь с проблемой на разных проектах (в конфигурациях 1С:ERP, 1С:ERP УХ и многих других, основанных на БСП), когда много пользователей (около 30 тысяч) в информационной базе, время добавления доступа для пользователей занимает значительное время. Открытие списка занимает от 10 до 15 секунд, и каждое изменение списка еще примерно столько же.

1 стартмани

10.12.2024    993    Iaskeliainen    2    

7

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Некоторые нюансы, если вы захотите создавать свои расширения. Доработка отчета "Связанные документы" для отражения документов расширения. Печатные формы с шаблоном Word.

20.11.2024    3328    milkers    3    

12

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1678    PROSTO-1C    0    

18

БСП (Библиотека стандартных подсистем) Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

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

08.10.2024    1372    PROSTO-1C    4    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Aleskey_K 35 02.10.23 09:04 Сейчас в теме
Вот тут https://infostart.ru/1c/articles/519190/ нашёл более простое решение, без программирования, почти ☺
Смысл в том, чтобы в колонтитуле ввести формулу вида: { IF { PAGE \* MERGEFORMAT } = { NUMPAGES \* MERGEFORMAT } "" "Поставщик" \* MERGEFORMAT }
unknown181538; +1 Ответить
2. unknown181538 159 02.10.23 15:15 Сейчас в теме
(1) да, то решение мне больше нравится. И оно подходит и для других способов формирования. Только вот, мне не удалось найти его поиском вовремя :)
3. Aleskey_K 35 02.10.23 16:55 Сейчас в теме
(2) Ваше решение тоже хорошее, пригодится многим.
4. user1719247 12.08.24 08:56 Сейчас в теме
Спасибо, оба решения нужны!
Оставьте свое сообщение