プラグイン作成例

ここでは実用的なプラグインの具体例を元に、作成手順を説明します。

case3.顧客詳細画面にて、日付型項目から特定の日数が経過した場合にアラートで警告する

case1.顧客詳細画面にて、特定の顧客階層の場合に背景色を変更する の応用版として、
プラグインのJavaScript内でREST APIを使用して独自処理を実装する方法を説明します。
ここでは顧客シートの日付型項目に登録されている日付から100日以上経過した顧客に対し
メッセージをアラート表示させるプラグインを実現します。
シートの一覧と拡張にて、顧客シートに日付型項目を用意します。例として「最終訪問日」という項目名で作成します。



マニフェストファイルは、case1と同様に顧客詳細画面に対しての埋め込みプラグインのため
"menu_type"を0に設定し、"target"に顧客詳細画面のIDである「3_005」を設定します。
他パラメータは任意に設定してください。

次にJavaScriptの実装です。大まかな実装内容としては、REST APIのリクエストを実行し対象顧客の「最終訪問日」の値を取得します。
そして現在日付と比較して100日以上経過していればアラートメッセージを出力する流れとなります。
実装例を以下に示します。

sample.js
var request = new XMLHttpRequest(); // リクエストを生成 request.open('GET', 'http://○○○/△△△/rest/v1/entity?obj=customer&columncodes=xxxxx&id='+data_code, true); request.responseType = 'json'; request.setRequestHeader( "Content-Type", "application/json" ) ; request.setRequestHeader( "X-Auth-API-Token", "xxxxx" ) ; // 認証情報を設定 request.onload = function () {     // レスポンス返却時の処理     var data = this.response;     var now = new Date(); // 現在日付     var lastVisitDate = Date.parse(data.value.item_data[0].date); // 対象顧客の「最終訪問日」を取得     // 差の日数を求める(86,400,000ミリ秒=1日)     var termDay = Math.floor((now - lastVisitDate) / 86400000); // 小数点以下切り捨て     if(termDay>=100){         alert('最終訪問日から' + termDay + '日経過しています。')     } }; request.send(); // REST APIを実行

上記実装内容を具体的に説明します。まずXMLHttpRequestを用いてリクエストを生成します。
生成したXMLHttpRequestオブジェクトにREST APIを利用するための設定を行います。
メソッドは"GET"で、対象環境のURLを指定します。その際にパラメータとして"obj"、"columncodes"、"id"を付与します。
"obj"は取得対象のエンティティ名で、今回は顧客シートが対象となるため"customer"を指定します。
"columncodes"に取得項目として「最終訪問日」の項目コードを指定します。
拡張項目の項目コードは、REST APIの"GET /entities/columns"でエンティティ名を指定して取得することができます。
"id"には取得対象の顧客コードを指定しますが、顧客詳細画面ではデフォルト出力項目であるdata_codeに
顧客コードが設定されているため、data_codeの値をそのまま使用します。
リクエストヘッダにContent-Typeと認証情報を設定します。
※REST APIの設定や操作方法については、REST APIのリファレンスを参照ください。

次にレスポンス返却後の処理をonload = function(){}の内部に実装します。
レスポンスのJSONデータから「最終訪問日」の値を取得します。
今回の例では取得項目は「最終訪問日」のみなので、data.value.item_data[0].dateで直接取得しています。
現在日付と取得した「最終訪問日」の差の日数を計算し、100日以上であればアラートメッセージを出力する実装となっています。

当該プラグインをzipファイルにパッケージングし、eセールスマネージャーRemixに登録後
「最終訪問日」から100日以上経過した顧客の詳細画面を表示すると、以下のようにアラートが表示されるようになります。