Имя: Пароль:
1C
1С v8
Вывод данных в отчете СКД
,
0 asder117
 
19.03.19
23:07
Доброе время суток.
делаю отчет по продажам по дням (нужен для анализа) с графическим отображением. Конфа УПП. Внутри отчета запрос
[CODE]
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВложенныйЗапрос.Номенклатура.ОтветственныйМенеджерЗаПокупки КАК Ответственный,
    ВложенныйЗапрос.Склад КАК Склад,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Склад) КАК СкладПредставление,
    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
    ВложенныйЗапрос.Период КАК Период,
    СУММА(ВложенныйЗапрос.Продано) КАК Продано,
    СУММА(ВЫБОР
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                ТОГДА ВложенныйЗапрос.КоличествоНачальныйОстатокНТТ
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                ТОГДА ВложенныйЗапрос.КоличествоНачальныйОстатокРозничный
            ИНАЧЕ ВложенныйЗапрос.КоличествоНачальныйОстатокОптовый
        КОНЕЦ) КАК КоличествоНачальныйОстаток,
    СУММА(ВЫБОР
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                ТОГДА ВложенныйЗапрос.КоличествоКонечныйОстатокНТТ
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                ТОГДА ВложенныйЗапрос.КоличествоКонечныйОстатокРозничный
            ИНАЧЕ ВложенныйЗапрос.КоличествоКонечныйОстатокОптовый
        КОНЕЦ) КАК КоличествоКонечныйОстаток
{ВЫБРАТЬ
    Номенклатура.*,
    ХарактеристикаНоменклатуры}
ИЗ
    (ВЫБРАТЬ
        Продажи.Склад КАК Склад,
        Продажи.Номенклатура КАК Номенклатура,
        Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        Продажи.Период КАК Период,
        СУММА(Продажи.Продано) КАК Продано,
        СУММА(Продажи.КоличествоНачальныйОстатокОптовый) КАК КоличествоНачальныйОстатокОптовый,
        СУММА(Продажи.КоличествоКонечныйОстатокОптовый) КАК КоличествоКонечныйОстатокОптовый,
        СУММА(Продажи.КоличествоНачальныйОстатокНТТ) КАК КоличествоНачальныйОстатокНТТ,
        СУММА(Продажи.КоличествоКонечныйОстатокНТТ) КАК КоличествоКонечныйОстатокНТТ,
        СУММА(Продажи.КоличествоНачальныйОстатокРозничный) КАК КоличествоНачальныйОстатокРозничный,
        СУММА(Продажи.КоличествоКонечныйОстатокРозничный) КАК КоличествоКонечныйОстатокРозничный
    ИЗ
        (ВЫБРАТЬ
            ПродажиОбороты.ДокументПродажи.Склад КАК Склад,
            ПродажиОбороты.Номенклатура КАК Номенклатура,
            ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ПродажиОбороты.Период КАК Период,
            ПродажиОбороты.КоличествоОборот КАК Продано,
            0 КАК КоличествоНачальныйОстатокОптовый,
            0 КАК КоличествоКонечныйОстатокОптовый,
            0 КАК КоличествоНачальныйОстатокНТТ,
            0 КАК КоличествоКонечныйОстатокНТТ,
            0 КАК КоличествоНачальныйОстатокРозничный,
            0 КАК КоличествоКонечныйОстатокРозничный
        ИЗ
            РегистрНакопления.Продажи.Обороты(&ДатаНачПродаж, &ДатаКонПродаж, День, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ДокументПродажи.Склад).* КАК Склад}) КАК ПродажиОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыНаСкладахОстаткиИОбороты.Склад,
            ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
            ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыНаСкладахОстаткиИОбороты.Период,
            0,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
            0,
            0,
            0,
            0
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыВНТТОстаткиИОбороты.Склад,
            ТоварыВНТТОстаткиИОбороты.Номенклатура,
            ТоварыВНТТОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыВНТТОстаткиИОбороты.Период,
            0,
            0,
            0,
            ТоварыВНТТОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыВНТТОстаткиИОбороты.КоличествоКонечныйОстаток,
            0,
            0
        ИЗ
            РегистрНакопления.ТоварыВНТТ.ОстаткиИОбороты(&ДатаКонПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВНТТОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыВРозницеОстаткиИОбороты.Склад,
            ТоварыВРозницеОстаткиИОбороты.Номенклатура,
            ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыВРозницеОстаткиИОбороты.Период,
            0,
            0,
            0,
            0,
            0,
            ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток
        ИЗ
            РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаКонПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВРозницеОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            Склады.Склад,
            Номенклатура.Ссылка,
            ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
            НЕОПРЕДЕЛЕНО,
            0,
            0,
            0,
            0,
            0,
            0,
            0
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                    ПродажиОбороты.ДокументПродажи.Склад КАК Склад
                ИЗ
                    РегистрНакопления.Продажи.Обороты(&ДатаНачПродаж, &ДатаКонПродаж, , ДокументПродажи.Склад ЕСТЬ НЕ NULL  {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ДокументПродажи.Склад).* КАК Склад}) КАК ПродажиОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыНаСкладахОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстаткиИОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыВНТТОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыВНТТ.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВНТТОстаткиИОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыВРозницеОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВРозницеОстаткиИОбороты) КАК Склады
                ПО (&ПоВсейНоменклатуре = ИСТИНА)
        ГДЕ
            Номенклатура.ЭтоГруппа = ЛОЖЬ
            И &ПоВсейНоменклатуре = ИСТИНА
        {ГДЕ
            Номенклатура.Ссылка.* КАК Номенклатура}) КАК Продажи
    
    СГРУППИРОВАТЬ ПО
        Продажи.Склад,
        Продажи.Номенклатура,
        Продажи.ХарактеристикаНоменклатуры,
        Продажи.Период) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКонПродаж, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыНаСкладахОстатки
        ПО ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ТоварыНаСкладахОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад КАК Склад,
            ЗаказыПоставщикамОстатки.Номенклатура КАК Номенклатура,
            ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ЗаказыПоставщикамОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаКонПродаж, ЗаказПоставщику.ДатаПоступления <= &ДатаНачалаЗакупок {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПоставщику.Склад).* КАК Склад}) КАК ЗаказыПоставщикамОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад,
            ЗаказыПоставщикамОстатки.Номенклатура,
            ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры) КАК ЗаказыПоставщикамОстатки
        ПО ВложенныйЗапрос.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ЗаказыПоставщикамОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа КАК Склад,
            ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
            ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.ЗаказыПокупателей.Остатки(
                    &ДатаКонПродаж,
                    ЗаказПокупателя.ДатаОтгрузки <= &ДатаНачалаЗакупок
                        И ЗаказПокупателя.СкладГруппа ССЫЛКА Справочник.Склады {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя.СкладГруппа).* КАК Склад}) КАК ЗаказыПокупателейОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа,
            ЗаказыПокупателейОстатки.Номенклатура,
            ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры) КАК ЗаказыПокупателейОстатки
        ПО ВложенныйЗапрос.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ЗаказыПокупателейОстатки.Склад
ГДЕ
    ВложенныйЗапрос.Склад = &Склад
    И ВложенныйЗапрос.Номенклатура В ИЕРАРХИИ(&Номенклатура)
{ГДЕ
    ВложенныйЗапрос.Склад.* КАК Склад,
    ВложенныйЗапрос.Номенклатура.* КАК Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}

СГРУППИРОВАТЬ ПО
    ВложенныйЗапрос.Номенклатура.ОтветственныйМенеджерЗаПокупки,
    ВложенныйЗапрос.Склад,
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры,
    ВложенныйЗапрос.Период

УПОРЯДОЧИТЬ ПО
    Ответственный,
    Склад,
    Номенклатура,
    ХарактеристикаНоменклатуры,
    Период
ИТОГИ
    СУММА(Продано),
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоКонечныйОстаток)
ПО
    Ответственный,
    Склад,
    Номенклатура,
    ХарактеристикаНоменклатуры,
    Период
{ИТОГИ ПО
    Номенклатура,
    ХарактеристикаНоменклатуры}
АВТОУПОРЯДОЧИВАНИЕ [/CODE]
данный получаются все корректные, но к примеру идут даты (начало периода)...)какие-то даты когда были продажи)..конец периода..
По тем единицам, по которым были продажи все норм и поля начальный и конечный остаток заполняются..где продаж нет то не заполняются и график по остатку получается ужас. Натолкните кто может на мысль, может я где-то в запросе что-то не добавил или в настройках скд. спс.
1 palsergeich
 
20.03.19
00:30
(0) Ты сам на все ответил.
Сейчас у тебя так запрос написан, что если нет начального или конечного остатка, то и строки не будет.
Бегло:
1) Там где используются ОстаткиОбороты получай еще и оборот любой, приход, расход не важно, главное что бы ресурс был.
На этом поле ставишь роль обязательное, но в компановку не выводишь.
Профит.
Но это не точно, чисто по анализу этой портянки по диагонали
2 toypaul
 
гуру
20.03.19
09:02
есть мысль, что тут должно помочь дополнение периодов в СКД
3 toypaul
 
гуру
20.03.19
09:06
4 asder117
 
20.03.19
09:09
(1) Спасибо. Дополнил по совету. но что-то не помогло
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВложенныйЗапрос.Номенклатура.ОтветственныйМенеджерЗаПокупки КАК Ответственный,
    ВложенныйЗапрос.Склад КАК Склад,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Склад) КАК СкладПредставление,
    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление,
    ВложенныйЗапрос.Период КАК Период,
    СУММА(ВложенныйЗапрос.Продано) КАК Продано,
    СУММА(ВЫБОР
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                ТОГДА ВложенныйЗапрос.КоличествоНачальныйОстатокНТТ
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                ТОГДА ВложенныйЗапрос.КоличествоНачальныйОстатокРозничный
            ИНАЧЕ ВложенныйЗапрос.КоличествоНачальныйОстатокОптовый
        КОНЕЦ) КАК КоличествоНачальныйОстаток,
    СУММА(ВЫБОР
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.НТТ)
                ТОГДА ВложенныйЗапрос.КоличествоКонечныйОстатокНТТ
            КОГДА ВложенныйЗапрос.Склад.ВидСклада = ЗНАЧЕНИЕ(Перечисление.ВидыСкладов.Розничный)
                ТОГДА ВложенныйЗапрос.КоличествоКонечныйОстатокРозничный
            ИНАЧЕ ВложенныйЗапрос.КоличествоКонечныйОстатокОптовый
        КОНЕЦ) КАК КоличествоКонечныйОстаток,
    ВложенныйЗапрос.КоличествоПриход,
    ВложенныйЗапрос.Приход
{ВЫБРАТЬ
    Номенклатура.*,
    ХарактеристикаНоменклатуры}
