В ЗиУП имеется недоработка, приводящая к ненулевым остаткам занятых штатных единиц организаций после увольнения сотрудников. Недоработка обнаруживается при использовании приемов/перемещений сотрудников организаций на ограниченный период времени.
Как все это происходит:
Алгоритм №1.
«При перемещении сотрудника на ограниченный период времени в регистре накопления «Занятые штатные единицы организаций» создается несколько записей: на занятие новой штатной единицы на занятие предыдущей штатной единицы. Если сотрудник был уволен до даты обратного перевода (или даже в этот день — в регистре накопления «Занятые штатные единицы организаций» сторнируется только одна запись — занятая ставка нового рабочего места. На том месте, куда сотрудник должен был вернуться по окончании временного периода работы на новой должности, штатная ставка не освобождается. При этом сотрудник в штатной расстановке не показывается (уволенный) , а при попытке принять на его место другого сотрудника будет выдано сообщение о нехватке ставок».
Алгоритм №2.
«При приеме сотрудника на ограниченный период времени в регистре накопления «Занятые штатные единицы организаций» создается запись с видом движения накопления «Приход». Этот период воспринимается программой как испытательный срок. Если сотрудник не прошел испытательный срок, и был уволен — сторнирующая запись в регистре накопления «Занятые штатные единицы организаций» не создается. При этом сотрудник в штатной расстановке не показывается (уволенный) , а при попытке принять на его место другого сотрудника будет выдано сообщение о нехватке ставок».
Данная обработка создает документы «Корректировка записей регистров накопления», сводящие в ноль записи в регистре накопления «Занятые штатные единицы организаций» по уволенным сотрудникам.
Кому нужно, могут добавить обработку в конфигурацию и установить вызов экспортной процедуры СоздатьИЗаполнитьДокументКорректировки() модуля объекта обработки в регламентном задании.
UPD 2013-05-12: добавлен вывод в табличную часть списка созданных документов корректировки
В результате применения данной обработки, количество ставок на конец периода возросло с 7-ми до 81… Где-то ошибка…
Еще нюанс, кадровые документы делают движения по этому регистру днём позже, а у вас день в день…
(2) Эту ошибку я сразу увидел и исправил (день увольнения — рабочий день). По всей вероятности, сюда выложить запамятовал — спасибо за напоминание. По поводу (1) — проблема в (2), на тестовой ИБ проверил. Как доберусь до обработки — опубликую новую версию. Заплатка — делать движения днем позже даты увольнения
Нашёл ошибку в запросе: когда вяжете с кадровыми документами, нет связи по сотруднику, поэтому по документам в которых в табличной части 10 человек, считает как 10 ставок. Из-за этого (1). Выкладываю исправленную версию, ошибку с днями поправил тоже…
(4) Вот что не проверял, то не проверял… У нас на уровне стандарта закреплено: один документ — один сотрудник. Я думаю, Вам многие должны сказать спасибо. В описании сделаю ссылку на Вашу версию
Спасибо за обработку! Очень пригодилось. Не подскажете как добавить в механизм отбор по подразделению? Просто очень накладно в большой базе сводить остатки — потом сверить сложно, лучше бы раздельно по подразделениям
(6) Не видел вашего сообщения, нужно было ссылку на пост (0) сделать:) По одному подразделению у вас отбор сделать не получится, а по двум — сложность возрастет непропорционально. Дело в том, что сотрудник временно мог работать в одном подразделении, а должен был быть уволен совсем из другого (постоянного)