Как штатно добавить подпись и печать в печатную форму БСП

Клиент попросил добавить в печатную форму акта оказанных услуг добавить галочку «Подпись и печать»:

Эта галочка показывает подпись и печать организации.

Отладка показала, что галочка появляется, если в макете есть рисунки с наименованием ФаксимилеПечать и ФаксимилеРуководитель:

Расширил функцию МакетПечатнойФормы модуля УправлениеПечатью, чтобы подставлять эти картинки в макет:


&Вместо("МакетПечатнойФормы")
Функция дпзд_МакетПечатнойФормы(ПутьКМакету, Знач КодЯзыка)
	ТабличныйДокументМакета = ПродолжитьВызов(ПутьКМакету, КодЯзыка);
	Если ПутьКМакету = "Документ.ОтчетКомитентуОПродажах.ПФ_MXL_АктОбУслугах" Тогда   
		
		//Расширяем пустую строку чтобы влезла печать
		ТабличныйДокументМакета.Область(31,1).ВысотаСтроки = 50;

		
		К = ТабличныйДокументМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
		К.Узор = ТипУзораТабличногоДокумента.БезУзора;
		К.Имя = "ФаксимилеРуководитель";
		К.Лево = 36;
		К.Верх = 110;
		К.Ширина = 38;
		К.Высота = 5;     
		
		
		К = ТабличныйДокументМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
		К.Узор = ТипУзораТабличногоДокумента.БезУзора;
		К.Имя = "ФаксимилеПечать";
		К.Лево = 32;
		К.Верх = 115;
		К.Ширина = 28;
		К.Высота = 28;       
	КонецЕсли;
		
	Возврат ТабличныйДокументМакета;
КонецФункции

Подменять надо именно макет, чтобы потом не искать эти рисунки в документе-результате, тем более что они там именуются уже с указанием номера документа.

Я скопировал макет печатной формы акта в новый табличный документ, там двигал рисунок и смотрел координаты и размеры в строке состояния:

Ну дальше понадобилось несколько перезапусков, чтобы подогнать результат:

Тут печать перекрывает линию подписи, потому что в демо-базе 1С картинка не прозрачная.

Среда: БП 3.0.175.24 Объем: 1.5 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментария 4

  1. rzd:

    Нарушение DIP: Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.

    • Принципы существуют для того, чтобы их умело нарушать!
      Посмотри, к какому коллосу на глиняных ногах привели 1С ее принципы 1С:Совместимо! Ужаснись…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *