Имя: Пароль:
1C
 
получить в одном запросе продажи и остатки. полное соединение
0 lamme
 
08.07.21
11:14
Полное соединение не хочет работать...
(итоги делаю для себя - чтобы проверить. Сейчас в остаток - все выводит праивльно. а количество продаж -= только того товара =- что есть на остатке.Т.е. выпадают пролажи товара - которого нет на остатке. имхо - думалось - что полное соединение поможет в этом .. но не помогает. что не так ?)

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ТутОстатки.Номенклатура КАК Номенклатура,
    ТутОстатки.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ТутПродажи.КоличествоОборот КАК ПроданоЗаПериод

ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
        СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
    ИЗ
        РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , , , ) КАК ТоварыНаСкладахОстаткиИОбороты
    
    СГРУППИРОВАТЬ ПО
        ТоварыНаСкладахОстаткиИОбороты.Номенклатура) КАК ТутОстатки
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
            ПродажиОбороты.Номенклатура КАК Номенклатура,
            СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот
        ИЗ
            РегистрНакопления.Продажи.Обороты(&ДатаНачала, &ДатаКонца, , ) КАК ПродажиОбороты
        
        СГРУППИРОВАТЬ ПО
            ПродажиОбороты.Номенклатура) КАК ТутПродажи
        ПО ТутОстатки.Номенклатура = ТутПродажи.Номенклатура
ГДЕ
    ТутОстатки.Номенклатура В ИЕРАРХИИ(&Номенклатура)
ИТОГИ
    СУММА(ПроданоЗаПериод),
    СУММА(КоличествоКонечныйОстаток)
ПО
    ОБЩИЕ,
    Номенклатура
1 lamme
 
08.07.21
11:17
закрыли задачу
разобрался
2 dubolom
 
08.07.21
11:17
ТутОстатки.Номенклатура В ИЕРАРХИИ(&Номенклатура)

Если ТутОстатки.Номенклатура = NULL, то строка не попадает.

Решение - заменить на ЕСТЬNULL(ТутОстатки.Номенклатура, ПродажиОбороты.Номенклатура)
3 1Сергей
 
08.07.21
11:17
Для понимания:

    ТутПродажи.Номенклатура КАК Номенклатура,
    ТутОстатки.Номенклатура КАК Номенклатура,
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.