Имя: Пароль:
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) В соединении Добавьте:
И (РаботникиОрганизаций.Должность <> РаботникиОрганизацийСледующаяЗапись.Должность ИЛИ РаботникиОрганизаций.ПодразделениеОрганизации <> РаботникиОрганизацийСледующаяЗапись.ПодразделениеОрганизации)

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

но ваш запрос не будет правильно работать, если заполнены данные по завершению
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан