Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Получить номеклатуру из документов контрагента с торговыми точками

Получить номеклатуру из документов контрагента с торговыми точками
Я
   Terraxis
 
14.04.17 - 08:53
В общем задача вот такая:
Нужно сформировать отчет "Маршрутный лист". В него должны попасть результаты запроса с группировкой по Контрагентам у которых есть Торговые Точки.
Сам запрос вот такой:

ВЫБРАТЬ 
 РеализацияТоваровУслуг.Контрагент КАК Контрагент,
 РеализацияТоваровУслуг.ТорговаяТочка КАК ТорговаяТочка,
 ВложенныйЗапрос.Количество КАК Количество,
 ВложенныйЗапрос.Цена КАК Цена,
 ВложенныйЗапрос.Сумма КАК Сумма,
 ВложенныйЗапрос.Номенклатура
ИЗ
 Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
   РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
   РеализацияТоваровУслугТовары.Количество КАК Количество,
   РеализацияТоваровУслугТовары.Цена КАК Цена,
   РеализацияТоваровУслугТовары.Сумма КАК Сумма
  ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
  СГРУППИРОВАТЬ ПО
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.Ссылка,
   РеализацияТоваровУслугТовары.Количество,
   РеализацияТоваровУслугТовары.Цена,
   РеализацияТоваровУслугТовары.Сумма) КАК ВложенныйЗапрос
  ПО РеализацияТоваровУслуг.Товары.Ссылка = ВложенныйЗапрос.Ссылка
ГДЕ
 РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
 И РеализацияТоваровУслуг.Маршрут = &Маршрут
 И РеализацияТоваровУслуг.Организация = &Организация
 И ВЫБОР
   КОГДА &Водитель = ЗНАЧЕНИЕ(Справочник.m_Водители.ПустаяСсылка)
    ТОГДА ИСТИНА
   ИНАЧЕ РеализацияТоваровУслуг.Водитель = &Водитель
  КОНЕЦ
 И РеализацияТоваровУслуг.Контрагент = &Контрагент
УПОРЯДОЧИТЬ ПО
 Контрагент,
 ТорговаяТочка
ИТОГИ
 СУММА(Количество),
 СУММА(Цена),
 СУММА(Сумма)
ПО
Контрагент,
ТорговаяТочка

Далее:

СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией;
РезультатЗапроса = Запрос.Выполнить();

ВыборкаИтоги = РезультатЗапроса.Выбрать(СпособВыборки);
            
НомерСтрокиКонтрагента = 0;
НомерСтроки = 0;

Пока ВыборкаИтоги.Следующий() Цикл
 НомерСтрокиКонтрагента = НомерСтрокиКонтрагента + 1;
 Контрагент = Контрагент;//Здесь все нормально. Контрагента получаем все ОК

 Сумма = ВыборкаИтоги.Сумма;
 Выборка = ВыборкаИтоги.Выбрать ();
 Пока Выборка.Следующий () Цикл
  НомерСтроки = НомерСтроки + 1;
  ТорговаяТочка = Выборка.ТорговаяТочка; /тоже все ОК. Торговую точку получаем
  ВыборкаТовар = ВыборкаИтоги.Товары.Выбрать ();
   Пока ВыборкаТовар.Следующий() Цикл
    Товар = Выборка.Товар;// А вот тут - неопределено

   КонецЦикла;
  КонецЦикла;
 КонецЦикла;
КонецЦикла;

Мало того. В запрос вообще не попадает Номенклатура. Хотя в Консоли запросов результат выводится. Что я не так делаю-то?!
 
 
   Jonny_Khomich
 
1 - 14.04.17 - 08:55
ВыборкаТовар.Товар
   Jonny_Khomich
 
2 - 14.04.17 - 08:56
с тебя 100р
   Terraxis
 
3 - 14.04.17 - 09:02
(1) Сорри - Опечатка. не Выборка.ТОвар, а ВыборкаТовар.Товар.
Один фиг - ВыборкаТовар.Товар значение Null
   Jonny_Khomich
 
4 - 14.04.17 - 09:03
ВыборкаТовар = ВыборкаИтоги.Товары.Выбрать (); - замени ВыборкаИтоги на Выборка
   Terraxis
 
5 - 14.04.17 - 09:07
(4) В ВыборкаИтоги, также как в Выборка - Тип значения Товар = Null. Т.е. вообще нет результата.
   МимохожийОднако
 
6 - 14.04.17 - 09:13
Уверен, что по выбранным фильтрам есть Реализации? Попробуй вместо внутреннего соединения Левое
   Terraxis
 
7 - 14.04.17 - 09:16
(6) Уверен. В Консоли запросов, в режиме Дерево, все отображается как надо
   Terraxis
 
8 - 14.04.17 - 10:29
Идей нет?
   Terraxis
 
9 - 14.04.17 - 12:08
Ага. Все намного проще и, оказывается, нафиг совсем не нужно. А нужно, примерно так:

1. На форме выведено Табличное поле со ВСЕМИ документами по Маршруту.
2. Запросом Выбрали все документы по этому Маршруту.
3. В табличном поле установлены флажки.

Понятно, что Контрагента может быть несколько заявок по различным Торговым Точкам.
Нужно вывести в печатную форму сгруппированные по Контрагенту Заявки, но не все, а только те у которых установлены флажки в Табличном поле. Подскажите как?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует