Имя: Пароль:
1C
1С v8
Запрос с ЕСТЬNULL
,
0 JustGuest
 
04.04.17
17:13
Что должно быть в консоле, если записи в регистре для номенклатуры нет по данному складу


//КОД
ВЫБРАТЬ
    ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Поле1,
    ТоварыНаСкладахОстатки.Номенклатура
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Склад)) КАК ТоварыНаСкладахОстатки
ГДЕ
    ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
//
1 spock
 
04.04.17
17:15
(0) Пустая выборка? Вопрос с подвохом?
2 JustGuest
 
04.04.17
17:17
Кажется все просто, должен быть 0 ...

http://jmp.sh/GQE6BEa

но чет я его не вижу ...

Вопрос =))) где он =)
3 Ёпрст
 
04.04.17
17:20
(2) результат запроса пустой, откуда там 0 ?
4 JustGuest
 
04.04.17
17:22
(2)
ЕСТЬNULL вроде как должен вернуть 0, при пустой записи
5 jsmith82
 
04.04.17
17:23
(4) Нет
6 Naf2017
 
04.04.17
17:23
(4) для значения NULL оно вернет второй аргумент, а пустая выборка останется пустой
7 jsmith82
 
04.04.17
17:23
при пустой записи, если было левое соединение
например, спр номенклатура левое соединение остатки
8 Волшебник
 
модератор
04.04.17
17:24
(0) Надо делать запрос к справочнику и Левое Соединение с регистром
9 JustGuest
 
04.04.17
17:24
Тогда как проверить на отсутствие записи и отдать 0 ?
10 JustGuest
 
04.04.17
17:25
(7)(8)
Понял, спасибо
11 Naf2017
 
04.04.17
17:25
ВЫБРАТЬ
    ЕСТЬNULL(СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток), 0) КАК Поле1
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Склад) И Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
12 jsmith82
 
04.04.17
17:27

ВЫБРАТЬ
    Спр.Ссылка КАК Номенклатура
ПОМЕСТИТЬ ВтСпр
ИЗ
    Справочник.Номенклатура КАК Спр
ГДЕ Спр.Ссылка = &Номенклатура
;
ВЫБРАТЬ
    ВтСпр.Номенклатура,
        ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
ИЗ
    ВтСпр КАК ВтСпр
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Склад) И Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки
ПО ВтСпр.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
13 JustGuest
 
04.04.17
17:28
(11)
Спасибо за решение

(12)
Спасибо