SPFile.ScheduleStart-Methode (DateTime, Boolean, String)
Plant die automatische Genehmigung eines Dokuments in einer moderierten Bibliothek am angegebenen Datum und Uhrzeit, mit dem Genehmigungskommentar angegebenen, und ändert optional den Moderationsstatus des Listenelements.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Sub ScheduleStart ( _
startDate As DateTime, _
setModerationStatus As Boolean, _
approvalComment As String _
)
'Usage
Dim instance As SPFile
Dim startDate As DateTime
Dim setModerationStatus As Boolean
Dim approvalComment As String
instance.ScheduleStart(startDate, setModerationStatus, _
approvalComment)
public void ScheduleStart(
DateTime startDate,
bool setModerationStatus,
string approvalComment
)
Parameter
startDate
Typ: System.DateTimeDas Datum und die Uhrzeit, wann das Dokument genehmigt wird.
setModerationStatus
Typ: System.Booleantrue für die ModerationInformation -Eigenschaft des Listenelements festzulegen, SPModerationStatusType,.Scheduled; false , verlassen den Moderationsstatus unverändert.
approvalComment
Typ: System.StringDie Erläuterung, warum das Element genehmigt wurde. Diese Methode speichert diesen Wert in der Eigenschaft SPListItem.ModerationInformation.Comment .
Ausnahmen
Ausnahme | Bedingung |
---|---|
UnauthorizedAccessException | Der aktuelle Benutzer hat keinen SPBasePermissions.ApproveItems Berechtigungen. |
SPException | Der Wert der Eigenschaft EnableModeration Document Library ist false. |
SPException | Der Wert der Eigenschaft EnableMinorVersions Document Library ist false. |
SPException | Ist das Dokument bereits genehmigt (der Wert der ModerationInformation -Eigenschaft des Listenelements ist SPModerationStatusType-.Approved). -ODER- Nebenversionen ist für die Dokumentbibliothek nicht aktiviert. |
Hinweise
Diese Methode erstellt einen Zeitgeberauftrag für Arbeitsaufgaben, der auf ein bestimmtes Datum und eine Uhrzeit die Approve(String) -Methode aufruft. Wenn bereits eine andere Stelle des gleichen Typs für die Datei erstellt wurde, wird es durch das neue Projekt ersetzt. Wenn das angegebene Datum und die Uhrzeit ankommen, wird die Datei genehmigt und veröffentlicht. Es wird dann in öffentlichen Ansichten der Dokumentbibliothek angezeigt.
Planungsstatus wird über die ModerationInformation -Eigenschaft des Listenelements nachverfolgt. Wenn true an den setModerationStatus -Parameter, der die ScheduleStart -Methode als Argument übergeben wird, wird die Eigenschaft ModerationInformation auf SPModerationStatusType.Scheduledfestgelegt. Wenn Sie nicht als geplante Genehmigung anzeigen möchten, übergeben Sie false als Argument.
Da die ScheduleStart -Methode im Wesentlichen die Datei vor ihrer Veröffentlichung genehmigt, muss der aktuelle Benutzer die SPBasePermissions.ApproveItems Berechtigung. Wenn der Zeitgeberauftrag erstellt diese Methode letztendlich ausgeführt wird, ist der Wert der ModerationInformation -Eigenschaft des Listenelements auf SPModerationStatusType.Approvedfestgelegt und an den approvalComment -Parameter als Argument übergebene Zeichenfolge als Wert für das Listenelement SPListItem.ModerationInformation.Comment -Eigenschaft festgelegt ist.
Inhaltsgenehmigung führt die Erhöhung von eine Nebenversion der Datei um eine Hauptversion. Nur die Nebenversionen geplant werden können und nur Hauptversionen veröffentlicht werden. Dieser Prozess funktioniert muss die Nebenversionen für die Dokumentbibliothek aktiviert sein.
Beispiele
In diesem Beispiel plant eine Arbeitsaufgabe für Genehmigung für eine Datei in einer Dokumentbibliothek. Die Genehmigung in den frühen Morgenstunden am Tag nach der Anforderung erfolgen soll.
public void Approve(SPListItem item, string comment)
{
SPFile file = item.File;
// Be sure we have a file to work with.
if (file != null)
{
// Check in any file that is checked out.
if (file.Level == SPFileLevel.Checkout)
{
file.CheckIn(String.Empty, SPCheckinType.MinorCheckIn);
}
// Queue it up at 2 am tomorrow.
DateTime startDate = DateTime.Now.Date.AddHours(2.0);
try
{
file.ScheduleStart(startDate, true, comment);
}
catch (SPException ex)
{
// Handle Sharepoint errors
}
}
}
Public Sub Approve(ByRef item As SPListItem, ByVal comment As String)
Dim file As SPFile = item.File
' Be sure we have a file to work with.
If (file Is Nothing) Then
' Check in any file that is checked out.
If file.Level = SPFileLevel.Checkout Then
file.CheckIn(String.Empty, SPCheckinType.MinorCheckIn)
End If
'Queue it up at 2 am tomorrow.
DateTime(startDate = DateTime.Now.Date.AddHours(2.0))
Try
file.ScheduleStart(startDate, True, comment)
Catch ex As SPException
' Handle Sharepoint errors
End Try
End If
End Sub