Определение состояния сотрудника

1. atb-mdv 13.07.20 15:43 Сейчас в теме
ЗУП 3.1.10.491

Потребовалось в процедуре определить состояние сотрудника. Воспользовался функцией
Таблица = КадровыйУчет.КадровыеДанныеСотрудников(Истина, Сотрудник,"Состояние,СостояниеПериодРегистрации",Дата);


и обнаружил следующее. Сотрудник увольняется, последний день работы 29.04. На 28.04 состояние "Работа", на 30.04 - "Увольнение". А вот на 29.04 стоит Null.

Вопрос - почему так и как определить состояние сотрудника в последний день работы.

Аналогичная ситуация и с уходом в декрет. Возможно и по другим аналогичным ситуациям так.

И ещё вопрос, может кто знает. Как через стандартные функции определить дату окончания состояния (отпуск, больничный) или предполагаемую дату окончания состояния. Пока нашел только Состояние и СостояниеПериодРегистрации через кадровые данные.
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. EVKash 16 13.07.20 16:45 Сейчас в теме
(1) ЗУПа под рукой нет, но думаю, что в КадровыйУчет.КадровыеДанныеСотрудников проверяются состояния и если их несколько (смена состояния), то возвращается NULL. Можно проверять
Если Не ЗначениеЗаполнено(Таблица[0].Состояние) Тогда
и выбирать дату больше или меньше на день, в зависимости от того, какой результат вам нужен.
3. atb-mdv 13.07.20 17:24 Сейчас в теме
если их несколько (смена состояния), то возвращается NUL


вот это и не понятно. Как у сотрудника может быть несколько состояний одновременно или не быть ни одного.

В моем примере состояние "Увольнение" начинается с 30.04. Т.е. 29.04 сотрудник ещё не уволен. Это и по Трудовому кодексу так для расчета стажа.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот