Показать сообщение отдельно
Старый 03.03.2009, 13:21   #1  
Ashir is offline
Ashir
Участник
 
45 / 22 (1) +++
Регистрация: 27.10.2005
Ошибка в механизме начисления пеней
Ax 3 SP 3
На днях обнаружилась одна ошибка в механизме начисления пеней нашим клиентам, функционал стандартный. Так вот, обо всём по порядку.
1) существует просроченная, несопоставленная накладная на отгрузку в CustTrans
2) в CustSettlement, соответственно ничего нет
3) к накладной существует строка в CustOpenTrans
Далее, в конце месяца, запускаем механизм расчёта пеней, в результате действий которого заполняется поле CustTransOpen.LastInterestDate датой расчёта пеней (чтобы при последующих начислениях пеней, начислять их только на месяц расчётов пеней). В следующем месяце приходит клиентский платёж и ручками сопоставляется с накладной на всю сумму.
4) в CustSettlement появилась строка и поле CustSettlement.LastInterestDate инициализировалось датой из CustTransOpen.LastInterestDate
5) из CustTransOpen строчка пропала
Потом шалудивые ручки берут и производят рассопоставление накладной и платежа.
6) в CustOpenTrans снова возникает строчка, но у неё уже дата CustTransOpen.LastInterestDate пустая!
7) затем заново сопоставляют накладную и платёж, и поле CustSettlement.LastInterestDate становится совершенно пустым.
В результате чего пени на текущий месяц начислятся на весь период просрочки, за все просроченные дни предыдущего месяца + все дни текущего месяца до последнего полного закрытия накладной платежом, а должны начислиться только на просроченные дни текущего месяца.

Вообщем: после рассопоставления в CustTransOpen возникает строка не в первозданном виде (как была до сопоставления накладной и патежа на всю сумму, теряется дата CustTransOpen.LastInterestDate).
Это штатный глюк системы или таки внедрённый?
__________________
Самое полезное в жизни – это собственный опыт...