Имя: Пароль:
1C
1С v8
Полное объединение не полное, отчет скд
0 ksenod
 
17.12.18
09:56
Добрый день, подскажите пожалуйста что я делаю не так. Вроде бы все настройки правильные, в отдельных таблицах хранится именно то что мне нужно, но при полном объединении я получаю левое, подскажите что я не учитываю?

Скриншот настроек, см 1 строку. https://prnt.sc/lvw330




Код данного запроса

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

СГРУППИРОВАТЬ ПО
    НоменклИВСЕпериоды.ПериодДляВывода,
    НоменклИВСЕпериоды.МойПериод,
    ОстаткиНеВсеПериоды.КоличВРезервеДата,
    ОстаткиНеВсеПериоды.КоличествоОстаток,
    ВЫБОР
        КОГДА НоменклИВСЕпериоды.ПериодДляВывода = &НачалоПериода
            ТОГДА НачальныеОстатки.ОстРазмещВЗакПокупат
        ИНАЧЕ 0
    КОНЕЦ,
    ВЫБОР
        КОГДА НоменклИВСЕпериоды.ПериодДляВывода = &НачалоПериода
            ТОГДА НачальныеОстатки.ОстРазмещВЗакПост
        ИНАЧЕ 0
    КОНЕЦ,
    ВЫБОР
        КОГДА НоменклИВСЕпериоды.ПериодДляВывода = &НачалоПериода
            ТОГДА НачальныеОстатки.КоличествоОстаток
        ИНАЧЕ 0
    КОНЕЦ,
    НоменклИВСЕпериоды.Номенклатура
;
1 exwill
 
17.12.18
10:00
(0) Ну у тебя там ведь написано ЛЕВОЕ СОЕДИНЕНИЕ
2 ksenod
 
17.12.18
10:00
хм есть идея что это из-за вычисляемых полей, если их невозможно вычислить то возможно стока скрывается, пойду проверять
3 ksenod
 
17.12.18
10:01
(1) мне важна именно первая строка скриншота, там полное
4 exwill
 
17.12.18
10:02
(3) Это тебе важна первая строка. А платформе важны все.
5 ksenod
 
17.12.18
10:04
(4) тестировал с полным соединением по всем таблицам, не помогало