iDempiere ver12より入金/支払伝票の再アクティブができるようになったので、その挙動について調査及び研究し、その成果をここにまとめておきたいと思います。
入金/支払伝票の再アクティブ
iDempiere ver12よりいったん完成にした入金伝票と支払伝票を再アクティブして編集できるようになりました。
しかしながら、なんでもかんでんも再アクティブできるわけではありません。既に債権/債務の消込処理が行われていたり、出納帳明細に記帳されていたりする場合は再アクティブできません。
更新されているソースコードの確認
MPayment#setDefiniteDocumentNo()
再アクティブできるようにすることで、複数回完成になる可能性があるため、伝票タイプの「完成時伝票番号上書き」がONになっている時に、最初の1回だけ完成にする時だけ伝票番号を採番しなおすように修正しているものと思われます。
◆GitHubの更新箇所
◆該当のソースコード
MPayment#reActivateIt()
再アクティブの処理の際に、再アクティブできない条件が実装されています。
再アクティブできない条件は下記の通りです。
- 伝票タイプの再アクティブ可能(IsCanBeReactivated)フラグがOFFな場合。
- 消込処理が既に行われている場合。
- 既に出納帳に記帳されている場合。
- 入金/支払伝票のC_BankTransfer_IDカラムが入力されている場合。
- 督促のデータと結びついている場合。
- リクエストのデータと結びついている場合。