iDempiereの標準機能のカウンター伝票では、カウンター伝票の作成元となる伝票で金額情報がカウンター伝票に引継がれずプライスリストの金額で作成されてしまいます。これでは、金額にズレが発生してしまいますので、ズレないようにカウンター伝票の金額情報は作成元となる伝票の金額情報を引き継ぐように修正しました。
カスタマイズ履歴
2021年6月12日 - 不具合修正及び仕様改善
カウンター伝票を作成した後で、明細の数量や金額を修正した時に、【JPIERE-0165】明細行毎の消費税額の保持とIJPiereTaxProviderが正しく計算されない不具合が発見されましたので修正し、仕様を下記のように改善しました。
- 原則として対応するカウンター伝票明細がある場合、カウンター伝票同士の明細の金額と数値がズレないようにモデルバリデーターで制御する。
- しかし、その場合でも数量を0に変更する事はできるようにする。これは、なんらかな業務的な理由により明細を無効にしたい場合の対応方法としての仕様。またボイドする際に、数量が0になるため、ボイドの処理を妨げないようにする目的もある。
- 既に明細が処理済み(Processed='Y')の場合は、何もしない。
- カウンター伝票同士の明細の金額を数値がズレないように制御する際に、相手の伝票の伝票ステータスが"ボイド"となっている場合は、何もしない。-> 相手の伝票がボイドされているのでズレても許容する。※受注伝票/発注伝票の場合は、相手の伝票の伝票ステータスが"リバース"や"クローズ"の場合にも、ズレるのを許容する。※売上請求伝票/仕入請求伝票は、"リバース"や"クローズ"の場合でも自動仕訳は起票されているので、ズレるのは許容しない。
◆JPiereOrderLineModelValidator
◆JPiereInvoiceLineModelValidator
カスタマイズ情報
関連クラス
- jpiere.base.plugin.org.adempiere.base.JPiereOrderLineModelValidator
- jpiere.base.plugin.org.adempiere.base.JPiereInvoiceLineModelValidator