Как мне зарегистрировать файл без изменения измененной временной метки?

Я использую SharePoint CSOM с настольным приложением C# и пытаюсь зарегистрировать файл в библиотеке документов с включенным параметром "Требовать извлечение". Я хочу, чтобы измененная временная метка осталась прежней (не обновлялась).

После регистрации я обновляю элемент списка с оригинальной отметкой времени. Это работает, когда "Требовать извлечение" отключен, но когда он включен, я получаю исключение, которое говорит, что файл должен быть извлечен в первую очередь. Я попытался обновить элемент списка перед регистрацией, но он перезаписывается при регистрации.

Есть какой-либо способ сделать это?

2 ответа

После того, как вы используете SystemUpdate для обновления данных, пробовали ли вы OverwriteCheckin при проверке SPFile обратно в?

listItem.SystemUpdate();    
file.CheckIn("comment", CheckinType.OverwriteCheckIn);

Изменить: После того как вы выяснили, что вы не работаете с черновиками, я рекомендую вам использовать SPFile.UndoCheckOut() отказаться от кассы программно. В противном случае вы по своей сути идете вразрез с дизайном SharePoint, изменяя содержимое без пометки содержимого как измененного.

lstItem.Update()
lstItem.SystemUpdate()

Вы можете использовать обновление для обновления файлов и измененных дат. Обновление системы обновит файл без изменения даты изменения.

Другие вопросы по тегам