Вход | Регистрация


Не суммируются в запросе ресурсы регистра накоплений и сведений

Не суммируются в запросе ресурсы регистра накоплений и сведений
Я
   shavkat
 
11.10.18 - 14:52
Добрый день

Есть доработанный УТ 10.3
Есть независимый регистр сведений "Удаленные товары", периодичность в пределах секунды.
делаю запрос
ВЫБРАТЬ
    ПродажиОбороты.Номенклатура,
    ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) КАК КоличествоПродаж
ПОМЕСТИТЬ ВТ_Продажи
ИЗ
    РегистрНакопления.Продажи.Обороты(&Дата1, &Дата2, , ) КАК ПродажиОбороты
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    УдаленныеТовары.Номенклатура,
    ЕСТЬNULL(УдаленныеТовары.Количество, 0) КАК КоличествоУдаленных
ПОМЕСТИТЬ ВТ_Удаленные
ИЗ
    РегистрСведений.УдаленныеТовары КАК УдаленныеТовары
ГДЕ
    УдаленныеТовары.Период МЕЖДУ &Дата1 И &Дата2
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_Продажи.Номенклатура,
    ВТ_Продажи.КоличествоПродаж,
    ВТ_Удаленные.КоличествоУдаленных,
    ВТ_Продажи.КоличествоПродаж + ВТ_Удаленные.КоличествоУдаленных КАК Всего
ИЗ
    ВТ_Продажи КАК ВТ_Продажи
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Удаленные КАК ВТ_Удаленные
        ПО ВТ_Продажи.Номенклатура = ВТ_Удаленные.Номенклатура

В колонке "КоличествоПродаж" все правильно выводится
В колонке "КоличествоУдаленных" все правильно выводится
В колонке "Всего" заполнена только у тех строк в котором есть записи по регистру сведений.

Может я что-то не предусмотрел?

Заранее благодарю
 
 
   azernot
 
1 - 11.10.18 - 14:54
ВТ_Продажи.КоличествоПродаж + ЕСТЬNULL(ВТ_Удаленные.КоличествоУдаленных,0)

в остальных местах ЕСТЬNULL не нужен.
   Cool_Profi
 
2 - 11.10.18 - 14:55
ЕСТЬNULL забыл
   shavkat
 
3 - 11.10.18 - 15:01
(1) заработало, спасибо!

но логику не понял
   Йохохо
 
4 - 11.10.18 - 15:02
(3) у тебя левое соединение дает нул, кажется весь запрос делает не то что ты хотел
   hhhh
 
5 - 11.10.18 - 16:14
(3) у тебя
ВТ_Продажи.КоличествоПродаж + ВТ_Удаленные.КоличествоУдаленных КАК Всего

ВТ_Удаленные.КоличествоУдаленных = null

поэтому

ВТ_Продажи.КоличествоПродаж + ВТ_Удаленные.КоличествоУдаленных  = null

поэтому

"В колонке "Всего" заполнена только у тех строк в котором есть записи по регистру сведений"
   Eiffil123
 
6 - 11.10.18 - 16:23
(3) при левом соединении все суммовые поля справа нужно оборачивать в естьнулл, чтобы их складывать, вычитать, проверять на равенство и т.д.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует