次の方法で共有


特化された更新操作の動作

更新操作を実行する非推奨の特殊化されたメッセージがいくつかあります。 以前のバージョンでは、これらのメッセージを使用する必要があったが、 IOrganizationService.Update または UpdateRequest クラスと IOrganizationServiceを使用して同じ操作を実行する必要がある。Execute

非推奨のメッセージ要求 更新が必要な属性
AssignRequest <エンティティ>OwnerId
SetStateRequest <エンティティ>StateCode
<エンティティ>StatusCode
SetParentSystemUserRequest SystemUser.ParentSystemUserId
SetParentTeamRequest Team.BusinessUnitId
SetParentBusinessUnitRequest BusinessUnit.ParentBusinessUnitId
SetBusinessEquipmentRequest Equipment.BusinessUnitId
SetBusinessSystemUserRequest SystemUser.BusinessUnitId

<エンティティ>は、この属性を提供するすべてのエンティティを参照します。

Important

StateCode列を更新するときは、常に目的のStatusCodeを設定することが重要です。

StateCodeStatusCode には依存値があります。 特定のStatusCode値には複数の有効なStateCode値を指定できますが、各StateCode列には 1 つの DefaultStatus 値が構成されています。 StateCodeを指定せずにStatusCodeを更新すると、システムによって既定の状態値が設定されます。

また、テーブルと StatusCode 列で監査が有効になっている場合、更新操作で指定されていない限り、 StatusCode 列の変更された値は監査データにキャプチャされません。

詳細情報: レガシ更新メッセージ

この変更により、プラグインとワークフローに注意すべき特別な動作がいくつか導入されました。

プラグインの場合

所有者フィールドとビジネス所有テーブルの他の標準フィールドの両方を含む更新要求が処理されると、PreOperation ステージまたは PostOperation ステージの Update メッセージに登録されたプラグインは、所有者以外のすべてのフィールドに対して 1 回、所有者フィールドに対して 1 回実行されます。 所有者フィールドの例としては、(businessunitの場合) managerがあります。 ビジネス所有テーブルの例としては、 SystemUserBusinessUnitEquipmentTeam などがあります。

状態/状態フィールドと他の標準フィールドの両方を含む更新要求が処理されると、PreOperation ステージまたは PostOperation ステージの Update メッセージに登録されたプラグインは、すべての非状態/状態フィールドに対して 1 回、状態/状態フィールドに対して 1 回実行されます。

プラグイン コードが更新プログラムの完全なデータ変更を受け取るには、 プラグインを PreOperation に登録してから、後のプラグイン (パイプライン内) で使用するために、プラグイン コンテキストの SharedVariables に関連情報を格納する必要があります。

ワークフローの場合

所有者フィールドと他の標準フィールドの両方を含む更新要求が処理されると、 Update メッセージに登録されたワークフローは、所有者以外のすべてのフィールドに対して 1 回実行され、次に所有者フィールドに対して 1 回実行されます。 ユーザーによって 割り当て メッセージに登録されたワークフローは、所有者フィールドの更新によって引き続きトリガーされます。

状態/状態フィールドと他の標準フィールドの両方を含む更新要求が処理されると、 Update メッセージに登録されたワークフローは、すべての非状態/状態フィールドに対して 1 回、状態/状態フィールドに対して 1 回実行されます。 [状態の変更] ステップに登録されたワークフローは、状態/状態フィールドの更新によって引き続きトリガーされます。

こちらも参照ください

SDK for .NET を使用してテーブルを更新および削除する
Event Framework