SPListItem.SystemUpdate method
Atualiza o banco de dados com as alterações feitas no item de lista sem alterar os campos modificado ou modificado.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Sub SystemUpdate
'Uso
Dim instance As SPListItem
instance.SystemUpdate()
public void SystemUpdate()
Comentários
Quando você chama o método SystemUpdate , eventos são disparados e as modificações são relatadas nos logs de auditoria e alterar, mas não os alertas são enviados e propriedades não serão rebaixadas em documentos.
Chamar esse método é igual ao chamar SystemUpdate(Boolean) com false.
Examples
O exemplo a seguir é um aplicativo de console que usa o método SystemUpdate para fazer alterações em um item 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();
}
}
}