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