Веб-часть запроса содержимого - проблема календаря с повторным воспроизведением событий

У меня есть веб-часть запроса контента, которая читает список календарей и отображает текущие события.

У меня проблема в том, что когда я настраиваю повторяющееся событие, мой запрос получает «неработающий».

Мой запрос CAML:

<Where>
    <And>
        <Leq>
            <FieldRef Name="EventDate" Nullable="False" Type="DateTime"/>
            <Value Type="DateTime" IncludeTimeValue="TRUE">
            <Today />
            </Value>
        </Leq>
        <Geq>
            <FieldRef Name="EndDate" Nullable="False" Type="DateTime"/>
            <Value Type="DateTime" IncludeTimeValue="TRUE">
            <Today />
            </Value>
        </Geq>
    </And>
</Where>

Проблема в том, что повторяющиеся события определяются с EventDate, равным всякий раз, когда оно начинается, но EndDate примерно такое же, как через 10 лет. (или в году 4499 О_о).

Вот идентификационный вывод повторяющегося события (похоже, ничто так его не определяет ... по крайней мере, из информации, с которой я могу поиграть).

Property:ListId | Value:<gibberish>
Property:WebId | Value:<gibberish>
Property:ID | Value:17
Property:Title | Value:maint
Property:FileRef | Value:SiteDirectory/mysite/Lists/Calendrier/17_.000
Property:_x007B_1d22ea11_x002D_1e32_x002D_424e_x002D_89ab_x002D_9fedbadb6ce1_x007D_ | Value:17
Property:Modified | Value:2011-07-05 10:37:02
Property:Author | Value:Admin
Property:Editor | Value:Admin
Property:Created | Value:2011-07-05 10:37:02
Property:PublishingRollupImage | Value:
Property:_Level | Value:1
Property:Comments | Value:
Property:EventDate | Value:2011-07-05 03:00:00
Property:EndDate | Value:2021-01-26 05:00:00
Property:fAllDayEvent | Value:0
Property:LinkUrl | Value:http://localhost/SiteDirectory/mySite/Lists/Calendrier/17_.000
Property:PubDate | Value:Tue, 05 Jul 2011 14:37:02 GMT
Property:ImageUrl | Value:
Property:ImageUrlAltText | Value:
Property:Description | Value:
Property:Style | Value:identity
Property:GroupStyle | Value:Band
Property:__begincolumn | Value:True
Property:__begingroup | Value:False

(Это событие определяется как происходящее каждый понедельник и вторник).

  1. Как узнать, является ли мероприятие повторяющимся или нет?
  2. Как мне отфильтровать свой запрос так, чтобы он содержал только текущие повторяющиеся периодические события?

person Kraz    schedule 05.07.2011    source источник


Ответы (1)


Первое, что нужно понять, это то, что повторяющаяся серия событий сохраняется как одно событие, а не как каждый отдельный экземпляр.

Следовательно, даты начала / окончания такие длинные - это общая длина повторения, а не какой-либо конкретный случай.

Поле fRecurrance имеет значение True, если вы имеете дело с повторяющимся событием.

Это единственное руководство, которое вы найдете для понимания повторяющихся событий, но, будьте осторожны, работа с повторяющимися событиями - это тяжелая работа, и в этом кроется гнев, ненависть и страдания ...

MSDN. Что такое календарь SharePoint и как его экспортировать в формат iCal

person Ryan    schedule 06.07.2011
comment
Я уже прочитал эту статью (между временем вопроса и временем ответа). Очень помогло. fRecurrence для моего 1-го вопроса, RecurrenceData для моего 2-го вопроса, но да, ваш комментарий о гневе, ненависти и страданиях его точен, я все еще застрял: D - person Kraz; 06.07.2011