none
エンティティを参照している検索フィールドへのデータ入力について RRS feed

  • 質問

  • お世話になります。

    エンティティを参照している検索フィールドのデータ入力方法のご教授お願いします。

    ユーザーエンティティを参照している検索フィールド(f)を取引エンティティ(A)に設置していますが、

    (A)のレコード新規作成時にフォームを起動した際、onLoadイベントハンドラで現在アクセスしているユーザー名を

    (f)にセットしたいのですが出来ないです。(手動でユーザー選択して入力は出来ます)

    お手数おかけしますがよろしくお願いします。

    2018年4月16日 6:29

回答

  • こんにちは。

    (A)エンティティの新規作成時に、検索フィールド(f)に現在のログインユーザーをセットするには、以下のようなJavaScriptをOnLoad処理に実装しておきます。

    function onLoad(){
        // 新規作成フォームの場合、以下の処理を実行
        if (Xrm.Page.ui.getFormType() == 1) {
            var loginuser = new Array();
            loginuser[0] = new Object();
            loginuser[0].id =Xrm.Page.context.getUserId();
            loginuser[0].name = Xrm.Page.context.getUserName();
            loginuser[0].entityType = "systemuser";
            Xrm.Page.getAttribute("{(f)の物理名}").setValue(loginuser);
        }
    }

    [コード解説]

    ・if条件内の「Xrm.Page.ui.getFormType()」でフォームタイプ(新規、既存…等)を取得して、新規(Valueが1)の場合だけ、後続の処理を実行するようにします。

    ・検索フィールドはオブジェクト型であるため、まずオブジェクト型の変数(loginuser)を新しく定義して、必要な情報(id、name、entityType)を詰めていきます。その後、必要な値が詰まった変数を検索フィールドにセットします。

    ご参考まで。

    • 回答としてマーク rias.crm 2018年4月16日 8:44
    2018年4月16日 7:50

すべての返信

  • こんにちは。

    (A)エンティティの新規作成時に、検索フィールド(f)に現在のログインユーザーをセットするには、以下のようなJavaScriptをOnLoad処理に実装しておきます。

    function onLoad(){
        // 新規作成フォームの場合、以下の処理を実行
        if (Xrm.Page.ui.getFormType() == 1) {
            var loginuser = new Array();
            loginuser[0] = new Object();
            loginuser[0].id =Xrm.Page.context.getUserId();
            loginuser[0].name = Xrm.Page.context.getUserName();
            loginuser[0].entityType = "systemuser";
            Xrm.Page.getAttribute("{(f)の物理名}").setValue(loginuser);
        }
    }

    [コード解説]

    ・if条件内の「Xrm.Page.ui.getFormType()」でフォームタイプ(新規、既存…等)を取得して、新規(Valueが1)の場合だけ、後続の処理を実行するようにします。

    ・検索フィールドはオブジェクト型であるため、まずオブジェクト型の変数(loginuser)を新しく定義して、必要な情報(id、name、entityType)を詰めていきます。その後、必要な値が詰まった変数を検索フィールドにセットします。

    ご参考まで。

    • 回答としてマーク rias.crm 2018年4月16日 8:44
    2018年4月16日 7:50
  • お世話になります。

    ご回答頂いた方法で、希望通りに動作が出来ました。

    度々ありがとうございました。

    2018年4月16日 8:45