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

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

Пользователь, выбирает 2 раза одну и туже номенклатуру в ТЧ и запрос удваивает результат

Пользователь, выбирает 2 раза одну и туже номенклатуру в ТЧ и запрос удваивает результат
Я
   SkillUp
 
12.11.18 - 23:56
Понимаю что из-за левого соединения, но как убрать данный недочет в этом запросе, ... его  знает. Сгруппировать не могу пишет -"группировка по таблицам верхнего уровня и таблицам". Выбрать - "Без повторяющихся"  ,пишет - в запросе с предложениями различные и объединить нельзя использовать". Может кто и подскажет выход из ситуации...

Вот, запрос:

ВЫБРАТЬ РАЗЛИЧНЫЕ
                  |    СУММА(ВЫБОР
                  |            КОГДА ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
                  |                ТОГДА 1
                  |            ИНАЧЕ -1
                  |        КОНЕЦ) КАК КоличествоСерийныхНоменров,
                  |    ДокументЧекККМ.Склад КАК Склад,
                  |    ЧекККМТовары.Номенклатура КАК Номенклатура,
                  |    ЧекККМСерийныеНомера.СерийныйНомер КАК СерийныйНомер,
                  |    ЧекККМТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                  |    ЧекККМТовары.СерияНоменклатуры КАК СерияНоменклатуры,
                  |    ЧекККМТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                  |    ЧекККМТовары.Коэффициент КАК Коэффициент,
                  |    ЧекККМТовары.Цена КАК Цена,
                  |    ЧекККМТовары.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
                  |    ЧекККМТовары.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
                  |    ЧекККМТовары.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
                  |    ЧекККМТовары.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
                  |    ЧекККМТовары.НомерСтроки
                  |ИЗ
                  |    Документ.ЧекККМ КАК ДокументЧекККМ
                  |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК ЧекККМТовары
                  |        ПО (ЧекККМТовары.Ссылка = ДокументЧекККМ.Ссылка)
                  |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
                  |        ПО (СправочникНоменклатура.Ссылка = ЧекККМТовары.Номенклатура)
                  |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.СерийныеНомера КАК ЧекККМСерийныеНомера
                  |        ПО (ЧекККМСерийныеНомера.Ссылка = ДокументЧекККМ.Ссылка)
                  |            И (ЧекККМСерийныеНомера.КлючСвязи = ЧекККМТовары.КлючСвязи)
                  |ГДЕ
                  |    ДокументЧекККМ.Дата МЕЖДУ &НачДата И &КонДата
                  |    И ДокументЧекККМ.Проведен
                  |    И ДокументЧекККМ.КассаККМ = &КассаККМ
                  |    И НЕ СправочникНоменклатура.Комплект
                  |
                  |СГРУППИРОВАТЬ ПО
                  |    ДокументЧекККМ.Склад,
                  |    ЧекККМТовары.Номенклатура,
                  |    ЧекККМСерийныеНомера.СерийныйНомер,
                  |    ЧекККМТовары.ХарактеристикаНоменклатуры,
                  |    ЧекККМТовары.СерияНоменклатуры,
                  |    ЧекККМТовары.ЕдиницаИзмерения,
                  |    ЧекККМТовары.Коэффициент,
                  |    ЧекККМТовары.Цена,
                  |    ЧекККМТовары.ПроцентСкидкиНаценки,
                  |    ЧекККМТовары.ПроцентАвтоматическихСкидок,
                  |    ЧекККМТовары.УсловиеАвтоматическойСкидки,
                  |    ЧекККМТовары.ЗначениеУсловияАвтоматическойСкидки,
                  |    ЧекККМТовары.НомерСтроки
                  |
                  |ИМЕЮЩИЕ
                  |    СУММА(ВЫБОР
                  |            КОГДА ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
                  |                ТОГДА 1
                  |            ИНАЧЕ -1
                  |        КОНЕЦ) > 0
                  |;
                  |
                  ////////////////////////////////////////////////////////////////////////////////

                  |ВЫБРАТЬ
                  |    ЗНАЧЕНИЕ(Документ.ЧекККМ.ПустаяСсылка) КАК Документ,
                  |    ТоварыБезКомплектов.Комплект КАК Комплект,
                  |    ТоварыБезКомплектов.Склад КАК Склад,
                  |    ТоварыБезКомплектов.Номенклатура КАК Номенклатура,
                  |    ТоварыБезКомплектов.Количество КАК Количество,
                  |    ТоварыБезКомплектов.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                  |    ТоварыБезКомплектов.СерияНоменклатуры КАК СерияНоменклатуры,
                  |    ТоварыБезКомплектов.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                  |    ТоварыБезКомплектов.Коэффициент КАК Коэффициент,
                  |    ТоварыБезКомплектов.Цена КАК Цена,
                  |    ТоварыБезКомплектов.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
                  |    ТоварыБезКомплектов.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
                  |    ТоварыБезКомплектов.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
                  |    ТоварыБезКомплектов.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
                  |    ТоварыБезКомплектов.Сумма КАК Сумма,
                  |    ПУСТАЯТАБЛИЦА.( КАК КлючСтроки,  КАК КлючСвязи,  КАК Номенклатура,  КАК ХарактеристикаНоменклатуры,  КАК СерияНоменклатуры,  КАК ЕдиницаИзмерения,  КАК Количество,  КАК Цена) КАК СоставНабора,
                  |    ПУСТАЯТАБЛИЦА.( КАК КлючСвязи,  КАК СерийныйНомер) КАК СерийныеНомераСоставНабора,
                  |    0 КАК КлючСтроки,
                  |    ЧекККМТовары.Ссылка КАК СсылкаЧекККМ,
                  |    ЧекККМТовары.ЗП
                  |ИЗ
                  |    (ВЫБРАТЬ
                  |        Док.Номенклатура.Комплект КАК Комплект,
                  |        Док.Ссылка.Склад КАК Склад,
                  |        Док.Номенклатура КАК Номенклатура,
                  |        СУММА(ВЫБОР
                  |                КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                  |                    ТОГДА Док.Количество
                  |                ИНАЧЕ -Док.Количество
                  |            КОНЕЦ) КАК Количество,
                  |        Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
                  |        Док.СерияНоменклатуры КАК СерияНоменклатуры,
                  |        Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                  |        Док.Коэффициент КАК Коэффициент,
                  |        Док.Цена КАК Цена,
                  |        Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
                  |        Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
                  |        Док.УсловиеАвтоматическойСкидки КАК УсловиеАвтоматическойСкидки,
                  |        Док.ЗначениеУсловияАвтоматическойСкидки КАК ЗначениеУсловияАвтоматическойСкидки,
                  |        СУММА(ВЫБОР
                  |                КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                  |                    ТОГДА Док.Сумма
                  |                ИНАЧЕ -Док.Сумма
                  |            КОНЕЦ) КАК Сумма,
                  |        Док.Ссылка КАК Ссылка
                  |    ИЗ
                  |        Документ.ЧекККМ.Товары КАК Док
                  |    ГДЕ
                  |        Док.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
                  |        И Док.Ссылка.КассаККМ = &КассаККМ
                  |        И Док.Ссылка.Проведен
                  |        И НЕ Док.Номенклатура.Комплект
                  |    
                  |    СГРУППИРОВАТЬ ПО
                  |        Док.Ссылка.Склад,
                  |        Док.Номенклатура,
                  |        Док.ХарактеристикаНоменклатуры,
                  |        Док.СерияНоменклатуры,
                  |        Док.ЕдиницаИзмерения,
                  |        Док.Коэффициент,
                  |        Док.Цена,
                  |        Док.ПроцентСкидкиНаценки,
                  |        Док.ПроцентАвтоматическихСкидок,
                  |        Док.УсловиеАвтоматическойСкидки,
                  |        Док.ЗначениеУсловияАвтоматическойСкидки,
                  |        Док.Номенклатура.Комплект,
                  |        Док.Ссылка
                  |    
                  |    ИМЕЮЩИЕ
                  |        СУММА(ВЫБОР
                  |                КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                  |                    ТОГДА Док.Количество
                  |                ИНАЧЕ -Док.Количество
                  |            КОНЕЦ) <> 0) КАК ТоварыБезКомплектов
                  |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК ЧекККМТовары
                  |        ПО ТоварыБезКомплектов.Ссылка = ЧекККМТовары.Ссылка
                  |            И ТоварыБезКомплектов.Номенклатура = ЧекККМТовары.Номенклатура
                  |            И ТоварыБезКомплектов.ХарактеристикаНоменклатуры = ЧекККМТовары.ХарактеристикаНоменклатуры
                  |            И ТоварыБезКомплектов.СерияНоменклатуры = ЧекККМТовары.СерияНоменклатуры
                  |            И ТоварыБезКомплектов.СерияНоменклатуры = ЧекККМТовары.НомерСтроки
                  |
                  |ОБЪЕДИНИТЬ ВСЕ
                  |
                  |ВЫБРАТЬ
                  |    Док.Ссылка,
                  |    Док.Номенклатура.Комплект,
                  |    Док.Ссылка.Склад,
                  |    Док.Номенклатура,
                  |    ВЫБОР
                  |        КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                  |            ТОГДА Док.Количество
                  |        ИНАЧЕ -Док.Количество
                  |    КОНЕЦ,
                  |    Док.ХарактеристикаНоменклатуры,
                  |    Док.СерияНоменклатуры,
                  |    Док.ЕдиницаИзмерения,
                  |    Док.Коэффициент,
                  |    Док.Цена,
                  |    Док.ПроцентСкидкиНаценки,
                  |    Док.ПроцентАвтоматическихСкидок,
                  |    Док.УсловиеАвтоматическойСкидки,
                  |    Док.ЗначениеУсловияАвтоматическойСкидки,
                  |    ВЫБОР
                  |        КОГДА Док.Ссылка.ВидОперации = &ВидОперацииПродажа
                  |            ТОГДА Док.Сумма
                  |        ИНАЧЕ -Док.Сумма
                  |    КОНЕЦ,
                  |    Док.Ссылка.СоставНабора.(
                  |        КлючСтроки,
                  |        КлючСвязи,
                  |        Номенклатура,
                  |        ХарактеристикаНоменклатуры,
                  |        СерияНоменклатуры,
                  |        ЕдиницаИзмерения,
                  |        Количество,
                  |        Цена
                  |    ),
                  |    Док.Ссылка.СерийныеНомераСоставНабора.(
                  |        КлючСвязи,
                  |        СерийныйНомер
                  |    ),
                  |    Док.КлючСтроки,
                  |    Док.Ссылка,
                  |    NULL
                  |ИЗ
                  |    Документ.ЧекККМ.Товары КАК Док
                  |ГДЕ
                  |    Док.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
                  |    И Док.Ссылка.КассаККМ = &КассаККМ
                  |    И Док.Ссылка.Проведен
                  |    И Док.Номенклатура.Комплект
                  |
                  |УПОРЯДОЧИТЬ ПО
                  |    Склад";
 
 
   SkillUp
 
