アクションの構成
公開日: 2016年11月
対象: Dynamics CRM 2015
コードを記述することなく、ワークフローまたはダイアログからユーザー定義アクションを有効にできます。詳細:ワークフローまたはダイアログからのユーザー定義アクションの呼び出し。
また、開発者がコード内で使用できるようにアクションを作成する必要があるかもしれませんし、または以前に定義されたアクションを編集する必要があるかもしれません。 ワークフロー プロセスのように、次のことを考慮します。
アクションは何を実行する必要があるか。
どのような条件の下でアクションを実行する必要があるか。
ワークフロー プロセスとは異なり、以下のオプションを設定する必要はありません。
[開始時期]: アクションに対して生成されたメッセージをコードが呼び出すと、アクションが開始されます。
[スコープ]: アクションは、常に呼び出し元ユーザーのコンテキストで実行されます。
[バックグラウンドで実行]: アクションは常にリアルタイム ワークフローです。
アクションには、ワークフロー プロセスにないもの (入出力引数) も含まれています。詳細:プロセスの引数の定義
このトピックの内容
アクションの作成
アクションの編集
アクションの作成
重要
配布ソリューションの一部として含まれるアクションを作成する場合は、ソリューションのコンテキストで作成します。[設定] > [ソリューション] に移動し、アンマネージド ソリューションを特定します。 次に、メニュー バーで、[新規] > [プロセス] を選択します。 これにより、アクション名に関連付けられているカスタマイズ接頭辞が、ソリューション内の他のコンポーネントと確実に一致するようになります。 アクションを作成したら、接頭辞は変更できません。
ワークフロー プロセスのように、アクションの [プロセスの作成] ダイアログ ボックスには以下のプロパティがあります。
[プロセス名]
プロセスの名前を入力した後、プロセス名からスペース文字または特殊文字を削除することによって、一意の名前が作成されます。カテゴリ
このプロパティは、これがアクション プロセスであることを確立します。 いったんエンティティを保存したら、これを変更できません。エンティティ
アクション プロセスでは、そのほかの種類のプロセスと同様に、ワークフローにコンテキストを提供するエンティティを選択することができますが、[なし (グローバル)] を選択することもできます。 アクションが特定のエンティティのコンテキストを必要としない場合は、これを使用します。 いったんエンティティを保存したら、これを変更できません。種類
このプロパティを使用して、アクションを新規に最初から作成するか、または既存のテンプレートから始めるかを選択できます。
アクションの編集
プロセスを編集するには、その前にプロセスを非アクティブ化する必要があります。
アンマネージド ソリューションの一部として作成されたアクション、または組織にインストールされているソリューションに含まれているアクションを編集できます。 ソリューションが管理ソリューションである場合、そのソリューションは編集できない場合があります。 ソリューション発行者は、マネージド ソリューションとともにインストールされたアクションを編集できないように、管理プロパティを編集することもできます。
アクションが保存されるとき、[一意の名前] がプロセス名に基づいて生成されます。 この一意の名前には、ソリューション発行者からのカスタマイズ接頭辞が付加されています。 これは、開発者がコード内で使用するメッセージの名前です。
重要
アクションがアクティブ化され、一意の名前を使用するコードが作成された後は、一意の名前は、その名前を参照するコードを変更しないかぎり変更はできません。
アクションを編集するとき、次のオプションがあります。
プロセス名
プロセスが作成され、一意の名前がプロセス名から生成されると、プロセス名を編集できます。 個別のプロセスを特定しやすくする命名規則を適用したいことがあるでしょう。一意の名前
アクションが保存されるとき、[一意の名前] がプロセス名に基づいて生成されます。 この一意の名前には、ソリューション発行者からのカスタマイズ接頭辞が付加されています。 これは、開発者がコード内で使用するメッセージの名前です。 プロセスがアクティブ化され、この名前を使用してアクションを呼び出すようにコードが用意されている場合は、この一意の名前を変更しないでください。ロールバックを有効にする
通常、トランザクションをサポートするプロセスは、トランザクションのどの部分でも失敗すると、操作全体を "元に戻します" (またはロールバックします)。 これには、いくつかの例外があります。 アクションによって開始されるコード内で開発者が行う可能性のある一部のアクションは、トランザクションをサポートしないことがあります。 たとえば、コードが、トランザクションのスコープ外の他のシステムでアクションを実行する場合です。 これらは、Microsoft Dynamics 365 で実行しているアクションによってロールバックできません。Dynamics 365 プラットフォームの一部のメッセージは、トランザクションをサポートしません。 しかし、アクションのユーザー インターフェイスだけで実行できるすべてが、トランザクションをサポートします。 リアルタイム ワークフローの一部であるすべてのアクションはイン トランザクションとみなされますが、アクションでは、トランザクションから抜け出ることを選択することもできます。アクションがイン トランザクションであるかどうかを決定するためにこのメッセージを使用する開発者に相談する必要があります。 通常、業務プロセスによって実行されるアクションがすべて完了しなければアクションが意味をなさない場合、アクションはイン トランザクションである必要があります。 標準的な例が、2 つの銀行口座間での資金の転送です。 1 つの口座から資金を引き出す場合、もう 1 つの口座にその資金を預ける必要があります。 どちらが失敗した場合、両方が失敗する必要があります。
注意
ユーザー定義アクションをワークフローまたはダイアログ内から直接実行した場合、ロールバックを有効にするオプションはサポートされません。Dynamics 365 web サービス メッセージによってアクションが呼び出される場合はロールバックを有効にできます。
次の種類としてアクティブ化:
すべてのプロセスと同様に、プロセスをテンプレートとしてアクティブ化し、同様のパターンに従ったプロセスの高度な開始点として使用できます。プロセスの引数の定義
この領域では、アクションが開始する予定のデータと、アクションから渡されるデータを指定します。詳細:プロセスの引数の定義ステージ、条件、およびアクションの追加
他のプロセスと同様に、実行するアクションの内容と、それらを実行する時期を指定します。詳細:ステージと手順の追加
プロセスの引数の定義
開発者は、メッセージを使用するときは、メッセージに何らかのデータを渡し、そのデータで開始する場合があります。 たとえば、サポート案件レコードを新規に作成する場合、引数として渡されるサポート案件のタイトルの値を使用する場合があります。 これは入力引数です。
開発者は、メッセージが完成すると、メッセージによって変更または生成された一部のデータを、コード内の別の操作へ渡すことが必要な場合があります。 これらは、出力引数と定義する必要があります。
入力引数と出力引数の両方に、名前およびタイプと、引数が常に必須かどうかに関する情報を必要としています。 また、説明を与えることもできます。
メッセージ名とすべてのプロセス引数に関する情報が、メッセージの "特徴" を表します。 アクションがアクティブ化され、コードで使用されるようになった後、そのシグネチャは変更できません。 この特徴を変更すると、メッセージを使用するコードが失敗します。 これに対しての唯一の例外は、必ずしも必須でないようにパラメーターのいずれかを変更する場合です。
引数は順序ではなく名前で識別されるので、引数を並べ替えたり、上または下に移動して引数の順序を変更しても、違いは生まれません。 説明の変更によって、メッセージを使用するコードが壊されることはありません。
アクション プロセスの引数の種類
次の表は、アクション プロセスの引数の種類について説明しています。
種類 |
説明 |
---|---|
Boolean |
true または false の値。 |
DateTime |
日付と時刻の情報を格納する値。 |
Decimal |
小数点以下の精度の数値。 精度が非常に重要な場合に使用します。 |
Entity |
指定したエンティティの Dynamics 365 レコード。Entity を選択したとき、ドロップダウンが有効になり、エンティティの種類を選択できます。 |
EntityCollection |
エンティティ レコードのコレクションです。 |
EntityReference |
エンティティ レコードを一意に識別する、エンティティ レコードの名前、ID、および種類を含むオブジェクト。EntityReference を選択したとき、ドロップダウンが有効になり、エンティティの種類を選択できます。 |
Float |
小数点以下の精度の数値。 データが完全に正確ではない測定に由来するときに使用されます。 |
Integer |
整数。 |
Money |
金額のデータを保存する値。 |
Picklist |
OptionSet 属性のオプションを表す値。 |
String |
テキスト値。 |
注意
[EntityCollection] 引数の値は、条件またはアクションのユーザー インターフェイスでは設定できません。 これらは、ユーザー定義コードで開発者が使用するために提供されます。詳細:独自のアクションの作成
ステージと手順の追加
アクションは、リアルタイム ワークフローに非常に似ている一種のプロセスです。 リアルタイム ワークフローで使用できるすべての手順は、アクションで使用できます。 リアルタイム ワークフローとアクションの両方に使用できるステップの詳細については、ワークフロー ステージと手順を参照してください。
アクションは、リアルタイム ワークフローで使用できる手順に加えて、ダイアログでの変数または入力引数の設定に使用される手順に似た [値の割り当て] 手順を使用することもあります。 アクションでは、これらは出力引数を設定するためにのみ使用できます。 フォーム アシスタントを使用して出力引数を特定の値に設定できます。より具体的には、アクションの実行対象のレコードからの値に、多対 1 の関連付けでレコードに関連付けられているレコードからの値に、これまでの手順で作成されたレコードからの値に、またはプロセス自体の一部となる値に設定できます。
関連項目
アクション
ワークフローまたはダイアログからのユーザー定義アクションの呼び出し
リアルタイム ワークフローとアクションの監視
プロセスの作成および編集
ワークフロー プロセス
ダイアログ
業務プロセス フロー
プロセスの監視と管理
独自のアクションの作成
© 2016 Microsoft Corporation. All rights reserved. 著作権