Имя: Пароль:
1C
1С v8
РаботникиОрганизацийСрезПоследних отбор по подразделению
0 Ричард
 
27.11.11
15:33
Хочу получить список сотрудников подразделения на конкретную дату.
В запросе выводятся в том числе и те, кто в этом подразделении работал когда-то, но потом переместился в другое подразделение.
Как можно подкорректировать запрос?


       Запрос = Новый Запрос;
       Запрос.УстановитьПараметр("Подразд",Подразд);
       Запрос.УстановитьПараметр("ДатаОтчета",ДатаОтчета);
       Запрос.Текст =
       "ВЫБРАТЬ
       |    РаботникиОрганизацийСрезПоследних.Период КАК Период,
       |    РаботникиОрганизацийСрезПоследних.Сотрудник,
       |    РаботникиОрганизацийСрезПоследних.Должность,
       |    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации КАК ПодразделениеОрганизации,
       |    РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния КАК ПричинаИзмененияСостояния
       |ИЗ
       |    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета, ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)) КАК РаботникиОрганизацийСрезПоследних
       |ГДЕ
       |    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации = &Подразд
       |
       |СГРУППИРОВАТЬ ПО
       |    РаботникиОрганизацийСрезПоследних.Период,
       |    РаботникиОрганизацийСрезПоследних.Сотрудник,
       |    РаботникиОрганизацийСрезПоследних.Должность,
       |    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации,
       |    РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния";
1 Armando
 
27.11.11
16:01
убери из условия виртуальной таблицы "ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)"
это надо в секции "ГДЕ" прописывать.
И зачем нужна группировка?
2 Armando
 
27.11.11
16:04
еще надо учитывать, что сотрудник может быть на время перемещен в другое подразделение с возвратом в исходное.
3 Ричард
 
27.11.11
16:06
Спасибо за советы! Всё получилось!
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс