複数の SubSite を継承した Site を持っていますが、
各サブサイトは、ページ ライブラリに添付されたデフォルトの SharePoint 承認ワークフローを取得しました。
したがって、ページが承認のために送信されるたびに、
各サブサイトのワークフロー タスク リストにタスクが作成されます。
次の例のように、SPSiteDataQuery を使用して、ワークフロー タスク リスト内のすべてのサブサイトからデータをクエリするように管理します。
DataTable dt = null;
using (SPSite site = new SPSite("Site Url"))
{
using (SPWeb web = site.OpenWeb())
{
SPSiteDataQuery q = new SPSiteDataQuery();
q.Lists = "<Lists ServerTemplate='107' />";
q.Query = @"<OrderBy><FieldRef Name='Modified' Ascending='False' /></OrderBy>";
q.ViewFields = "<FieldRef Name=\"Title\" />"\;
q.Webs = "<Webs Scope='Recursive'/>";
q.RowLimit = 20;
dt = web.GetSiteData(q);
}
}
return dt;
ページが承認待ちの場合、ワークフロー ステータスは [未開始] になり、承認されると [完了] になります。
したがって、すべてのワークフロー ステータスが未開始に等しいことに基づいてクエリを実行すると、承認待ちのすべての結果が返されますか? ページのTitleとFileRefUrlを取得するにはどうすればよいですか?
アドバイスをよろしくお願いします。