Имя: Пароль:
1C
 
СКД слияние двух отчетов за разные периоды
,
0 Pchelinka
 
11.03.19
15:50
День добрый
создаю отчет, который бы показывал товар переданный на реализацию и оплату за него. Оплата у нас чаще всего позже "реализации", а мне нужно показать в текущем периоде за что платили, поэтому делаю через соединение запросов (нужно данные отгрузки заданного периода и оплаты по докам более раннего периода)
Все бы хорошо.. но остатки на начало не корректны, не все залетают.. думаю это связанно с влиянием запроса оплат. Измерения проставила, у Регистра период 1,  ПериодСекунда период 2 доп и обязательный, у остатков роли соответствующие остатки.
И еще хотелось бы, чтобы если в одном периоде реализация и оплата, чтобы док/регистр выводился одной строкой и по нему движение, а у меня двумя строками, хотя я соединяю запросы по документу тоже. Подскажите пожалуйста, что может быть с остатками и возможно ли в одну строку вывести по единому доку все движение сразу?


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

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

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЕСТЬNULL(ССИМ.ДатаОплаты, 0),
    ВЫБОР
        КОГДА ССИМ.ОКОП.Ссылка = НЕОПРЕДЕЛЕНО
            ТОГДА ""
        ИНАЧЕ ССИМ.ОКОП.Ссылка
    КОНЕЦ,
    ССИМ.ОКОП.ДоговорКонтрагента,
    ССИМ.ОКОП.Контрагент,
    ССИМ.Номенклатура.ТорговыйБренд,
    ССИМ.Номенклатура,
    ССИМ.Номенклатура.Артикул,
    ССИМ.Характеристика,
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    СУММА(0),
    ССИМ.ОКОП.Склад,
    СУММА(0),
    СУММА(0),
    ЗначенияСвойствОбъектов.Значение,
    СУММА(ВЫБОР
            КОГДА ТИПЗНАЧЕНИЯ(ССИМ.ОКОП.Ссылка) = ТИП(Документ.ОтчетКомиссионераОПродажах)
                    И ССИМ.ОКОП.Контрагент.Родитель.Код = "O00000295"
                ТОГДА ВЫБОР
                        КОГДА ССИМ.ДатаОплатыН >= &НачалоПериода
                            ТОГДА ВЫБОР
                                    КОГДА ССИМ.ДатаОплаты <= &КонецПериода
                                        ТОГДА ССИМ.СуммаОплаты / (ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента)
                                    ИНАЧЕ ВЫБОР
                                            КОГДА ССИМ.ДатаОплатыН <= &КонецПериода
                                                ТОГДА ССИМ.СуммаОплатыН / (ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента)
                                            ИНАЧЕ 0
                                        КОНЕЦ
                                КОНЕЦ
                        ИНАЧЕ ВЫБОР
                                КОГДА ССИМ.ДатаОплаты <= &КонецПериода
                                    ТОГДА (ССИМ.СуммаОплаты - ССИМ.СуммаОплатыН) / (ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента)
                                ИНАЧЕ ВЫБОР
                                        КОГДА ССИМ.ДатаОплатыН <= &КонецПериода
                                            ТОГДА ССИМ.СуммаОплатыН / (ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента)
                                        ИНАЧЕ 0
                                    КОНЕЦ
                            КОНЕЦ
                    КОНЕЦ
            ИНАЧЕ 0
        КОНЕЦ),
    СУММА(ВЫБОР
            КОГДА ТИПЗНАЧЕНИЯ(ССИМ.ОКОП.Ссылка) = ТИП(Документ.ОтчетКомиссионераОПродажах)
                    И ССИМ.ОКОП.Контрагент.Родитель.Код = "O00000295"
                ТОГДА ВЫБОР
                        КОГДА ССИМ.ДатаОплатыН >= &НачалоПериода
                            ТОГДА ВЫБОР
                                    КОГДА ССИМ.ДатаОплаты <= &КонецПериода
                                        ТОГДА ССИМ.СуммаОплаты
                                    ИНАЧЕ ВЫБОР
                                            КОГДА ССИМ.ДатаОплатыН <= &КонецПериода
                                                ТОГДА ССИМ.СуммаОплатыН
                                            ИНАЧЕ 0
                                        КОНЕЦ
                                КОНЕЦ
                        ИНАЧЕ ВЫБОР
                                КОГДА ССИМ.ДатаОплаты <= &КонецПериода
                                    ТОГДА ССИМ.СуммаОплаты - ССИМ.СуммаОплатыН
                                ИНАЧЕ ВЫБОР
                                        КОГДА ССИМ.ДатаОплатыН <= &КонецПериода
                                            ТОГДА ССИМ.СуммаОплатыН
                                        ИНАЧЕ 0
                                    КОНЕЦ
                            КОНЕЦ
                    КОНЕЦ
            ИНАЧЕ 0
        КОНЕЦ),
    СРЕДНЕЕ(ВЫБОР
            КОГДА ТИПЗНАЧЕНИЯ(ССИМ.ОКОП.Ссылка) = ТИП(Документ.ОтчетКомиссионераОПродажах)
                    И ССИМ.ОКОП.Контрагент.Родитель.Код = "O00000295"
                ТОГДА ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента
            ИНАЧЕ 0
        КОНЕЦ),
    СУММА(ВЫБОР
            КОГДА ТИПЗНАЧЕНИЯ(ССИМ.ОКОП.Ссылка) = ТИП(Документ.ОтчетКомиссионераОПродажах)
                    И ССИМ.ОКОП.Контрагент.Родитель.Код = "O00000295"
                ТОГДА ВЫБОР
                        КОГДА ССИМ.ДатаОплатыН >= &НачалоПериода
                            ТОГДА ВЫБОР
                                    КОГДА ССИМ.ДатаОплаты <= &КонецПериода
                                        ТОГДА ВЫБОР
                                                КОГДА ССИМ.СуммаОКОП < 0
                                                    ТОГДА -ССИМ.СС
                                                ИНАЧЕ ССИМ.СС
                                            КОНЕЦ
                                    ИНАЧЕ ВЫБОР
                                            КОГДА ССИМ.ДатаОплатыН <= &КонецПериода
                                                ТОГДА ВЫБОР
                                                        КОГДА ССИМ.СуммаОКОП < 0
                                                            ТОГДА -ССИМ.ССН
                                                        ИНАЧЕ ССИМ.ССН
                                                    КОНЕЦ
                                            ИНАЧЕ 0
                                        КОНЕЦ
                                КОНЕЦ
                        ИНАЧЕ ВЫБОР
                                КОГДА ССИМ.ДатаОплаты <= &КонецПериода
                                    ТОГДА ВЫБОР
                                            КОГДА ССИМ.СуммаОКОП < 0
                                                ТОГДА -(ССИМ.СС - ССИМ.ССН)
                                            ИНАЧЕ ССИМ.СС - ССИМ.ССН
                                        КОНЕЦ
                                ИНАЧЕ ВЫБОР
                                        КОГДА ССИМ.ДатаОплатыН <= &КонецПериода
                                            ТОГДА ВЫБОР
                                                    КОГДА ССИМ.СуммаОКОП < 0
                                                        ТОГДА -ССИМ.ССН
                                                    ИНАЧЕ ССИМ.ССН
                                                КОНЕЦ
                                        ИНАЧЕ 0
                                    КОНЕЦ
                            КОНЕЦ
                    КОНЕЦ
            ИНАЧЕ 0
        КОНЕЦ),
    СУММА(ВЫБОР
            КОГДА ТИПЗНАЧЕНИЯ(ССИМ.ОКОП.Ссылка) = ТИП(Документ.ОтчетКомиссионераОПродажах)
                    И ССИМ.ОКОП.Контрагент.Родитель.Код = "O00000295"
                ТОГДА ВЫБОР
                        КОГДА ССИМ.ДатаОплатыН >= &НачалоПериода
                            ТОГДА ВЫБОР
                                    КОГДА ССИМ.ДатаОплаты <= &КонецПериода
                                        ТОГДА ССИМ.СуммаОплаты / (ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента)
                                    ИНАЧЕ ВЫБОР
                                            КОГДА ССИМ.ДатаОплатыН <= &КонецПериода
                                                ТОГДА ССИМ.СуммаОплатыН / (ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента)
                                            ИНАЧЕ 0
                                        КОНЕЦ
                                КОНЕЦ
                        ИНАЧЕ ВЫБОР
                                КОГДА ССИМ.ДатаОплаты <= &КонецПериода
                                    ТОГДА (ССИМ.СуммаОплаты - ССИМ.СуммаОплатыН) / (ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента)
                                ИНАЧЕ ВЫБОР
                                        КОГДА ССИМ.ДатаОплатыН <= &КонецПериода
                                            ТОГДА ССИМ.СуммаОплатыН / (ССИМ.ДокОплаты.КратностьДокумента / ССИМ.ДокОплаты.КурсДокумента)
                                        ИНАЧЕ 0
                                    КОНЕЦ
                            КОНЕЦ
                    КОНЕЦ
            ИНАЧЕ 0
        КОНЕЦ),
    ЕСТЬNULL(ОтчетКомиссионераОПродажахТовары.Ссылка, ОтчетКомиссионераОПродажахТоварыВозврат.Ссылка),
    СУММА(ЕСТЬNULL(ОтчетКомиссионераОПродажахТовары.Сумма, 0) + ЕСТЬNULL(ОтчетКомиссионераОПродажахТоварыВозврат.Сумма * -1, 0)),
    СУММА(ЕСТЬNULL(ОтчетКомиссионераОПродажахТовары.Количество, 0) + ЕСТЬNULL(ОтчетКомиссионераОПродажахТоварыВозврат.Количество * -1, 0)),
    ССИМ.ОКОП.Организация
