Уеб част за заявка за съдържание - проблем с календара с повтарящи се събития

Имам уеб част за заявка за съдържание, която чете списъка с календари и показва текущо изпълняващи се събития.

Проблемът, който имам, е, че когато настроя повтарящо се събитие, заявката ми става „счупена“.

Моето 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 O_o ).

Ето изхода за идентичност на повтарящо се събитие (изглежда нищо не го дефинира така... поне от информацията, с която мога да си играя).

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 за първия ми въпрос, RecurrenceData за втория ми въпрос, но да, коментарът ви за гнева, омразата и страданието е точен, все още съм заседнал :D - person Kraz; 06.07.2011