Имя: Пароль:
1C
1С v8
Выбор минимальной цены в иерахии групп
0 cardexc
 
11.01.13
19:27
Здравствуйте!

Подскажите, пожалуйста, возможные варианты решения задачи:

Есть запрос типа:

ВЫБРАТЬ
   Номенклатура.Ссылка КАК Группа
ПОМЕСТИТЬ ВТГруппы
ИЗ
   Справочник.Номенклатура КАК Номенклатура
ГДЕ
   Номенклатура.ЭтоГруппа
   
;

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

СГРУППИРОВАТЬ ПО
   ВТГруппы.Группа,
   ВложенныйЗапрос.Номенклатура


Задача: выбрать для каждой группы номенклатуры элемент с минимальной ценой. Если цены не повторяются - все ОК, если попадается минимальная цена, которая есть и у другого элемента группы - строки, естественно задваиваются.

Как можно получить нужный результат?
1 cardexc
 
14.01.13
11:02
up?
2 DrShad
 
14.01.13
11:05
а уровень вложенности всегда 2?
3 cardexc
 
14.01.13
11:09
Уровень вложенности групп номенклатуры может быть разный..
4 DrShad
 
14.01.13
11:10
а у тебя только 2 в запросе
5 cardexc
 
14.01.13
11:27
В этом примере да, не стал кидать сюда полный запрос с соединением на 25 групп :)

В оригинальном запросе есть список групп и список элементов, входящие в эти (и подчиненные) группы

Тут пытаюсь понять, как можно осуществить выборку по заданным условиям.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn