计划在指定的日期和时间,带有指定的审批注释自动批准的需经审查的库中的文档,并 (可选) 更改列表项的审核状态。
命名空间: 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日期和时间时批准了该文档。
setModerationStatus
类型:System.Boolean若要将列表项的ModerationInformation属性设置为SPModerationStatusType.Scheduled; truefalse要将审核状态保持不变。
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