0

MS Dynamics CRM と JavaScript アプリの統合に問題があります。

商談ページと iFrame のアプリの間の通信をセットアップする必要があります。

問題は、ページ内の XRM オブジェクトにアクセスする必要があるときに、常にAccess Deniedエラーが発生することです。

私は試した:

parent.window.Xrm.Page.data.entity.attributes.get(“stateCode”).getValue();

この関数を IE Dev ツールから呼び出すと、正常に動作します。しかし、私の JS アプリからは Access Denied がスローされます。

iFrame の統合についてよく読んでいますが、MS Dynamics 365 で機能するものはありません。

4

2 に答える 2

1

CRM フォームの IFrame に読み込まれる HTML Web リソースのparent.windowは、実際にはフォームのウィンドウではありません。実際、Turbo Formsモードでは、DOM を使用してフォームのウィンドウにアクセスすることはできません。

他にもいくつかのオプションがあります。

  1. エンティティ ID と名前を HTML Web リソース ( MSDN ) に渡し、Web API を使用してカスタム ページで必要なその他のデータをクエリします。
  2. フォームのスクリプトから Web リソースにアクセスし、データをカスタム ページにプッシュします。(注: document.write は、すべてのブラウザーで機能するとは限らないため、使用しないでください。)
  3. ターボ フォームをオフにします ([設定] -> [管理] -> [システム設定] -> [一般] -> [従来のフォーム レンダリングを使用])。これは、すべてのエンティティ フォームに対してオフにすることになり、永続的なソリューションが提供されないため、お勧めできません。
于 2017-08-21T21:09:16.423 に答える