CAML查询返回Date到期的所有行ID小于Date Completed

时间:2018-02-01 21:37:40

标签: visual-studio sharepoint sharepoint-2013 workflow caml

我需要一个SP的CAML查询,比较日期到期和完成日期,并返回条件为真的所有行ID。 然后我有一个计数设置,它将计算集合变量中的项目并将其设置为一个新变量,然后该变量用于更新状态页面。请帮助这几天,似乎无法弄明白。以下是我目前无法使用的代码。下面的查询似乎将Date expires与当前项目完成日期进行比较我想要查看每一行并单独比较它们,如果date expires少于date completed return ID。谢谢你们的帮助。

 <Query>
   <Lists>
     <List ID="{my-list-id}" />
   </Lists>
   <ViewFields>
     <FieldRef Name="ID" />
   </ViewFields>
  <Where>
     <And>
       <And>
         <Eq>
           <FieldRef Name="Status"  />
           <Value Type="Choice">Closed</Value>
        </Eq>
        <Eq>
           <FieldRef Name="twoDigTskYr"  />
           <Value Type="Number">18</Value>
         </Eq>
       </And>
       <Gt>
         <FieldRef Name="DateExpires"  />
         <Value Type="DateTime">{ItemProperty:Date_x0020_Completed}</Value>
       </Gt>
     </And>
    </Where>
   <ViewAttributes Scope="Recursive" />
  </Query>

1 个答案:

答案 0 :(得分:0)

您无法使用CAML查询比较两个字段。一种解决方法是将计算字段添加到列表中进行比较,因为您可以过滤CAML中的计算字段。