同じサイト コレクションの複数のリストから値を計算する SharePoint ホスト型アプリを開発しています。似たような名前のリストを検索する必要があります。
例: ルート サイト:
/dev
サブサイト:
/dev/site1
/dev/site2
サイト 1 とサイト 2 の両方に「タイムシート」という名前のリストがあります。
ユーザー 1 とユーザー 2 について考えてみましょう。各ユーザーは両方のサブ サイトにアクセスできます。そして、両方のサイトのタイムシートを更新します。
私が必要としているのは、サイト 1 とサイト 2 の両方からタイムシート リストのフィールド (loggedhours) の値を計算し、それを追加して、ルート サイト リスト (別のリスト) に保存することです。
また、ユーザーのみに基づいて値をフィルタリングする必要があります。
例: サイト 1 > タイムシート - 現在のユーザーによって作成されたアイテムを計算し、サイト 2 > タイムシート - 現在のユーザーによって作成されたアイテムを計算し、ルート サイトに保存します。
値を取得するために caml クエリを使用しています。しかし、caml クエリを使用して現在のユーザーに基づいてフィルター処理する方法がわかりません。
私のコード
var TimesheetList01 = web01.get_lists().getByTitle('Timesheet');
var camlQuery01 = new SP.CamlQuery();
camlQuery01.set_viewXml("<View><Query><Where></Where></Query></View>");
this.collListItem01 = TimesheetList01.getItems(camlQuery01);
currentcontext01.load(collListItem01, 'Include(Id,LoggedHours)');
currentcontext01.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
function onQuerySucceeded(sender, args) {
var mysum01 = 0;
var myloggedHours01 = 0;
var listItemInfo01 = '';
var listItemEnumerator011 = collListItem01.getEnumerator();
while (listItemEnumerator011.moveNext()) {
var oListItem01 = listItemEnumerator011.get_current();
myloggedHours01 = oListItem01.get_item('LoggedHours');
mysum01 = mysum01 + myloggedHours01;`
助けてください。
ありがとう、アルン