ИЗ
    (ВЫБРАТЬ
        Продажи.Склад КАК Склад,
        Продажи.Номенклатура КАК Номенклатура,
        Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
        Продажи.Период КАК Период,
        СУММА(Продажи.Продано) КАК Продано,
        СУММА(Продажи.КоличествоНачальныйОстатокОптовый) КАК КоличествоНачальныйОстатокОптовый,
        СУММА(Продажи.КоличествоКонечныйОстатокОптовый) КАК КоличествоКонечныйОстатокОптовый,
        СУММА(Продажи.КоличествоНачальныйОстатокНТТ) КАК КоличествоНачальныйОстатокНТТ,
        СУММА(Продажи.КоличествоКонечныйОстатокНТТ) КАК КоличествоКонечныйОстатокНТТ,
        СУММА(Продажи.КоличествоНачальныйОстатокРозничный) КАК КоличествоНачальныйОстатокРозничный,
        СУММА(Продажи.КоличествоКонечныйОстатокРозничный) КАК КоличествоКонечныйОстатокРозничный,
        Продажи.КоличествоПриход КАК КоличествоПриход,
        Продажи.Приход КАК Приход
    ИЗ
        (ВЫБРАТЬ
            ПродажиОбороты.ДокументПродажи.Склад КАК Склад,
            ПродажиОбороты.Номенклатура КАК Номенклатура,
            ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ПродажиОбороты.Период КАК Период,
            ПродажиОбороты.КоличествоОборот КАК Продано,
            0 КАК КоличествоНачальныйОстатокОптовый,
            0 КАК КоличествоКонечныйОстатокОптовый,
            0 КАК КоличествоНачальныйОстатокНТТ,
            0 КАК КоличествоКонечныйОстатокНТТ,
            0 КАК КоличествоНачальныйОстатокРозничный,
            0 КАК КоличествоКонечныйОстатокРозничный,
            NULL КАК КоличествоПриход,
            0 КАК Приход
        ИЗ
            РегистрНакопления.Продажи.Обороты(&ДатаНачПродаж, &ДатаКонПродаж, День, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ДокументПродажи.Склад).* КАК Склад}) КАК ПродажиОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыНаСкладахОстаткиИОбороты.Склад,
            ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
            ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыНаСкладахОстаткиИОбороты.Период,
            0,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
            0,
            0,
            0,
            0,
            ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход,
            NULL
        ИЗ
            РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыВНТТОстаткиИОбороты.Склад,
            ТоварыВНТТОстаткиИОбороты.Номенклатура,
            ТоварыВНТТОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыВНТТОстаткиИОбороты.Период,
            0,
            0,
            0,
            ТоварыВНТТОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыВНТТОстаткиИОбороты.КоличествоКонечныйОстаток,
            0,
            0,
            NULL,
            0
        ИЗ
            РегистрНакопления.ТоварыВНТТ.ОстаткиИОбороты(&ДатаКонПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВНТТОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ТоварыВРозницеОстаткиИОбороты.Склад,
            ТоварыВРозницеОстаткиИОбороты.Номенклатура,
            ТоварыВРозницеОстаткиИОбороты.ХарактеристикаНоменклатуры,
            ТоварыВРозницеОстаткиИОбороты.Период,
            0,
            0,
            0,
            0,
            0,
            ТоварыВРозницеОстаткиИОбороты.КоличествоНачальныйОстаток,
            ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток,
            NULL,
            0
        ИЗ
            РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаКонПродаж, &ДатаКонПродаж, День, , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВРозницеОстаткиИОбороты
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            Склады.Склад,
            Номенклатура.Ссылка,
            ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
            НЕОПРЕДЕЛЕНО,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            NULL,
            0
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                    ПродажиОбороты.ДокументПродажи.Склад КАК Склад
                ИЗ
                    РегистрНакопления.Продажи.Обороты(&ДатаНачПродаж, &ДатаКонПродаж, , ДокументПродажи.Склад ЕСТЬ НЕ NULL  {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ДокументПродажи.Склад).* КАК Склад}) КАК ПродажиОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыНаСкладахОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыНаСкладахОстаткиИОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыВНТТОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыВНТТ.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВНТТОстаткиИОбороты
                
                ОБЪЕДИНИТЬ
                
                ВЫБРАТЬ
                    ТоварыВРозницеОстаткиИОбороты.Склад
                ИЗ
                    РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(&ДатаНачПродаж, &ДатаКонПродаж, , , {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (Склад).* КАК Склад}) КАК ТоварыВРозницеОстаткиИОбороты) КАК Склады
                ПО (&ПоВсейНоменклатуре = ИСТИНА)
        ГДЕ
            Номенклатура.ЭтоГруппа = ЛОЖЬ
            И &ПоВсейНоменклатуре = ИСТИНА
        {ГДЕ
            Номенклатура.Ссылка.* КАК Номенклатура}) КАК Продажи
    
    СГРУППИРОВАТЬ ПО
        Продажи.Склад,
        Продажи.Номенклатура,
        Продажи.ХарактеристикаНоменклатуры,
        Продажи.Период,
        Продажи.КоличествоПриход,
        Продажи.Приход) КАК ВложенныйЗапрос
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКонПродаж, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ТоварыНаСкладахОстатки
        ПО ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ТоварыНаСкладахОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад КАК Склад,
            ЗаказыПоставщикамОстатки.Номенклатура КАК Номенклатура,
            ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ЗаказыПоставщикамОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаКонПродаж, ЗаказПоставщику.ДатаПоступления <= &ДатаНачалаЗакупок {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПоставщику.Склад).* КАК Склад}) КАК ЗаказыПоставщикамОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПоставщикамОстатки.ЗаказПоставщику.Склад,
            ЗаказыПоставщикамОстатки.Номенклатура,
            ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры) КАК ЗаказыПоставщикамОстатки
        ПО ВложенныйЗапрос.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ЗаказыПоставщикамОстатки.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа КАК Склад,
            ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
            ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) КАК КоличествоОстаток
        ИЗ
            РегистрНакопления.ЗаказыПокупателей.Остатки(
                    &ДатаКонПродаж,
                    ЗаказПокупателя.ДатаОтгрузки <= &ДатаНачалаЗакупок
                        И ЗаказПокупателя.СкладГруппа ССЫЛКА Справочник.Склады {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя.СкладГруппа).* КАК Склад}) КАК ЗаказыПокупателейОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа,
            ЗаказыПокупателейОстатки.Номенклатура,
            ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры) КАК ЗаказыПокупателейОстатки
        ПО ВложенныйЗапрос.Номенклатура = ЗаказыПокупателейОстатки.Номенклатура
            И ВложенныйЗапрос.ХарактеристикаНоменклатуры = ЗаказыПокупателейОстатки.ХарактеристикаНоменклатуры
            И ВложенныйЗапрос.Склад = ЗаказыПокупателейОстатки.Склад
{ГДЕ
    ВложенныйЗапрос.Склад.* КАК Склад,
    ВложенныйЗапрос.Номенклатура.* КАК Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}

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

УПОРЯДОЧИТЬ ПО
    Ответственный,
    Склад,
    Номенклатура,
    ХарактеристикаНоменклатуры,
    Период
5 asder117
 
20.03.19
09:26
(3) Спасибо за информацию. изучил, будет полезна, но в моем случае не работает. периоды внутри выводит а данные там пустые?