Имя: Пароль:
1C
1С v8
ВПФ УТ 11. Не выводится ТабличныйДокумент
0 Solitar
 
19.01.12
08:03
Господа, выручайте!
Уже неск часов пытаюсь понять почему не выводится табличный документ.

вот код:

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

Функция СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати)    Экспорт
   
   УстановитьПривилегированныйРежим(ИСТИНА);
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.АвтоМасштаб = Истина;
   ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

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

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

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

           УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, ВыборкаПарам.Ссылка);
   
       КонецЦикла;
   КонецЦикла;
   
   
    Если ПривилегированныйРежим() Тогда
       УстановитьПривилегированныйРежим(Ложь);
   КонецЕсли;

   Возврат ТабДокумент;
   
КонецФункции
1 Solitar
 
19.01.12
10:32
почему ТабличныйДокумент создается, возвращается, но не печатается???
2 Solitar
 
19.01.12
15:45
Вопрос решен, не правильно передавал имя макета в УправлениеПечатью