0

У меня есть источник данных в SSRS 2008, указывающей в мой список Sharepoint, и я пытаюсь получить повторяющиеся события в качестве отдельных элементов из календаря в Sharepoint 2010 список с помощью CAML запросаКак получить повторяющиеся события из списка Sharepoint 2010 в виде отдельных элементов, используя CAML в SSRS 2008 datasource?

Пример:

Событие 1 : 01.01.2017 15:00 Повторяющиеся каждый день Событие 2: 02/01/2017 17:00 Нет рецидивирующий

Ожидаемое:

(3 Ряды)

1 | Мероприятие 1 01/01/2017 15:00

2 | Мероприятие 1 02/01/2017 15:00

3 | Событие 2 02/01/2017 17:00

Фактический результат:

1 | Мероприятие 1 01/01/2017 15:00

2 | Событие 2 02/01/2017 17:00

CAML Запрос:

<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> 

ответ

0

Ваш КАМЛ мал сформированным; Элемент <QueryOptions> является sibling<Query> элемент, а не ребенок. Повторите попытку с этой пересмотренной CAML:

<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> 
Смежные вопросы