Переключение на Главную Страницу Страницы: 1 [2] 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Типизация в вычисляемом поле (число прочтений - 7727 )
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Типизация в вычисляемом поле
Ответ #15 - 12. Марта 2008 :: 07:27
Печать  
Для начала определись зачем тебе вообще здесь нужен CASE.
Ибо, сейчас там и в разделе Then и в разделе Else одинаковое выражение.
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Типизация в вычисляемом поле
Ответ #16 - 12. Марта 2008 :: 07:30
Печать  
>>> Ну у тебя там написано: если так то делаем так, иначе делаем точно также

- Так это просто для упрощения, в принципе  было не понятно, как сделать  типизацию.

В рабочем случае разумеется будет: если так, то делаем так, иначе - делаем иначе  Смех
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Типизация в вычисляемом поле
Ответ #17 - 12. Марта 2008 :: 07:31
Печать  
Вот мой пример из 1 поста - там были разные, просто дальше я решил упростить  Подмигивание

|CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOC) ELSE Max(Жур1.IDDOC) END as [ДОК_ОСН $Документ]
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Типизация в вычисляемом поле
Ответ #18 - 12. Марта 2008 :: 07:42
Печать  
     Вот так не пойдет?

|CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOC) ELSE Max(Жур1.IDDOC) END as [ДОК_ОСН $Документ]

CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOCDEF)  ELSE Max(Жур1.IDDOCDEF) END as ДОК_ОСН_вид
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Типизация в вычисляемом поле
Ответ #19 - 12. Марта 2008 :: 08:04
Печать  
Neo писал(а) 12. Марта 2008 :: 07:42:
     Вот так не пойдет?

|CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOC) ELSE Max(Жур1.IDDOC) END as [ДОК_ОСН $Документ]

CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOCDEF)  ELSE Max(Жур1.IDDOCDEF) END as ДОК_ОСН_вид


Так не пойдет! Думай лутше
  
Наверх
ICQ  
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Типизация в вычисляемом поле
Ответ #20 - 12. Марта 2008 :: 08:20
Печать  
Да вроде работает теперь все как надо  Класс на первый взгляд по крайней мере  Класс
  
Наверх
 
IP записан
 
Neo
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 327
Зарегистрирован: 12. Ноября 2007
Re: Типизация в вычисляемом поле
Ответ #21 - 12. Марта 2008 :: 08:21
Печать  
>>> Так не пойдет! Думай лутше

- Все, сдаюсь, учитель  Нерешительный Подсказывай  Круглые глаза
  
Наверх
 
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Типизация в вычисляемом поле
Ответ #22 - 12. Марта 2008 :: 08:24
Печать  
Помедитируй над этим:
http://www.1cpp.ru/forum/YaBB.pl?num=1205304843/10#10
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Типизация в вычисляемом поле
Ответ #23 - 12. Марта 2008 :: 08:52
Печать  
Neo писал(а) 12. Марта 2008 :: 07:42:
     Вот так не пойдет?

|CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOC) ELSE Max(Жур1.IDDOC) END as [ДОК_ОСН $Документ]

CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOCDEF)  ELSE Max(Жур1.IDDOCDEF) END as ДОК_ОСН_вид

Пойдет. Все верно.

ps
ну там запятая в нужном месте надеюсь стоит.
  

1&&2&&3
Наверх
 
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Типизация в вычисляемом поле
Ответ #24 - 12. Марта 2008 :: 09:03
Печать  
trad писал(а) 12. Марта 2008 :: 08:52:
Neo писал(а) 12. Марта 2008 :: 07:42:
     Вот так не пойдет?

|CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOC) ELSE Max(Жур1.IDDOC) END as [ДОК_ОСН $Документ]

CASE WHEN Max(Жур.IDDOCDEF)='4484' THEN Max(Жур.IDDOCDEF)  ELSE Max(Жур1.IDDOCDEF) END as ДОК_ОСН_вид

Пойдет. Все верно.

ps
ну там запятая в нужном месте надеюсь стоит.


Ты, когда шутишь, говори об этом. А то ведь человек сейчас порадуется и так все и оставит...
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Типизация в вычисляемом поле
Ответ #25 - 12. Марта 2008 :: 09:16
Печать  
sadovnikov писал(а) 12. Марта 2008 :: 09:03:
Ты, когда шутишь, говори об этом. А то ведь человек сейчас порадуется и так все и оставит...

а я не шучу
  

1&&2&&3
Наверх
 
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Типизация в вычисляемом поле
Ответ #26 - 12. Марта 2008 :: 09:19
Печать  
trad писал(а) 12. Марта 2008 :: 09:16:
sadovnikov писал(а) 12. Марта 2008 :: 09:03:
Ты, когда шутишь, говори об этом. А то ведь человек сейчас порадуется и так все и оставит...

а я не шучу


И что получишь в случае, когда Max(Жур.IDDOCDEF) != '4484' ?
IDDOC одного документа, IdDocDef - совсем другого.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Типизация в вычисляемом поле
Ответ #27 - 12. Марта 2008 :: 09:21
Печать  
trad писал(а) 12. Марта 2008 :: 09:16:
sadovnikov писал(а) 12. Марта 2008 :: 09:03:
Ты, когда шутишь, говори об этом. А то ведь человек сейчас порадуется и так все и оставит...

а я не шучу

Так пойдет только если Жур1.IDDOCDEF отфильтрован по одному виду документов, чтоб делать такие выводы нужно видеть весь запрос
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Типизация в вычисляемом поле
Ответ #28 - 12. Марта 2008 :: 09:23
Печать  
sadovnikov писал(а) 12. Марта 2008 :: 09:19:
И что получишь в случае, когда Max(Жур.IDDOCDEF) != '4484' ?
IDDOC одного документа, IdDocDef - совсем другого.
с какого перепугу?..
Жур1.IDDOC
Жур1.IDDOCDEF
  

1&&2&&3
Наверх
 
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Типизация в вычисляемом поле
Ответ #29 - 12. Марта 2008 :: 09:26
Печать  
trad писал(а) 12. Марта 2008 :: 09:23:
с какого перепугу?..
Жур1.IDDOC
Жур1.IDDOCDEF


Э нет...
Не
Жур1.IDDOC
А
MAX(Жур1.IDDOC)
и это совсем меняет дело.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать