Печать и подпись с минимальной доработкой ЕРП (и ЕРП УХ)

14.01.25

Разработка - Инструментарий разработчика

Активация (с доработкой) механизма отдельного вывода печати, подписи и других картинок в печатных формах наподобие того, как это сделано в 1С: Бухгалтерии 3.0. Также появится возможность выводить различные подписи, печати и другие картинки в зависимости от реквизитов печатаемого документа.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Печать и подпись с минимальной доработкой ЕРП (и ЕРП УХ)
.cfe 9,22Kb
6 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

В конфигурациях серии ЕРП (ЕРП УХ, КА и УТ 11) на первый взгляд нет механизма вывода в печатную форму печати и подписи, как это сделано в конфигурации 1С:Бухгалтерия 3.0:

 

 

При более детальном ознакомлении с кодом видно, что сам механизм практически реализован, но на дату этой публикации так и не включен (не доработан) в этих конфигурациях.

Механизм подключения "факсимиле" в моём случае не подошёл (да и по субъективной статистике он редко подходит под большинство задач).

В демобазе по БСП (версии 3.1.10.403)  есть пример, где задействуются нужные методы, и печать и подпись выводятся. Но сделано это только для одного поля - Организация и с бОльшей доработкой кода, чем предлагается в данной статье.

Цель этой публикации - показать, как включить механизм вывода печати и подписи в конфигурациях (ЕРП, ЕРПУХ, КА и УТ 11) и, заодно, немного его расширить по сравнению с тем же функционалом из 1С:Бухгалтерия 3.0 или демо примером БСП.

Алгоритм:

1. Сначала закомментировать строку "Настройки.ИспользоватьПодписиИПечати = Ложь;" в процедуре "ПриОпределенииНастроекПечати" общего модуля "УправлениеПечатьюПереопределяемый".

2. Переопределить процедуру "ПриПолученииПодписейИПечатей" в общем модуле "УправлениеПечатьюПереопределяемый". Она изначально пустая и сделана как раз для того, чтобы разработчики уже сами определяли какие картинки выводить (или, соответственно, не выводить в зависимости от признака "Подпись и печать").

3. Переопределить процедуру "ПрефиксыИменОбластейСПодписьюИПечатью" общего модуля "УправлениеПечатью"

Ниже представлен весь код.

В общем модуле "УправлениеПечатьюПереопределяемый") в расширении:

#Область ПрограммныйИнтерфейс

&ИзменениеИКонтроль("ПриОпределенииНастроекПечати")
Процедура ПодписиИПечати_ПриОпределенииНастроекПечати(Настройки)

	УправлениеПечатьюЛокализация.ПриОпределенииНастроекПечати(Настройки);

	//++ НЕ ГОСИС
	#Удаление
	Настройки.ИспользоватьПодписиИПечати = Ложь;
	#КонецУдаления
	//-- НЕ ГОСИС

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

&После("ПриПолученииПодписейИПечатей")
Процедура ПодписиИПечати_ПриПолученииПодписейИПечатей(Документы, ПодписиИПечати)
	
	СоответствиеРеквизитов = Новый Структура;
	СоответствиеРеквизитов.Вставить("Печать", "Организация");
	СоответствиеРеквизитов.Вставить("Логотип", "Организация");
	СоответствиеРеквизитов.Вставить("ПодписьРуководителя", "Руководитель");
	СоответствиеРеквизитов.Вставить("ПодписьБухгалтера", "ГлавныйБухгалтер");
		
	Для Каждого Документ Из Документы Цикл
		
		МетаданныеДокумента = Документ.Метаданные();
		
		СписокРеквизитовСтрока = "";
		Для Каждого КлючЗначение Из СоответствиеРеквизитов Цикл
			Если ОбщегоНазначения.ЕстьРеквизитОбъекта(КлючЗначение.Значение, МетаданныеДокумента) Тогда
				СписокРеквизитовСтрока = СтрШаблон("%1%2,", СписокРеквизитовСтрока, КлючЗначение.Значение);
			КонецЕсли;			
		КонецЦикла;
		СписокРеквизитовСтрока = Лев(СписокРеквизитовСтрока, СтрДлина(СписокРеквизитовСтрока) - 1);
		
		СтруктураПодписи = Новый Структура;
		
		РеквизитыДокумента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Документ, СписокРеквизитовСтрока);
		Для Каждого РеквизитДокумента Из РеквизитыДокумента Цикл
			
			Для Каждого КлючЗначениеСоответствия Из СоответствиеРеквизитов Цикл
				Если КлючЗначениеСоответствия.Значение = РеквизитДокумента.Ключ Тогда
					КлючКартинки = КлючЗначениеСоответствия.Ключ;
					
					Картинка = КартинкаПоШаблонуИмени(РеквизитДокумента.Значение, КлючКартинки);
					Если Не Картинка = Неопределено Тогда
						СтруктураПодписи.Вставить(КлючКартинки, Картинка);					
					КонецЕсли;					
				КонецЕсли;
			КонецЦикла;
			
		КонецЦикла;
		
		Если СтруктураПодписи.Количество() > 0 Тогда
			ПодписиИПечати.Вставить(Документ, СтруктураПодписи);
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

