Имя: Пароль:
1C
1С v8
Наложение отбора в запросе через условие
0 manti
 
22.01.14
17:05
ЗУП.
Из регистра сведений РегистрСведений.РаботникиОрганизаций.СрезПоследних нужно выбрать всех людей, которые работают на дату. Пишу соответствующее условие в самой виртуальной таблице:

ВЫБРАТЬ
    РаботникиОрганизацийСрезПоследних.Организация,
    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    РаботникиОрганизацийСрезПоследних.Сотрудник,
    РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок,
    РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния,
    РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения,
    РаботникиОрганизацийСрезПоследних.ПериодЗавершения,
    РаботникиОрганизацийСрезПоследних.Период
ИЗ
    РегистрСведений.РаботникиОрганизаций.СрезПоследних(
            &НаДату,
            Организация = &Организация
                И ВЫБОР
                    КОГДА ПериодЗавершения <= &НаДату
                            И ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
                        ТОГДА ПричинаИзмененияСостоянияЗавершения
                    ИНАЧЕ ПричинаИзмененияСостояния
                КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)) КАК РаботникиОрганизацийСрезПоследних

Запрос вернул 106 записей.

И пробую писать отбор в условии в конструкторе :

ВЫБРАТЬ
    РаботникиОрганизацийСрезПоследних.Организация,
    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
    РаботникиОрганизацийСрезПоследних.Сотрудник,
    РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок,
    РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния,
    РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения,
    РаботникиОрганизацийСрезПоследних.ПериодЗавершения,
    РаботникиОрганизацийСрезПоследних.Период
ИЗ
    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&НаДату, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
ГДЕ
    ВЫБОР
            КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &НаДату
                    И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
                ТОГДА РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения
            ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
        КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)

Запрос в этом случае вернул 68 записей. Причем во всех результатх запроса в ПричинаИзмененияСостояния нет "Уволен".

Кто сможет пояснить почему так происходит и каким способом отбирать?
1 Apokalipsec
 
22.01.14
17:08
потому что по ресурсам.
2 manti
 
22.01.14
17:13
(1) а по подробнее ПЛИЗ ))
3 manti
 
22.01.14
17:33
-ап
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.