Имя: Пароль:
1C
1С v8
Оператор запроса КОГДА
0 lucifer
 
17.05.13
13:35
Он должен первый стоять в блоке ВЫБРАТЬ?
т.е. так нельзя:
ВЫБРАТЬ
РегистрСведенийНалог.ВидОплаты КАК ВидОплаты,
КОГДА (условие)  ТОГДА
"Да"
ИНАЧЕ
"Нет"
КОНЕЦ КАК Инвалид,
РегистрСведенийНалог.Год КАК Год,
.......
1 Maxus43
 
17.05.13
13:35
ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ
2 vicof
 
17.05.13
13:35
Однако, пятница
3 ДенисЧ
 
17.05.13
13:36
(0) А занафея такой вариант нужен?
4 Fragster
 
гуру
17.05.13
13:37
(3) чтобы не пользоваться Формат'ом
5 Defender aka LINN
 
17.05.13
13:40
(0) "т.е. так нельзя" - какие ваши доказательства?
6 lucifer
 
17.05.13
13:47
тупанул ))
7 vvp91
 
17.05.13
13:54
можно так:

(выбрать СтавкаНДС
   когда значение(Перечисление.СтавкиНДС.НДС18) Тогда 18.
   когда значение(Перечисление.СтавкиНДС.НДС10) Тогда 10.
   иначе 0. конец) как Процент

а можно так:

(выбрать
   когда СтавкаНДС = значение(Перечисление.СтавкиНДС.НДС18) Тогда 18.
   когда СтавкаНДС = значение(Перечисление.СтавкиНДС.НДС10) Тогда 10.
   иначе 0. конец) как Процент
8 Maxus43
 
17.05.13
13:56
(7) пробовал сам то? синтаксис (1) вобще-то
10 Fragster
 
гуру
17.05.13
13:58
(8) не, он не пробовал
12 User_Agronom
 
17.05.13
14:01
ВЫБРАТЬ
 Поле1,
 Поле2,
 ВЫБОР
   КОГДА Условие ТОГДА
     1
     ИНАЧЕ 0
 КОНЕЦ,
 Поле3,
ИЗ
  ТаблицаИкс

Примерный синтаксис
13 User_Agronom
 
17.05.13
14:02
Необязательно первый.
И назвать нужно (ошибся я)
должно быть
КОНЕЦ КАК Полевычисленное
14 Defender aka LINN
 
17.05.13
14:03
(8), (10) Садитесь, двоечники.

ВЫБРАТЬ
   ВложенныйЗапрос.Поле1,
   ВЫБОР ВложенныйЗапрос.Поле1
       КОГДА 1
           ТОГДА 1
   КОНЕЦ КАК Поле2
ИЗ
   (ВЫБРАТЬ
       1 КАК Поле1) КАК ВложенныйЗапрос
16 Fragster
 
гуру
17.05.13
14:05
(11) да он свою опечатку не видит, а синтаксис имеет право быть и в справке описан (правда немного через жопу, но если внимательно посмотреть на картинку, то описан :))
17 Fragster
 
гуру
17.05.13
14:05
(15) выбрать -> выбор
18 Maxus43
 
17.05.13
14:05
(14) причем тут двоечники? у него в (0) ВЫБРАТЬ перед КОГДА а не ВЫБОР, я синтаксис уточнил только.
(15) > (14)(12) я про синтаксис, а не про сферических коней в вакууме. ВЫБОР а не ВЫБРАТЬ используется с КОГДА
19 Fragster
 
гуру
17.05.13
14:05
и не надо столь импульсивно реагировать
20 palpetrovich
 
17.05.13
14:11
(13) в данном случае псевдоним необязателен :)

ВЫБРАТЬ
 1,
 ВЫБОР
   КОГДА ИСТИНА ТОГДА
     2
     ИНАЧЕ
     3
 КОНЕЦ,
 4
21 vvp91
 
17.05.13
14:11
вместо "выбрать" должен быть "выбор".
опечатку не увидел.
22 User_Agronom
 
17.05.13
14:15
(20) Но желателен. Если данные запроса потом где-то обрабатывать нужно.
Если запрос ради запроса и так сойдёт :)
23 Maxus43
 
17.05.13
14:16
(21) > (19) :)
24 Fragster
 
гуру
17.05.13
14:16
да пофиг, конструктор все равно все псевдонимы доставит, если их нет. а вот за то, что он * разворачивает - ему по голове надо давать, да
25 Maxus43
 
17.05.13
14:17
(24) это да, постоянно чистить поля надо после него
26 lucifer
 
17.05.13
14:22
а скажите люди добрые
ВЫБОР КОГДА (условие)  ТОГДА
Истина
ИНАЧЕ
Ложь
КОНЕЦ КАК Инвалид
........
ГДЕ .... ??

можно ли отобрать записи только где Инвалид = истина?
27 Maxus43
 
17.05.13
14:23
(26) да
28 Maxus43
 
17.05.13
14:23
ГДЕ ВЫБОР КОГДА (условие)  ТОГДА
Истина
ИНАЧЕ
Ложь
КОНЕЦ
29 User_Agronom
 
17.05.13
14:24
А
ГДЕ (условие)
не катит?
30 lucifer
 
17.05.13
14:24
(27) хм.. я вроде пробовал так
31 Maxus43
 
17.05.13
14:24
(29) ну это примитивный случай, в более сложных приходится юзать Выбор Когда
32 lucifer
 
17.05.13
14:26
(31) я ж показываю только куски запроса
33 User_Agronom
 
17.05.13
14:28
(29) (31) Или я или ты не поняли, что хочет ТС.
Я про вариант
ВЫБРАТЬ
 Поле1,
 Поле2,
 ВЫБОР
   КОГДА Условие ТОГДА
     Истина
     ИНАЧЕ Ложь
 КОНЕЦ КАК ПолеВычисляемое,
 Поле3,
ИЗ
  ТаблицаИкс
ГДЕ Условие

Если оно даёт истину в выборе КОГДА, то она даст истину и в операторе ГДЕ :)
(32) Попробуй показать весь. Наверняка он не очень большой
34 Maxus43
 
17.05.13
14:30
(33) он хочет понять как можно
(32) ну вот тупой пример,
ВЫБРАТЬ
   ХозрасчетныйОбороты.Счет,
   ХозрасчетныйОбороты.Субконто1,
   ХозрасчетныйОбороты.СуммаОборот
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Обороты КАК ХозрасчетныйОбороты
ГДЕ
   ВЫБОР
           КОГДА ХозрасчетныйОбороты.Счет = &Счет20
                   И ХозрасчетныйОбороты.Субконто1 = &Субконто1_20
               ТОГДА ИСТИНА
           КОГДА ХозрасчетныйОбороты.Счет = &Счет23
                   И ХозрасчетныйОбороты.Субконто1 = &Субконто1_23
               ТОГДА ИСТИНА
           ИНАЧЕ ЛОЖЬ
       КОНЕЦ

будут выбраны только счета 20 с определённым субконто и счет 23 с другим субконто
35 User_Agronom
 
17.05.13
15:26
ВЫБРАТЬ
   ХозрасчетныйОбороты.Счет,
   ХозрасчетныйОбороты.Субконто1,
   ХозрасчетныйОбороты.СуммаОборот,
   ВЫБОР
        КОГДА ХозрасчетныйОбороты.Счет = &Счет20
              И ХозрасчетныйОбороты.Субконто1 = &Субконто1_20
        ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
   КОНЕЦ КАК Поле
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Обороты КАК ХозрасчетныйОбороты
ГДЕ
   ХозрасчетныйОбороты.Счет = &Счет20
   И ХозрасчетныйОбороты.Субконто1 = &Субконто1_20

собственно у ТС такая структура проглядывалась. Мои телепаты в отпуску, приходиться угадывать.
Может у ТС спросим? ТС?! Ты где?!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.