Имя: Пароль:
1C
1С v8
WTF - Глюк платформы или некорректный запрос?
0 PelotKyk
 
06.05.13
15:25
Добрый день!
Не могу понять в чем дело, у меня на платформе 8.2.17.143 не отрабатывает правильно следующий запрос:

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

Если у кого какие мысли по этому поводу - буду признателен.
1 zak555
 
06.05.13
15:27
запрос чушь
2 zak555
 
06.05.13
15:27
> КОГДА ИСТИНА = ЛОЖЬ

вопрос : когда истина бывает ложью ?
3 Ненавижу 1С
 
гуру
06.05.13
15:27
а как правильно?
4 Нуф-Нуф
 
06.05.13
15:28
не отрабатывает правильно - а как надо то?
5 mikecool
 
06.05.13
15:29
сегодня пятница??
6 kosts
 
06.05.13
15:29
(0) Почем человеки стоят?
7 Fedot200
 
06.05.13
15:30
(2) лучше вот такое условие Если 1 > 0 Тогда
8 France
 
06.05.13
15:36
вот здесь "
       ВЫБОР
           КОГДА ИСТИНА = ЛОЖЬ
               ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
           ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
       КОНЕЦ КАК ВидДвижения,
" всегда отрабатывает первая ветвь "ВидДвиженияНакопления.Приход"
9 Волшебник
 
06.05.13
15:37
(8) уверен?
10 France
 
06.05.13
15:37
8+ блин... никогда не отрабатывает первая ветвь((
11 France
 
06.05.13
15:37
(9) да, промахнулся я, промахнулся))..
12 Волшебник
 
06.05.13
15:38
(11) Акелла промахнулся :)
13 Fedot200
 
06.05.13
15:38
(11) все, по запросу в расход :-)
14 France
 
06.05.13
15:39
уже посыпаю голову пеплом))
15 Lama12
 
06.05.13
15:41
Забавно :)

Вот такой запрос работает правильно:

ВЫБРАТЬ
   ТестДвижений.ВидДвижения,
   ВЫБОР
       КОГДА ТестДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
           ТОГДА "Приход"
       ИНАЧЕ "Расход"
   КОНЕЦ КАК АнализДвижений
ИЗ
   (ВЫБРАТЬ ПЕРВЫЕ 1
       ВЫБОР
           КОГДА Истина
               ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
           ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
       КОНЕЦ КАК ВидДвижения) КАК ТестДвижений

А вот такой нет.

ВЫБРАТЬ
   ТестДвижений.ВидДвижения,
   ВЫБОР
       КОГДА ТестДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
           ТОГДА "Приход"
       ИНАЧЕ "Расход"
   КОНЕЦ КАК АнализДвижений
ИЗ
   (ВЫБРАТЬ ПЕРВЫЕ 1
       ВЫБОР
           КОГДА Ложь
               ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
           ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
       КОНЕЦ КАК ВидДвижения) КАК ТестДвижений
16 Lama12
 
06.05.13
15:41
(15)+
Версия платформы:
1С:Предприятие 8.2 (8.2.18.82)
17 Lama12
 
06.05.13
15:43
Причем, судя по результатам, не корректно отрабатывает первый Выбор.

ВЫБОР
       КОГДА ТестДвижений.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
           ТОГДА "Приход"
    ИНАЧЕ "Расход"
КОНЕЦ
18 1Сергей
 
06.05.13
15:50
(16) 1С:Предприятие 8.2 (8.2.16.352)
аналогично
19 Fedot200
 
06.05.13
15:51
а если
ВЫБОР
           КОГДА Ложь
               ТОГДА ЗНАЧЕНИЕ(ВидДвиженияНакопления.Ррасход)
           ИНАЧЕ ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
20 tuxik07
 
06.05.13
15:57
(8.2.18.82) у меня отрабатывает "правильно" и в клиент-сервере и файловой
21 1Сергей
 
06.05.13
15:57
(19) тогда правильно
22 tuxik07
 
06.05.13
15:57
+(4) а как надо?
23 1Сергей
 
06.05.13
15:59
(20) не верю, покажи скрин
24 tuxik07
 
06.05.13
16:03
вон оно чё

SELECT
Q_000_T_001.Q_001_F_000_00, Q_000_T_001.Q_001_F_000_01,
CASE  WHEN (Q_000_T_001.Q_001_F_000_01 = 0) THEN "Приход" ELSE "Расход" END
FROM
(SELECT TOP 1
CASE  WHEN (TRUE = FALSE) THEN 0 ELSE 1 END Q_001_F_000_00, CASE  WHEN (TRUE = FALSE) THEN 0 ELSE 0 END Q_001_F_000_01
) Q_000_T_001
25 Lama12
 
06.05.13
16:04
(24) Зы... и эти люди запрещают мне ковыряться в носу :-D
26 PelotKyk
 
06.05.13
16:18
И так, господа!
Во первых хочу всем сказать огромное спасибо!
Ну а во вторых... порадуйте меня и скажите что это лыжи :)
27 Lama12
 
06.05.13
16:22
(26) Даже не знаю что сказать.
1С она же девушка.
Для нее Нет, это не совсем Нет. Это как бы Да.
28 Lama12
 
06.05.13
16:24
Надо быть настойчивей.
Например сравнивать базовые типы. Числа, строки.
А то, понимаешь, решил сравнить левую руку и правую. Это ж совсем не белое и черное.
Господа, имейте подход к дамам. :)
29 0xFFFFFF
 
08.05.13
16:35
(0) не нарушайте правила форума. Пятничные ветки запретили.
30 Lama12
 
08.05.13
17:19
(29) А ты проверь, потом посмеешься.