Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 мая 2024, 01:18

1С 8.3. Как получить данные запроса, который содержит вложенную таблицу Товары с полями?

Автор gulnyr, 28 авг 2023, 16:26

0 Пользователей и 1 гость просматривают эту тему.

gulnyr

Как получить данные у этого текста запроса, который содержит вложенную таблицу Товары с полями?

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

Запрос.УстановитьПараметр("Номер","ИП00006996");
ЗапросВыполнить = Запрос.Выполнить().Выбрать();

Пока ЗапросВыполнить.Следующий() Цикл

КонецЦикла;

Максим75

gulnyr, соединить табличную часть документа с самим документом.
и снова здорова, опять параметром является номер. ну почему не ссылка то?

antoneus

Вариант 1: выполнять запрос сразу к табличной части

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

Вариант 2:

Пока ЗапросВыполнить.Следующий() Цикл
    ВыборкаТовары = ЗапросВыполнить.Товары.Выбрать();
    Пока ВыборкаТовары.Следующий() Цикл
        ..........
КонецЦикла;

gulnyr

antoneus, конкретно на этом примере возможно вытаскивать данные? Увидел в книге Хрусталева пример, а вот как вытаскивать их не показали (в консоле запросов показывается как таблица значений)

Максим75

gulnyr, так Вам же в варианте 1 и показали как. вытаскиваете номер дока, товар и количество. получаете таблицу с 3 колонками и строками, сколько строк в табличной части.

хотя сам 1с конструкцию вида ЗаказНарядТовары.Ссылка.Номер все равно в левое соединение внутри запроса превратит.
не знаю даже как и лучше - сразу через соединение делать или через двойную точку для доступа к реквизиту.

antoneus


gulnyr

Максим75, разобрался, почему как на примере не получалось. Просто я задал псевдоним: ЗаказНаряд.Товары.(Номенклатура,Количество) КАК ТаблЧасть. Из-за этого и запутался, почему поле ЗапросВыполнить.Товары не находилось :ooifh:
Нужно было так: ЗапросВыполнить.ТаблЧасть

gulnyr

Все у Хрусталевой показано, кстати.
antoneus, Не обратил внимание. Буду знать

gulnyr

Цитата: gulnyr от 29 авг 2023, 08:24и снова здорова, опять параметром является номер. ну почему не ссылка то?
Максим75, учту. Привычка)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск