Форма Infopath заблокирована, но не проверена - PullRequest
0 голосов
/ 29 июня 2011

Я храню формы Infopath в библиотеке документов Sharepoint.

Поскольку эти формы заполняются в автономной среде, библиотека документов используется для хранения отправленных форм (и других связанных документов).Веб-приложение также обновляет документы Infopath.

Шаблон Infopath, связанный с формами, устанавливается на ПК пользователя в формате MSI.

Я заметил, что если у пользователя есть одна из форм, открытых из библиотеки документов (но не извлеченных), использование веб-службы копирования для обновления документа возвращает ошибку «DestinationCheckedOut».У меня вопрос, есть ли что-нибудь, что я могу использовать для запроса Sharepoint, чтобы определить, есть ли у пользователя открытый файл.Я использовал веб-сервис Lists и CheckoutUser, но это работало, только если документ извлечен (а не только открыт).Я также попытался установить для параметра «Настройки версии» значение «Требовать извлечения документов при редактировании», но при этом возвращается ошибка «Infopath не может открыть следующий файл: ..... Файл не является допустимым файлом XML», когдаформа открыта пользователем.

Я собираюсь обработать исключение "DestinationCheckedOut", но мне хотелось сначала проверить код для этого сценария, прежде чем пытаться выполнить процесс обновления.был бы признателен.

1 Ответ

0 голосов
/ 29 июня 2011

Я не знаю, существует ли какой-либо веб-сервис, который возвращает информацию, которую вы ищете.

Вызовами объектной модели на стороне сервера являются SPFile.CheckOutStatus и SPFile.CheckOutType (http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfile_properties.aspx).Существует два типа «извлеченных»: один, когда документ просто открывается для редактирования, и другой, когда он явно извлекается - вы нажимаете первый.

...