Имя: Пароль:
1C
1С v8
Печать УПД БП 3.0
0 yurik85
 
30.05.22
14:02
Добрый день.

Пытаюсь разобраться в печати УПД. Необходимо во внешнюю обработку перенести печать стандартной формы УПД, но не могу разобраться, какой функцией получить табличный документ. Подскажите, пожалуйста, как правильно делать? Вот кусок кода, которым я пытаюсь получить печатную форму.

    МассивОбъектов = Новый Массив;
    
    Для каждого СтрТЗ из ТабДокументов Цикл
        
        Если ЗначениеЗаполнено(СтрТЗ.Документ) и СтрТЗ.ОтправитьПоЕмайл Тогда
            
            МассивОбъектов.Добавить(СтрТЗ.Документ);
            
        КонецЕсли;
        
    КонецЦикла;

    пИмяМенеджераПечати     = "Обработка.ПечатьУПД";
    пИменаМакетов         = "УПДСтатус1_534";
    пПараметрыПечати = Новый Структура("ДополнитьКомплектВнешнимиПечатнымиФормами, ИдентификаторВКомплекте", Ложь, "УниверсальныйПередаточныйДокументКомплект");
    
    пКоллекцияПечатныхФорм = УправлениеПечатью.СформироватьПечатныеФормы(пИмяМенеджераПечати, пИменаМакетов, МассивОбъектов, пПараметрыПечати,, "");
    
    Возврат пКоллекцияПечатныхФорм;
1 yurik85
 
30.05.22
16:15
up
2 Мультук
 
гуру
30.05.22
16:37
(0)

Открываем обработки.ПечатьУПД
Смотрим в Печать(...)

Видим код а-ля

        СтруктураПараметровПечати = УчетНДС.НовыйСтруктураПараметровПечатиУПД_УКД();
        СтруктураПараметровПечати.МассивОбъектов              = МассивОбъектов;
        СтруктураПараметровПечати.ОбъектыПечати               = ОбъектыПечати;
        СтруктураПараметровПечати.ТекстЗапросаДокументам      = ТекстЗапроса;
        СтруктураПараметровПечати.ТолькоПередаточныйДокумент  = Ложь;
        СтруктураПараметровПечати.ТабДокумент                 = Неопределено;
        СтруктураПараметровПечати.ПараметрыПечати             = ПараметрыПечати;
        СтруктураПараметровПечати.КлючПараметровПечати        = МакетУПД.КлючПараметровПечати;
        СтруктураПараметровПечати.ПолныйПутьКМакету           = МакетУПД.ПолныйПутьКМакету;
                
        ТабличныйДокумент = УчетНДС.ПечатьУниверсальныхПередаточныхДокументов(СтруктураПараметровПечати);

Смотрим его под отладчиком, копи-пастим себе нужное.
3 Сияющий Асинхраль
 
30.05.22
17:24
(0) Если надо сделать внешнюю печформу из типового алгоритма, то приготовься к тому, что там нет какой-то одной процедуры, которую надо перенести, когда последний раз это делал пришлось переносить кучу функций и процедур из разных модулей, не меньше пары-тройки тысяч строк...
4 yurik85
 
31.05.22
13:15
(3) Спасибо за наставление ))) Вот я и по куче процедур брожу и понять ничего толком не могу )
5 hhhh
 
31.05.22
15:24
(4) ты поэтапно двигайся. сначала основную процедуру перенеси, которая печатает документ. Запускаешь, если всё нормально, работа закончена, если какие-то ошибки, двигаешься дальше. Не надо все процедуры переносить, если ты их не меняешь и они типовые, пусть они там и остаются в общих модулях.
6 yurik85
 
31.05.22
15:30
(5) Спасибо. Буду пробовать
Программист всегда исправляет последнюю ошибку.