Список сотрудников, работавших в подразделении организации в указанный период. ЗУП 2.5

Публикация № 412940

Программирование - Универсальные функции

ЗУП список сотрудников сотрудники за период

3
Запрос, позволяющий выбрать всех сотрудников подразделения, числившихся в нём в указанном периоде хотя бы день (с учётом временных кадровых перемещений).

Зачастую бывает необходимо получить список сотрудников, работавших в некоем подразделении в определённый период времени. Простые запросы к регистру "Сотрудники организаций.СрезПоследних" дают лишь сведения на определённый момент времени. Сопоставление срезов на начало периода и на конец периода не даёт сведений о сотрудниках, принятых в подразделение после начала периода и при этом ушедших из него до конца периода. И прочая, прочая...

Разные варианты запроса, лишённого этих недостатков, приведены в публикуемой обработке. Эти варианты выполнены в виде отдельных функций, которые вы можете вставлять в свои общие модули. Функции возвращают таблицы значений. Я специально сделал 6 разных функций с неразрывным текстом запроса, чтобы запрос можно было легко изменить в конструкторе под ваши нужды.

Небольшие пояснения.
1. Переключатель "Учитывать подчинённые подразделения" позволяет вам выбирать сотрудников либо из одного конкретного подразделения, либо из всей ветки подразделения и его подчинённых подразделений. Собственно, запросы отличаются лишь условием "Подразделение ВИерархии" или "Подразделение =".

2. Переключатель "Результат запроса" позволяет вам получить в итоге:
а) Наглядную таблицу всех, кто "отметился" в заданном подразделении за указанный период с разбивкой по периодам. С колонками "Сотрудник", "ДатаНачала", "ДатаОкончания", "ПодразделениеОрганизации", "Должность", "График работы" и "ЗанимаемыхСтавок" (ибо кадровое перемещение с изменением одного из этих параметров порождает строку в регистре "РаботникиОрганизаций"). Это для наглядности;
б) Только одну колонку "Сотрудник" с неповторяющимся списком сотрудников, работавших в этом подразделении хотя бы сутки. Можно затем выгрузить в массив или список значений, передать в другую процедуру и т.п.
в) Только одну колонку "Физлицо" с неповторяющимся списком физлиц, работавших в этом подразделении хотя бы сутки. Можно затем выгрузить в массив или список значений, передать в другую процедуру и т.п.

Проверены следующие возможные варианты кадровых перемещений сотрудников (курсивом выделены не попадающие в результат):

 1. Увольнение и приём
1.1. Сотрудник принят до начала отчётного периода и до сих пор без изменений работает в подразделении
1.2. Сотрудник принят в отчётном периоде и до сих пор без изменений работает в подразделении
1.3. Сотрудник принят до начала отчётного периода и уволен в середине отчётного периода
1.4. Сотрудник принят до начала отчётного периода и уволен после окончания отчётного периода
1.5. Сотрудник принят в середине отчётного периода и уволен в середине отчётного периода
1.6. Сотрудник принят после окончания отчётного периода и работает до сих пор
1.7. Сотрудник принят до начала отчётного периода и уволен до начала отчётного периода
1.8. Сотрудник принят после окончания отчётного периода и уволен после окончания рабочего периода

2. Временный перевод сотрудника ИЗ указанного подразделения
2.1. Сотрудник временно работал в другом подразделении до начала отчётного периода
2.2. Сотрудник временно ушёл в другое подразделение и вернулся оттуда в середине отчётного периода
2.3. Сотрудник временно работал в другом подразделении после окончания отчётного периода
2.4. Сотрудник временно ушёл в другое подразделение до начала периода и вернулся оттуда в середине отчётного периода
2.5. Сотрудник временно ушёл в другое подразделение в середине периода и вернулся оттуда после окончания периода
2.6. Сотрудник временно ушёл в другое подразделение до начала периода и вернулся оттуда после окончания периода

3. Временный перевод сотрудников других подразделений В указанное подразделение
3.1. Сотрудник другого подразделения временно пришёл в указанное подразделение и вернулся обратно до начала периода
3.2. Сотрудник из другого подразделения временно пришёл в указанное подразделение и ушёл из него в середине периода
3.3. Сотрудник другого подразделения временно пришёл в указанное подразделение и вернулся обратно после окончания периода
3.4. Сотрудник другого подразделения временно пришёл в указанное подразделение до начала периода и вернулся обратно в середине периода
3.5. Сотрудник другого подразделения временно пришёл в указанное подразделение в середине периода и вернулся обратно после окончания периода
3.6. Сотрудник другого подразделения временно пришёл в указанное подразделение до начала периода и вернулся обратно после окончания периода

4. Уход сотрудника указанного подразделения на постоянную работу в другое подразделение
4.1. Сотрудник ушёл до начала периода
4.2. Сотрудник ушёл в периоде
4.3. Сотрудник ушёл после окончания периода

5. Переход сотрудника другого подразделения на постоянную работу в указанное подразделение
5.1. Сотрудник пришёл в указанное подразделение до начала периода
5.2. Сотрудник пришёл в указанное подразделение в периоде
5.3. Сотрудник пришёл в указанное подразделение после окончания периода

6. Перевод на другую постоянную должность внутри указанного подразделения
6.1. Сотрудник сменил должность до начала периода
6.2. Сотрудник сменил должность в середине периода
6.3. Сотрудник сменил должность после окончания периода

7. Временный перевод на другую должность внутри указанного подразделения
7.1. Сотрудник сменил должность и вернулся на прежнюю до начала периода
7.2. Сотрудник сменил должность и вернулся на прежнюю в середине периода
7.3. Сотрудник сменил должность и вернулся на прежнюю после окончания периода
7.4. Сотрудник сменил должность до начала периода и вернулся на прежнюю в середине периода
7.5. Сотрудник сменил должность до начала периода и вернулся на прежнюю после окончания периода
7.6. Сотрудник сменил должность в середине периода и вернулся на прежнюю после окончания периода

3

Скачать файлы

Наименование Файл Версия Размер
СписокСотрудниковВПериоде_v1
.epf 14,33Kb
28.10.15
61
.epf 1 14,33Kb 61 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Дата
3. monkbest 102 26.11.18 12:37 Сейчас в теме
Хорошая шпаргалка, но есть что улучшить:

в первую ВТ получаете все данные по всему предприятию, по всем подразделениям, а уже потом фильтруете по подразделению, когда получена полная таблица периодов, всех сотрудников.

В этой ВТ у Вас 4 объединения 1) весь срез на начало 2)Весь срез на конец 3)все движения 4)все завершения
в срезе уже можно отобрать тех, у кого подходящее подразделение, а в движения брать только тех кто пришел в это подразделение или кто был в срезе.

Без этого при большой численности медленно работает
2. rinik88 25 13.06.18 09:39 Сейчас в теме
Дельный отчет, спасибо, помогли.
1. galyna 66 07.06.16 15:52 Сейчас в теме
Спасибо, отчет очень помог. Добавила разность дат между датой окончания и датой начала, посчитала дни работы в подразделении. При работе в данных подразделениях должен считаться северный стаж.
Оставьте свое сообщение