オープンソースのERP iDempiereでは、至る所からExcel形式でデータをダウンロードする事ができるようになっていますが、その際に通貨の設定により端数表示を制御できるようにしました。
Excelダウンロードで金額の端数を制御するための要件
端数表示したい通貨のマスタ設定
端数表示を制御したい通貨マスタは、標準精度と原価計算精度に、端数表示したい小数点以下の桁数を入力してください。
金額で端数表示を制御したい場合は、その検索ウィンドウカラムのリファレンス設定は、「Amount」もしくは「Cost+Prices」にする事!
リファレンスがAmountの場合は、通貨マスタの標準精度の桁数で、端数表示されます。
リファレンガうCost+Pricesの場合は、通貨マスタの原価計算精度の桁数で、端数表示されます。
通貨のヘッダカラムの表示名称が、"C_Currency_ID"エレメントの名称(ログイン言語毎に表示される翻訳の名称)と同じである事!
日本語でログインしている場合は、"C_Currency_ID"のエレメントの翻訳はJPiereの初期設定では"通貨"となっていると思います。そのため、この"通貨"と同じヘッダカラムの名称を通貨情報のあるカラムだと判定します。
【ポイント】端数表示の制御をしたくない場合
通貨の端数表示の制御をしたくない場合、"通貨"という名称以外にすると、仮に通貨情報を持っているカラムであっても、無視して、端数の表示制御は行いません。その場合、小数点第2位まで表示されると思います。
通貨の情報は"ISO通貨コード"であること
通貨の識別するために表示されている情報は"ISO通貨コード"である必要があります。
Excelダウンロードする元のデータに通貨の情報が含まれている事!!
一覧レポートからダウンロードする場合には、その一覧レポートに"通貨"が表示されている必要があります。
カスタマイズ情報
クラス
- org.adempiere.impexp.AbstractExcelExporter
カスタマイズ履歴
2022年2月16日 ver8.2
通貨表示が0の場合は空欄でダウンロードされたいたのを0としてダウンロードするようにしました。