Имя: Пароль:
1C
 
ActiveDocument Внешняя печатная форма
0 Denis_stepa
 
28.08.19
14:54
Добрый день. Сделал внешнюю печатную форму с макетом типа ActiveDocument. Добавил ее в типовую УТ 11. Отрабатывает правильно. Однако, выдает системная ошибка.

{ОбщийМодуль.УправлениеПечатью.Модуль(1658)}: В обработчике печати не был сформирован табличный документ для ПЕЧАТЬТест

Листинг куска процедуры:
// Проверим, все ли макеты были сформированы.
    Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл
        Если ПечатнаяФорма.ТабличныйДокумент = Неопределено Тогда
            ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'В обработчике печати не был сформирован табличный документ для: %1'"),
                ПечатнаяФорма.ИмяМакета);
            ВызватьИсключение(ТекстСообщенияОбОшибке);
        КонецЕсли;
        
        ПечатнаяФорма.ТабличныйДокумент.КоличествоЭкземпляров = ПечатнаяФорма.Экземпляров;
    КонецЦикла;


Вопрос. Как при формировании ВПР с типом макета activedocument заполнить "ПечатнаяФорма.ТабличныйДокумент"?


Листинг процедуры формирования макета:

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
   Договор = ПолучитьМакет("Макет"); // получим макет-ActiveDocument
   MSWord = Договор.Получить();  
   Попытка
       w = MSWord.Application.Documents(1);
       w.Activate();        
          
       Замена = w.Content.Find;Замена.Execute("[ИННКПП]",Ложь, Истина, Ложь, , , Истина, , Ложь, МассивОбъектов[0].Контрагент.ИНН + "/" + МассивОбъектов[0].Организация.КПП);
       MSWord.visible=true;  
    MSWord.Activate();
Исключение
    Сообщить(ОписаниеОшибки());
    MSWord.Application.Quit();
КонецПопытки;
    

КонецПроцедуры // Печать()
1 lxs
 
28.08.19
14:57
И что тебе непонятно?
2 Denis_stepa
 
28.08.19
15:17
(1) {ОбщийМодуль.УправлениеПечатью.Модуль(1658)}: В обработчике печати не был сформирован табличный документ для ПЕЧАТЬТест

Это выпадает после заполнения печатной формы.
Если бы макет был обычный ТабДок. То можно было бы его вернуть в коллекцию,и все ок.А тут не совсем обычный макет.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший