2

Я разработал настраиваемую политику удерживающих через какие элементы из моей библиотеки документов получают трудно удаляется после определенного количества дней ,Пункта удаления события не уволит, когда элемент в библиотеке документов удаляются с помощью политики хранения

После того, как эти элементы были удалены из библиотеки документов, я должен обновить другой список в качестве статуса этого элемента как архивированного.

Но элемент удаления события приемника не срабатывает.

События Ресивер код

public override void ItemDeleting(SPItemEventProperties properties) 
    { 
     try 
     { 
      base.ItemDeleting(properties); 
      SPWeb oWeb = properties.Web; 
      SPListItem spLI = properties.ListItem; 
      SPList oList = oWeb.GetList("mylist"); 
      string fileName = spLI.Name; 
      string userID = string.Empty; 
      if (oList != null) 
      { 
       SPQuery query = new SPQuery(); 
       query.Query = "<Where><And><Eq><FieldRef Name=\"ReportName\" /><Value Type=\"Text\">" + fileName + "</Value></Eq><Eq><FieldRef Name=\"ReportStatus\" /><Value Type=\"Text\">COMPLETED</Value></Eq></And></Where>"; 
       query.ViewFields = "<FieldRef Name=\"UserID\" /><FieldRef Name=\"ReportStatus\" /><FieldRef Name=\"ReportName\" />"; 
       query.RowLimit = Constants.CAML_QUERY_ROW_LIMIT; 
       query.ViewAttributes = Constants.CAML_QUERY_VIEW_ATTRIBUTES_ALL; 
       SPListItemCollection allfiles = reportInfoList.GetItems(query); 
       if (allfiles != null) 
       { 
        if (allfiles.Count > 0) 
        { 
         foreach (SPListItem spReportInfoItem in allfiles) 
         { 
          userID = spReportInfoItem["UserID"].ToString(); 
          spReportInfoItem["Status] = "Archived"; 
          spReportInfoItem.SystemUpdate(); 
         } 
        } 
       } 
      } 
     } 
     catch (Exception expException) 
     { 
     throw expException; 
     } 
    } 
+0

Есть ли код, который вы можете показать здесь? В настоящее время, похоже, читателей не так много. Если кода нет, это, вероятно, не вопрос программирования, и в этом случае он не по теме. Вы можете задать вопрос на _Super User_, но, пожалуйста, воздержитесь от просьбы добровольцев срочно - если вам нужен быстрый и гарантированный ответ, нанять кого-то. – halfer

+0

Прошу прощения за «неотложную часть». – Bhavana

+0

Я наклеил код получателя моего события. Это не срабатывает, когда в мою библиотеку документов «mylist» применяется графа «Управление информацией». – Bhavana

ответ

1

После долгого гугла я разобрался, что SystemUpdate(), который не срабатывает событие. И политика хранения удаляет из списка SystemUpdate(), поэтому мой приемник событий не запускается. Итак, я изменил свой код соответственно.