Имя: Пароль:
1C
1С v8
УТ 11 Ошибка печатной формы
0 el_dll
 
08.02.21
18:42
Здравствуйте, помогите пожалуйста решить проблему. Выдает такую ошибку - {ОбщийМодуль.УправлениеПечатью.Модуль(1214)}: В обработчике печати не был сформирован табличный документ для: НовыйМакет
            ВызватьИсключение(ТекстСообщенияОбОшибке);

Код прилагаю ниже:

Функция СведенияОВнешнейОбработке() Экспорт
    
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.3.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();

МасНазначений = Новый Массив;
МасНазначений.Добавить("Документ.РеализацияТоваровУслуг");


ПараметрыРегистрации.Назначение = МасНазначений;
ПараметрыРегистрации.Наименование = "Печать заказа";
ПараметрыРегистрации.Версия = "1.00";
ПараметрыРегистрации.БезопасныйРежим = Ложь;


НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Печать заказа'");
НоваяКоманда.Идентификатор = "НовыйМакет";
НоваяКоманда.Использование =ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = "ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции



Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "НовыйМакет", "Печать заказа", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));
КонецПроцедуры

                                                                

Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
    УстановитьПривилегированныйРежим(Истина);
    Запрос = Новый Запрос;
    Запрос.Текст =
             "ВЫБРАТЬ
             |    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
             |    РеализацияТоваровУслуг.Контрагент КАК Контрагент,
             |    РеализацияТоваровУслуг.Организация КАК Организация
             |ИЗ
             |    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
             |ГДЕ
             |    РеализацияТоваровУслуг.Ссылка = &СсылкаНаДокумент
             |;
             |
             |////////////////////////////////////////////////////////////////////////////////
             |ВЫБРАТЬ
             |    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
             |    РеализацияТоваровУслугТовары.Количество КАК Количество,
             |    РеализацияТоваровУслугТовары.Цена КАК Цена,
             |    РеализацияТоваровУслугТовары.Сумма КАК Сумма,
             |    РеализацияТоваровУслугТовары.НомерСтроки КАК НомерСтроки,
             |    ЕСТЬNULL(РеализацияТоваровУслугТовары.Номенклатура.ВесЕдиницаИзмерения.Вес, 0) КАК НоменклатураВесЕдиницаИзмеренияВес,
             |    ЕСТЬNULL(РеализацияТоваровУслугТовары.Номенклатура.ВесЕдиницаИзмерения.Объем, 0) КАК НоменклатураВесЕдиницаИзмеренияОбъем
             |ИЗ
             |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
             |ГДЕ
             |    РеализацияТоваровУслугТовары.Ссылка = &СсылкаНаДокумент
             |;
             |
             |////////////////////////////////////////////////////////////////////////////////
             |ВЫБРАТЬ
             |    КонтрагентыКонтактнаяИнформация.НомерТелефона КАК НомерТелефона
             |ИЗ
             |    Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
             |ГДЕ
             |    КонтрагентыКонтактнаяИнформация.Ссылка = &СсылкаНаДокумент";
    
    
    
    
            
    Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент);
    
    ДанныеДляПечати = Запрос.ВыполнитьПакет();
    ДанныеДляПечатиПоШапке = ДанныеДляПечати[0].Выбрать();
    ДанныеДляПечатиПоШапке.Следующий();
    ДанныеДляПечатиПоТЧ = ДанныеДляПечати[1].Выбрать();
//создаем новый документ, задаем его параметры и выбираем созданный нами макет
    Табдок = новый ТабличныйДокумент;
    Табдок.ИмяПараметровПечати = "ПараметрыПечати";
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТабДок.АвтоМасштаб = Истина;
    МакетОбработки = ПолучитьМакет("НовыйМакет");
    ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
    ОбластьШапка.Параметры.Документ = ДанныеДляПечатиПоШапке.Ссылка;
    ОбластьШапка.Параметры.Организация = ДанныеДляПечатиПоШапке.Организация;
    ОбластьШапка.Параметры.Покупатель = ДанныеДляПечатиПоШапке.Контрагент;
    //ОбластьШапка.Параметры.Телефон = ДанныеДляПечатиПоШапке.НомерТелефона;
    Табдок.Вывести(ОбластьШапка);
    
    ОбластьСтроки  = МакетОбработки.ПолучитьОбласть("Информация");
    ИтогоВес = 0;
    ИтогоСум = 0;
    ИтогоОбъем = 0;
    Сообщить(ДанныеДляПечатиПоТЧ.количество());
    Сообщить(типзнч(ДанныеДляПечатиПоТЧ));
    Пока ДанныеДляПечатиПоТЧ.следующий() цикл
                ОбластьСтроки.Параметры.Товар = ДанныеДляПечатиПоТЧ.Номенклатура;
                ОбластьСтроки.Параметры.Количество = ДанныеДляПечатиПоТЧ.Количество;
                ОбластьСтроки.Параметры.Цена = ДанныеДляПечатиПоТЧ.Цена;
                ОбластьСтроки.Параметры.Сумма = ДанныеДляПечатиПоТЧ.Сумма;
                ИтогоСум = ИтогоСум + ДанныеДляПечатиПоТЧ.Сумма;
                ОбластьСтроки.Параметры.Вес = ДанныеДляПечатиПоТЧ.НоменклатураВесЕдиницаИзмеренияВес;
                ИтогоВес = ИтогоВес + ДанныеДляПечатиПоТЧ.НоменклатураВесЕдиницаИзмеренияВес;
                ОбластьСтроки.Параметры.Объем = ДанныеДляПечатиПоТЧ.НоменклатураВесЕдиницаИзмеренияОбъем;
                ИтогоОбъем = ИтогоОбъем + ДанныеДляПечатиПоТЧ.НоменклатураВесЕдиницаИзмеренияОбъем;
                ОбластьСтроки.Параметры.НомерСтроки = ДанныеДляПечатиПоТЧ.НомерСтроки;
                Табдок.Вывести(ОбластьСтроки);
    КонецЦикла;
    ОбластьИтогСтр  = МакетОбработки.ПолучитьОбласть("Итог");
    ОбластьИтогСтр.Параметры.ИтогоСум = ИтогоСум;
    ОбластьИтогСтр.Параметры.ИтогоВес = ИтогоВес;
    ОбластьИтогСтр.Параметры.ИтогоОбъем = ИтогоОбъем;
    Табдок.Вывести(ОбластьИтогСтр);
    
    

    
    
    КонецФункции
1 Михаил Козлов
 
08.02.21
19:09
А где Возврат табДок?
2 el_dll
 
08.02.21
19:56
(1) Спасибо большое) Два часа голову ломал, а оказалось все так просто
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан