Compartir a través de


del método SPListItem.SystemUpdate

Actualiza la base de datos con los cambios realizados en el elemento de lista sin cambiar los campos modificado o modificado por.

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Sub SystemUpdate
'Uso
Dim instance As SPListItem

instance.SystemUpdate()
public void SystemUpdate()

Comentarios

Cuando se llama al método SystemUpdate , se producen eventos y se informa de las modificaciones en los registros de auditoría y cambiar, pero no se enviarán los avisos y las propiedades no se disminuye el nivel en documentos.

Llamar a este método equivale a llamar a SystemUpdate(Boolean) con false.

Ejemplos

En el siguiente ejemplo es una aplicación de consola que usa el método SystemUpdate para realizar cambios en un elemento de lista.

Imports System
Imports Microsoft.SharePoint

Module ConsoleApp
   Sub Main()
      Using site As SPSite = New SPSite("https://localhost")
         Using web As SPWeb = site.OpenWeb()

            Dim list As SPList = web.GetList("/lists/announcements/")
            If list.ItemCount > 0 Then
               ' Get an item to modify.
               Dim item As SPListItem = list.Items(0)

               ' Report the current state of the item.
               ReportState("Before", item)

               ' Modify it.
               If item.HasUniqueRoleAssignments Then
                  item.ResetRoleInheritance()
               Else
                  item.BreakRoleInheritance(True)
               End If

               ' Update without changing the modified time.
               item.SystemUpdate()

               ' Report the new state of the item.
               ReportState("After", item)
            End If

         End Using
      End Using

      Console.ReadLine()
   End Sub

   Sub ReportState(ByVal state As String, ByVal item As SPListItem)
      Console.WriteLine(state)
      Console.WriteLine("HasUniqueRoleAssigments: {0}", item.HasUniqueRoleAssignments)
      Console.WriteLine("Modified: {0}", item(SPBuiltInFieldId.Modified))
      If item.Fields.ContainsField("Modified_x0020_By") Then
         Console.WriteLine("Modified by: {0}", item(SPBuiltInFieldId.Modified_x0020_By))
      End If
      Console.WriteLine()
   End Sub

End Module
using System;
using Microsoft.SharePoint;

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite site = new SPSite("https://localhost"))
         {
            using (SPWeb web = site.OpenWeb())
            {
               SPList list = web.GetList("/lists/announcements/");
               if (list.ItemCount > 0)
               {
                  // Get an item to modify.
                  SPListItem item = list.Items[0];

                  // Report the current state of the item.
                  ReportState("Before", item);

                  // Modify it.
                  if (item.HasUniqueRoleAssignments)
                     item.ResetRoleInheritance();
                  else
                     item.BreakRoleInheritance(true);

                  // Update without changing the modified time.
                  item.SystemUpdate();

                  // Report the new state of the item.
                  ReportState("After", item);
               }
            }
         }
         Console.ReadLine();
      }

      static void ReportState(string state, SPListItem item)
      {
         Console.WriteLine(state);
         Console.WriteLine("HasUniqueRoleAssigments: {0}", item.HasUniqueRoleAssignments);
         Console.WriteLine("Modified: {0}", item[SPBuiltInFieldId.Modified]);
         if (item.Fields.ContainsField("Modified_x0020_By"))
            Console.WriteLine("Modified by: {0}", item[SPBuiltInFieldId.Modified_x0020_By]);
         Console.WriteLine();
      }

   }
}

Vea también

Referencia

clase SPListItem

Miembros SPListItem

Sobrecarga SystemUpdate

Espacio de nombres Microsoft.SharePoint