|
ЕСТЬNULL в запросе |
☑ |
0
fatal_error
06.09.14
✎
18:48
|
Доброго вечера всем, есть запрос по табличной части документа
ВЫБРАТЬ
МатериальныйОтчетЧекиККМ.ВидОперации,
МатериальныйОтчетЧекиККМ.ТипОплаты,
МатериальныйОтчетЧекиККМ.Сумма,
МатериальныйОтчетЧекиККМ.СуммаНДС
ПОМЕСТИТЬ вт
ИЗ
Документ.МатериальныйОтчет.ЧекиККМ КАК МатериальныйОтчетЧекиККМ
ГДЕ
МатериальныйОтчетЧекиККМ.Ссылка = &Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
СУММА(ЕСТЬNULL(вт.Сумма, 0)) КАК Сумма,
СУММА(ЕСТЬNULL(вт.СуммаНДС, 0)) КАК СуммаНДС
ИЗ
вт КАК вт
ГДЕ
вт.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Продажа)
И вт.ТипОплаты = ЗНАЧЕНИЕ(Перечисление.ТипыОплатЧекаККМ.ПлатежнаяКарта)
Табличная часть пустая. По идеи сумма должна выдавать 0, а выдает Null. Что я делаю не так?
|
|
1
Wobland
06.09.14
✎
18:50
|
|
|
2
mikeone
06.09.14
✎
18:54
|
По какой-такой идее сумма должна быть 0?
Сумма неизвестно чего есть неизвестно чего. Все логично.
|
|
3
kumena
06.09.14
✎
19:01
|
>> а выдает Null
с чего это нулл?
если ничего не выбирается, то и нула тоже не будет. вообще выборка ничего не даст.
|
|
4
fatal_error
06.09.14
✎
19:04
|
(3) а вот выдает, и Запрос.Выполнить().Пустой() - Ложь
|
|
5
fatal_error
06.09.14
✎
19:04
|
(1) сейчас посмотрю, спс
|
|
6
kumena
06.09.14
✎
19:08
|
(4) и в каком месте там нулл?
делай левое соединение с таблицей с одной записью, тогда будет тебе нул
типа так
левое соединение
выбрать 1 КАК дополнение
по Истина
|
|
7
fatal_error
06.09.14
✎
19:09
|
Итого: убрал естьnull, запихнул второй пакет запроса в втшку, а уже в третьем пакете использую естьnull.
|
|
8
RomanYS
06.09.14
✎
19:52
|
добавь одну нулевую запись с нужными значениями в первую таблицу (через ОБЪЕДИНИТЬ) и тебе не понадобится ни естьnull ни третий запрос
|
|
9
Фокусник
06.09.14
✎
19:54
|
(0) с таким ником одни ошибки будут, не мудрено ;)
|
|
10
Defender aka LINN
06.09.14
✎
19:59
|
(3) Иногда лучше молчать...
(8) Месье знает толк в
|
|
11
RomanYS
06.09.14
✎
20:28
|
ещё можно просто поменять местами СУММА и ЕстьNULL
ЕстьNULL(СУММА(вт.сумма), 0)
(10) по сравнению с (7) (8) вполне себе вариант
|
|