|
Запрос с ЕСТЬ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 ...
но чет я его не вижу ...
Вопрос =))) где он =)
|
|
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)
Спасибо
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший