Добавление факсимиле/логотипа в готовую печатную форму (УТ 11)

02.06.21

Задачи пользователя - Адаптация типовых решений

Как вставить в любую уже сформированную форму логотип или факсимиле.

В общем, встала как-то задача, что надо "сделать ТОРГ-12 с факсимиле". Вопрос "зачем" не рассматривался, а, сами понимаете, изменить имеющуюся стандартную форму, чтобы туда можно было вставлять факсимиле нужной организации - дело крайне неблагодарное. Ну и решил я зайти с другой стороны.

Речь идет об Управлении торговлей 11, но, в целом это применимо с небольшими доработками и на бухгалтерию, и на унф и т.д. 

Есть общая форма "ПечатьДокументов", туда в конечном итоге отправляются все печатные формы, сформированные через стандартный механизм печати, значит там и будем и мучать. Я добавил ее в расширение, чтобы не снимать ее с поддержки.

Сам ТабличныйДокумент лежи в переменной "ТекущаяПечатнаяФорма".

Первое - надо получить список имеющихся в системе логотипов и факсимиле:

&НаСервере
Функция ФайлОрганизации(Организация, Тип="Логотип") Экспорт
	врРез = новый Структура;
	врРез.Вставить("Файл", 			"");
	врРез.Вставить("Имя", 			"");
	врРез.Вставить("Организация", 	Организация);
	врРез.Вставить("Расширение", 	"");
	врРез.Вставить("Существует", 	Ложь);
	врРез.Вставить("Данные", 		Неопределено);
	
	Если Тип = "Логотип" Тогда
		Если НЕ Организация.ФайлЛоготип.Пустая() Тогда
			Если Организация.ФайлЛоготип.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
				врРез.Имя = СокрЛП(Организация.ФайлЛоготип.ПутьКФайлу);
				врРез.Файл = СокрЛП(Организация.ФайлЛоготип.Том.ПолныйПутьWindows);
				Если Прав(врРез.Файл,1) <> "\" Тогда
					врРез.Файл = врРез.Файл + "\";
				КонецЕсли;
				врРез.Файл = врРез.Файл + врРез.Имя;
				врФайл = новый Файл(врРез.Файл);
				врРез.Существует = врФайл.Существует();
				врРез.Расширение = врФайл.Расширение;
				Если врРез.Существует Тогда
					врРез.Данные = новый ДвоичныеДанные(врРез.Файл);
				КонецЕсли;
			ИначеЕсли Организация.ФайлЛоготип.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
				врНаборЗаписей = РегистрыСведений.ДвоичныеДанныеФайлов.СоздатьНаборЗаписей();
				врНаборЗаписей.Отбор.Файл.Установить(Организация.ФайлЛоготип);
				врНаборЗаписей.Прочитать();
				Если врНаборЗаписей.Количество() > 0 Тогда
					врХрЛоготип = врНаборЗаписей[0].ДвоичныеДанныеФайла;
					врРез.Данные = врХрЛоготип.Получить();
					врРез.Существует = Истина;
				КонецЕсли;
			КонецЕсли;
		КонецЕсли;
	ИначеЕсли Тип = "Печать" Тогда
		Если НЕ Организация.ФайлФаксимильнаяПечать.Пустая() Тогда
			Если Организация.ФайлФаксимильнаяПечать.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВТомахНаДиске Тогда
				врРез.Имя = СокрЛП(Организация.ФайлФаксимильнаяПечать.ПутьКФайлу);
				врРез.Файл = СокрЛП(Организация.ФайлФаксимильнаяПечать.Том.ПолныйПутьWindows);
				Если Прав(врРез.Файл,1) <> "\" Тогда
					врРез.Файл = врРез.Файл + "\";
				КонецЕсли;
				врРез.Файл = врРез.Файл + врРез.Имя;
				врФайл = новый Файл(врРез.Файл);
				врРез.Существует = врФайл.Существует();
				врРез.Расширение = врФайл.Расширение;
				Если врРез.Существует Тогда
					врРез.Данные = новый ДвоичныеДанные(врРез.Файл);
				КонецЕсли;
			ИначеЕсли Организация.ФайлФаксимильнаяПечать.ТипХраненияФайла = Перечисления.ТипыХраненияФайлов.ВИнформационнойБазе Тогда
				врНаборЗаписей = РегистрыСведений.ДвоичныеДанныеФайлов.СоздатьНаборЗаписей();
				врНаборЗаписей.Отбор.Файл.Установить(Организация.ФайлФаксимильнаяПечать);
				врНаборЗаписей.Прочитать();
				Если врНаборЗаписей.Количество() > 0 Тогда
					врХрЛоготип = врНаборЗаписей[0].ДвоичныеДанныеФайла;
					врРез.Данные = врХрЛоготип.Получить();
					врРез.Существует = Истина;
				КонецЕсли;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;
	Возврат врРез;
КонецФункции

&НаСервере
Функция ФайлыОрганизаций()
	врРез = новый СписокЗначений;
	врВыборка = Справочники.Организации.Выбрать();
	Пока врВыборка.Следующий() Цикл
		врФайл = ФайлОрганизации(врВыборка.Ссылка, "Логотип");
		Если врФайл.Существует Тогда
			врРез.Добавить(врФайл, СокрЛП(врВыборка.Ссылка)+" Логотип");
		КонецЕсли;
		врФайл 	= ФайлОрганизации(врВыборка.Ссылка, "Печать");
		Если врФайл.Существует Тогда
			врРез.Добавить(врФайл, СокрЛП(врВыборка.Ссылка)+" Печать");
		КонецЕсли;
	КонецЦикла;
	Возврат врРез;
КонецФункции

Таким образом получили список с имеющимися факсимиле/логотипами. Далее добавляем кнопку на форму, называем ее, скажем "Факсимиле" и вешаем обработчик, в котором просим пользователя выбрать, что он хочет вставить:

&НаКлиенте
Процедура _факсимилеВместо(Команда)
	врСписокФайлов 	= ФайлыОрганизаций();
	врОповещение = Новый ОписаниеОповещения("_ПослеВыбораРисунка", ЭтотОбъект);
	врСписокФайлов.ПоказатьВыборЭлемента(врОповещение,"Выберите изображение");	
КонецПроцедуры

&НаКлиенте
Процедура _ВыбораРисунка(Элемент, Параметры) Экспорт
    Если Элемент <> Неопределено Тогда
        врФайл = Элемент.Значение;
		врКартинка = новый Картинка(врФайл.Данные);
		врРисунок = ТекущаяПечатнаяФорма.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
		врРисунок.Картинка = врКартинка;
		врРисунок.Высота = 40; 
		врРисунок.Ширина = 40;
		врРисунок.РазмерКартинки = РазмерКартинки.Пропорционально;
		врРисунок.ГраницаСверху = Ложь;
		врРисунок.ГраницаСлева = Ложь;
		врРисунок.ГраницаСправа = Ложь;
		врРисунок.ГраницаСнизу = Ложь;
		//__ чтобы прозрачный рисунок остался прозрачным
		врРисунок.ЦветФона = новый Цвет(); 
    КонецЕсли;
КонецПроцедуры

Тестировалось все это на 

1С:Предприятие 8.3 (8.3.17.1549)

Управление торговлей, редакция 11 (11.4.13.51) 

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

Печатные формы УТ11 Факсимиле Логотип

См. также

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    11387    34    15    

41

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

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

5500 руб.

07.02.2023    12199    114    20    

70

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    6589    2    2    

6

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

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    867    1    8    

2

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Решение позволяет автоматически заполнять отдельные реквизиты загружаемых банковских документов, основываясь на известных значениях реквизитов и тексте назначения платежа. Простая настройка, широкие возможности анализа назначения платежа без написания кода и сложных шаблонов.

9760 руб.

17.06.2025    2769    8    0    

8

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

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

9150 руб.

02.08.2023    7653    25    5    

41

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

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    933    1    0    

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