2

特定の日付に達するまで、デフォルトのタスクリスト ビューでユーザー タスクを非表示にするために、ユーザー タスクを「延期」としてマークする必要があります。これを実現するための標準機能はないように思われますか、それともありますか? そうでない場合は、プロセス変数レベル (taskDeferredUntil=Date) で回避策を実装する必要がありますが、タスクリスト クエリを実装するにはどうすればよいでしょうか? 次のタスクを taskservice からフィルタリングする必要があります。

1.) null 以外のプロセス変数がある (ローカル?) "taskDeferredUntil" 2.) "taskDeferredUntil" の値が "now" より小さい

最初のフィルターは単純ですが、2 番目の基準について何かヒントはありますか?

4

1 に答える 1

1

3 つの基本的な可能性があります。

  1. タスクは、書き込み時に割り当てられ、フィルター処理されます。残念ながら、TaskQuery には「variableGreaterThan」がありません。したがって、独自の顧客クエリ (ここを参照) を作成するか、適切な ExecutionQuery (variableValueGreaterThan を持つ) を実行してからタスク クエリを実行することができます。クエリによっては、後者が最適ではない場合があります。taskVariableValueGreaterThan/LowerThan を TaskQuery に追加するには、問題を報告する価値があるかもしれません。

  2. 通常のタスク クエリを実行し、それらをメモリ内でフィルター処理します。十分かもしれません - パフォーマンス要件によって異なります。

  3. 延期日に達するまで、タスクの割り当てを解除できます。次に、Timer/JobExecutor インフラストラクチャを活用して、延期された日付が期限になったときにタスクを自動的に再割り当てすることを試みることができます (これは少し似ています)。残念ながら、現時点では例をコーディングする時間がありませんが、興味深いオプションです)。または、外部ジョブが時々それをチェックしています(期限切れの延期日の実行クエリを実行します-延期日を再割り当てして削除します-効率的だと思います)。

オプションを整理するのに少し役立つことを願っていますか?多分私は何かを忘れましたか?

乾杯ベルント

于 2013-09-07T07:58:28.033 に答える