「まとめ支払伝票の作成準備」ウィンドウの「支払データエクスポート」プロセスにおいて、ダウンロードするフォーマットを選択できるようにします。
カスタマイズの必要性
「支払データエクスポート」プロセスにおいて、ダウンロードフォーマットの選択は、アカウントに依存します。しかしながら1つのアカウントで複数のダウンロードフォーマットを切り替えて使用したい場合があります。そのような要望に対応するためには、支払データエクスポートでダウンロードする時にダウンロードしたいフォーマットを選択できるように必要があります。
◆支払データ作成クラス
「支払データ作成クラス」を選択することで、ダウンロードするデータのフォーマットを切り替えます。
「支払データ作成クラス」には、ダウンロードする支払データを作成するJavaのクラスが設定されています。
「支払データ作成クラス」は任意入力です。入力が無い場合は、アカウントに設定されているクラスが使用されます。それも設定されていない場合はorg.compiere.util.GenericPaymentExportクラスが使用されます。
支払データ作成クラスウィンドウ
支払データ作成クラスウィンドウで、ダウンロードする支払データを作成するJavaのクラスを登録します。
支払データ作成クラスタブ(JP_PaymentExportClassテーブル)
◆入金(ON)/支払(OFF)
「支払データ作成クラス」は支払側だけでなく、将来的に入金側でも使用することを考えています。 そのため「支払データ作成クラス」テーブルにIsRecieptフラグを追加して、支払側で使用するのか入金側で使用するのか区分できるようにしています。
◆支払データ作成クラス
ダウンロードする支払データを作成するJavaのクラスを登録します。ここに登録するJavaのクラスは、PaymentExportクラスを実装している必要があります。
◆改行コード[JP_LineEnd]
支払データ作成クラスで改行に使用する改行コードを下記から選択入力します。
- CRLF
- CR
- LF
改行コードが選択されていない場合、システムコンフィグ設定で、"JP_JAPAN_PAYMENT_EXPORT_LINE_END"に設定されている改行コードが使われます。それも設定されていない場合は、OSに依存しWindows系であれば"CRLF"、Linux系では"LF"になると思います。
【技術情報】改行コードをPaymentExportの実装クラスに渡す方法
ダウンロードする支払データを作成するPaymentExportを実装したクラスには、改行コードを渡す引数が用意されていません。
PaymentExport#exportToFile(MPaySelectionCheck[] checks, File file, StringBuffer err)
そのため本来エラーを入れる引数として渡される3番目の引数errに改行コードを入れて渡しています。
PaymentExportを実装する際には、その事を念頭に、引数errから改行コードを受け取って処理するように実装して下さい。改行コードを受け取ったらerrは初期化して本来の意図通りエラー内容を入れるようにしてください。
サンプル実装としてはJapanPaymentExportクラスを参照して下さい。
カスタマイズ情報
追加テーブル
- JP_PaymentExportClass
追加エレメント
- JP_LineEnd(改行コード)
追加リファレンス
◆JP_LineEnd
- CRLF:CL
- CR:CR
- LF:LF
追加クラス
- MPaymentExportClass
- X_JP_PaymentExportClass
- I_JP_PaymentExportClass