Имя: Пароль:
1C
1С v8
Группировка в запросе для номенклатуры в реализации товаров и строк (УПП 1.3)
0 Ilqarupup
 
05.06.15
07:27
Всем привет! такой вопрос, есть такой запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 100
    РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    РеализацияТоваровУслугСоставНабора.Номенклатура КАК Номенклатура_СН
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.СоставНабора КАК РеализацияТоваровУслугСоставНабора
        ПО РеализацияТоваровУслугТовары.КлючСтроки = РеализацияТоваровУслугСоставНабора.КлючСтроки
            И РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслугСоставНабора.Ссылка
ИТОГИ ПО
    ОБЩИЕ,
    Ссылка,
    Номенклатура


Смысл таков, что из всех реализаций надо вытащить состав набора для набор комплектов плюс рядом вывести комплектующие из регистра сведений "Комплектующие номенклатуры" (измерения: номенклатура, ХарактеристикаНоменклатуры, Комплектующая, ХарактеристикаКомплектующей, мне нужно вывести Комплектующая). Теперь происходит дублирование, как можно правильно сделать группировку, чтобы было без дублирования?
1 Ilqarupup
 
05.06.15
07:34
Сейчас такой отчет дает дублирование для каждой строки "Номенклатура"

ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 100
    РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    РеализацияТоваровУслугСоставНабора.Номенклатура КАК Номенклатура_СН,
    КомплектующиеНоменклатуры.Комплектующая
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.СоставНабора КАК РеализацияТоваровУслугСоставНабора
        ПО РеализацияТоваровУслугТовары.КлючСтроки = РеализацияТоваровУслугСоставНабора.КлючСтроки
            И РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслугСоставНабора.Ссылка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры
        ПО РеализацияТоваровУслугТовары.Номенклатура = КомплектующиеНоменклатуры.Номенклатура

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугСоставНабора.Номенклатура,
    КомплектующиеНоменклатуры.Комплектующая
ИТОГИ ПО
    ОБЩИЕ,
    Ссылка,
    Номенклатура
2 LordCMEPTb
 
05.06.15
07:42
А что значит происходит дублирование? Желательно скриншотами...
3 Ilqarupup
 
05.06.15
07:48
4 Ilqarupup
 
05.06.15
07:49
К каждой номенклатуре прикрепляется комплектующая, а мне нужно, чтобы только к сгруппированной
5 LordCMEPTb
 
05.06.15
07:55
Ну на самом деле все правильно делается, в общем итоге имеем одну номенклатуру но к ней присоединены 3х3 строки. Тут либо надо переписывать на объединение и уже в отчете настраивать группировками, либо перестраивать логику запроса, чтобы соединялось не 1х3х3, а 1х1х1.
6 Ilqarupup
 
05.06.15
07:56
так попытался сделать, все равно дублирует:

ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 100
    РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
    РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    РеализацияТоваровУслугСоставНабора.Номенклатура КАК Номенклатура_СН
ПОМЕСТИТЬ ррр
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.СоставНабора КАК РеализацияТоваровУслугСоставНабора
        ПО РеализацияТоваровУслугТовары.КлючСтроки = РеализацияТоваровУслугСоставНабора.КлючСтроки
            И РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслугСоставНабора.Ссылка

СГРУППИРОВАТЬ ПО
    РеализацияТоваровУслугТовары.Номенклатура,
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугСоставНабора.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ррр.Ссылка,
    ррр.Номенклатура,
    ррр.Номенклатура_СН,
    КомплектующиеНоменклатуры.Комплектующая
ИЗ
    ррр КАК ррр
        левое СОЕДИНЕНИЕ РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры
        ПО ррр.Номенклатура = КомплектующиеНоменклатуры.Номенклатура
7 GenAcid
 
05.06.15
08:00
Если  правильно понял что ты хочешь: отдельно соедини РеализацияТоваровУслугТовары с РеализацияТоваровУслугСоставНабора и РеализацияТоваровУслугТовары с КомплектующиеНоменклатуры,
потом полным соединением результаты соедини по номенклатуре и комплектующим, и тогда уже группируй по номенклатуре.
8 LordCMEPTb
 
05.06.15
08:00
(6) Проблема в том, что по тому скриншоту в первой таблице уже 3 строки:
Ном - Q_1
Ном - Q_2
Ном - Q_3
А далее к этой таблице присоединяется еще такая же, причем не по условию соответствия Q_*, а все ко всем. В итоге и получается 9 записей. Надо либо добавлять в последний запрос связь по Ном_СН = Комалектующая, либо объединением и последующей группировкой
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс