Имя: Пароль:
1C
1С v8
Внешняя подключаемая печатная форма (Упр. формы)
0 SkillUp
 
10.01.19
10:40
Все выполнил по аналогии с - http://1c.biz.ua/public/286059/

Ошибка в процудуре - Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

Ошибка: {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(221)}: Недостаточно фактических параметров
    ВнешняяОбработкаОбъект.Печать

Проверил параметры как в типовой. Определил ,что параметр - ПараметрыПечати - структура (ЗаголовкФормы, ТУТ-СсылкаНаДокументПечати) У меня же, во внешней там пусто.

Чтоб решить проблему делаю так:

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;

    ПараметрыПечати = Новый Структура ("ЗаголовокФормы", (ССЫЛКА НА ДОКУМЕНТ) КАК?!?!);
    

    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СписаниеТоваровВнешняя") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СписаниеТоваровВнешняя", НСтр("ru='Акт списания товаров';uk='Акт списання товарів'"),
            ПечатьСписаниеТоваров(МассивОбъектов, ОбъектыПечати, ПараметрыВывода),,"ПФ_MXL_Накладная", , Истина);
    КонецЕсли;
    
КонецПроцедуры // Печать

Но как ссылку на документ вытащить? У меня же внешняя обработка. Что-то я на этом моменте застрял... Или проблема не из-за этого, кто-то с таким сталкивался?
1 ДенисЧ
 
10.01.19
10:50
МассивОбъектов заполнил? ОбъектыДляПечати заполнил?
2 SkillUp
 
10.01.19
11:01
(1) МассивОбъектов заполняется, ОбъектыДляПечати тоже...
3 Deon
 
10.01.19
11:20
(0) А что в этом месте написано?
ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(221)
4 SkillUp
 
10.01.19
11:41
(3) ВнешняяОбработкаОбъект.Печать(
        ПараметрыИсточника.ОбъектыНазначения,
        КоллекцияПечатныхФорм,
        ОбъектыПечати,
        ПараметрыВывода);
5 Deon
 
10.01.19
11:45
(4) Вот и убери из своей процедуры Печать() параметр ПараметрыПечати
6 SkillUp
 
10.01.19
11:52
(5) Не чего понять не могу ,в модуле менеджер этого документа (Типовая, не снятая с поддрежки)

Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Ведомость") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Ведомость", НСтр("ru='Акт списания товаров';uk='Акт списання товарів'"),
            ПечатьСписаниеТоваров(МассивОбъектов, ОбъектыПечати, ПараметрыВывода),,"Документ.ОприходованиеТоваров.ПФ_MXL_Накладная", , Истина);
    КонецЕсли;
    
КонецПроцедуры // Печать

Я пишу во внешеней аналогично:
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;

    ПараметрыПечати = Новый Структура ("ЗаголовокФормы",МассивОбъектов[0].Ссылка);
    

    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СписаниеТоваровВнешняя") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СписаниеТоваровВнешняя", НСтр("ru='Акт списания товаров';uk='Акт списання товарів'"),
            ПечатьСписаниеТоваров(МассивОбъектов, ОбъектыПечати, ПараметрыВывода),,"ПФ_MXL_Накладная", , Истина);
    КонецЕсли;
    
КонецПроцедуры // Печать

У меня ошибка, вызов этой процедуры из типовой нету ошибок...
7 SkillUp
 
10.01.19
11:54
(5) Пробовал

другая ошибка -{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(233)}: В обработчике печати не был сформирован табличный документ для: ПФ_MXL_Накладная
            ВызватьИсключение(ТекстСообщенияОбОшибке);
8 SkillUp
 
10.01.19
11:54
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(233)}:

ВнешняяОбработкаОбъект.Печать(
        ПараметрыИсточника.ОбъектыНазначения,
        КоллекцияПечатныхФорм,
        ОбъектыПечати,
        ПараметрыВывода);
    
    // Проверим, все ли макеты были сформированы
    Для Каждого Стр Из КоллекцияПечатныхФорм Цикл
        Если Стр.ТабличныйДокумент = Неопределено Тогда
            ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru='В обработчике печати не был сформирован табличный документ для: %1';uk='В обробнику друку не сформовано табличний документ для: %1'"),
                Стр.ИмяМакета);
            ВызватьИсключение(ТекстСообщенияОбОшибке);
        КонецЕсли;
9 SkillUp
 
10.01.19
11:57
Нашел видео неа ютуб - https://www.youtube.com/watch?v=Jfy7oJ-qPDY&t=1782s  

31 мин. 45 сек - Там аналогичная ситуация ,человек просто добавил. Человек просто глянул что такое "ПараметрыПечати", и вручную указал...
10 SkillUp
 
10.01.19
11:59
(9) Нет, недосмотрел, там еще одно изменение делал ,пардон, если все заработает, напишу...
11 SkillUp
 
10.01.19
12:17
Время на видео 19.00, с аналогичной ситуацией...
12 SkillUp
 
10.01.19
12:31
Вопрос снят! Все работает!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.