SPFile.ScheduleStart 方法 (DateTime, Boolean, String)

计划在指定的日期和时间,带有指定的审批注释自动批准的需经审查的库中的文档,并 (可选) 更改列表项的审核状态。

命名空间:  Microsoft.SharePoint
程序集:  Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)

语法

声明
Public Sub ScheduleStart ( _
    startDate As DateTime, _
    setModerationStatus As Boolean, _
    approvalComment As String _
)
用法
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
)

参数

  • startDate
    类型:System.DateTime

    日期和时间时批准了该文档。

  • approvalComment
    类型:System.String

    解释为什么批准该项目。此方法在SPListItem.ModerationInformation.Comment属性中存储此值。

异常

异常 条件
UnauthorizedAccessException

当前用户没有SPBasePermissions.ApproveItems权限。

SPException

文档库EnableModeration属性的值是false。

SPException

文档库EnableMinorVersions属性的值是false。

SPException

已经批准了该文档 (列表项的ModerationInformation属性的值是SPModerationStatusType.Approved)。

- 或 -

没有为文档库启用次要版本控制。

备注

此方法创建的工作项计时器作业,调用Approve(String)方法,在特定的日期和时间。如果已为该文件创建另一个相同类型的作业,则此新作业来替换它。当指定的日期和时间到达时,批准并发布该文件。它将成为在该文档库的公共视图中可见。

计划状态将通过ModerationInformation属性的列表项的跟踪。如果true作为参数传递给setModerationStatus方法的参数的ScheduleStart , ModerationInformation属性设置为SPModerationStatusType.Scheduled。如果您不想显示按计划的审核,将作为参数传递false 。

ScheduleStart方法实质上是批准之前其发布该文件,因为当前用户必须具有SPBasePermissions.ApproveItems权限。当计时器作业创建的最终执行此方法、 列表项的ModerationInformation属性的值设置为SPModerationStatusType.Approved,和文本字符串作为参数传递给approvalComment参数设置为列表项的SPListItem.ModerationInformation.Comment属性的值。

内容审批结果提高的主要版本与该文件的次要版本。只有次要版本可能会安排,并且只主要版本发布。为了处理此过程,必须为文档库启用次要版本控制。

示例

此示例计划审批工作项的文档库中的文件。审核计划请求后的当天早晨举行。

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

另请参阅

引用

SPFile 类

SPFile 成员

ScheduleStart 重载

Microsoft.SharePoint 命名空间

Approve

ScheduleEnd

ModerationInformation

SPModerationStatusType