Compartilhar via


SPContentType.UpdateWorkflowAssociationsOnChildren method (Boolean, Boolean, Boolean, Boolean)

Propaga as alterações em associações de fluxo de trabalho do tipo de conteúdo para tipos de conteúdo que são derivados deste tipo de conteúdo ou para instâncias desse tipo de conteúdo que tenham sido aplicadas a listas ou para ambos. Opcionalmente, marca objetos utilizados pela operação como alterado. Também suprime opcionalmente exceções que são geradas como um filho está selado ou somente leitura.

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

Syntax

'Declaração
Public Sub UpdateWorkflowAssociationsOnChildren ( _
    bGenerateFullChangeList As Boolean, _
    bPushdownDerivedCT As Boolean, _
    bPushdownListCTs As Boolean, _
    bThrowOnSealedOrReadOnly As Boolean _
)
'Uso
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
)

Parâmetros

  • bGenerateFullChangeList
    Type: System.Boolean

    true para marcar todos os objetos SPContentType tocados por esta operação como alterado; false , não.

  • bPushdownDerivedCT
    Type: System.Boolean

    true para propagar alterações para tipos de conteúdo derivados do tipo de conteúdo. Caso contrário, false.

  • bPushdownListCTs
    Type: System.Boolean

    true para propagar alterações para tipos de conteúdo de lista com base nesse tipo de conteúdo; Caso contrário, false.

  • bThrowOnSealedOrReadOnly
    Type: System.Boolean

    true para acionar uma exceção na ocorrência de um tipo de conteúdo está selado ou somente leitura; Caso contrário, false.

Exceptions

Exception Condition
SPContentTypeSealedException

A propriedade Sealed de um filho desse tipo de conteúdo tem um valor de true.

SPContentTypeReadOnlyException

A propriedade ReadOnly de um filho desse tipo de conteúdo tem um valor de true.

Comentários

Use esse método para propagar alterações nas associações de fluxo de trabalho do tipo de conteúdo pai para um derivado opcionalmente ou lista versões do tipo de conteúdo, ou ambos. Se você passar false como o argumento para o parâmetro bGenerateFullChangeList , objetos de SPContentType que são tocados por esta operação não são marcados como alterados e OnChanged eventos não são gerados. Passando false como o argumento para o parâmetro bThrowOnSealedOrReadOnly suprime exceções geradas quando não não possível gravar alterações para qualquer filho porque ele está marcado como sealed ou somente leitura.

Examples

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();

Ver também

Referência

SPContentType class

SPContentType members

UpdateWorkflowAssociationsOnChildren overload

Microsoft.SharePoint namespace

AddWorkflowAssociation

Outros recursos

Introduction to Workflows in Windows SharePoint Services

Workflow Stages