Имя: Пароль:
1C
1С v8
вывод табличной части в печатную форму
0 kap-v-kstu
 
25.09.12
13:26
Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ПоступлениеИзПереработки.Ссылка,
       |    ПоступлениеИзПереработки.Организация,
       |    ПоступлениеИзПереработки.Контрагент,
       |    ПоступлениеИзПереработки.ДоговорКонтрагента,
       |    ПоступлениеИзПереработкиИспользованныеМатериалы.НомерСтроки,
       |    ПоступлениеИзПереработкиИспользованныеМатериалы.Номенклатура,
       |    ПоступлениеИзПереработкиИспользованныеМатериалы.Количество
       |ИЗ
       |    Документ.ПоступлениеИзПереработки.ИспользованныеМатериалы КАК ПоступлениеИзПереработкиИспользованныеМатериалы
       |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеИзПереработки КАК ПоступлениеИзПереработки
       |        ПО ПоступлениеИзПереработкиИспользованныеМатериалы.Ссылка = ПоступлениеИзПереработки.Ссылка";

   Результат = Запрос.Выполнить();

   Выборка = Результат.Выбрать();

   Пока Выборка.Следующий() Цикл
   
       // Для Каждого Строка Из Документы.ПоступлениеИзПереработки.Выбрать().ИспользованныеМатериалы Цикл  
       // Строка = ИспользованныеМатериалы.Добавить();
       // Строка.Номенклатура = Выборка.Номенклатура;
       // Строка.Количество   = Выборка.Количество;
   
   КонецЦикла;

   
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Акт";
   
    Макет = ПолучитьМакет("Акт");
   
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   
   
    ОбластьЗаголовок.Параметры.Заполнить(Выборка);
    ТабДокумент.Вывести(ОбластьЗаголовок);    
    ОбластьСтрока.Параметры.Заполнить(Выборка);
    ТабДокумент.Вывести(ОбластьСтрока);
    ТабДокумент.Вывести(ОбластьПодвал);
   
    ТабДокумент.Показать();




как обойти строки табличной части??на печать выводится только последняя строка таблицы
1 Maxus43
 
25.09.12
13:27
ОбластьЗаголовок.Параметры.Заполнить(Выборка);
    ТабДокумент.Вывести(ОбластьЗаголовок);    
    ОбластьСтрока.Параметры.Заполнить(Выборка);
    ТабДокумент.Вывести(ОбластьСтрока);

Это в цикл
2 Maxus43
 
25.09.12
13:27
тьфу,

    ОбластьСтрока.Параметры.Заполнить(Выборка);
    ТабДокумент.Вывести(ОбластьСтрока);

это в цикл
3 Рэйв
 
25.09.12
13:29
4 kap-v-kstu
 
25.09.12
13:29
Пока Выборка.Следующий() Цикл
ОбластьСтрока.Параметры.Заполнить(Выборка);
    ТабДокумент.Вывести(ОбластьСтрока);  
     

   
   КонецЦикла;

так??
5 Шапокляк
 
25.09.12
13:30
(4) а проверить? Или число попыток ограничено?
6 kap-v-kstu
 
25.09.12
13:40
спасибо большое, получилось0)
7 Maxus43
 
25.09.12
13:41
мне интересно просто как ты (0) писал, сделал пустой цикл и думал что оно всё само заполнится?
8 kap-v-kstu
 
25.09.12
14:00
Функция Печать () Экспорт
   
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ПоступлениеИзПереработки.Ссылка,
       |    ПоступлениеИзПереработки.Организация,
       |    ПоступлениеИзПереработки.Контрагент,
       |    ПоступлениеИзПереработки.ДоговорКонтрагента,
       |    ПоступлениеИзПереработкиИспользованныеМатериалы.НомерСтроки,
       |    ПоступлениеИзПереработкиИспользованныеМатериалы.Номенклатура,
       |    ПоступлениеИзПереработкиИспользованныеМатериалы.Количество,
       |    ПоступлениеИзПереработки.НоменклатурнаяГруппа
       |ИЗ
       |    Документ.ПоступлениеИзПереработки.ИспользованныеМатериалы КАК ПоступлениеИзПереработкиИспользованныеМатериалы
       |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеИзПереработки КАК ПоступлениеИзПереработки
       |        ПО ПоступлениеИзПереработкиИспользованныеМатериалы.Ссылка = ПоступлениеИзПереработки.Ссылка";

   Результат = Запрос.Выполнить();

   Выборка = Результат.Выбрать();
       
        ТабДокумент = Новый ТабличныйДокумент;
        ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Акт";
   
        Макет = ПолучитьМакет("Акт");
        Выборка.Следующий();
        ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
        ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
           
        ОбластьЗаголовок.Параметры.Заполнить(Выборка);
        ТабДокумент.Вывести(ОбластьЗаголовок);    
       
       
   Пока Выборка.Следующий() Цикл
     
        ОбластьСтрока.Параметры.Заполнить(Выборка);
        ТабДокумент.Вывести(ОбластьСтрока);

   КонецЦикла;

    ТабДокумент.Вывести(ОбластьСтрока);    
    ТабДокумент.Вывести(ОбластьПодвал);    
    ТабДокумент.Показать();    
   
КонецФункции


результат
9 kap-v-kstu
 
25.09.12
14:01
2    Заготовка для полозьев    15
3    Лак декоративный        25
3    Лак декоративный        25


первая строка не выводится, последняя задваивается
10 Maxus43
 
25.09.12
14:02
после цикла убери:
    ТабДокумент.Вывести(ОбластьСтрока);
11 kap-v-kstu
 
25.09.12
14:04
2    Заготовка для полозьев   15
3    Лак декоративный        25

теперь не попадает первая строка
12 Maxus43
 
25.09.12
14:05
запрос в топку. Выбирай сразу ТЧ, без самой таблицы документа
13 Шапокляк
 
25.09.12
14:06
Выборка.Следующий(); /////////////// Убери
        ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
        ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
        ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
             
        ОбластьЗаголовок.Параметры.Заполнить(Выборка);
        ТабДокумент.Вывести(ОбластьЗаголовок);    
       
       
   Пока Выборка.Следующий() Цикл
     
        ОбластьСтрока.Параметры.Заполнить(Выборка);
        ТабДокумент.Вывести(ОбластьСтрока);

   КонецЦикла;

    ТабДокумент.Вывести(ОбластьСтрока);   ///УБЕРИ
14 Kucha88
 
12.10.12
09:36
добрый день уважаемые, прошу сразу не пинать, но возник небольшой вопрос написал запрос по выводу табличной части в ПФ, но выводиться только одна строка и то из середины не могу понять почему, код:
ТабДокумент = Новый ТабличныйДокумент;

   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаданиеНаПроизводство_ЗаданиеНаПроизводство";
   Макет = ПолучитьМакет("ЗаданиеНаПроизводство");
   ОбластьМакетазаголовок = Макет.ПолучитьОбласть("Заголовок");

   Запрос = Новый Запрос;
   
   Запрос.Текст ="ВЫБРАТЬ
   |ссылка.номер,
   |ссылка.дата,
   |номерстроки,
   |Номенклатура,
   |ЕдиницаИзмерения,
   |количество
   |ИЗ Документ.ЗаданиеНаПроизводство.выпусктехпроцесс
   |ГДЕ
   |ссылка = &ТекущийДокумент";

   Запрос.УстановитьПараметр("ТекущийДокумент", Ссылканаобъект);
   Результат = запрос.Выполнить();
   табдокумент.Очистить();

   выборкаданных = результат.Выбрать();
   пока выборкаданных.Следующий() цикл
   ОбластьМакетазаголовок.Параметры.заполнить(выборкаданных);
   ОбластьМакетазаголовок.Параметры.ТекстЗаголовка1 ="Корешок заказа № Зпр-"+выборкаданных.номер;
   ОбластьМакетазаголовок.Параметры.ТекстЗаголовкадата = "от " + Формат(выборкаданных.дата, "ДЛФ=DD") ;
   конеццикла;  
   ТабДокумент.Вывести(ОбластьМакетаЗаголовок);


подскажите пожалуйста что не так