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

Вывод поля таб.части с помощью ПостроителяОтчета

Автор MrWait, 23 мая 2022, 09:47

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

MrWait

Доброго дня!
Прошу помощи в построении отчета на обычных формах.
Есть Запрос, который корректно отрабатывает при формировании отчета, но не корректно выводится в построителе, а именно - В таблице не выводится поле "Количество" из ТабличнойЧасти "Товары" документа "поступление товаров и услуг".
Не могу понять, как устранить данную проблему и почему она вообще возникла.
Текст процедуры:
Запрос = Новый Запрос("ВЫБРАТЬ
                      | ЦеныНоменклатурыКонтрагентовСрезПоследних.Период КАК ДатаПоступления,
                      | ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор.Контрагент КАК Поставщик,
                      | ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура КАК Номенклатура,
                      | ЦеныНоменклатурыКонтрагентовСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                      | ЦеныНоменклатурыКонтрагентовСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                      | ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена,
                      | ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор КАК Документ,
                      | ПоступлениеТоваровУслуг.Товары.(Количество)
                      |                      
  |ИЗ
                      | РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
                      | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
                      | ПО ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор = ПоступлениеТоваровУслуг.Ссылка
                      |ГДЕ
                      | ПоступлениеТоваровУслуг.Товары.НомерСтроки = ЦеныНоменклатурыКонтрагентовСрезПоследних.НомерСтроки
                      | И ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура.Наименование = &Номенклатура
                      |
                      |УПОРЯДОЧИТЬ ПО
                      | ДатаПоступления УБЫВ,
                      | Поставщик,
                      | Документ,
                      | Номенклатура,
                      | ХарактеристикаНоменклатуры,
                      | Цена,
                      | ЕдиницаИзмерения,
                      | Поставщик");


ПолеНоменклатуры = ЭтаФорма.ЭлементыФормы.Список.ТекущаяСтрока.Наименование;
Запрос.УстановитьПараметр("Номенклатура", ПолеНоменклатуры);

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

Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(Результат);
Построитель.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);
    Построитель.ОформитьМакет();
    Построитель.Выполнить();
    Построитель.Вывести();

//ТД = Новый ТабличныйДокумент;
//Построитель.Вывести(ТД);
//ТД.Показать();

LexaK

MrWait, необходимо сразу обращаться к ТЧ.Товары, примерно так
...
            |    ПоступлениеТоваровУслугТовары.Количество
                          |                             
                          |ИЗ
                          |    РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
                          |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
                          |        ПО ЦеныНоменклатурыКонтрагентовСрезПоследних.Регистратор = ПоступлениеТоваровУслугТовары.Ссылка
                          |и    ПоступлениеТоваровУслугТовары.НомерСтроки = ЦеныНоменклатурыКонтрагентовСрезПоследних.НомерСтроки
                          |ГДЕ
                          |    ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура.Наименование = &Номенклатура
...
если помогло нажмите: Спасибо!

MrWait

LexaK, Спасибо, всё заработало корректно. Однако я правильно понял, что я выбирал ссылку на документ и в нём шёл по ссылке в табличную часть, а в вашем примере берётся табличная часть без ссылок? Мне казалось, что в 1с прописывание ссылок как максимум дурной тон, но не влияет на функциональность (почти, там вроде что-то связанно с производительностью...).

LexaK

Цитироватьтабличная часть без ссылок?
- нет! все ТЧ содержат Ссылку на сам документ к которому они и принадлежат.
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск