Compartir a través de


(DateTime, Boolean, String) del método SPFile.ScheduleStart

Programa la aprobación automática de un documento en una biblioteca de moderado en la fecha y hora especificadas, con el comentario especificado de aprobación y, opcionalmente, cambia el estado de moderación del elemento de lista.

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

Sintaxis

'Declaración
Public Sub ScheduleStart ( _
    startDate As DateTime, _
    setModerationStatus As Boolean, _
    approvalComment As String _
)
'Uso
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
)

Parámetros

  • startDate
    Tipo: System.DateTime

    Fecha y hora cuando se aprueba el documento.

  • approvalComment
    Tipo: System.String

    La explicación de por qué el elemento se ha aprobado. Este método almacena este valor en la propiedad SPListItem.ModerationInformation.Comment .

Excepciones

Excepción Condición
UnauthorizedAccessException

El usuario actual no tiene los permisos de.ApproveItemsSPBasePermissions.

SPException

El valor de la propiedad EnableModeration de biblioteca de documentos es false.

SPException

El valor de la propiedad EnableMinorVersions de biblioteca de documentos es false.

SPException

Ya se aprueba el documento (el valor de la propiedad ModerationInformation del elemento de lista es SPModerationStatusType.Approved).

o

Control de versiones secundaria no está habilitado para la biblioteca de documentos.

Comentarios

Este método crea un trabajo del temporizador de elemento de trabajo que llama al método de Approve(String) en una fecha y hora determinadas. Si otro trabajo del mismo tipo ya se ha creado para el archivo, se reemplaza por este nuevo trabajo. Cuando llegan la fecha y hora especificadas, el archivo aprobado y publicado. A continuación, se hace visible en las vistas públicas de la biblioteca de documentos.

Estado de la programación se realiza un seguimiento a través de la propiedad ModerationInformation del elemento de lista. Si true se pasa como un argumento para el parámetro setModerationStatus del método ScheduleStart , se establece la propiedad ModerationInformation en SPModerationStatusType.Scheduled. Si no desea mostrar aprobación como programada, pase false como el argumento.

Dado que el método ScheduleStart esencialmente aprueba el archivo antes de su publicación, el usuario actual debe tener el permiso de.ApproveItemsSPBasePermissions. Cuando el trabajo del temporizador creado por este método se ejecuta finalmente, se establece el valor de la propiedad ModerationInformation del elemento de lista en SPModerationStatusType.Approvedy la cadena de texto que se pasa como argumento al parámetro approvalComment se establece como el valor de propiedad de SPListItem.ModerationInformation.Comment del elemento de lista.

Aprobación de contenido da como resultado la elevación de una versión secundaria del archivo a una versión principal. Se puede programar solo las versiones secundarias, y solo las versiones principales se publican. Para que este proceso funcione, debe habilitarse control de versiones secundaria para la biblioteca de documentos.

Ejemplos

En este ejemplo, se programa un elemento de trabajo de aprobación para un archivo en una biblioteca de documentos. La aprobación está programada a que se produzca en las horas de temprano en el día después de la solicitud.

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

Vea también

Referencia

clase SPFile

Miembros SPFile

Sobrecarga ScheduleStart

Espacio de nombres Microsoft.SharePoint

Approve

ScheduleEnd

ModerationInformation

SPModerationStatusType