ユーザー定義イベントの作成
公開日: 2016年11月
対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2013、Dynamics CRM 2015、Dynamics CRM 2016
Unified Service Deskは、ホストされたコントロールの種類に基づいて、ホストされたコントロールのあらかじめ定義されたイベントを提供します。 これらのあらかじめ定義されたイベントとは別に、Unified Service Deskで独自のイベントを作成することもできます。これは、ユーザー定義のイベントと呼ばれます。FireEvent アクションまたはイベントの名前を使用して、ユーザー定義のイベントを実行できます。
このトピックの内容
FireEvent アクションの使用
イベント名称の使用
FireEvent アクションの使用
すべてのあらかじめ定義されたホストされたコントロールと、カスタムのUnified Service Deskのホストされたコントロールの種類には、[CCA でホストされたアプリケーション] を除いて、[FireEvent] と呼ばれる特別な UII 操作があります。 この操作を呼び出して、そのコントロールからユーザー定義のイベントを開始することができます。 これは、複数のアクション呼び出しを 1 つの呼び出しにまとめるのに便利な方法で、Unified Service Desk内で効果的に関数を作成することができます。 展開前に、イベントおよびアクションのシーケンスをテストする妥当な方法でもあります。
FireEventの最初のパラメーターは、イベントの名前です。
name=MyEvent
すべての後続の名前/値のペアは、イベントのパラメーターになります。したがって、結果として呼び出されるアクションの置換パラメーターとして使用できます。 たとえば、次のパラメーターの一覧を渡します。
name=MyEvent
var1=[[account.name]]
以下のように var1 パラメーターを使用するアクション コールの作成機能を有効にする、カスタム イベントの MyEvent イベントを発生させます。
Hosted Control=Some Hosted Control
UII Action=Some action on the Hosted Control
Data=[[var1]]
これは、イベント パラメーターをデータ パラメーターとして、ホストされたコントロールのアクションに渡します。 つまり、この例では、ホストされたコントロールのデータ パラメーターは、セッションの account.name 値になります。
イベント名称の使用
ホストされたコントロールでカスタム イベントを作成し、以下のイベント名称構文を使用して呼出すことができます。
http://event/?EventName=<EVENT_NAME>&key=value&key=value&…
構文では、イベントのトリガー時に使用されるパラメーター一覧をパスする、key=value のペアを指定します。
サポート案件フォームのサポート案件タイトルが Dynamics 365 で変更されるとき、ユーザー定義イベントを起動する例を考慮してください。 実行する操作:
Microsoft Dynamics 365 の [インシデント] のホストされたコントロールのために、TitleChanged という名前のイベントを新規作成します。
次の値を使用して、Action Call for Title Change という名前のアクション コールを作成します。
フィールド
値
名前
Action Call for Title Change
ホストされたコントロール
インシデント
アクション
RunXrmCommand
データ
function titleChangeReaction() { window.open("http://event/?EventName=TitleChanged&NewTitle="+encodeURIComponent(Xrm.Page.getAttribute("title").getValue())); } Xrm.Page.getAttribute("title").addOnChange(titleChangeReaction);
[インシデント] のホストされたコントロールの BrowserDocumentComplete イベントに対し、作成済みの新規アクション コールを追加します。詳細:イベントへのアクション コールの追加
TitleChanged イベントがトリガーされるとき、以下の要求が発生します。http://event/?EventName=TitleChanged&NewTitle=<NEW_TITLE>
これにより、TitleChanged イベントは次のデータ パラメータを使用してトリガーされます。NewTitle=<NEW_TITLE>
Dynamics 365 の JavaScript を使用して、イベント名称を使用して Unified Service Desk でイベントを起動 (http://event/?EventName=<EVENT_NAME>&key=value&key=value&…) している場合、window.IsUSD プロパティを使用して、イベントの起動時に JavaScript コードがUnified Service Desk で実行されているかどうかを確認することができます。 次のコード サンプルには、呼び出した JavaScript が Unified Service Desk で実行している時にのみイベントが起動されることを確認するため、独自の JavaScript コードを含めることができます。
if ((window.IsUSD != null) && (window.IsUSD == true))
{
window.open(http://event/?EventName=<EVENT_NAME>&key=value&key=value&…);
}
関連項目
イベント
ホストされたコントロールの種類とアクション/イベント リファレンス
ホストされたコントロール、アクション、およびイベントの管理
MSDN: Microsoft Dynamics CRM での JavaScript の使用
Unified Service Desk 2.0
© 2017 Microsoft. All rights reserved. 著作権