出荷納品伝票の伝票ステータスを完成にする際に、prepareIt()メソッドで与信のチェックをおこなっています。しかし、この与信のチェック処理において、与信チェックが必要のない場合に対しても、未請求金額を計算しているため、無駄な処理となる場合があります。
そこで、与信チェックが必要のない場合は、未請求金額をそもそも計算しないように改善しました。
//JPIERE-0370
if (MBPartner.SOCREDITSTATUS_NoCreditCheck.equals(bp.getSOCreditStatus())
|| Env.ZERO.compareTo(bp.getSO_CreditLimit()) == 0)
{
BigDecimal notInvoicedAmt = MBPartner.getNotInvoicedAmt(getC_BPartner_ID());
if (MBPartner.SOCREDITSTATUS_CreditHold.equals(bp.getSOCreditStatus(notInvoicedAmt)))
{
m_processMsg = "@BPartnerOverSCreditHold@ - @TotalOpenBalance@="
+ bp.getTotalOpenBalance() + ", @NotInvoicedAmt@=" + notInvoicedAmt
+ ", @SO_CreditLimit@=" + bp.getSO_CreditLimit();
return DocAction.STATUS_Invalid;
}
}//JPiere-0370
赤字部分を追加しました。
更新情報
2018年5月23日
◆IDEMPIERE-3625:Performance improvement of MInOut.prepareIt() method(機能改善:Release-5.1)
このJPIERE-0370のカスタマイズがiDempiereの本体にコミットされましたので、このカスタマイズをJPiereから削除しました。