1

私はHEREで説明されているのと同じ状況にあります。

Create List ItemおよびUpdate List Itemアクション(回答で提案されているように)を使用しようとしていますが、結果はありません。

誰かが答えに記載されている手順を親切に説明してもらえますか?

ありがとうございました、

マルチェロ

4

1 に答える 1

0

そこに回答を投稿しましたが、削除または削除された場合のコピーを次に示します。

アイテムがすでに合計に追加されているかどうかを追跡していないため、リストAの金額が決して変わらないと仮定できない限り、lem.mallariの答えは非常に苦痛です。ワークフローが SharePoint リストを反復処理する方法はありません。つまり、複数のリスト アイテムの合計または平均を簡単に計算する方法はありません。

これを実装する正しい方法には、ある程度の開発が必要です。SharePoint 開発者トレーニング ( 20102013 ) では、実際にほとんどの方法を習得できます。イベント レシーバーは、SharePoint の API を使用してリスト A と名前による平均値を通過するリスト A とリスト B でアイテムが追加または変更されたときにトリガーする必要があります。次に、リスト B のすべての (または影響を受けるだけの) アイテムを更新します。または、JavaScript を使用して、リスト B のアイテムと同じ名前を持つリスト A のすべてのエントリの合計を表示できます。ページ。XPath と InfoPath に精通している場合は、リスト A をセカンダリ データ ソースとしてリスト B のフォームに追加し、リスト A で該当するアイテムのみを選択して合計することができます。

ただし、ワークフローについて話している場合は、「ワークフローのみ」の方法があります。これは 2010 年にテストされ、成功しました。次の列を含むカスタム リスト C を作成します。

  • タイトル (文字列、必須、一意の値を適用)
  • TotalItems (整数、必須、デフォルト 0)
  • 合計 (数値、小数点以下は任意、必須、デフォルト 0)
  • 平均 (計算、=IF(TotalItems=0,0,Sum/TotalItems)) (オプション)

リスト A とリスト B の名前列を、リスト C を指すルックアップ列に置き換えます。追加の列として合計列を含める代わりに、リスト B の金額列を削除します。次の列をリスト A に追加し、ユーザーがそれらを直接変更できないようにします。これは、InfoPath フォームを作成するか、別の表示および編集フォームを作成することによって制限できます。

  • AmountArchive (数値、Amount と同じ、デフォルト 0)
  • AmountHasBeenSubmitted (はい/いいえ、デフォルトはいいえ)

リスト A で項目が作成または変更されるたびに実行するワークフローを作成します。次のコマンドを使用します (読みやすくするためにリストを使用しています。コードとしてフォーマットすると見苦しくなります)。

  • Current Item:Amount が Current Item:AmountArchive と等しくない場合
    • 変数: アイテム数を (データ ソース: リスト C; ソースからのフィールド: TotalItems; リスト アイテムの検索: フィールド タイトル; 値: 現在のアイテム: 名前 (フィールドを返す: ルックアップ値 (テキストとして))) に設定します。
    • 変数:ItemCount に 1 を加えた計算 (変数: ItemCount への出力)
    • List C:Sum を計算します (上記と同様の設定。文字列ではなくルックアップ値 (テキストとして) を使用してください!) から現在のアイテム:AmountArchive (変数への出力: SumWithoutValue) を差し引きます。
    • 変数の計算: SumWithoutValue と現在のアイテム:金額 (変数への出力: NewSum)
    • 現在のアイテム:AmountHasBeenSubmitted が No の場合
      • AmountHasBeenSubmitted をはいに設定
      • リスト C のアイテムを更新します (TotalItems を Variable:ItemCount に設定します。Sum を Variable:NewSum に設定します。Field:Title と同じ方法でリスト アイテムを検索します。Value: Current Item:Name (Return field as: Lookup Value (as Text)) )
    • そうしないと
      • リスト C の項目を更新します (TotalItems には何もしません。同じロジックを使用して、Sum を Variable:NewSum に設定します)。
    • 金額を現在のアイテムに設定:AmountArchive
于 2013-10-11T21:07:49.817 に答える