Get Item by Query - Workflow Problem 'Document Sets'

I’m having trouble getting the ‘Get Item by Query’ CAML query to work correctly on a SharePoint library that contains both documents (word Files), and Document Sets that contain other word files.

The scenario is as follows:

We have a document library that contains documents for a committee. There is a column called ‘Status’ that allows each document to be marked as either ‘Public’ or ‘Confidential’.

We are trying to use a workflow to identify the documents where the ‘Status’ column is marked as ‘Confidential’, and then move all of these to another library.

I have the following CAML query in my workflow:






Confidential








This works to the degree that it return the documents in the library with a ‘Confidential’ ‘Status’, but it is not returning any documents that are ‘Confidential’ that are contained in Document Sets in the library.

I thought that the inclusion of

would have ensured it looked inside the document sets, but it appears not to be the case.

The document sets are all called 'CommitteeDocuments; and when they are created they are assigned a name that indicates the committee meeting they relate to e.g. “Strategy Committee 07 Sept 2016”.

I need the CAML query to look inside any document set built using the ‘Committee Documents’ template, regardless of what the name of the document set is, as this Library will be an ongoing record of the committees business.

Any help appreciated. If we can do this this then we know Plumsail Action pack is perfect for our institution, and we can move ahead with purchasing.

We have tried to use CAML Designer 2013 to help with this, but due to the security settings here we cannot get that program to interact with our SharePoint sites

Chris

Hi Chris,
Thank you for your message.

Please try to use Caml query in this format:

<View Scope="RecursiveAll">
<Query>
<Where>
<Eq>
<FieldRef Name="Status" />
<Value Type="Choice">Confidential</Value>
</Eq>
</Where>
</Query>
<ViewFields>
<FieldRef Name="Status" />
<FieldRef Name="FileRef" />
<FieldRef Name="FileLeafRef" />
</ViewFields>
</View> 

Best regards
Evgeniy Kovalev
Plumsail Team

Brilliant!
Thank you so much