Имя: Пароль:
1C
 
Почему не работает запрос?
0 lanc2233
 
12.06.15
20:20
ВЫБРАТЬ
    НоменклатураСпр.Ссылка,
    НоменклатураСпр.Наименование,
    НоменклатураСпр.Код,
    НоменклатураСпр.Артикул,
    РезервОстатки.КвоОстаток КАК Резерв,
    СкладОстатки.КвоОстаток КАК Остаток,
    ЕСТЬNULL(СкладОстатки.КвоОстаток - РезервОстатки.КвоОстаток, 0) КАК Свободно
ИЗ
    Справочник.Номенклатура КАК НоменклатураСпр
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Склад.Остатки(,) КАК СкладОстатки
        ПО НоменклатураСпр.Ссылка = СкладОстатки.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Резерв.Остатки(,) КАК РезервОстатки
        ПО НоменклатураСпр.Ссылка = РезервОстатки.Номенклатура

Остаток - показывает правильно, резерв всегда ноль, независимо от того есть-ли там что-то. "свободно" тоже всегда ноль.
Тоесть неправильно считает свободно
1 Бертыш
 
12.06.15
20:24
ЕСТЬNULL(СкладОстатки.КвоОстаток,0) - ЕСТЬNULL(РезервОстатки.КвоОстаток, 0)
2 RomanYS
 
12.06.15
20:24
СкладОстатки.КвоОстаток - ЕСТЬNULL(РезервОстатки.КвоОстаток, 0) КАК Свободно
3 Zhuravlik
 
12.06.15
20:25
(1) +1 )
4 Бертыш
 
12.06.15
20:27
(2) Ну добавил я новый товар в справочник и что с твои кодом? На остатке его нет и в резерве его нет из NULL вычитаем 0.
А что в итоге?
5 lanc2233
 
12.06.15
20:27
Спасибо
6 RomanYS
 
12.06.15
20:43
(4) в данном случае будет NULL и это нормально), если нет остатка зачем вычитать резерв))

Конечно (1) правильно, я просто считал, что остатки - левая таблица. Не заметил, что к справочнику присоединяем
Ошибка? Это не ошибка, это системная функция.