1 - 13.11.18 - 00:01
Стоит пользователю выбрать 2 раза одну и ту же номенклатуру в ТЧ, и и результат "удваивается"...
   SkillUp
 
2 - 13.11.18 - 00:02
Удваивается по только по выбранной 2 раза номенклатуре...
   H A D G E H O G s
 
3 - 13.11.18 - 00:07
Ужас
   AlvlSpb
 
4 - 13.11.18 - 00:34
(0) Первый пакет. Делай запрос к таблице Документ.ЧекККМ.Товары а не к ней же с вн соединением с самим доком.
ЧекККМТовары.Ссылка.ВидОперации
ЧекККМТовары.Ссылка.Склад
И группируй
   МихаилМ
 
5 - 13.11.18 - 01:08
что за бред

ИМЕЮЩИЕ
                  |    СУММА(ВЫБОР
                  |            КОГДА ДокументЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
                  |                ТОГДА 1
                  |            ИНАЧЕ -1
                  |        КОНЕЦ) > 0
   H A D G E H O G s
 
6 - 13.11.18 - 01:31
(5) Продаж должно быть больше, чем непродаж.
   H A D G E H O G s
 
7 - 13.11.18 - 01:32
В целом, нормальный такой бредовый запрос времен ~~палеолита~~ УТ10.2, когда не было ВТ.
   SkillUp
 
8 - 13.11.18 - 09:21
Спасибо за помощь! Тема закрыта...

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