Tech Dynamics 365 (CRM)

Microsoft Dynamics 365 (CRM) を中心とした技術情報を提供しています。

クライアントAPIを使用したアラートの表示方法

こんにちは。

今回は、クライアントAPIを使用してアラートを表示する方法をご紹介します。

アラート自体はJavaScriptの alert(); でも表示できるのですが、いかにも作り込んだようなダイアログで美しくないような気がします。

function ShowDialog(){
    var revenue = Xrm.Page.getAttribute("revenue").getValue();
    alert("売上高が " + revenue + " 円に変更されました。");
}

f:id:westcoastline:20180302170123p:plain

こちらをクライアントAPIを使用した書き方に変更すると以下の様になり、Dynamics 365 と同じUIでメッセージを表示することができます。

function ShowDialog(executionContext){
    // 実行コンテキストの取得
    var formContext = executionContext.getFormContext();
    var revenue = formContext.getAttribute("revenue").getValue();
    var message = "売上高が " + revenue + " 円に変更されました。"
    var alertStrings = {
            confirmButtonLabel: "承知の助",
            text: message
        };
    var alertOptions = {
            height: 120,
            width: 500
        };
    Xrm.Navigation.openAlertDialog(alertStrings, alertOptions);
}

f:id:westcoastline:20180302170605p:plain


オブジェクト変数の属性説明

alertStrings の属性
 confirmButtonLabel:ボタンのラベルを指定
 text:アラートに表示するメッセージを指定 (今回は変数で渡してみました)

alertOptions の属性
 height:ダイアログの高さを指定
 width:ダイアログの横幅を指定


上記のJavaScriptで「Xrm.Page」ではなく実行コンテキストを使用している理由とコードの書き方については、以前投稿した記事をご覧ください。
westcoastline.hatenablog.com


また今回使用した「openAlertDialog」の使用方法やパラメーターの詳細は以下から確認することができます。
docs.microsoft.com