Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【Dynamics CRM】【7.1】IMEモードの入力制御が行われないバグ

Dynamics CRM 2015 Update1(7.1)よりターボフォームが採用されました。 レンダリングが何やら早くなっているようですが、個人的にあまり恩恵を感じられていません……。

そんな中、このターボフォームでバグを発見してしまいました。

概要

Dynamics CRMの入力フィールドには、IME制御を施すことができます。

f:id:sugimomoto:20150526230825p:plain

フォーム上でフィールドにフォーカスが合った際、 アクティブであれば、IMEが日本語入力モードに、 無効であれば、日本語入力はできず、英数字しか入力を受け付けない、などですね。

ただ、これがターボフォームに変わってから、正常に動作しないのです。

無効のフィールドでも、IMEを日本語入力モードにすることができ、 あまつさえ、保存もできてしまうという……。

郵便番号や電話番号などのフィールドでは結構致命的です。

現状の対応方法

一応現状の対応方法としては、レガシーフォームに切り替えることが挙げられます。 この設定にしますと、

[設定]→[管理]→[システムの設定] [全般]タブの[レガシーフォームのレンダリングを使用する]で[はい]にチェックを入れると、IMEが制御される状態になります。

f:id:sugimomoto:20150526230811p:plain

ただ、フォームのレンダリング速度は下がると思われます。

雑感

たぶん、ターボフォームに変わった際に、一部JavaScriptをサポートしません、とMSがおっしゃっていたので、 その一部のJavaScriptIME制御が入っていた模様ですね。

自ら首を絞めたみたいな感じですが、アメリカとかでは発生しようがないのかなぁと思うので、なんとも言えないところです。