Имя: Пароль:
1C
1С v8
Результат запроса возвращает NULL
0 ivapetr
 
31.08.15
10:44
ВЫБРАТЬ
    СУММА(ЕСТЬNULL(ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СуммаПлатежа, 0)) КАК ОбщаяСуммаПоступлений
ИЗ
    Документ.ПоступлениеНаРасчетныйСчет.РасшифровкаПлатежа КАК ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа
ГДЕ
    ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СчетНаОплату = &Документ
    И ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.Ссылка.Проведен

Вроде привожу к нулю, а в результате иногда вылазит NULL
1 jsmith82
 
31.08.15
10:47
то есть результат не пустой и поле = null?
2 Ненавижу 1С
 
гуру
31.08.15
10:48
(1) а там результат не может быть пустым
3 butterbean
 
31.08.15
10:48
(0) агрегатная функция просто обязана что-то вернуть
4 Ненавижу 1С
 
гуру
31.08.15
10:48
вообще правильно так:

ЕСТЬNULL(СУММА(ПоступлениеНаРасчетныйСчетРасшифровкаПлатежа.СуммаПлатежа), 0)
5 ivapetr
 
31.08.15
10:48
(1) да
6 jsmith82
 
31.08.15
10:50
(4) +1
но нафига вообще проверка на нулл
это ж не вирт. таблица
7 jsmith82
 
31.08.15
10:50
соединений тож нет
8 Enterprise
 
31.08.15
10:50
откуда вообще null ?
9 Ненавижу 1С
 
гуру
31.08.15
10:51
(6) если данных нет, то будет NULL, для этого
10 Krolik Bezobraznik
 
31.08.15
11:18
(9) По моему тут если данных нет то и запрос ничего не вернет.

NUll тут вообще не появится, разве что реквизит имеет составной тип.
11 Krolik Bezobraznik
 
31.08.15
11:19
Может топикстартер запрос нам не весь показал?
12 Ненавижу 1С
 
гуру
31.08.15
11:23
(10) твое мнение неверное, этот запрос гарантированно возвращает ровно ОДНУ запись
13 jsmith82
 
31.08.15
11:24
да, чёто не стыкуется
14 ivapetr
 
31.08.15
11:24
(10) (11) весь.
Этот запрос в любом случаи возвращает результат.
15 ivapetr
 
31.08.15
11:27
другое дело то, что приводя выходное поля к нулю, не приводился результат к нулю, пока не сделал как (4)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан