Восстановление версии библиотеки документов SharePoint не работает должным образом - PullRequest
0 голосов
/ 20 января 2010

У меня есть некоторый код, который я пытаюсь использовать для «отката» документа sharepoint и его свойств метаданных к предыдущей версии, используя контроль версий ootb и API SharePoint. Вот пример моего кода:

int versionCount = item.Versions.Count;
if (versionCount > 0)
{
 // this only restores properties
 item.Versions.Restore(1);
}

Ожидаемым результатом вызова функции восстановления с использованием 1 (самая последняя версия до текущей версии) будет восстановление файла и метаданных. Вместо этого восстанавливаются только метаданные, а текущий файл копируется в новую «восстановленную» версию.

Страница версий четко отображает несколько версий, а восстановление через пользовательский интерфейс восстанавливает нужный файл.

Кроме того, я попытался использовать item.File.Versions только для того, чтобы найти item.File.Versions.Count, равное 1.

Может ли кто-нибудь дать какое-либо понимание?

Ответы [ 2 ]

1 голос
/ 21 января 2010

Страница версий генерирует запись версии для каждой соответствующей комбинации версий файла и элемента.Если SPFile.Versions равно 1, это означает, что файл имеет одну версию в дополнение к текущей версии.SPListItem.Versions содержит все версии файла, включая текущую версию (с индексом 0).

Когда вызывается SPFile.Versions.Restore(iIndex), файл восстанавливается вместе со связанной SPListItem версией, которая применяется к этому файлу

0 голосов
/ 20 января 2010

Ваш 'SPListItem' будет иметь свойство File, типа SPFile .Он также имеет свойство .Versions. Возможно, вам придется использовать это или оба.

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