Функция КартинкаПоШаблонуИмени(Объект, ШаблонИмени)
	
	РезультатФункции = Неопределено;
	
	ИмяСправочникаХранилищаФайлов = РаботаСФайламиСлужебный.ИмяСправочникаХраненияФайлов(Объект);
        Если Не ЗначениеЗаполнено(ИмяСправочникаХранилищаФайлов) Тогда
		Возврат РезультатФункции;
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Запрос.Текст =  
	"ВЫБРАТЬ
	|	Файлы.Ссылка КАК Ссылка
	|ИЗ
	|	&ИмяСправочника КАК Файлы
	|ГДЕ
	|	Файлы.ВладелецФайла = &ВладелецФайлов
	|	И НЕ Файлы.ПометкаУдаления
	|	И ВРЕГ(Файлы.Наименование) ПОДОБНО ""&ШаблонИмени%""";
	
	ПолноеИмяСправочника = "Справочник." + ИмяСправочникаХранилищаФайлов;
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ИмяСправочника", ПолноеИмяСправочника);
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ШаблонИмени", ВРег(ШаблонИмени));
	
	Запрос.УстановитьПараметр("ВладелецФайлов", Объект);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Если Не Выборка.Следующий() Тогда
		Возврат РезультатФункции;
	КонецЕсли;
	
	ДвоичныеДанные = РаботаСФайлами.ДвоичныеДанныеФайла(Выборка.Ссылка, Ложь);
	Если ДвоичныеДанные = Неопределено Тогда
		Возврат РезультатФункции;
	КонецЕсли;
	
	Возврат Новый Картинка(ДвоичныеДанные);
	
КонецФункции

#КонецОбласти

В общем модуле "УправлениеПечатью" в расширении:


#Область СлужебныеПроцедурыИФункции

&ИзменениеИКонтроль("ПрефиксыИменОбластейСПодписьюИПечатью")
Функция ПодписиИПечати_ПрефиксыИменОбластейСПодписьюИПечатью()

	Результат = Новый Массив;
	Результат.Добавить("Печать");
	Результат.Добавить("Подпись");
	Результат.Добавить("Факсимиле");
	#Вставка
	Результат.Добавить("Логотип");
	#КонецВставки

	Возврат Результат;

КонецФункции

#КонецОбласти

 

Подробнее про доработку:

1. У документа, печатную форму которого мы выводим, есть определённые реквизиты (в данном случае - это Организация, Руководитель и ГлавныйБухгалтер). Элементы справочников из этих реквизитов используются для получения картинок. У Организации это могут быть картинка печати и логотипа. У Руководителя - подпись. И так далее. Список этих реквизитов перечисляем в коде путём добавления в код соответствующих строк.

2. К элементам соответствующих справочников этих реквизитов прикрепляем вложенные файлы картинок - печати, подписи или чего-то другого. Самое главное, чтобы имена этих файлов начинались на те слова, которые являются ключами соответствующих строк структуры. Например, в элементе справочника, который указан в реквизите "Руководитель" документа должно быть вложение с именем, начинающимся на "ПодписьРуководителя"

 

 

 

3. В макет печатной формы, редактируемом через пользовательский режим - добавляется в нужное место картинка с именем равным ключу соответствующей строки структуры. Например, для примера из п.2 - это "ПодписьРуководителя"

 

 

4. Изначально в функционале БСП определено, что выводимыми/скрываемыми картинками могут быть только картинки с именами, начинающимися на "Печать", "Подпись" или "Факсимиле". Чтобы расширить этот список (добавить, например, "Логотип") нужно переопределить процедуру "ПрефиксыИменОбластейСПодписьюИПечатью" общего модуля "УправлениеПечатью"

Готово.

 

Отличия от примера, приведённого в демобазе конфигурации БСП:

1. Картинки берутся из прикрепленных файлов. Нет необходимости дополнительно дописывать конфигурацию и добавлять реквизиты для хранения картинок.

2. Картинки можно брать из различных реквизитов документа, а не только из реквизита "Организация"

3. Можно брать сразу несколько картинок из одного реквизита (например, как в примере выше - "Печать" и "Логотип" из одного реквизита "Организация").

4. Используются макеты из "Макеты печатных форм".

 

На что стоит обратить внимание:

1. Флажок "Подпись и печать" будет появляться на форме только в том случае, если есть хотя бы одна картинка, которая была подключена с помощью этого механизма.

2. Если в типовом макете уже есть картинка с именем, которое мы хотим добавить (например, в типовом макете "Счет на оплату" уже есть картинка "Логотип"), то в редактируемый пользователем макет уже не добавить такую картинку. Это стандартное поведение платформы, просто нужно это держать в голове и в коде прописывать имя картинки уже с учётом этого (например, "ЛоготипОрганизации").

 

Для большинства случаев вышеприведённого кода достаточно. А в приложенном файле расширение со специфическим дополнительным функционалом для получения не только реквизитов документа, но и вложенных реквизитов этих реквизитов. Например, для получения картинки из элемента справочника "ФизическиеЛица", который является реквизитом справочника "ОтветственныеЛицаОрганизаций", элемент справочника которого является реквизитом "Руководитель" документа "ЗаказКлиента"

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.20.80

Вступайте в нашу телеграмм-группу Инфостарт

ПФ печать подпись логотип печатная форма картинка факсимиле

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    74137    377    170    

322

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    266454    1483    421    

1177

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    62156    128    36    

136

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    39747    111    48    

125

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    8124    33    45    

49

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    26208    97    46    

104

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4616    16    1    

20

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2436    6    0    

21
Для отправки сообщения требуется регистрация/авторизация