Имя: Пароль:
1C
 
Неопределено = Неопределено?
,
0 progaoff
 
27.09.23
10:41
Всем добрый день.
Ломаю голову второй день)
Есть конструкция в запросе вида:
ВЫБРАТЬ
ВЫБОР КОГДА втДанныеПредварительные.СтатьиДиР0 = НЕОПРЕДЕЛЕНО ТОГДА НЕОПРЕДЕЛЕНО
ИНАЧЕ ВЫРАЗИТЬ(втДанныеПредварительные.СтатьиДиР0 КАК Справочник.СтатьиДоходовИРасходов) 
КОНЕЦ КАК  СтатьиДиР0


Это поле втДанныеПредварительные.СтатьиДиР0  = Неопределено.
Но в итоге идет в ИНАЧЕ.
помогите понять почему?
1 YFedor
 
27.09.23
10:42
может там всетаки Null
2 progaoff
 
27.09.23
10:43
(1) Неа.
Прям 100% НЕОПРЕДЕЛЕНО
3 Масянька
 
27.09.23
10:43
Щас придет Ненавижу и популярно объяснит ху из ху...
А по теме: Неопределенно и NULL - абсолютно разные сущности (с точки зрения 1С).
4 Масянька
 
27.09.23
10:44
(2) И почему тогда не срабатывает условие?
5 progaoff
 
27.09.23
10:45
(4) Дык я сюда и пришел что бы разгадать эту загадку)
6 Масянька
 
27.09.23
10:46
(5) Чудес не бывает, а 1С - это не НУИНУ.
7 YFedor
 
27.09.23
10:46
(2) Можно же попробовать и вместо равенства в условии указать Есть Null
8 progaoff
 
27.09.23
10:46
(3) Да тут понятно.
Объяснять не надо)
Просто null там нет
9 progaoff
 
27.09.23
10:49
(7) НЕОПРЕДЕЛЕНО)
10 Жан Пердежон
 
27.09.23
10:51
без спора без драки: там пустая ссылка
11 Галахад
 
гуру
27.09.23
10:52
(0) Что-то у меня не получается:

ВЫБРАТЬ
    НЕОПРЕДЕЛЕНО КАК А
ПОМЕСТИТЬ ТЗ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВЫБОР
        КОГДА Т.А = НЕОПРЕДЕЛЕНО
            ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ КАК Поле1
ИЗ
    ТЗ КАК Т
12 progaoff
 
27.09.23
10:52
(10) Нет.
13 progaoff
 
27.09.23
10:54
(11) У меня тоже(
14 progaoff
 
27.09.23
10:55
(11) В ИНАЧЕ добавь ВЫРАЗИТЬ
15 Галахад
 
гуру
27.09.23
10:55
(13) В смысле у меня (11) возвращает 0. А у тебя?
16 НЕА123
 
27.09.23
10:56
ВЫБОР КОГДА втДанныеПредварительные.СтатьиДиР0 = НЕОПРЕДЕЛЕНО ТОГДА втДанныеПредварительные.СтатьиДиР0
ИНАЧЕ ВЫРАЗИТЬ(втДанныеПредварительные.СтатьиДиР0 КАК Справочник.СтатьиДоходовИРасходов)
КОНЕЦ КАК  СтатьиДиР0
17 progaoff
 
27.09.23
10:57
(16) Не совместимые типы ВЫРАЗИТЬ
18 Галахад
 
гуру
27.09.23
10:57
(14)
ВЫБРАТЬ
    НЕОПРЕДЕЛЕНО КАК А
ПОМЕСТИТЬ ТЗ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВЫБОР
        КОГДА Т.А = НЕОПРЕДЕЛЕНО
            ТОГДА 0
        ИНАЧЕ ВЫРАЗИТЬ(Т.А КАК Справочник.Валюты)
    КОНЕЦ КАК Поле1
ИЗ
    ТЗ КАК Т

Ашипка
19 НЕА123
 
27.09.23
10:58
(16)
я к тому ,что НЕОПРЕДЕЛЕНО может как NULL возвращается. хз.
20 progaoff
 
27.09.23
10:58
(18) Не совместимые типы ВЫРАЗИТЬ??
21 Гена
 
гуру
27.09.23
10:59
Я бы попробовал здесь:
...= НЕОПРЕДЕЛЕНО ТОГДА НЕОПРЕДЕЛЕНО что-то сообщить, чтобы точно знать, что не зашли сюда.
22 Галахад
 
гуру
27.09.23
10:59
(20) Ну да. Т.е. у тебя все же не НЕОПРЕДЕЛЕНО. ))
23 progaoff
 
27.09.23
11:00
Жесть какая а. Может есть 2 вида неопределено?))
24 progaoff
 
27.09.23
11:02
(21) Похоже что все таки не неопределено
25 progaoff
 
27.09.23
11:04
(24) Но без ВЫРАЗИТЬ - говорит об обратном
26 Valdis2007
 
27.09.23
11:05
(0) СтатьиДиР0 - Составной тип?
27 progaoff
 
27.09.23
11:07
(26) Да.
28 Масянька
 
27.09.23
11:24
(27) А кто-то клялся и божился 😃
29 НЕА123
 
27.09.23
11:24
ответ в (10)
30 НафНаф
 
27.09.23
11:25
(3) я за него
31 Eiffil123
 
27.09.23
11:25
(27) если статьи получаются через левое соединение, то может быть и null
32 progaoff
 
27.09.23
11:27
(31) нет
33 progaoff
 
27.09.23
11:37
Так как в итоге быть?)
34 progaoff
 
27.09.23
11:40
(28) Запрос выдает Тип = Неопределено.
35 AlexeyKh
 
27.09.23
11:48
чего гадать? просто тип значения посмотрите

Выбрать
...
ТипЗначения(втДанныеПредварительные.СтатьиДиР0) как Тип,
...
36 progaoff
 
27.09.23
11:51
(35) Значение не является значением объектного типа
37 AlexeyKh
 
27.09.23
11:55
(36) значит это
втДанныеПредварительные.СтатьиДиР0 <> Неопределено !!!
что и требовалось!!!
38 azernot
 
27.09.23
12:22
(33) Господи, ну выведите запросом

Выбрать
втДанныеПредварительные.СтатьиДиР0
где
НЕ втДанныеПредварительные.СтатьиДиР0 = НЕОПРЕДЛЕНО

И посмотрите, что там у вас в отладчике. Сразу мысля появятся, что с этим делать
39 progaoff
 
27.09.23
12:26
(38) Уже. Пустой результат
40 progaoff
 
27.09.23
12:45
Вообщем нет там никакого типа кроме НЕОПРЕДЕЛЕНО. Не понятно что с этим делать вообще(
41 Eiffil123
 
27.09.23
13:00
(40) тогда бы это не давало ошибку:
ТипЗначения(втДанныеПредварительные.СтатьиДиР0) как Тип
42 Fedor-1971
 
27.09.23
13:07
(40) Консолью запросов попробовать выполнить запрос и не гадать на кофейной гуще. Возможно, что в значении примитивный тип данных, например, строка

как вариант, сделать проверку так isNull(втДанныеПредварительные.СтатьиДиР0, Неопределено) = НЕОПРЕДЕЛЕНО
43 azernot
 
27.09.23
13:12
(39) Значит вы выполняете разные запросы, в разных базах, с разными условиями. Короче в другом месте у вас ошибка.
44 Жан Пердежон
 
28.09.23
14:29
(36) запросы не выдают такой ошибки
(43) о чем и речь, если он (35) толком сделать не может
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший