Невозможно использовать ProcessBatchData без увеличения версии обработанного элемента. - PullRequest
4 голосов
/ 03 марта 2011

Мне нужно обновить SPListItem с помощью web.ProcessBatchData без создания новой версии.

Я пытался использовать этот xml:

<?xml version="1.0" encoding="UTF-8"?> 
<ows:Batch OnError="Continue"> 
  <Method ID="1"> 
    <SetList>{some-guid}</SetList> 
    <SetVar Name="Cmd">Save</SetVar> 
    <SetVar Name="ID">{list-item-id}</SetVar> 
    <SetVar Name="owshiddenversion">{current-item-version}</SetVar> 
    <SetVar Name="urn:schemas-microsoft-com:office:office#Title">some title</SetVar> 
  </Method> 
</ows:Batch>

После выполнения BatchData для этого xml я получил новую версию ({предыдущая-версия} + 1) даже без изменения каких-либо видимых полей элемента.

Возможно ли использовать ProcessBatchData таким же образом, как SystemUpdate (false)?

P.S. Мне нужно обновить элемент списка. Предыдущий xml отлично работает при обновлении элементов DocumentLibrary ...

1 Ответ

0 голосов
/ 03 мая 2013

Кусок пирога :) lol

 using (var disabler = new DisabledEventFiringScope())
    {
        web.ProcessBatchData(batchXml);
    }

А вот код для класса DisabledEventFiringScope:

class DisabledEventFiringScope : SPEventReceiverBase, IDisposable
{
    public DisabledEventFiringScope()
    {
        EventFiringEnabled = false;
    }

    public void Dispose()
    {
        EventFiringEnabled = true;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...