SharePoint のイベント ハンドラーに問題があります。
ItemAdded および ItemUpdated のコードを使用してイベント ハンドラーが関連付けられているアイテムのリスト (リスト A) があります。
これらのイベントのいずれかがトリガーされたら、別のリスト (リスト B) を更新して、リスト A の類似した名前のすべてのアイテムの最小値を取得します。ほぼ Min(FieldX) のように考えてください。
例えば
ListA
ItemName 値
CategoryA 2
CategoryA 4
CategoryA 3
CategoryB 1
CategoryB 8
リスト B
項目名 値
カテゴリ A 2
カテゴリ B 1
誰かが ListA の CategoryA 項目の 1 つを値 0 に更新すると、イベント ハンドラーは ListB 内の CategoryA 項目を新しい値 0 に置き換えます。
現在、ListB のすべての項目を削除し、ListA からすべての一意の ItemName を取得し、それぞれの最小値を ListB に挿入することでこれを行っています。
これは、一度に 1 つの項目を編集する場合は問題なく機能しますが、データシートで編集すると、非同期の性質のために適切な混乱が生じます。うまくいくこともあれば、うまくいかないこともあり、それは良くありません。
このようなことを行うベストプラクティスの方法は何でしょうか? 非常に多くのアイテムが非同期的に編集されているため、このようなロールアップ テーブルを一貫した方法で更新するにはどうすればよいでしょうか?
ありがとう