Имя: Пароль:
1C
1С v8
Тип "Число" в запросе
, ,
0 areaho0ray
 
20.06.18
02:00
Доброго времени суток. Может быть сталкивался кто-нибудь с этим.
В общем, выполняем запрос, совершенно обычный, к самой обычной табличной части документа, к примеру, реализация товаров и услуг.
Интересуемся типом поля Сумма - видим, что оно не просто "Число", а "Null, Число", но в самом результате ни одного NULL'а нет.
Как так может быть?
Чет гуглил, но видимо плохо, не нашел ничего по теме.
1 МихаилМ
 
20.06.18
02:02
так всегда. есть описание в доках по скд.

даже если тз типизированную прогнать через скд или ПЗ, то на выходе добавится тип Null.
2 areaho0ray
 
20.06.18
02:19
(1) Очень странно, зачем так сделано?
3 areaho0ray
 
20.06.18
04:00
Вопрос можно закрыть. Изначально хотелось выяснить, почему в ТЗ в таких полях квалификаторы числа пустые, думал из-за Null в типе. Экспериментально выяснил, что это из-за суммирования в группировках в запросе. Не знал, но теперь буду иметь ввиду.
4 DrZombi
 
гуру
20.06.18
07:30
(0) Смирись, так работает 1С :)
5 DrZombi
 
гуру
20.06.18
07:31
(2) Умом не понять, это надо просто знать, Помни это! :)
6 тарам пам пам
 
20.06.18
09:15
(3) потому что СУММА(Поле) при пустой таблице даст Null, а не 0
7 youalex
 
20.06.18
09:30
(3) это не из-за суммирования. Null добавляется во все колонки результата запроса, чтобы не анализировать, в каком поле может быть null, а в каком нет. Даже если запрос "ВЫБРАТЬ 1"
8 Сияющий в темноте
 
20.06.18
09:41
Вообще-то,Null означает,что нет данных,и от типа ячейки не зависит,sql когда вымолняет запрос может вернуть Null в любом поле,так проще,чем анализировать запрос и искать в нем поля,которые не могут быть Null.В 1с же решили оставить Null как есть и не менять его на неопределено
9 hhhh
 
20.06.18
09:46
(6) СУММА(Поле) всегда число возвращает. Вроде.
10 Ненавижу 1С
 
гуру
20.06.18
09:50
(9) не всегда, а КОЛИЧЕСТВО всегда
11 hhhh
 
20.06.18
09:52
(10) ну по опыту внутри СУММА можно ЕСТЬNULL не писать. Это я помню.
12 Ненавижу 1С
 
гуру
20.06.18
09:55
(11) надо писать не внутри, а снаружи, но не всегда
13 areaho0ray
 
21.06.18
00:12
(8) В таком случае непонятно, почему строковые значения NULL'ом не обременены, только числа.
(7) Не, я о другом - мне нужно было знать, в каком поле какое количество знаков после запятой. Была сумма по группировке - квалификаторы числа были пустые, убрал группировку - стало все нормально.