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

В табличной части отображается только первая запись

Автор vrbitdir, 17 янв 2019, 11:16

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

vrbitdir

Добрый день!

Пожалуйста помогите разобраться.
Есть запрос:

Запрос.Текст =
   "ВЫБРАТЬ
   |   Док.Ссылка КАК ДокументРеализации,
   |   Док.Организация КАК НаименованиеОрганизации,
   |   Док.Организация.ИНН КАК ИНН,
   |   Док.Дата КАК ДатаГарантии,
   |   Док.Номер КАК НомерГарантии,
   |   Товары.(
   |   Номенклатура КАК Номенклатура,
   |   Тов.НоменклатураНабора КАК НаименованиеТовара,
   |   Тов.Количество Как Количество,
   |   СправочникНоменклатураДопСв.Значение КАК СрокГарантии)
   |ИЗ
   |   Документ.РеализацияТоваровУслуг КАК Док
   |ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК Тов
   | ПО Док.Ссылка = Тов.Ссылка
   |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
   | ПО Тов.Ссылка = СправочникНоменклатура.Ссылка
   |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК СправочникНоменклатураДопСв   
   | ПО Тов.НоменклатураНабора = СправочникНоменклатураДопСв.Ссылка
   | И (СправочникНоменклатураДопСв.Свойство.Имя = ""ДПР_СрокГарантии"")
   |ГДЕ
   |   Док.Ссылка В (&МассивОбъектов)";


В результате, его выполнения в табличной части отображается одна и таже запись (первая) из "Документ.РеализацияТоваровУслуг.Товары"
То есть когда в документе реализации только одна запись - все работает нормально, а когда больше одной выводится несколько раз одна и та же запись, только первая.
Как нужно изменить запрос что бы выводились все записи?

wise

(0)
"ВЫБРАТЬ
|   РеализацияТоваровУслугТовары.Ссылка,
|   РеализацияТоваровУслугТовары.Ссылка.Организация,
|   РеализацияТоваровУслугТовары.Ссылка.Организация.ИНН,
|   РеализацияТоваровУслугТовары.Ссылка.Дата,
|   РеализацияТоваровУслугТовары.Ссылка.Номер,
|   РеализацияТоваровУслугТовары.Номенклатура,
|   РеализацияТоваровУслугТовары.НоменклатураНабора
|ИЗ
|   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
|   РеализацияТоваровУслугТовары.Ссылка В (&МассивОбъектов)"
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

vrbitdir

Цитата: wise от 17 янв 2019, 12:50
(0)
"ВЫБРАТЬ
|   РеализацияТоваровУслугТовары.Ссылка,
|   РеализацияТоваровУслугТовары.Ссылка.Организация,
|   РеализацияТоваровУслугТовары.Ссылка.Организация.ИНН,
|   РеализацияТоваровУслугТовары.Ссылка.Дата,
|   РеализацияТоваровУслугТовары.Ссылка.Номер,
|   РеализацияТоваровУслугТовары.Номенклатура,
|   РеализацияТоваровУслугТовары.НоменклатураНабора
|ИЗ
|   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|ГДЕ
|   РеализацияТоваровУслугТовары.Ссылка В (&МассивОбъектов)"

Необходимо что бы в выборке осталась табличная часть. В данном случае нет табличной части.
Добавлено: 17 янв 2019, 14:42


Вот вся функция:

   
   Перем ТабДокумент, Макет, НПП;
   
    УстановитьПривилегированныйРежим(Истина);

   НПП = 0;   

   Макет = ПолучитьМакет("ПФ_MXL_ГарантийныйТалон");

   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.АвтоМасштаб = Истина;
   ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;

   ТЗ = Новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("Серийник");
   ТЗ.Колонки.Добавить("Ключи");

   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектовНазначения);
   
   Запрос.Текст =
   "ВЫБРАТЬ
   |   Док.Ссылка КАК ДокументРеализации,
   |   Док.Организация КАК НаименованиеОрганизации,
   |   Док.Организация.ИНН КАК ИНН,
   |   Док.Дата КАК ДатаГарантии,
   |   Док.Номер КАК НомерГарантии,
   |   Товары.(
   |   Номенклатура КАК Номенклатура,
   |   Тов.НоменклатураНабора КАК НаименованиеТовара,
   |   Тов.Количество Как Количество,
   |   СправочникНоменклатураДопСв.Значение КАК СрокГарантии)
   |ИЗ
   |   Документ.РеализацияТоваровУслуг КАК Док
   |ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК Тов
   | ПО Док.Ссылка = Тов.Ссылка
   |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
   | ПО Тов.Ссылка = СправочникНоменклатура.Ссылка
   |ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК СправочникНоменклатураДопСв   
   | ПО Тов.НоменклатураНабора = СправочникНоменклатураДопСв.Ссылка
   | И (СправочникНоменклатураДопСв.Свойство.Имя = ""ДПР_СрокГарантии"")
   |ГДЕ
   |   Док.Ссылка В (&МассивОбъектов)";

   Результат = Запрос.Выполнить().Выбрать();
   Результат.Следующий();

   ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьШапка.Параметры.Заполнить(Результат);
   ТабДокумент.Вывести(ОбластьШапка);

   ВыборкаСтрокТовары = Результат.Товары.Выгрузить();
   Для каждого ВыборкаТовары из ВыборкаСтрокТовары Цикл

      НПП = НПП + 1;
      ОбластьТовары = Макет.ПолучитьОбласть("Строка");
      ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
      ОбластьТовары.Параметры.НПП = НПП;

      ТабДокумент.Вывести(ОбластьТовары);

   КонецЦикла;

   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   ОбластьПодвал.Параметры.Заполнить(Результат);
   ТабДокумент.Вывести(ОбластьПодвал);

   Возврат ТабДокумент;
УстановитьПривилегированныйРежим(Ложь);

wise

(2)Выбрать * из Документ.РеализацияТоваровУслуг ДокРТУ где ДокРТУ.Ссылка в (&МассивОбъектов)

здесь есть ВСЕ табличные части.
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

vrbitdir

Цитата: wise от 17 янв 2019, 14:48
(2)Выбрать * из Документ.РеализацияТоваровУслуг ДокРТУ где ДокРТУ.Ссылка в (&МассивОбъектов)

здесь есть ВСЕ табличные части.

Все, кроме дополнительных реквизитов номенклатуры.
Мне нужно вытащить дополнительные реквизиты номенклатуры.
Причем таким образом что бы они оказались в табличной части "Товаров".

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск