|
Условие в СКД |
☑ |
0
seraf
13.12.19
✎
13:42
|
Подскажите, не соображу. Есть отчет, в нем два поля одинакового типа (перечисления), одно из РС, второе из РН.
При сравнении Поле1 = Поле2 данные верно фильтруются, если установить в СКД Поле1 <> Поле2, пусто. При этом Поле2 пустое кажется (но NULL там или пустая ссылка какая разница, не равно ведь).
Я что-то упускаю при сравнении двух значений?
|
|
1
ДенисЧ
13.12.19
✎
13:44
|
"но NULL там или пустая ссылка какая разница"
Разница большая. Любое сравнение с NULL даёт ложь. Так что разберись с этим.
|
|
2
SergTheGreat
13.12.19
✎
13:50
|
(0) Измени описание поля на
ЕСТЬNULL(Поле1, ЗНАЧЕНИЕ(Перечисление.ТипПеречисления.ПустаяСсылка) КАК Поле1
и тогда сравнивай их как хочешь.
|
|
3
SergTheGreat
13.12.19
✎
13:51
|
(2) упс... скобочку одну забыл
|
|
4
seraf
13.12.19
✎
14:05
|
Понял что там NULL
А в каких случая 1С в реквизиты пишет пустую ссылку, в каких NULL?
Или если была прямая инициализация например Поле1 = 0 (ПустаяСсылка) только тогда оно становится не NULL
|
|
5
seraf
13.12.19
✎
14:06
|
Описание изменить где лучше, в запросе или где-то в представлениях СДКшного конструктора
|
|
6
seraf
13.12.19
✎
14:08
|
если у меня таких пар полей по которым возможно сравнение полдюжины, что всё в запросе описывать
|
|
7
seraf
13.12.19
✎
14:16
|
+а если поле составное, то что, как его выражать через ЕСТЬNULL
|
|
8
seraf
13.12.19
✎
14:17
|
ну хотя в таком случае не так важно для сравнение какую пустую ссылку оно приймет..
|
|
9
hhhh
13.12.19
✎
17:01
|
(7) если составное, тогда НЕОПРЕДЕЛЕНО
|
|
10
DrWatson
13.12.19
✎
17:11
|
(4) >А в каких случая 1С в реквизиты пишет пустую ссылку, в каких NULL?
Неопределено и пустая ссылка - это вполне себе определенные значения данных. И, да, это тоже разные значения.
NULL ставится когда данных не существует. Это может быть если ты делаешь левое соединение и берешь поле второй таблицы. Так вот, если по условию не нашлась строка второй таблицы, то в этом поле будет null.
|
|
11
seraf
13.12.19
✎
17:52
|
(10) да, если строки не найдено будет NULL
а если в регистре присоединяемом часть данных не заполнено, это что, Неопределено или пустаяссылка/0
|
|
12
SergTheGreat
16.12.19
✎
10:23
|
(11) Тут поведение запроса ничем не отличается от получения свойства "через точку":
если тип данных единичный - пустая ссылка;
если составной - Неопределено.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший