Имя: Пароль:
1C
1С v8
...Выбор когда...
0 manti
 
23.04.12
09:22
есть в запросе конструкция выбор когда. Когда должность завершения присутствует у работника то он выводит ее как должность, но при обратном условии не выводит ничего, а должен КадроваяИстория.Должность. Что можно подправить?

ВЫБРАТЬ
   ЕСТЬNULL(КадроваяИстория.Сотрудник.ПодразделениеОрганизации, "") КАК ПодразделениеОрганизации,
   ЕСТЬNULL(КадроваяИстория.Сотрудник.Должность, "") КАК ДолжностьПоДоговору,
   ЕСТЬNULL(КадроваяИстория.Должность, "") КАК ДолжностьАктуальная,
   СотрудникиОрганизаций.Физлицо.ДатаРождения КАК ДатаРождения,
   КадроваяИстория.ДолжностьЗавершения КАК ДолжностьЗавершения,
   СотрудникиОрганизаций.Физлицо.Ссылка КАК ФИО,
   ВЫБОР
       КОГДА КадроваяИстория.ДолжностьЗавершения = NULL
           ТОГДА КадроваяИстория.Должность
       ИНАЧЕ КадроваяИстория.ДолжностьЗавершения
   КОНЕЦ КАК Должность
ИЗ
   Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК КадроваяИстория
       ПО СотрудникиОрганизаций.Ссылка = КадроваяИстория.Сотрудник.Ссылка
ГДЕ
   СотрудникиОрганизаций.Ссылка = &Ссылка
1 zak555
 
23.04.12
09:23
а где дата у тебя, на какую строишь запрос ?
2 zak555
 
23.04.12
09:24
выводи все данные из рс
3 manti
 
23.04.12
09:24
(1) тут дата обязательна?
4 Alex S D
 
23.04.12
09:24
попробуй ВЫБОР
       КОГДА КадроваяИстория.ДолжностьЗавершения = ЗНАЧЕНИЕ(Справочник.Твойтип.ПустаяСсылка)
           ТОГДА КадроваяИстория.Должность
       ИНАЧЕ КадроваяИстория.ДолжностьЗавершения
   КОНЕЦ КАК Должность
5 Wobland
 
23.04.12
09:24
открой для себя ЕСТЬNULL()
6 manti
 
23.04.12
09:25
(1) и с датой не выводит
7 zak555
 
23.04.12
09:25
запрос делай только по РС
8 aleks-id
 
23.04.12
09:26
капец блин...
ЕСТЬNULL(КадроваяИстория.ДолжностьЗавершения,КадроваяИстория.Должность) КАК Должность
9 aleks-id
 
23.04.12
09:29
и на будущее. не КадроваяИстория.ДолжностьЗавершения = NULL а КадроваяИстория.ДолжностьЗавершения ЕСТЬ NULL
10 manti
 
23.04.12
09:39
(4) это Вы пример написали когда жестко професиия задана.
(9) ЕСТЬNULL(КадроваяИстория.ДолжностьЗавершения, КадроваяИстория.Должность) КАК Должность
все равно не выводит
он по ходу не видит что там пустое значение, для него там что то есть.
даже если так
ВЫБОР
       КОГДА КадроваяИстория.ДолжностьЗавершения = ""
           ТОГДА КадроваяИстория.Должность
       ИНАЧЕ КадроваяИстория.ДолжностьЗавершения
   КОНЕЦ КАК Должность
11 manti
 
23.04.12
09:54
(4) ой извиняюсь, помогло, Спасибо
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший