Добавить свой реквизит на печатную форму.

1. Alexponenta 11.07.22 12:39 Сейчас в теме
Имеем: документ.ВСД
Из данного документа есть команда печати "Ветеринарная Справка (формат pdf)".
На данный документ требуется добавить доп.реквизит чтобы он отображался на документе, но проблема в том, что печатной формы в явном виде я найти не могу.

Вот идет список функций. В самом документе макета нет. Откуда тогда идет формирование документа - не ясно

Функция СформироватьПечатнуюФормуВетеринарнойСправки(ОписаниеКоманды) Экспорт
	
	#Если Не ВебКлиент Тогда
	АдресаПечатныхФорм = УправлениеПечатьюУВСВызовСервера.СформироватьПечатнуюФормуВетеринарнойСправки(ОписаниеКоманды.ОбъектыПечати);
	
	Для Каждого ТекЭлемент Из АдресаПечатныхФорм Цикл
		ДвоичныеДанные = ПолучитьИзВременногоХранилища(ТекЭлемент.Значение);
		ИмяВременногоФайлаPDF = ПолучитьИмяВременногоФайла("pdf");
		ДвоичныеДанные.Записать(ИмяВременногоФайлаPDF);
		ОбщегоНазначенияКлиент.ЗапуститьПрограмму(ИмяВременногоФайлаPDF);
	КонецЦикла;
	#КонецЕсли
	
КонецФункции

-----

Функция СформироватьПечатнуюФормуВетеринарнойСправки(ОбъектыПечати) Экспорт
	
	Возврат Документы.ВСД.СформироватьПечатнуюФормуВетеринарнойСправки(ОбъектыПечати);
	
КонецФункции

-----

Функция СформироватьПечатнуюФормуВетеринарнойСправки(МассивДокументов) Экспорт
	
	ТипОбъекта = ОбщегоНазначения.ИмяТаблицыПоСсылке(МассивДокументов[0]);
	
	Запрос = Новый Запрос;
	Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	
	СоздатьВТТаблицаДокументов(Запрос.МенеджерВременныхТаблиц, ТипОбъекта, МассивДокументов);
	
	Запрос.Текст = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	ТаблицаДокументов.ВСД КАК ВСД,
		|	ТаблицаДокументов.ВСД.GUID_Меркурий КАК GUID_Меркурий,
		|	ТаблицаДокументов.ВСД.Представление КАК ПредставлениеДокумента
		|ИЗ
		|	ТаблицаДокументов КАК ТаблицаДокументов
		|ГДЕ
		|	ТаблицаДокументов.ВСД.ТипВСД <> ЗНАЧЕНИЕ(Справочник.ТипыВСД.ПроизводственныйВСД)
		|	И ТаблицаДокументов.ВСД.ТипДокумента <> ЗНАЧЕНИЕ(Справочник.ТипыДокументов.БумажныйДокумент)";
		
	РезультатЗапроса = Запрос.Выполнить();
	
	АдресаПечатныхФорм = Новый Соответствие;
	Выборка = РезультатЗапроса.Выбрать();
	Пока Выборка.Следующий() Цикл
		АдресПечатнойФормы = ИнтеграцияВетисAPIОбработкаПартий.ПолучитьФайлВетСправки(Выборка.ВСД);
		СтрокаСообщенияОбОшибке = НСтр("ru = 'Ошибка получения файла для документа: %1. %2'");
		Если АдресПечатнойФормы = Неопределено Тогда
			СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщенияОбОшибке, Выборка.ПредставлениеДокумента);
			ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрокаСообщенияОбОшибке);
		ИначеЕсли АдресПечатнойФормы.Свойство("СообщениеОбОшибке") Тогда
			СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(СтрокаСообщенияОбОшибке, Выборка.ПредставлениеДокумента, АдресПечатнойФормы.СообщениеОбОшибке);
			ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрокаСообщенияОбОшибке);
		Иначе
			АдресаПечатныхФорм.Вставить("ВСД " + Выборка.GUID_Меркурий, АдресПечатнойФормы.Путь);
		КонецЕсли;
	КонецЦикла;
	
	Возврат АдресаПечатныхФорм;
КонецФункции
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tvm 11.07.22 12:43 Сейчас в теме
имхо надо смотреть в СоздатьВТТаблицаДокументов
3. Alexponenta 11.07.22 12:48 Сейчас в теме
(2) Там временная таблица для запроса формируется
4. tvm 11.07.22 12:51 Сейчас в теме
(3) это понятно. вот в эту таблицу и нужно сначала добавить то что необходимо, а уже потом в запросе выбирать и заполнять макет
5. tvm 11.07.22 12:52 Сейчас в теме
а эта вет справка не из вне приходит? файл pdf ?
6. Alexponenta 11.07.22 12:53 Сейчас в теме
(5) Вот я и думаю... что извне... т.к. по коду есть обращение на сервер Ветис
7. tvm 11.07.22 13:13 Сейчас в теме
(6) тогда ищите сначала как можно pdf редактировать. Вроде здесь где-то были примеры
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот