ДобавитьШтампыВТабличныйДокумент (БСП)

Автор: 1С
ОбщийМодуль.ЭлектроннаяПодпись
1С БСП

Добавить штампы табличный документ. Размещает штампы в переданном табличном документе.

// Размещает штампы в переданном табличном документе.
//
// Параметры:
//  Документ        - ТабличныйДокумент - табличный документ, в который требуется добавить штампы.
//  ОписаниеШтампов - Массив - массив табличных документов, содержащих штампы, полученные
//                             функцией ЭлектроннаяПодпись.ШтампВизуализацииЭлектроннойПодписи.
//                             В данном случае переданные штампы будут выведены в конец документа,
//                             если в макете подписываемого табличного документа не определены области
//                             для размещения штампов, которые удовлетворяют следующим условиям:
//                                - область вывода штампа размером две колонки и семь строк, с
//                                  произвольной шириной колонок;
//                                - имя области задано как ШтампЭП + порядковый номер штампа,
//                                  например: ШтампЭП1 и т.д.
//                             В таком случае штампы будут выведены в заданные области в том
//                             порядке, в котором документ был подписан.
//                  - Соответствие - описывает места вывода штампов, где:
//                       * Ключ     - Строка - имя области, куда выводить штамп. Для такой области должна
//                                    быть установлена произвольная ширина колонок, 
//                                    отличная от ширины колонок остального документа.
//                       * Значение - ТабличныйДокумент - штамп, полученный функцией
//                                       ЭлектроннаяПодпись.ШтампВизуализацииЭлектроннойПодписи.
//  Размеры         - Структура - необязательный параметр, позволяет изменять размеры штампа, со свойствами:
//                       * ЛеваяКолонка  - Число - ширина левой колонки штампа, содержащей заголовки свойств.
//                                                 По умолчанию - 10.
//                       * ПраваяКолонка - Число - ширина правой колонки штампа, содержащей значения свойств.
//                                                 По умолчанию - 30.
//
Процедура ДобавитьШтампыВТабличныйДокумент(Документ, ОписаниеШтампов, Размеры = Неопределено) Экспорт
	
	Если Размеры = Неопределено Тогда
		Размеры = Новый Структура;
		Размеры.Вставить("ЛеваяКолонка", 10);
		Размеры.Вставить("ПраваяКолонка", 30);
	КонецЕсли;
	
	Если ТипЗнч(ОписаниеШтампов) = Тип("Массив") Тогда
		ИндексШтампа = 1;
		Для Каждого Штамп Из ОписаниеШтампов Цикл
			ИмяОбласти = "ШтампЭП" + Строка(ИндексШтампа);
			ОбластьНайдена = Документ.Области.Найти(ИмяОбласти) <> Неопределено;
			
			Если ОбластьНайдена Тогда
				Документ.ВставитьОбласть(Штамп.Области.Штамп, Документ.Области[ИмяОбласти],, Истина);
				Документ.Области.ШтампЛеваяКолонка.ШиринаКолонки  = Размеры.ЛеваяКолонка;
				Документ.Области.ШтампПраваяКолонка.ШиринаКолонки = Размеры.ПраваяКолонка;
			Иначе
				Документ.Вывести(Штамп.ПолучитьОбласть("Отступ"));
				Документ.Вывести(Штамп.ПолучитьОбласть("ОбластьСтрокШтамп"));
				Документ.Области.ОбластьСтрокШтамп.ШиринаКолонки = 10;
				
				Документ.Области.ШтампЛеваяКолонка.ШиринаКолонки  = Размеры.ЛеваяКолонка;
				Документ.Области.ШтампПраваяКолонка.ШиринаКолонки = Размеры.ПраваяКолонка;
				Документ.Области.ОтступШтампа.ШиринаКолонки       = 3;
			КонецЕсли;
			
			ИндексШтампа = ИндексШтампа + 1;
		КонецЦикла;
	Иначе
		Для Каждого ОписаниеШтампа Из ОписаниеШтампов Цикл
			ИмяОбласти = ОписаниеШтампа.Ключ;
			Штамп      = ОписаниеШтампа.Значение;
			ОбластьНайдена = Документ.Области.Найти(ИмяОбласти) <> Неопределено;
			Если ОбластьНайдена Тогда
				Документ.ВставитьОбласть(Штамп.Области.Штамп, Документ.Области[ИмяОбласти],, Истина);
				Документ.Области.ШтампЛеваяКолонка.ШиринаКолонки  = Размеры.ЛеваяКолонка;
				Документ.Области.ШтампПраваяКолонка.ШиринаКолонки = Размеры.ПраваяКолонка;
			КонецЕсли;
		КонецЦикла;
	КонецЕсли;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ТабличныйДокументСоШтампом (БСП)

ПечатьФайлаСоШтампом (БСП)

ШтампВизуализацииЭлектроннойПодписи (БСП)

Добавить водяной знак (изображение) в табличный документ

Заполнение табличного документа

ТабличныйДокументПоДвоичнымДанным (БСП)

РаспечататьТабличныеДокументы (БСП)

Объединение табличных документов

Как загрузить в табличную часть одного документа табличную часть другого документа?

1С Менеджер конфигураций