2017-09-21 4 views
0

背景カスタムフィールドのダイナミクスに365

  • を値を設定することができません私はnew_statecodeという名前のダイナミクス365にカスタムフィールドを作成しました。
  • 私は後で上記のカスタムフィールドに渡そうとするユーザーからの入力を得るために、HTML Webリソースを使用しています。

    <input id="statecode" type="text" placeholder="">

  • 私は、ユーザーが入力した値を取得し、カスタムフィールドに値を設定するには、Javaスクリプトを書かれています。

これはスクリプトのコードです。

document.getElementById("submitButton").addEventListener("click", function (event) { 
    var strstatecode = document.getElementById("statecode").value; 
    window.parent.Xrm.Page.data.entity.attributes.get("new_statecode").setValue(strstatecode); 
}); 

問題

これは私がコンソールに取得していますエラーです。

Unable to get property 'setValue' of undefined or null reference 

すぎgetValueプロパティを使用しようとすると、私は同様のエラーを取得します。

明らかにこれは非常に一般的な問題ですが、他の解決策のどれも私のためには機能しません。

私がこれまで

  • を行っている私はhereherehereを見て、他の記事のトンできました。

  • カスタムフィールド名を確認しました。タイプミスやスペルミスはありません。

  • 私は新しいカスタムフィールドを作成しようと、それに値を設定しようとしたwindow.parent.Xrm.Page.getAttribute("new_statecode").setValue(strstatecode);

  • を使用して試してみました。それはどちらもうまくいかなかった。同じエラーが発生します。

注1: 私は私が投稿しているコードはSOのmcve基準に適合するように編集され、短縮されたことを言及する価値があると思います。 HTML Webリソースには6つの入力(住所、市など)があり、CRMの各フィールドにデータを保存することができました。唯一の違いは、それらはカスタムフィールドではないということです。

注2:Dynamics 365 Version 1612(8.2.1.410)を使用しています。

この問題を解決するにはどうすればよいですか?私が見なければならないことは他にありますか?カスタムフィールドを作成する際に注意を払っていたはずのものかもしれません。

私はCRM専門用語が不足していることを許しています。

+0

あなたのウェブリソースに ''を含めていますか?また、テストとして、Webリソースではなく、通常のフォームJavaScriptライブラリからカスタムフィールドに値を割り当てるとどうなりますか? – Aron

+0

TBH私はしませんでした。しかし、今私はそれを含め、保存してから公開します(私はこれをやっていますか?)。まだ変更はありません。同じエラー –

+0

はい、更新後、保存して公開すると有効になります。もちろん、ブラウザをリフレッシュする必要もあります。また、CTRL-F5を使用して特定のブラウザでキャッシュを使わずにリフレッシュするか、キャッシュを空にしてリフレッシュすることもできます。 – Aron

答えて

4

属性/フィールドは、Xrm.Page.getAttribute(attributeName)でアクセスできるように、フォームに存在する必要があります。

ただし、非表示にすることも、非表示のセクションまたはタブに表示することもできます。

関連する問題