SharePoint Lists.asmx: запрос возвращает «удаленные» элементы календаря? - PullRequest
2 голосов
/ 04 июня 2009

При выполнении запроса caml к службе sharepoint list.asmx у меня возникает странное поведение: метод GetListItems также возвращает удаленные элементы;

found item: test
found item: already done
found item: recurring
found item: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: Deleted: recurring event 3-4
found item: todays event 15-16 //<- NOT DELETED YET

Как это происходит? Нужно ли применять специальный фильтр к запросу caml или что-то? В настоящее время я запрашиваю следующее:

<Query>
  <OrderBy>
     <FieldRef Ascending='TRUE' Name='EventDate' />
  </OrderBy>
  <Where>
     <Eq>
        <FieldRef Name='EventDate' />
        <Value Type='DateTime'><Today /></Value>
     </Eq>
  </Where>
</Query>

Что я пробовал до сих пор; 1. вычистить все из корзины 2. выполнить iisreset на веб-сервере sharepoint

пожалуйста, обратите внимание; я работаю в среде рабочей станции VMWare.

1 Ответ

7 голосов
/ 04 июня 2009

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

Когда элемент добавляется в календарь, один элемент добавляется в список. Когда добавляется повторяющееся событие, SP не добавляет бесконечное количество элементов в список, а добавляет один специальный «повторяющийся» элемент, как вы заметили. Затем, если вы удалите некоторые из отдельных повторяющихся событий (т.е. еженедельное собрание, но оно отменяется в следующий вторник), SP добавляет специальный элемент «удаленное событие» в список. Эти элементы на самом деле не удаляются в том смысле, что они существуют и больше не существуют, они просто являются исключениями для повторяющегося события. Таким образом, они отфильтровываются при просмотре календаря в виде списка, но сами по себе являются «настоящими» отдельными элементами списка SP.

Надеюсь, это имело смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...