|
Тип "Число" в запросе | ☑ | ||
---|---|---|---|---|
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) Не, я о другом - мне нужно было знать, в каком поле какое количество знаков после запятой. Была сумма по группировке - квалификаторы числа были пустые, убрал группировку - стало все нормально. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |