Добрый день! Версия системы АХ 4.0. Нашел ошибку в классе, которая стрельнула при расчете ограничения по дням ребенка по модулю Расчеты с Персоналом.
Класс RPayAverageEarnEngine_SickList, функция mapIllTypeRestriction:
...
X++:
if (rhrmVirtualNetworkFamily)
{
for (tmpDate = rhrmVirtualNetworkFamily.BirthDate ; tmpDate <= rPayAverageEarnEmplPeriodTable.sickListStartDate() ; tmpDate = nextyr(tmpdate))
{
familyAge++;
}
birthDay = mkdate(dayofmth(rhrmVirtualNetworkFamily.BirthDate),mthofyr(rhrmVirtualNetworkFamily.BirthDate), year(rPayAverageEarnEmplPeriodTable.sickListStartDate()));
birthDay = birthDay > rPayAverageEarnEmplPeriodTable.sickListStartDate() ?
birthDay :
mkdate(dayofmth(rhrmVirtualNetworkFamily.BirthDate),mthofyr(rhrmVirtualNetworkFamily.BirthDate), year(rPayAverageEarnEmplPeriodTable.sickListStartDate()) + 1);
daysRestrictionBirthDate = birthDay - rPayAverageEarnEmplPeriodTable.sickListStartDate();
}
...
Переменная familyAge должна содержать в себе количество полных лет ребенка на дату начала больничного по уходу за ребенком. И получается что она считает на год больше. Вопрос: если у кого нибудь есть AX 2009 или AX 2012, там эта ошибка исправлена или нет?