Имя: Пароль:
1C
1С v8
Регистр сведений. Последняя запись для каждого сотрудника
0 KishMish
 
09.12.11
08:04
Есть регистр сведений. 3 измерения. 2 ресурса.
Одно из измерений - сотрудник.
В запросе при использовании СрезПоследних для каждого сотрудника появляются 2-3 записи (из за различия в других измерениях).
Как сделать так, чтобы в запросе выбрались только последняя (хронологически по "период") для каждого сотрудника запись, т.е. без учета двух других измерений.
1 KishMish
 
09.12.11
08:05
+(0) код

ВЫБРАТЬ РАЗРЕШЕННЫЕ *
ИЗ    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаКон)
ГДЕ ИСТИНА
2 ЧеловекДуши
 
09.12.11
08:06
Мастер тебе поможет :)
Так и пиши, срез последних.
3 KishMish
 
09.12.11
08:07
(2) Так и пишу. Для каждого сотрудника в срезе последних 2-3 записи. Мне нужно получить для каждого сотрудника 1 запись, последнюю.
4 Gesperid10
 
09.12.11
08:08
срез группируй по сотру, период максимум - соединение со срезом
5 ZanderZ
 
09.12.11
08:08
(0) максимум по периоду с группировкой по сотрудник
6 KishMish
 
09.12.11
08:09
(4) (5) мне нужны ресурсы последней записи. я их получу? дайте, пожалуйста, пример кода на основании (1)
7 ZanderZ
 
09.12.11
08:13
(6) ну что-то типа
ВЫБРАТЬ РАЗРЕШЕННЫЕ
МАКСИМУМ (ПЕРИОД) как период,
СОтрудник
поместить втмаксимумы
ИЗ    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаКон)
сгруппировать по Сотрудник;
ВЫБРАТЬ  *
ИЗ    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаКон) как СрезПоследних
внутреннее соединение
втмаксимумы
по СрезПоследних.Период = втмаксимумы.период
и СрезПоследних.Сотрудник = втмаксимумы.сотрудник
8 Gesperid10
 
09.12.11
08:14

ВЫБРАТЬ
   ВложенныйЗапрос.Период,
   ВложенныйЗапрос.Сотрудник,
   РаботникиОрганизацийСрезПоследних.ЗанимаемыхСтавок,
   РаботникиОрганизацийСрезПоследних.ОбособленноеПодразделение,
   РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации
ИЗ
   (ВЫБРАТЬ
       МАКСИМУМ(РаботникиОрганизацийСрезПоследних.Период) КАК Период,
       РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник
   ИЗ
       РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата, ) КАК РаботникиОрганизацийСрезПоследних
   
   СГРУППИРОВАТЬ ПО
       РаботникиОрганизацийСрезПоследних.Сотрудник) КАК ВложенныйЗапрос
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата, ) КАК РаботникиОрганизацийСрезПоследних
       ПО ВложенныйЗапрос.Период = РаботникиОрганизацийСрезПоследних.Период
           И ВложенныйЗапрос.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
[/c]
9 KishMish
 
09.12.11
08:18
(7) (8) все понял. все получилось. спасибо.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.