Имя: Пароль:
1C
 
В итоговом запросе затроенные данные
0 NIGHTHUNTER
 
21.08.20
05:08
Подскажите пожалуйста, почему итоговый запрос затраивает данные ?

Делаю по документу, в котором 2 позиции в табличной части товары. Количество 20 и 2.
А итоговый запрос по этим позициям выдает 60 и 6. Делаю вывод что они затраиваются. Что то я не предусмотрел.


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

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

ИНДЕКСИРОВАТЬ ПО
    Номенклатура
;

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

ОБЪЕДИНИТЬ ВСЕ

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

ОБЪЕДИНИТЬ ВСЕ

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ВыборкаПоСкладам.Номенклатура КАК Номенклатура,
    ВТ_ВыборкаПоСкладам.Номенклатура.Наименование КАК НоменклатураНаименование,
    СУММА(ВТ_ВыборкаПоСкладам.Количество) КАК Количество,
    СУММА(ВТ_ВыборкаПоСкладам.КоличествоОстатокНаИП) КАК КоличествоОстатокНаИП,
    СУММА(ВТ_ВыборкаПоСкладам.КоличествоОстатокНаСЛСистем) КАК КоличествоОстатокНаСЛСистем,
    СУММА(ВТ_ВыборкаПоСкладам.КоличествоОстатокНаПремьер) КАК КоличествоОстатокНаПремьер
ИЗ
    ВТ_ВыборкаПоСкладам КАК ВТ_ВыборкаПоСкладам

СГРУППИРОВАТЬ ПО
    ВТ_ВыборкаПоСкладам.Номенклатура,
    ВТ_ВыборкаПоСкладам.Номенклатура.Наименование
1 DmVl76
 
21.08.20
05:31
В последнем запросе СУММА(ВТ_ВыборкаПоСкладам.Количество) КАК Количество - суммирует из трех таблиц, вот и затроено. Суммирование по количеству убрать и добавить в группировку
2 NIGHTHUNTER
 
21.08.20
05:42
Nen bcghfdbnm gjkexbkjcm? dthyj kb&

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

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

ИНДЕКСИРОВАТЬ ПО
    Номенклатура
;

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

СГРУППИРОВАТЬ ПО
    ВТ_ТчТовары.Номенклатура,
    ВТ_ТчТовары.Количество

ОБЪЕДИНИТЬ ВСЕ

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

СГРУППИРОВАТЬ ПО
    ВТ_ТчТовары.Номенклатура,
    ВТ_ТчТовары.Количество

ОБЪЕДИНИТЬ ВСЕ

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

СГРУППИРОВАТЬ ПО
    ВТ_ТчТовары.Номенклатура,
    ВТ_ТчТовары.Количество
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ПоОрганизациям.Номенклатура,
    ВТ_ПоОрганизациям.Количество,
    СУММА(ВТ_ПоОрганизациям.КоличествоОстатокНаИП) КАК КоличествоОстатокНаИП,
    СУММА(ВТ_ПоОрганизациям.КоличествоОстатокНаСЛСистем) КАК КоличествоОстатокНаСЛСистем,
    СУММА(ВТ_ПоОрганизациям.КоличествоОстатокНаПремьер) КАК КоличествоОстатокНаПремьер
ИЗ
    ВТ_ПоОрганизациям КАК ВТ_ПоОрганизациям

СГРУППИРОВАТЬ ПО
    ВТ_ПоОрганизациям.Номенклатура,
    ВТ_ПоОрганизациям.Количество
3 NIGHTHUNTER
 
21.08.20
05:43
(1) в (2) посатрался исправить, вроде как результат верный. А по синтаксису и правильности написания запроса, все ли верно?
4 Ненавижу 1С
 
гуру
21.08.20
06:42
По архитектуре криво. Завтра 4-я организация появится и что делать будете?
5 Галахад
 
гуру
21.08.20
06:45
(4) Трудолюбие положительное качество. :-)
6 NIGHTHUNTER
 
21.08.20
07:13
(4) По архитектуре? Ну а как было бы правильно? Если появится 5 организаций, так же ..
То есть текст запроса, должен формироваться динамически?
7 Ненавижу 1С
 
гуру
21.08.20
07:17
(6) количество полей не должно зависеть от количества организаций. Организация сама является полем
8 NIGHTHUNTER
 
21.08.20
07:26
(7) у меня вот так вот в запросе (7) а как было бы у вас ?
9 NIGHTHUNTER
 
21.08.20
07:26
(8+) вот так вот (2)