[Dynamics CRM 2016 Bug Reporting]通貨(TransactionCurrency)-1
2016/08/31 Kyo1.Inoue
Dynamics CRM 2016では、通貨絡みの不具合が多発しているようです。
長くなってしまうため、何回かに分けてレポートしたいと思います。
例えば、製品の自社金額(JPY)と競合他社の金額($)を入力するパターンがあったとします。
1. エンティティに必須項目の通貨型金額項目を追加します
(↑クリックすると拡大表示されます)
通貨型項目を追加すると、
Base項目とエンティティの規定の通貨「TransactionCurrencyID」が自動で追加されます。
Base項目は、組織のデフォルト通貨とのレートを考慮して値が保持されます。
TransactionCurrencyIDは、エンティティの金額項目の通貨を保持します。
2. 同様に任意項目の通貨と金額項目を追加します
TransactionCurrencyIDは1エンティティに1項目のため、更に追加される事はありません。
競合他社の金額は、任意項目の通貨の金額としたいため、通貨型ではなく浮動小数点型(精度4)としています。
3. 作成したフィールドをフォームに配置して公開します
(↑クリックすると拡大表示されます)
これで環境が整ったので、画面入力します。
4. まずは、「通貨(TransactionCurrencyId)」と
必須項目の 「エンティティ規定の通貨」のみ入力して登録しようとすると
「任意項目の通貨を入力してください」と怒られてしまいます。
必須にしていないのに・・・・
(↑クリックすると拡大表示されます)
5. 任意項目の通貨を設定すると正常に登録できます
(↑クリックすると拡大表示されます)
必須でない項目が必須エラーになってしまうので、かなり困ったことになります。