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

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 редактировать. Вроде здесь где-то были примеры
Оставьте свое сообщение

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