Я читал это сообщение msdn: http://msdn.microsoft.com/en-us/library/aa981241.aspx
пытается отредактировать веб-часть запроса содержимого, чтобы отображались только элементы из списка событий, которые либо происходят в течение 30 дней, либо повторяются в течение 30 дней. Легко справиться с событиями, которые не повторяются, потому что я могу сравнить [Дата начала] с [Сегодня] +30 с изменением этой общей конфигурации веб-части, но для повторяющихся событий кажется, что [Дата начала] и [Дата окончания ] описывают период, в течение которого должно произойти повторяющееся событие, и я не знаю, что делать, чтобы определить ближайшее приближающееся повторение события. Cqwp принимает только три элемента фильтра, поэтому я не могу обрабатывать как повторяющиеся, так и единичные элементы, не переопределяя запрос.
Я думаю, что поле, которое мне нужно использовать для повторного появления, является одним из следующих: msdn-microsoft-com / en-us / library / microsoft.sharepoint.spfieldrecurrence_members.aspx, но ни одно из них не кажется подходящим.
Что делать с повторным появлением "четвертого дня месяца" msdn-microsoft-com / en-us / library / microsoft.sharepoint.weekofmonth.aspx
В принципе, как вы переопределите запрос на фильтрацию повторяющихся и единичных событий, чтобы отображать только те, которые происходят в течение недели?
Я добавил следующий код в файл .webpart CQWP:
<Where>
<Or>
<And>
<Neq>
<FieldRef Name="FRecurrence"/>
<Value Type="Recurrance">1</Value>
</Neq>
<And>
<Lt>
<FieldRef Name="EventDate" Type="DateTime"/>
<Value Type="DateTime"><Today OffsetDays="30"/></Value>
</Lt>
<Gt>
<FieldRef Name="EventDate" Type="DateTime"/>
<Value Type="DateTime"><Today /></Value>
</Gt>
</And>
</And>
<DataRangesOverlap>
<FieldRef Name="EventDate" />
<FieldRef Name="EndDate" />
<FieldRef Name="RecirrenceId" />
<Value Type="DateTime"><Month /></Value>
</DataRangesOverlap>
</Or>
</Where>
but my page is returning: "Unable to add selected web part(s). The file format is not valid. Try importing a Web Part file (.WebPart)."