2009-04-17 2 views
0

誰かがアイテムを編集したときに変更されるフィールドに応じて、特定のアクションを実行する必要があるワークフローを作成しています。たとえば、ユーザーが入ってアイテム(スタッフ)からロール(ジョブ)を削除した場合、ロールフィールドが変更されたことを認識し、削除された(または追加された)ロールを推測し、他の必要な作業を行うことができます。もう1つの例は、項目の住所フィールドが変更された場合、適切な人事部に変更の通知をする必要がある場合です。変更されたフィールドを知っているワークフロー

これを行うには、上位2つの履歴エントリを比較するワークフローが開始されたときにコードブロックを試してみましょう。また、異なるフィールドには変更されたフラグが付けられ、各フィールドに応じて適切な処理を行います。

もっと良い方法があるかどうか知りたいと思っている人は、この機能を利用するための他のオプションについて教えてください。ありがとう

答えて

0

SPDワークフローを使用すると、役割の数によっては難しくありません。

列を作成し、コンテンツタイプに移動して非表示にします。新規または変更時に実行されるSPDワークフローを作成します。変更された値がロール名と比較され、実行する必要があることを行う場合は、非表示の列とユーザーが入力した列を比較します。これが完了すると、ユーザーが入力した列を非表示の列にコピーします。

醜いと長いですが、サーバーに実装されたワークフローコードを取得できない場合は、企業のITに感謝します。

0

私は、リスト上のバージョン管理を有効にしてから使用します。

SPListItem currentItem = workflowProperties.Item; 
SPListItemVersion previousItemVersion = currentItem.Versions[1]; 
//Compare the fields in currentItem and previousItemVersion 

しかし、私が正しくあなたの質問を理解していれば、それはあなたがすでにやるしようとしているものです。

関連する問題