none
2015のオンプレからお試し環境のオンラインに取り込んだJavaScriptでエラーが発生する。 RRS feed

  • 質問

  • いつもお世話になります。

    2015のオンプレにリリースしているJavaScriptを、最新のトライアル環境へソリューションで取り込むと、

    オンプレで正常稼動しているにも関わらず、オンラインではスクリプトエラーが発生します。

    エラーが発生する箇所は、

      $("[name='tab_1_section_2']").show();

    のように先頭に「$」を付けたところになります。

    オンプレにリリースする前の今年の3月くらいまでは、オンラインでも上記スクリプトは正常に稼動しておりました。

    SP1では上記記載はNGなのでしょうか?

    以上、宜しくお願いします。

    2015年7月24日 3:34

回答

  • 5月頭にDynamics CRM 2015のUpdate1がOnlineでもリリースされました。

    それに伴い、フォームのレンダリング方式が変わっています。

    一部JavaScriptのGetElementなどをサポートしていない、などが通知されていますので、その影響かと思われます。


    コードだけ見ますと、たぶんjQueyでDynamics CRM上のセクションを表示しているものと思いますが、

    Xrm.Pageで実装されていないことに理由があるのでしょうか? 直接エレメントに対して操作を実施していますので、Dynamics CRMでは基本サポート範囲外の操作方法と思います。

    対応策としましては、フォームのレンダリング方式をレガシータイプのものに切り替える方法

    [管理]→[システムの設定]→[全般タブ]→[レガシーフォームのレンダリングを使用する]にチェックを入れる

    もしくはDynamics CRMのXrm.Pageの仕様に従い、[tabObj.setDisplayState]などのメソッドで表示・非表示を切り替える方法になるかと思います。

    https://msdn.microsoft.com/ja-jp/library/gg328067.aspx#BKMK_tabsetDisplayState

    • 回答としてマーク yamanen 2015年7月24日 5:04
    2015年7月24日 4:21

すべての返信

  • 5月頭にDynamics CRM 2015のUpdate1がOnlineでもリリースされました。

    それに伴い、フォームのレンダリング方式が変わっています。

    一部JavaScriptのGetElementなどをサポートしていない、などが通知されていますので、その影響かと思われます。


    コードだけ見ますと、たぶんjQueyでDynamics CRM上のセクションを表示しているものと思いますが、

    Xrm.Pageで実装されていないことに理由があるのでしょうか? 直接エレメントに対して操作を実施していますので、Dynamics CRMでは基本サポート範囲外の操作方法と思います。

    対応策としましては、フォームのレンダリング方式をレガシータイプのものに切り替える方法

    [管理]→[システムの設定]→[全般タブ]→[レガシーフォームのレンダリングを使用する]にチェックを入れる

    もしくはDynamics CRMのXrm.Pageの仕様に従い、[tabObj.setDisplayState]などのメソッドで表示・非表示を切り替える方法になるかと思います。

    https://msdn.microsoft.com/ja-jp/library/gg328067.aspx#BKMK_tabsetDisplayState

    • 回答としてマーク yamanen 2015年7月24日 5:04
    2015年7月24日 4:21
  • sugimoto様

    早々のご回答ありがとうございました。

    Update1でそのようなリリースがされていたのですね。

    Xrm.Pageで実装されていない理由は、前任者が対応していたので今となってはわからない状況なので、

    とりあえずは、ご連絡いただいたレンダリングの方式変更で対応し、どこかのタイミングで改修するように

    致します。

    以上、ありがとうございました。

    2015年7月24日 5:04