0

J'ai une source de données dans SSRS 2008 pointant sur ma liste de Sharepoint et je suis en train de faire des événements récurrents comme des éléments distincts d'un calendrier dans une Sharepoint 2010 liste à l'aide requête CAML,Comment obtenir des événements récurrents à partir d'une liste Sharepoint 2010 en tant qu'éléments distincts en utilisant CAML dans la source de données SSRS 2008?

Exemple:

Event 1 : 01/01/2017 15:00 récurrente tous les jours Event 2: 01/02/2017 17:00 Non récurrent

attendu:

(3 lignes)

1 | Événement 1 01/01/2017 15:00

2 | Événement 1 02/01/2017 15:00

3 | Événement 2 02/01/2017 17:00

Résultat réel:

1 | Événement 1 01/01/2017 15:00

2 | Événement 2 02/01/2017 17:00

CAML Requête:

<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <ListName>Calendario</ListName> 
    <ViewFields>  
     <FieldRef Name="EventDate" /> 
     <FieldRef Name="EndDate" /> 
     <FieldRef Name="Department" /> 
     <FieldRef Name="ParticipantsPicker" /> 
     <FieldRef Name="Facilities" /> 
     <FieldRef Name="Category" /> 
     <FieldRef Name="Title" /> 
     <FieldRef Name="Description" /> 
     <FieldRef Name="RecurrenceData" /> 
     <FieldRef Name="fRecurrence" /> 
    </ViewFields> 
    <Query> 
     <QueryOptions> 
     <ExpandRecurrence>TRUE</ExpandRecurrence> 
    </QueryOptions> 
    <Where> 
     <IsNotNull> 
       <FieldRef Name="Facilities" /> 
      </IsNotNull> 
         <DateRangesOverlap> 
            <FieldRef Name='EventDate' /> 
            <FieldRef Name='EndDate' /> 
            <FieldRef Name='RecurrenceID' /> 
          <Value Type='DateTime' IncludeTimeValue="FALSE"><Month /></Value> 
          </DateRangesOverlap> 
     </Where> 
     <OrderBy> 
     <FieldRef Name='EventDate' Ascending='True' /> 
     </OrderBy> 
    </Query> 
</RSSharePointList> 

Répondre

0

Votre CAML est mal formé; l'élément <QueryOptions> est un frère de l'élément <Query>, pas un enfant. Essayez à nouveau avec ce CAML révisé:

<Query> 
    <Where> 
     <IsNotNull> 
      <FieldRef Name="Facilities" /> 
     </IsNotNull> 
     <DateRangesOverlap> 
      <FieldRef Name='EventDate' /> 
      <FieldRef Name='EndDate' /> 
      <FieldRef Name='RecurrenceID' /> 
      <Value Type='DateTime' IncludeTimeValue="FALSE"> 
       <Month /> 
      </Value> 
     </DateRangesOverlap> 
    </Where> 
    <OrderBy> 
     <FieldRef Name='EventDate' Ascending='True' /> 
    </OrderBy> 
</Query> 
<QueryOptions> 
    <ExpandRecurrence>TRUE</ExpandRecurrence> 
</QueryOptions>