Имя: Пароль:
1C
1С v8
Запрос по ТЧ документа. В цикле обрабатывается 1 строка.
0 DownloadMASTER
 
26.06.12
01:46
Делаю запрос по табличной части документа:


Процедура Сформировать()

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

   нум = 0;
   Пока Запрос.Группировка("Д")= 1 Цикл
       Сообщить(нум);    
       нум = нум + 1 ;
   КонецЦикла;

КонецПроцедуры


В цикле перебора по группировке "Д" хочу последовательно получить доступ к каждой из строк табличной части, но по факту в цикл заходит 1 раз и выводит только последнюю строку из табличной части.
То есть переменная моя "нум" выводится 1 раз и имеет значение 0.

Как мне реализовать то, что я хочу?
где у меня ошибка?
1 DownloadMASTER
 
26.06.12
01:47
извините, забыл секцию выбрать
это для 77
3 DownloadMASTER
 
26.06.12
01:55
мне надо не только по документу фильтровать, а еще надо по виду номенклатуры
чтобы вычленить услуги

то есть хочу запросом получить строки ТЧ не услуги сначала
поэтому перебор строк табличной части это все-равно что и без запроса я просто документ возьму и переберу его строки
хочу сразу фитрануть....
4 DownloadMASTER
 
26.06.12
01:56
а не получается, потому что на обходе он мне все время только последнюю строку ТЧ выдает
6 DownloadMASTER
 
26.06.12
02:01
а я надеялся.... тогда проще просто бежать по тч документа
спасибо
8 DownloadMASTER
 
26.06.12
02:13
уже, давно
приходится конвертировать
9 NS
 
26.06.12
02:43
Процедура Сформировать()

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

   нум = 0;
   Пока Запрос.Группировка(1)= 1 Цикл
       Сообщить(""+Запрос.Д);    
       Пока Запрос.Группировка(2)=1 цикл
          Сообщить(""+Запрос.номенклатура+" "+Запрос.кол);
       КонецЦикла;
   КонецЦикла;

КонецПроцедуры