Подскажите как вытащить данные из заказа покупателя которые находятся в табличной части( наименование номенклатуры, стоимость сумма и т.д.)
Может есть у кого пример когда?
oleZakaztmp.text:='Выбрать '+
'ЗаказПокупателя.СуммаДокумента КАК СуммаЗаказаПокупателя, '+
'ЗаказПокупателя.Товары КАК Товары '+ //Тут не знаю правильно ли?
'ИЗ '+
'Документ.ЗаказПокупателя КАК ЗаказПокупателя '+
'ГДЕ '+
' ЗаказПокупателя.Грузополучатель.Код = &Грузополучатель '+
' И ЗаказПокупателя.Ссылка.Дата >= &ДатаНач '+
' И ЗаказПокупателя.Ссылка.Дата <= &ДатаКон ';
oleZakaztmp.УстановитьПараметр('Грузополучатель',oleKontrB.Код);
oleZakaztmp.УстановитьПараметр('ДатаНач',DateTimePicker1.DateTime);
oleZakaztmp.УстановитьПараметр('ДатаКон',DateTimePicker2.DateTime);
end
else begin
ShowMessage('Ошибка выбора периода формирования отчета!');
exit;
end;
oleZakaz:=oleZakaztmp.Выполнить().Выбрать();
oTable.Cells[3,i]:='0';
oTable.Cells[4,i]:='0';
while oleZakaz.Следующий() do begin
oTable.Cells[3,i]:=inttostr(strtoint(oTable.Cells[3,i])+1);
if oleZakaz.СуммаЗаказаПокупателя<>null then
oTable.Cells[4,i]:=floattostr(strtofloat(oTable.Cells[4,i])+strtofloat(oleZakaz.СуммаЗаказаПокупателя));
тут просто пробывал как-то // for c :=oleZakaz.Товары.Количество()-1 downto 1 do begin
oTable.Cells[6,i]:=oTable.Cells[6,i]+string(oleZakaz.Товары[1].Номенклатура);
// end;
end;
oleZakaztmp.text:='Выбрать '+
'ЗаказПокупателя.СуммаДокумента КАК СуммаЗаказаПокупателя, '+
'ИЗ '+
'Документ.ЗаказПокупателя КАК ЗаказПокупателя, '+
'Документ.ЗаказПокупателя.Номенклатура КАК Номенклатура '+
'ГДЕ '+
' ЗаказПокупателя.Грузополучатель.Код = &Грузополучатель '+
' И ЗаказПокупателя.Ссылка.Дата >= &ДатаНач '+
' И ЗаказПокупателя.Ссылка.Дата <= &ДатаКон ';
Немного не понимаю, можно небольшой пример? и пото как в цикле обрабатывать? где указывать номер строки?
for c :=oleZakaz.Товары.Количество()-1 downto 1 do begin oTable.Cells[6,i]:=oTable.Cells[6,i]+string(oleZakaz.Товары(тут).Номенклатура(или тут)[или так]);
end;
ВЫБРАТЬ *
ИЗ Документ.ЗаказПокупателя.Номенклатура КАК СоставЗаказа
ГДЕ СоставЗаказа.Ссылка = &СсылкаНаДокументЗаказа
Этот запрос выведет все содержимое табличной части Номенклатура из документа ЗаказПопкупателя. В качестве параметра надо указать ссылку на конкретный документ.
Константин Нагибович, покажите пожалуйста как бы Вы в 1с циклом обробатывали поля,
1 вода 2(шт) 50 (цена) 100(сумма)
2 персик 1 30 30
я дальше уже сам допру)))
Буду очень благодарен)
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказСоставЗаказа.Наименование.Объем КАК Объем,
| ЗаказСоставЗаказа.Наименование.Вес КАК Вес
|ИЗ
| Документ.Заказ.СоставЗаказа КАК ЗаказСоставЗаказа
|ГДЕ
| Заказ.Ссылка = &номер";
Запрос.УстановитьПараметр("номер", документ.Ссылка);
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
объем = ВыборкаДетальныеЗаписи.Объем;
вес = ВыборкаДетальныеЗаписи.Вес;
КонецЦикла;