Имя: Пароль:
1C
1С v8
NULL вместо пустого результата запроса.
0 Быдло замкадное
 
13.08.20
11:09
Почему следующий запрос вместо пустой выборки выдает 1 строчку со значением СуммаДокумента = NULL?
Мне нужен пустой результат.
Корректировок по этой реализации нет.
Пробовал isnull(СУММА(КорректировкаРеализации.СуммаДокумента), 0) добавлять, что бы 0 выводил, не помогает.
Пробовал условие ставитьКорректировкаРеализации.СуммаДокумента <> NULL тоже не помогает.
Что-то удивительное для меня

ВЫБРАТЬ
    СУММА(КорректировкаРеализации.СуммаДокумента) КАК СуммаДокумента
ИЗ
    Документ.КорректировкаРеализации КАК КорректировкаРеализации
ГДЕ
    КорректировкаРеализации.ДокументРеализации = &ДокументРеализации
1 Быдло замкадное
 
13.08.20
11:10
Вот так в ссылке выдает 0 , а в сумме документа все равно  null

ВЫБРАТЬ
    СУММА(ЕСТЬNULL(КорректировкаРеализации.СуммаДокумента, 0)) КАК СуммаДокумента,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ КорректировкаРеализации.Ссылка) КАК Ссылка
ИЗ
    Документ.КорректировкаРеализации КАК КорректировкаРеализации
ГДЕ
    КорректировкаРеализации.ДокументРеализации = &ДокументРеализации
2 Ёпрст
 
гуру
13.08.20
11:12
(0) наслаждайся



ВЫБРАТЬ
    КорректировкаРеализации.СуммаДокумента КАК СуммаДокумента
ИЗ
    Документ.КорректировкаРеализации КАК КорректировкаРеализации
ГДЕ
    КорректировкаРеализации.ДокументРеализации = &ДокументРеализации
3 Кир Пластелинин
 
13.08.20
11:14
ну дык агрегирующая функция
4 Быдло замкадное
 
13.08.20
11:18
(2) а если корректировок 2?
5 Быдло замкадное
 
13.08.20
11:19
(3) в ней 0 нельзя вывести? Или если она агрегирует 0 строк то пусть 0 строк в результате выдает а не одну...
6 youalex
 
13.08.20
11:20
ИМЕЮЩИЕ
7 youalex
 
13.08.20
11:24
ВЫБРАТЬ
    СУММА(КорректировкаРеализации.СуммаДокумента) КАК СуммаДокумента
ИЗ
    Документ.КорректировкаРеализации КАК КорректировкаРеализации
ГДЕ
    КорректировкаРеализации.ДокументРеализации = &ДокументРеализации
ИМЕЮЩИЕ СУММА(КорректировкаРеализации.СуммаДокумента) <> 0
8 Быдло замкадное
 
13.08.20
11:29
(6) точно! Спасибо)) меня недавно даже на собеседовании спрашивали про ИМЕЮЩИЕ, я удивился, ни разу не пользовался таким.. И тут впервые понадобилось =0
9 youalex
 
13.08.20
11:30
+

(1) >> ЕСТЬNULL(КорректировкаРеализации.СуммаДокумента, 0)

Должно работать, скорее всего просто пустое представление у 0.
Можешь проверить например как ЕСТЬNULL(КорректировкаРеализации.СуммаДокумента, 0) +77 (NULL + 77 IS NULL)
10 Быдло замкадное
 
13.08.20
11:32
(9) ну я в консоли запросов дважды тыкал по результату, null выводил. Да и мне не нужна эта 1 строчка в результате запроса
11 palsergeich
 
13.08.20
12:11
ИМЕЮЩИЕ IsNull(СУММА(КорректировкаРеализации.СуммаДокумента),0) > 0