SPFile.ScheduleStart method (DateTime, Boolean, String)
排程的自動核准的控管型的程式庫中的文件在指定的日期和時間,以指定的核准註解,並選擇性地適度狀態變更的清單項目。
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
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
Type: System.DateTime日期和時間時核准文件中。
setModerationStatus
Type: System.Boolean若要將清單項目中的 [ ModerationInformation ] 屬性設定為SPModerationStatusType.Scheduled; truefalse保留適度狀態不變。
approvalComment
Type: System.String項目已認可的原因說明。這個方法會將這個值儲存在SPListItem.ModerationInformation.Comment屬性。
Exceptions
Exception | Condition |
---|---|
UnauthorizedAccessException | 目前的使用者沒有SPBasePermissions.ApproveItems權限。 |
SPException | 文件庫的EnableModeration屬性的值是false。 |
SPException | 文件庫的EnableMinorVersions屬性的值是false。 |
SPException | 文件已經核准 (清單項目ModerationInformation屬性的值會是SPModerationStatusType.Approved)。 -或- 未啟用文件庫的次要版本控制。 |
備註
這個方法會建立工作項目計時器工作,然後呼叫Approve(String)方法在特定日期和時間。如果檔案已經建立相同類型的另一項工作,它會取代此新的工作。指定的日期和時間到達時,檔案是核准且發佈出去。就會成為文件庫的公用檢視中可見項目。
排程狀態是透過ModerationInformation屬性的清單項目追蹤。如果true做為引數傳遞給ScheduleStart方法的setModerationStatus參數,則會將ModerationInformation屬性設定為SPModerationStatusType.Scheduled。如果您不想顯示為已排程的核准,傳遞false做為引數。
ScheduleStart方法基本上核准前其發行集的檔案,因為目前的使用者必須具有SPBasePermissions的.ApproveItems權限。計時器工作建立時這個方法最後執行、 清單項目中的 [ ModerationInformation ] 屬性的值設為SPModerationStatusType.Approved,並作為引數傳遞給approvalComment參數的文字字串設定為清單項目SPListItem.ModerationInformation.Comment屬性的值。
次要版本檔案的權限提高的主要版本導致內容核准。可能排定只有次要版本,和主要版本只會發行。使用此程序,文件庫的次要版本都必須啟用。
Examples
這個範例會排定在文件庫檔案的核准工作項目。核准排定發生在清晨上要求之後的日期。
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