Имя: Пароль:
1C
1С v8
1C Периоды работы сотрудников на разных должностях
0 devochka_1c
 
28.10.15
10:47
Добрый день.
Конфигурация 1С УПП.
Требуется получить периоды работы сотрудников на разных должностях (и в разных подразделениях).

Пишу запрос:

ВЫБРАТЬ
    РаботникиОрганизаций.Сотрудник КАК Сотрудник,
    РаботникиОрганизаций.Период КАК Период,
    МИНИМУМ(ЕСТЬNULL(РаботникиОрганизацийСледующаяЗапись.Период, &НаДату)) КАК ПериодСледующий,
    РаботникиОрганизаций.ПериодЗавершения КАК ПериодЗавершения,
    РаботникиОрганизаций.Должность КАК Должность,
    РаботникиОрганизаций.ДолжностьЗавершения КАК ДолжностьЗавершения,
    РаботникиОрганизаций.ПричинаИзмененияСостояния КАК ПричинаИзмененияСостояния,
    РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения КАК ПричинаИзмененияСостоянияЗавершения,
    РаботникиОрганизаций.ПодразделениеОрганизации КАК ПодразделениеОрганизации
ИЗ
    РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизацийСледующаяЗапись
        ПО РаботникиОрганизаций.Сотрудник = РаботникиОрганизацийСледующаяЗапись.Сотрудник
            И РаботникиОрганизаций.Период < РаботникиОрганизацийСледующаяЗапись.Период
            И (РаботникиОрганизацийСледующаяЗапись.Период <= &НаДату)
ГДЕ
    РаботникиОрганизаций.Период <= &НаДату

СГРУППИРОВАТЬ ПО
    РаботникиОрганизаций.Сотрудник,
    РаботникиОрганизаций.Период,
    РаботникиОрганизаций.ПериодЗавершения,
    РаботникиОрганизаций.Должность,
    РаботникиОрганизаций.ДолжностьЗавершения,
    РаботникиОрганизаций.ПричинаИзмененияСостояния,
    РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения,
    РаботникиОрганизаций.ПодразделениеОрганизации


Он возвращает периоды работы все, даже если были перемещения по изменению зп в должности и подразделенпи - получается несколько одинаковых строк, отличающихся только периодами.
Как учесть именно периоды работы на разных должностях и в разных подразделениях (свернуть одинаковые строки с изменением периода)?
1 devochka_1c
 
28.10.15
11:52
+
2 Ildarovich
 
28.10.15
12:51
3 MUXACb
 
28.10.15
13:37
(0) В соединении Добавьте:
И (РаботникиОрганизаций.Должность <> РаботникиОрганизацийСледующаяЗапись.Должность ИЛИ РаботникиОрганизаций.ПодразделениеОрганизации <> РаботникиОрганизацийСледующаяЗапись.ПодразделениеОрганизации)

и не забудьте вычесть из "РаботникиОрганизацийСледующаяЗапись.Период" день для корректного значения ПериодСледующий

но ваш запрос не будет правильно работать, если заполнены данные по завершению