Метод SPContentType.UpdateWorkflowAssociationsOnChildren (Boolean, Boolean, Boolean, Boolean)
Передает изменения связи рабочего процесса этот тип контента для типов содержимого, которые являются производными от этого типа контента или экземпляры этого типа контента, примененных в списки или в оба. При необходимости отмечает затронуты операцией при изменении объектов. Также при необходимости отключает исключения, возникающие, так как дочерний запечатанным или только для чтения.
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Sub UpdateWorkflowAssociationsOnChildren ( _
bGenerateFullChangeList As Boolean, _
bPushdownDerivedCT As Boolean, _
bPushdownListCTs As Boolean, _
bThrowOnSealedOrReadOnly As Boolean _
)
'Применение
Dim instance As SPContentType
Dim bGenerateFullChangeList As Boolean
Dim bPushdownDerivedCT As Boolean
Dim bPushdownListCTs As Boolean
Dim bThrowOnSealedOrReadOnly As Boolean
instance.UpdateWorkflowAssociationsOnChildren(bGenerateFullChangeList, _
bPushdownDerivedCT, bPushdownListCTs, _
bThrowOnSealedOrReadOnly)
public void UpdateWorkflowAssociationsOnChildren(
bool bGenerateFullChangeList,
bool bPushdownDerivedCT,
bool bPushdownListCTs,
bool bThrowOnSealedOrReadOnly
)
Параметры
bGenerateFullChangeList
Тип: System.Booleantrue для выделения всех объектов SPContentType , охваченные этой операции изменения; не false .
bPushdownDerivedCT
Тип: System.Booleantrue для распространения изменений на типы контента, производные от данного типа содержимого; в противном случае — false.
bPushdownListCTs
Тип: System.Booleantrue для распространения изменений на типы контента списка на основе этого типа контента; в противном случае — false.
bThrowOnSealedOrReadOnly
Тип: System.Booleantrue исключение при обнаружении тип содержимого, который является запечатанным или только для чтения; в противном случае — false.
Исключения
Исключение | Условие |
---|---|
SPContentTypeSealedException | Свойство Sealed является потомком данного типа контента имеет значение true. |
SPContentTypeReadOnlyException | Свойство ReadOnly является потомком данного типа контента имеет значение true. |
Замечания
Используйте этот метод при необходимости отправки изменений из родительского типа контента связей рабочих процессов до любого производного или список версий или оба типа содержимого. Если false передается в качестве аргумента для параметра bGenerateFullChangeList , SPContentType объектов, затронутых в этой операции не помечены как измененные и OnChanged события не вызываются. Передача false в качестве аргумента в параметр bThrowOnSealedOrReadOnly подавляет исключения, когда изменения не удается записать на дочерние, так как она помечена как запечатанный или только для чтения.
Примеры
Dim siteCollection As SPSite = New SPSite("https://localhost")
Dim site As SPWeb = siteCollection.OpenWeb()
Dim siteContentType As SPContentType = site.ContentTypes("Test Document")
Dim taskListTitle As String = "Tasks"
Dim historyListTitle As String = "Workflow History"
Dim workflowName As String = "Red-Yellow-Green"
' Get a template.
Dim workflowTemplate As SPWorkflowTemplate = Nothing
For Each template As SPWorkflowTemplate In site.WorkflowTemplates
workflowTemplate = template
' We'll take a template everyone has.
If workflowTemplate.Name = "Three-state" Then
Exit For
End If
Next template
' Create an association.
Dim workflowAssociation As SPWorkflowAssociation = _
SPWorkflowAssociation.CreateSiteContentTypeAssociation(workflowTemplate, _
workflowName, _
taskListTitle, _
historyListTitle)
' Add the association to the content type or update it if it already exists.
Console.Write("Workflow association {0} has been ", workflowAssociation.Name)
If siteContentType.WorkflowAssociations.GetAssociationByName(workflowAssociation.Name, site.Locale) Is Nothing Then
siteContentType.AddWorkflowAssociation(workflowAssociation)
Console.WriteLine("added")
Else
siteContentType.UpdateWorkflowAssociation(workflowAssociation)
Console.WriteLine("updated")
End If
' Propagate to children of this content type.
siteContentType.UpdateWorkflowAssociationsOnChildren(False, True, True, False) ' Suppress exceptions
' Clean up.
site.Dispose()
siteCollection.Dispose()
SPSite siteCollection = new SPSite("https://localhost");
SPWeb site = siteCollection.OpenWeb();
SPContentType siteContentType = site.ContentTypes["Test Document"];
string taskListTitle = "Tasks";
string historyListTitle = "Workflow History";
string workflowName = "Red-Yellow-Green";
// Get a template.
SPWorkflowTemplate workflowTemplate = null;
foreach (SPWorkflowTemplate template in site.WorkflowTemplates)
{
workflowTemplate = template;
// We'll take a template everyone has.
if (workflowTemplate.Name == "Three-state") break;
}
// Create an association.
SPWorkflowAssociation workflowAssociation =
SPWorkflowAssociation.CreateSiteContentTypeAssociation(workflowTemplate,
workflowName,
taskListTitle,
historyListTitle);
// Add the association to the content type or update it if it already exists.
Console.Write"Workflow association {0} has been ", workflowAssociation.Name);
if (siteContentType.WorkflowAssociations.GetAssociationByName(workflowAssociation.Name, site.Locale) == null)
{
siteContentType.AddWorkflowAssociation(workflowAssociation);
Console.WriteLine("added.");
}
else
{
siteContentType.UpdateWorkflowAssociation(workflowAssociation);
Console.WriteLine("updated.");
}
// Propagate to children of this content type.
siteContentType.UpdateWorkflowAssociationsOnChildren(false, // Do not generate full change list
true, // Push down to derived content types
true, // Push down to list content types
false); // Do not throw an exception if sealed or readonly
site.Dispose();
siteCollection.Dispose();
См. также
Справочные материалы
Перегрузка UpdateWorkflowAssociationsOnChildren
Пространство имен Microsoft.SharePoint