Compartilhar via


SPFile.ScheduleStart method (DateTime, Boolean, String)

Agenda a aprovação automática de um documento em uma biblioteca moderado na data especificada e hora, com o comentário de aprovação especificado e, opcionalmente, altera o status de moderação do item da lista.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
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
    Type: System.DateTime

    A data e a hora em que o documento for aprovado.

  • approvalComment
    Type: System.String

    A explicação de por que o item foi aprovado. Esse método armazena esse valor na propriedade SPListItem.ModerationInformation.Comment .

Exceptions

Exception Condition
UnauthorizedAccessException

O usuário atual não tem as permissões de.ApproveItems de SPBasePermissions.

SPException

O valor da propriedade de EnableModeration de biblioteca de documentos é false.

SPException

O valor da propriedade de EnableMinorVersions de biblioteca de documentos é false.

SPException

O documento já estiver aprovado (o valor da propriedade ModerationInformation do item da lista é SPModerationStatusType.Approved).

- ou -

Controle de versão secundária não está habilitado para a biblioteca de documentos.

Comentários

Esse método cria um trabalho de timer de item de trabalho que chama o método Approve(String) em uma determinada data e hora. Se outro trabalho do mesmo tipo já foi criado para o arquivo, ele será substituído por este novo trabalho. Quando chegarem a data e hora especificadas, o arquivo é aprovado e publicado. Então se torna visível em exibições públicas da biblioteca de documentos.

Status do plano é controlado por meio da propriedade ModerationInformation do item da lista. Se true é passado como um argumento para o parâmetro setModerationStatus do método ScheduleStart , a propriedade ModerationInformation está definida como SPModerationStatusType.Scheduled. Se você não quiser mostrar aprovação conforme programado, passe false como o argumento.

Porque o método ScheduleStart essencialmente aprova o arquivo antes de sua publicação, o usuário atual deve ter a permissão de.ApproveItems de SPBasePermissions. Quando o trabalho de timer criado por esse método viesse a ser executado, o valor da propriedade ModerationInformation do item da lista é definido como SPModerationStatusType.Approvede a seqüência de caracteres de texto passada como argumento para o parâmetro approvalComment é definida como o valor da propriedade de SPListItem.ModerationInformation.Comment do item de lista.

Aprovação de conteúdo resulta na elevação de uma versão secundária do arquivo para uma versão principal. Somente as versões secundárias podem ser agendadas e somente as versões principais são publicadas. Para que esse processo funcione, habilite versão secundária da biblioteca de documentos.

Examples

Este exemplo agenda um item de trabalho de aprovação para um arquivo em uma biblioteca de documentos. A aprovação está programada para ocorrer nas horas de manhã cedo no dia após a solicitação.

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

Ver também

Referência

SPFile class

SPFile members

ScheduleStart overload

Microsoft.SharePoint namespace

Approve

ScheduleEnd

ModerationInformation

SPModerationStatusType