CRM 4.0 用の素敵な小さな JavaScript スニペットを用意して、フォームの Money フィールドを更新し、文字列として渡す通貨記号を使用します。(ソース)
UpdateCurrencySymbolInUI: function (_curr) {
// BTP: fail to update currency symbol if using browser other than IE (crmForm will not be defined)
// (set currency not supported via Xrm.Page CRM 2011)
if (!IsNull(crmForm)) {
var iLen = crmForm.all.length;
var oCtrl, i;
for (i = 0; i < iLen; i++) {
oCtrl = crmForm.all[i];
if (!IsNull(oCtrl.IsMoney) && !oCtrl.IsBaseCurrency) {
oCtrl.CurrencySymbol = _curr;
}
}
}
}
これは完全に機能しますが、マルチブラウザー サポートへの今後の変更 (2012 年第 4 四半期に予定されていますよね?)のために、Microsoft のカスタム コード検証ツールは、crmForm がサポートされなくなったため、IE 以外のブラウザーではこのコードが機能しないことを示唆しています。
グーグルで調べた後、通貨記号を設定するためのサポートされている代替手段が見つかりません。API に何かが欠けているのでしょうか、それとも (API を介して) 通貨記号を割り当てるためにこの機能を完全に削除したのでしょうか? この投稿では、document.getElementById を使用してフィールド名に「_sym」を追加することを提案していますが、これはサポートされていないと思います。サポートされているソリューションを希望します。