Показать сообщение отдельно
Старый 04.06.2007, 15:30   #2  
SerAl is offline
SerAl
Участник
 
163 / 44 (2) +++
Регистрация: 24.06.2004
Адрес: г. Москва
Добрый день.

Лучше исправить следующим образом.
Вместо: 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.
За это сообщение автора поблагодарили: Prof (2).