Вывести в ТЧ данные по запросу

1. bluntschi 25.09.14 14:16 Сейчас в теме
Добрый день, подскажите, делаю запрос, выбираю данные,
и потом эти данные нужно добавить в табличную часть документ, но данные не добавляются, что делаю не так? (КА 1.1.49.1, платформа 8.2.19.102)

данные есть, и это проверено

   Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
                  |    ВнутреннийЗаказТовары.Номенклатура как Номенклатура,
                  |    ВнутреннийЗаказТовары.Ссылка как ВЗ,
                  |    ВнутреннийЗаказТовары.Продукция как Продукция,
                  |    ВнутреннийЗаказТовары.ЗаказПокупателя,
                  |    ВнутреннийЗаказТовары.Количество
                  |ИЗ
                  |    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТовары
                  |    ГДЕ     ВнутреннийЗаказТовары.Продукция  = &Продукция
                  |    и ВнутреннийЗаказТовары.ЗаказПокупателя = &Заказ";
                 
                 
    ПродукцияКод ="00000014213";
    Продукция = Справочники.Номенклатура.НайтиПоКоду(ПродукцияКод);
       
   
    ЗаказПокупателя = Документы.ЗаказПокупателя.НайтиПоНомеру("УСП0051_015", Дата(2013, 12, 23)).ПолучитьОбъект();
    Заказ = ЗаказПокупателя.Ссылка;
   
    Запрос.УстановитьПараметр("Продукция", Продукция);
    Запрос.УстановитьПараметр("Заказ", Заказ);
   
    Шапка = Запрос.Выполнить().Выбрать();
    Пока Шапка.Следующий() Цикл

    Для Каждого Строка Из Объект.Материалы Цикл
         
        Строка                     = Объект.Материалы.Добавить();   
        Строка.Номенклатура        = Шапка.Номенклатура;
   
    КонецЦикла;   
    КонецЦикла;  
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. tamidi 8 25.09.14 14:30 Сейчас в теме
(1) bluntschi, у вас оператор Объект.Материалы.Добавить(); стоит в цикле по Объект.Материалы, а если там пусто, то следовательно мы в него не попадем
bluntschi; AllexSoft; +2 Ответить
7. bluntschi 25.09.14 14:35 Сейчас в теме
(6) tamidi, а как попасть??? и там да пусто
9. bluntschi 25.09.14 14:37 Сейчас в теме
(6) tamidi, (8) bluntschi, вот так сделала

Пока Шапка.Следующий() Цикл
		Объект.Материалы.Добавить();
		Сообщить(Шапка.Номенклатура);
			Для каждого Строка Из Объект.Материалы Цикл


Добавилось
10. tamidi 8 25.09.14 14:39 Сейчас в теме
(9) bluntschi, надо просто этот цикл убрать, вам же надо добавить строки в ТЧ, а не прочитать из нее данные
    Шапка = Запрос.Выполнить().Выбрать();
    Пока Шапка.Следующий() Цикл

        Строка                     = Объект.Материалы.Добавить();   
        Строка.Номенклатура        = Шапка.Номенклатура;
   
    КонецЦикла;  

Показать
bluntschi; +1 Ответить
14. bluntschi 26.09.14 08:08 Сейчас в теме
(10) tamidi, (13) YanTsys, спасибо. решилось
2. TVA_11 25.09.14 14:19 Сейчас в теме
На каком этапе данные не добавляются?
3. bluntschi 25.09.14 14:24 Сейчас в теме
(2) TVA_11,
ну вот если после шапка следующий вывести в сообщить данные, они выводятся, а когда для каждого Строка из Объект.материалы делаешь, не выводятся
4. AllexSoft 25.09.14 14:28 Сейчас в теме
(3) bluntschi, странный код однако.. вот например зачем это?
ЗаказПокупателя = Документы.ЗаказПокупателя.НайтиПоНомеру("УСП0051_015", Дата(2013, 12, 23)).ПолучитьОбъект();
Заказ = ЗаказПокупателя.Ссылка;


можно Заказ = Документы.ЗаказПокупателя.НайтиПоНомеру("УСП0051_015", Дата(2013, 12, 23));

что у вас в Объект ?
8. bluntschi 25.09.14 14:36 Сейчас в теме
(4) AllexSoft, в Объект.материалы - пустая табличная часть
5. TVA_11 25.09.14 14:29 Сейчас в теме
Тогда у вас в объект.материалы нет строк.

или внутрь цикла все же попадаете?
11. AllexSoft 25.09.14 15:10 Сейчас в теме
вообще-то без геморроя это решается
Объект.Материалы.Загрузить(Запрос.Выполнить().Выгрузить());
все остальное можно выкинуть..
12. hop 112 25.09.14 16:18 Сейчас в теме
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
|    ВнутреннийЗаказТовары.Номенклатура как Номенклатура,
|    ВнутреннийЗаказТовары.Ссылка как ВЗ,
|    ВнутреннийЗаказТовары.Продукция как Продукция,
|    ВнутреннийЗаказТовары.ЗаказПокупателя,
|    ВнутреннийЗаказТовары.Количество
|ИЗ
|    Документ.ВнутреннийЗаказ.Товары КАК ВнутреннийЗаказТовары
|    ГДЕ     ВнутреннийЗаказТовары.Продукция  = &Продукция
|    и ВнутреннийЗаказТовары.ЗаказПокупателя = &Заказ";


ПродукцияКод ="00000014213";
Продукция = Справочники.Номенклатура.НайтиПоКоду(ПродукцияКод);


ЗаказПокупателя = Документы.ЗаказПокупателя.НайтиПоНомеру("УСП0051_015", Дата(2013, 12, 23)).ПолучитьОбъект();
Заказ = ЗаказПокупателя.Ссылка;

Запрос.УстановитьПараметр("Продукция", Продукция);
Запрос.УстановитьПараметр("Заказ", Заказ);

Шапка = Запрос.Выполнить().Выбрать();
Пока Шапка.Следующий() Цикл
	
	//Для Каждого Строка Из Объект.Материалы Цикл
		
		Строка                     = Объект.Материалы.Добавить();   
		Строка.Номенклатура        = Шапка.Номенклатура;
		
	//КонецЦикла;   
КонецЦикла;
Показать
bluntschi; YanTsys; +2 Ответить
13. YanTsys 12 25.09.14 16:45 Сейчас в теме
Для Каждого Строка Из Объект.Материалы Цикл
         
        Строка                     = Объект.Материалы.Добавить();   
        Строка.Номенклатура        = Шапка.Номенклатура;
   
КонецЦикла;


Жесть...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот