Веб-часть запроса контента - проблема с календарем с повторными событиями - PullRequest
1 голос
/ 05 июля 2011

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

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

Мой запрос 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. Как мне отфильтровать мой запрос, чтобы он содержал только текущее вхождение периодического события?

1 Ответ

0 голосов
/ 06 июля 2011

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

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

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

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

MSDN - Понимание календаря SharePoint и его экспорта в формат iCal

...