Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 06:45

ОтчётОРозничныхПродажах

Автор Каримдат, 06 авг 2018, 10:54

0 Пользователей и 1 гость просматривают эту тему.

Каримдат

И что мне даст сворачивание табличной части? Я написал соединение по ПО РегТоварыВРознице.Номенклатура = ООП.Номенклатура
| И РегТоварыВРознице.Склад = ООП.Склад
| И РегТоварыВРознице.Номенклатура.БазоваяЕдиницаИзмерения = ООП.ЕдиницаИзмерения
| И РегТоварыВРознице.СуммаПродажная = ООП.Цена
,
и теперь вообще всё пусто. В Консоли запросов не выводит ничего.

LexaK

а вот если в ТЧ у вас несколько строк с одинаковыми товарами и др.реквизитами,
то вот это, вам 100% и дает мультипрцирование, т.е. "Задвоение" результата
если помогло нажмите: Спасибо!

Каримдат

Я не могу понять как это исправить. Неделю мозг ломаю

LexaK

а-а-а, так это вам просто надо использовать временные таблицы :befhbt: (даже уже и не спрашиваю, умеете ли вы их строить)
если помогло нажмите: Спасибо!

Каримдат


LexaK

выложите весь запрос который в консоли тестируете?
если помогло нажмите: Спасибо!

Каримдат

Цитата: LexaK от 06 авг 2018, 18:33
выложите весь запрос который в консоли тестируете?
ВЫБРАТЬ
РегТоварыВРознице.Склад КАК Склад,
РегТоварыВРознице.Номенклатура.Представление КАК Номенклатура,
РегТоварыВРознице.Номенклатура.Код КАК КодТовара,
РегТоварыВРознице.Номенклатура КАК НоменклатураСсылка,
РегТоварыВРознице.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаИзмерения,
РегТоварыВРознице.ХарактеристикаНоменклатуры.Представление КАК Характеристика,
РегТоварыВРознице.СерияНоменклатуры.Представление КАК Серия,
РегТоварыВРознице.Качество.Представление КАК Качество,
СУММА(ВЫБОР
КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
И РегТоварыВРознице.Количество > 0
ТОГДА РегТоварыВРознице.Количество
КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
И РегТоварыВРознице.Количество < 0
ТОГДА -РегТоварыВРознице.Количество
ИНАЧЕ 0
КОНЕЦ) КАК Количество,
СУММА(ВЫБОР
КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
И РегТоварыВРознице.СуммаПродажная > 0
ТОГДА РегТоварыВРознице.СуммаПродажная
КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
И РегТоварыВРознице.СуммаПродажная < 0
ТОГДА -РегТоварыВРознице.СуммаПродажная
ИНАЧЕ 0
КОНЕЦ) КАК СуммаПродажная,
ООП.ПроцентСкидкиНаценки,
ООП.ПроцентАвтоматическихСкидок,
ООП.ИтоговаяСумма,
ООП.СуммаСкидок
ИЗ
РегистрНакопления.ТоварыВРознице КАК РегТоварыВРознице
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,
ОтчетОРозничныхПродажахТовары.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
ОтчетОРозничныхПродажахТовары.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок,
ОтчетОРозничныхПродажахТовары.Сумма КАК ИтоговаяСумма,
ВЫРАЗИТЬ(ОтчетОРозничныхПродажахТовары.ПроцентАвтоматическихСкидок + ОтчетОРозничныхПродажахТовары.ПроцентСкидкиНаценки КАК ЧИСЛО(5, 2)) КАК СуммаСкидок,
ОтчетОРозничныхПродажахТовары.Количество КАК Количество,
ОтчетОРозничныхПродажахТовары.Цена КАК Цена
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
ОтчетОРозничныхПродажахТовары.Ссылка = &Док) КАК ООП
ПО РегТоварыВРознице.Номенклатура = ООП.Номенклатура
И РегТоварыВРознице.СуммаПродажная = ООП.Цена
И РегТоварыВРознице.Номенклатура.БазоваяЕдиницаИзмерения = ООП.Номенклатура.БазоваяЕдиницаИзмерения
ГДЕ
РегТоварыВРознице.Регистратор = &Док
И РегТоварыВРознице.Активность

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

ИМЕЮЩИЕ
(СУММА(РегТоварыВРознице.Количество) <> 0
ИЛИ СУММА(РегТоварыВРознице.СуммаПродажная) <> 0)

УПОРЯДОЧИТЬ ПО
Номенклатура
ИТОГИ ПО
Склад

Вот что выдаёт запрос.

LexaK


    СУММА(ВЫБОР
            КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
                    И РегТоварыВРознице.Количество > 0
                ТОГДА РегТоварыВРознице.Количество
            КОГДА РегТоварыВРознице.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
                    И РегТоварыВРознице.Количество < 0
                ТОГДА -РегТоварыВРознице.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Количество,

вообще так ни кто не пишет, а по нормальному надо использовать РН...Обороты и/или РН...Остатки
и весь ваш запрос напоминает огромную кучу г....

вот примерно попробовал избежать задвоения, но без данных не могу проверить отладить запрос,

ВЫБРАТЬ
Док.Ссылка,
Док.Номенклатура,
Док.Цена,
Среднее(Док.ПроцентСкидкиНаценки) КАК ПроцентСкидкиНаценки,
Среднее(Док.ПроцентАвтоматическихСкидок) КАК ПроцентАвтоматическихСкидок,
Сумма(Среднее(Док.ПроцентАвтоматическихСкидок) + Среднее(Док.ПроцентСкидкиНаценки)) КАК СуммаСкидок,
Сумма(Док.Количество) КАК Количество,
Сумма(Док.Сумма) КАК ИтоговаяСумма
поместить Таб
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК Док
ГДЕ
Док.Ссылка = &Док
сгруппировать по
Док.Ссылка,
Док.Номенклатура,
Док.Цена
;

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

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

ИМЕЮЩИЕ
    (СУММА(РегТоварыВРознице.Количество) <> 0
        ИЛИ СУММА(РегТоварыВРознице.СуммаПродажная) <> 0)

УПОРЯДОЧИТЬ ПО
    Номенклатура
ИТОГИ ПО
    Склад

если помогло нажмите: Спасибо!

Рейтинг@Mail.ru

Поиск