ИЗ
    РегистрСведений.ССИМ КАК ССИМ
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
        ПО ССИМ.Характеристика = ЗначенияСвойствОбъектов.Объект
            И (ЗначенияСвойствОбъектов.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.Сезон))
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКомиссионераОПродажах.ТоварыВозврат КАК ОтчетКомиссионераОПродажахТоварыВозврат
        ПО ССИМ.Номенклатура = ОтчетКомиссионераОПродажахТоварыВозврат.Номенклатура
            И ССИМ.Характеристика = ОтчетКомиссионераОПродажахТоварыВозврат.ХарактеристикаНоменклатуры
            И ССИМ.ДР = ОтчетКомиссионераОПродажахТоварыВозврат.ДокументРеализации
            И ССИМ.ОКОП = ОтчетКомиссионераОПродажахТоварыВозврат.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетКомиссионераОПродажах.Товары КАК ОтчетКомиссионераОПродажахТовары
        ПО ССИМ.Номенклатура = ОтчетКомиссионераОПродажахТовары.Номенклатура
            И ССИМ.Характеристика = ОтчетКомиссионераОПродажахТовары.ХарактеристикаНоменклатуры
            И ССИМ.ДР = ОтчетКомиссионераОПродажахТовары.ДокументРеализации
            И ССИМ.ОКОП = ОтчетКомиссионераОПродажахТовары.Ссылка
ГДЕ
    ССИМ.ОКОП.Контрагент.Родитель.Код = "O00000295"
    И ТИПЗНАЧЕНИЯ(ССИМ.ОКОП.Ссылка) = ТИП(Документ.ОтчетКомиссионераОПродажах)
    И (ССИМ.ДатаОплаты МЕЖДУ &НачалоПериода И &КонецПериода
            ИЛИ ССИМ.ДатаОплатыН МЕЖДУ &НачалоПериода И &КонецПериода)
    И ССИМ.ОКОП.Организация.Код <> "O00000006"
{ГДЕ
    ЗначенияСвойствОбъектов.Значение.Наименование КАК СезонХарактеристики}

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

УПОРЯДОЧИТЬ ПО
    ПериодСекунда,
    Регистратор,
    СезонХарактеристики
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.