Microsoft Dynamics CRMのJavascriptを使用して、ルックアップフィールドの値を取得し、その値を別のフィールド(たとえば、「名前」フィールド)に設定しようとしています。どうすればいいですか?
Docs.Microsoftで見つけました。これを行うには、最初に「Xrm」と呼ばれるDynamicsCRMのドキュメントオブジェクトモデルについて知っておく必要があります。
var lookupValue=Xrm.Page.data.entity.attributes.get('new_account').getValue()[0].name;
Xrm.Page.getAttribute("new_name").setValue("Your Account Name is:"+lookupValue);
これを関数として使用し、Microsoft Dynamics CRMフォームの保存(OnSave)イベントで呼び出すことができます。
新しい(CRM 365)メソッドを使用するには、次の2つのことを行う必要があります。
フォームライブラリを作成するときは、関数にパラメータを含める必要があります。これは、CRMが関数を呼び出すときに設定されます。ここでの私の例では、パラメーター名はexecutionContext
ですが、名前は重要ではありません
このCRMパラメータを取得すると、新しいXrm.Page
に相当するフォームコンテキストを取得できます。下記参照
function onLoad(executionContext)
{
var formContext = executionContext.getFormContext();
var lookup = formContext.getAttribute("new_account").getValue();
formContext.getAttribute("new_name").setValue("Your Account Name is:" + lookup[0].name);
}
次に、フォームライブラリを登録するときに、実行コンテキストを渡す必要があります。これは、フォームライブラリメソッドに設定する必要のあるexecutionContext
パラメータがあることをCRMに通知するものです。