ЕстьNULL как правильно использовать в запросе... #669842


#0 by Samir
Никак не соображу как правильно использовать ЕстьNULL в запросе... Иногда ВыручкаВозврат и ВыручкаВозвратНДС - NULL Как правильно применить в запросе ЕстьNULL?
#1 by cw014
Смотря что ты хочешь
#2 by XLife
#3 by Ёпрст
ну дык, ЕстьNull(Вася,0)
#4 by Samir
Запрос иногда возвращает NULL, далее я суммирую возвраты но при суммировании он пишет, что не может быть преобразовано в число
#5 by Samir
Все равно не может быть преобразовано в число
#6 by Ёпрст
а весь текст то покажи
#7 by Samir
И на этом этапе ступор....
#8 by EvgeniuXP
отфильтруй :)
#9 by Ёпрст
у тя там NULL никогда не будет..
#10 by Ёпрст
ошибка в другом месте
#11 by Галахад
Почему isnull только в одном месте? А в другие Пушкин засовывать будет?
#12 by Samir
Туда тоже можно, но для начала нужно с этой проблемой разобраться, а уже по образу и подобию с другими...
#13 by Ёпрст
заремь все поля запроса, оставь верхнее и смотри. Я хреново знаю за снеговик, но разве ВТ табличка Обороты может возвращать NULL в ресурсах ?!
#14 by zak555
в общем случае ВыручкаВозврат <> сумме всем СуммаОборотКт - ХозрасчетныйОбороты.СуммаНУОборотКт
#15 by Ненавижу 1С
может, так  как группировок нет, то вполне может быть NULL, если выборка пустая, учите ребята SQL
#16 by Samir
база на SQL
#17 by Ненавижу 1С
какая разница, поведение общее
#18 by Ёпрст
? с х..ли ?
#19 by Samir
может не в запросе, а в переборке результатов поставить какое-нить условие типа если Null тогда выборка.следующий
#20 by Samir
Причем эта ошибка вылезла за 1 день, за все остальные отчет отрабатывает. Это была суббота и возвратов не было
#21 by Ёпрст
и причем тут группировки, если ВТ и так свёрнута, а унутри - обычный select и Sum унутри, которая априори null не выдаст
#22 by Галахад
Консоль запросов для кого придумали? Ну или выгрузи результат запроса в ТЗ и посмотри.
#23 by Ненавижу 1С
да, да, учи ))
#24 by Ненавижу 1С
убери ото всюду суммирование и увидишь, что при случае NULL у тебя будет пустая выборка
#25 by Samir
Смотрю в отладчике, действительно все параметры Null
#26 by Samir
Ибо возвратов не было. Редкое явление, но стряслось
#27 by Ёпрст
лень профайлер открывать,чтобы посмотреть, че там летит при обращении к ВТ Обороты, но знание sql тут не при чем.
#28 by Ненавижу 1С
как раз при том: SELECT SUM(X) --тут будет NULL FROM T WHERE 1=0
#29 by Ёпрст
согласен
#30 by Samir
А что мне подскажите?
#31 by Ёпрст
естьnull втыкать во все обращения к ресурсам ХозрасчетныйОбороты
#32 by Ёпрст
но с другой стороны, могли бы и в ВТ воткнуть сразу: :)
#33 by Ненавижу 1С
не могли, тогда бы ВТ выдавала абсолютно все записи: есть остатки, нет остатков, что не есть хорошо
#34 by Ёпрст
Ну и скуль тут как бэ не причем, select Sum(null+10) прекрасно отработает в скуле..
#35 by Ёпрст
тут проблема в 1с-ине, раз она "не может быть преобразовано в число"
#36 by Ёпрст
а на счет остатков - там тупо having стоит на результат..
#37 by Ненавижу 1С
и че? непонятно а целом, что получается?
#38 by Ненавижу 1С
ИМХО, не надо ничего городить, достаточно нормально юзать запросы
#39 by Ёпрст
ну как че ? виновата 1с-ина, которая хз как транслирует функцию сумма, раз она не может переварить это: sum(null+10)
#40 by Steini
Подытожим: известное дело, когда в запросе одни лишь СУММА, и таблица пустая, то вернется NULL. Решение проблемы: использовать еще раз ЕСТЬNULL: ЕСТЬNULL(СУММА,0) ну или программно вне запроса то же самое.
#41 by Ёпрст
выбрать Сумма(null + 1) работает в консоли запросов.
#42 by Ненавижу 1С
у меня может
#43 by Ёпрст
ну вот и хз, чего за ошибка тогда "не может быть преобразовано в число", раз работает
#44 by Ненавижу 1С
ошибка у него не в запросе, а в использовании его результата: естественно с NULL операции в самом коде недопустимы
#45 by Ёпрст
ну вот и я про то, что в запросе писать естьNull не надо :)
#46 by Ненавижу 1С
надо )) лучше естьNULL вместо того чтобы в коде проверять на NULL
#47 by Ёпрст
уел
#48 by Ненавижу 1С
хватит меня троллить! ))
#49 by Ёпрст
не-не-не .. я еще не всё про нулл и неопределенно понял :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С