Добрый день.
Лучше исправить следующим образом.
Вместо: workStartDate = RPayHistory::findLastOperation(_emplId, RHRMJournalType::Receive, curDateLocal).StartDate;
Написать : workStartDate = RPayHistory::findLastOperation(_emplId, RHRMJournalType::Receive, curDateLocal + 1).StartDate;
А саму функцию findLastOperation() лучше не переопределять, так как она используется в и в других местах и условие RPayHistory.StartDate < _startDate; может быть критичным.
И еще такой вопрос. Как у Вас настроена группа времени для неявок (Группа указывается в «Общих настройках больничных листов», закладка «Средний заработок», поле «Неявки»). Так как если она у Вас настроена и в табеле есть информация по данному сотруднику, то выход из цикла должен произойти раньше того момента, когда переменная curDateLocal примет значение 01/01/1900.
|