0

複数のユーザーが QueueItem で作業しないように強制したいと考えています。QueueItem.WorkerId の設定はこれにどのように役立ちますか? この属性が設定されたとき、バックグラウンドで何が起こったのですか? CRM 2011 で上記の制限を適用するには、他にどのような方法がありますか。

現時点では、WorkOn アクションを選択して WorkerId 属性を設定しても、他のユーザーは QueueItem を開いて作業できます。

4

1 に答える 1

0

私の本能はあなたの要件に挑戦することです (たとえば、アイテムに取り組んでいるユーザーがアイテムが解決される前に会社を辞めた場合、どうすればよいでしょうか?) - しかし、あなたの質問は純粋に技術的なものであると仮定します.

これが私の提案です(テストされていません-どのルートが正しいかを証明するために、これでいくつかの作業を行う必要があります)。queueid私の当初の想定では、キュー アイテムは属性に基づいてユーザーまたはチームに割り当てられていましたが、ご指摘のとおり、workeridおそらく属性の方が有力な候補です。

WorkerId がドライバー フィールドであると仮定します。

属性にはデフォルト値がないと仮定しworkeridます。エンティティのメッセージのPre-Operationステージに対して登録されるプラグインを作成する必要があります。属性がまだ設定されていない場合(プレエンティティ イメージから取得)、操作を続行できます。がすでに設定されている場合は、アイテムを再割り当てできないことをユーザーに通知する例外を発生させます。のメッセージに対してプラグインを登録する必要がある場合もあります。UpdatequeueitemworkeridworkeridCreatequeueitem

QueueId がドライバー フィールドであると仮定します。

queueitem「元のキュー」などと呼ばれる新しい属性をエンティティに追加します。AddToQueue次に、エンティティのメッセージに対して登録されるプラグインを作成しますqueueitem(これは、ユーザーが [作業中] ボタンをクリックしたときに発生するメッセージであると最初は信じていました。これにより、アイテムがユーザー キューに移動したと考えられていましたが、そうである可能性があります)。違う)。「元のキュー」属性が設定されていない場合は、それを古いキュー ID に設定し (プレエンティティ イメージから取得)、別のキューへの再割り当てを続行できるようにします。「元のキュー」アイテムがすでに設定されている場合は、アイテムを再割り当てできないことをユーザーに通知する例外を発生させます。Createのメッセージに対してプラグインを登録する必要がある場合があります。queueitemあまりにも(テストなしでは、着信キューアイテムがキューに割り当てられる時点でわかりません)。

于 2012-06-07T08:45:06.303 に答える