Имя: Пароль:
1C
1С v8
Глюк со сравнением видов движений в запросе
0 sdemon72
 
14.03.14
12:30
Платформа 1С:Предприятие 8.2 (8.2.18.109), толстый клиент обычное приложение,
Конфигурация Комплексная автоматизация, редакция 1.1 (1.1.36.2) (хотя это, наверное, не важно).

Исполняю следующий запрос:

ВЫБРАТЬ
    1 КАК Количество
ПОМЕСТИТЬ ВтТаблицаКоличество

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    -1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВЫБОР
        КОГДА ТаблицаКоличество.Количество < 0
            ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
        ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
    КОНЕЦ КАК ВидДвижения
ПОМЕСТИТЬ ВтТаблицаДвижений
ИЗ
    ВтТаблицаКоличество КАК ТаблицаКоличество
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТаблицаДвижений.ВидДвижения КАК ВидДвиженияИсходный,
    ВЫБОР
        КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЭтоПриход
ИЗ
    ВтТаблицаДвижений КАК ТаблицаДвижений

Получаю:

ВидДвиженияИсходный    ЭтоПриход
Приход    Да
Расход    Да

А вот такой запрос исполняется нормально:

ВЫБРАТЬ
    ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения
ПОМЕСТИТЬ ВтТаблицаДвижений

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТаблицаДвижений.ВидДвижения КАК ВидДвиженияИсходный,
    ВЫБОР
        КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЭтоПриход
ИЗ
    ВтТаблицаДвижений КАК ТаблицаДвижений


ВидДвиженияИсходный    ЭтоПриход
Приход    Да
Расход    Нет

Эт что, глюк платформы?
1 Maxus43
 
14.03.14
12:42
видимо глюк
2 Господин ПЖ
 
14.03.14
12:47
прикол...
3 ptiz
 
14.03.14
12:51
Забавно
4 Господин ПЖ
 
14.03.14
12:53
типы правильные, значения тоже, но все считает приходом...
5 fisher
 
14.03.14
12:55
На 8.3.4.408 - результат правильный
6 ptiz
 
14.03.14
13:02
А в 8.1 - вообще валится на последней части запроса :)
7 XLife
 
14.03.14
14:23
(0) замени в последнем пакете первого запроса

КОГДА ТаблицаДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)

на

КОГДА ТаблицаДвижений.ВидДвижения <> ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
8 sdemon72
 
14.03.14
14:52
(7)
Ошибка SDBL:
Ожидается выражение (pos=75)

И вылет из программы. Ваще круть
9 XLife
 
14.03.14
15:05
(8) :)
Программист всегда исправляет последнюю ошибку.