2009-09-01 3 views

ответ

10

См. На MSDN: SPListItem.File. CheckIn();

Например:

SPFile file = item.File; 
if (file.CheckOutStatus != SPFile.SPCheckOutStatus.None) 
{ 
    file.CheckIn("Reason for check in.", SPCheckinType.MajorCheckIn); 
} 

Необязательный второй параметр позволяет спецификацию либо незначительные, основным или перезаписать проверить в через SPCheckinType enumeration.

+0

есть ли необходимость принудительно опубликовать деталь в библиотеке документов с помощью file.publish ("опубликовано по системе ")? – SaMolPP

+0

@SaMolPP Это зависит от настроек библиотеки. Некоторые будут автоматически публиковать на checkin, если они не настроены на использование публикации, а другие будут публиковать публикации .... – Servy

4

Отличный отклик, однако в 2010 году CheckOutStatus снижается - вместо этого используйте SPCheckOutType. Вы также можете одобрить этот пункт, а также - к примеру:

SPList MyLib = TheWeb.Lists["MyLibrary"]; 
if (MyLib != null) 
{ 
    if (MyLib.Items.Count > 0) 
    { 
     foreach(SPListItem AnItem in MyLib.Items) 
     { 
       SPFile TheFile = AnItem.File; 
       if (TheFile.CheckOutType != SPFile.SPCheckOutType.None) 
       { 
        TheFile.CheckIn("Check in comment", SPCheckinType.MajorCheckIn); 
        TheFile.Approve("Approval comment"); 
       } 
     } 
    } 
} 

Дэвид М. Стерлинг SICG

+0

, но это приведет к изменению как «системная учетная запись». Как изменить tis, внутри приемника событий элемента – SaMolPP

+1

Олицетворить учетную запись пользователя в одну сторону. –

+1

Другой способ - установить поле Author and Editor ранее (не забудьте использовать полное имя - ie i: 0 # .w | \ <пользовательская учетная запись>. У вас есть возможность установить поля BOTH и выполнить обновление. –

Смежные вопросы