Share via


SPContentType.UpdateWorkflowAssociationsOnChildren - Méthode (Boolean, Boolean, Boolean, Boolean)

Propage les modifications dans les associations de flux de travail de ce type de contenu à des types de contenu qui sont dérivés de ce type de contenu ou à des instances de ce type de contenu qui ont été appliquées à des listes, ou aux deux. Marque éventuellement les objets faisant partie de l'opération modifiée. Si vous le souhaitez supprime également les exceptions qui sont levées car un enfant est sealed ou en lecture seule.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Sub UpdateWorkflowAssociationsOnChildren ( _
    bGenerateFullChangeList As Boolean, _
    bPushdownDerivedCT As Boolean, _
    bPushdownListCTs As Boolean, _
    bThrowOnSealedOrReadOnly As Boolean _
)
'Utilisation
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
)

Paramètres

  • bGenerateFullChangeList
    Type : System.Boolean

    true pour marquer tous les objets SPContentType faisant partie de cette opération comme étant modifiés ; false ne le fait pas.

  • bPushdownDerivedCT
    Type : System.Boolean

    dérivés de true pour propager les modifications aux types de contenu de ce type de contenu ; dans le cas contraire, false.

  • bPushdownListCTs
    Type : System.Boolean

    true pour propager les modifications aux types de contenu de liste en fonction de ce type de contenu ; dans le cas contraire, false.

  • bThrowOnSealedOrReadOnly
    Type : System.Boolean

    true pour lever une exception lorsqu'il les rencontre un type de contenu est verrouillé ou en lecture seule ; dans le cas contraire, false.

Exceptions

Exception Condition
SPContentTypeSealedException

La propriété Sealed d'un enfant de ce type de contenu a la valeur true.

SPContentTypeReadOnlyException

La propriété ReadOnly d'un enfant de ce type de contenu a la valeur true.

Remarques

Cette méthode permet de propager les modifications dans les associations de flux de travail parent du type de contenu à le soit dérivée éventuellement ou de liste de versions de type de contenu, ou les deux. Si vous transmettez false comme argument pour le paramètre bGenerateFullChangeList , SPContentType les objets qui sont affectés par cette opération ne sont pas marqués comme étant modifiés et OnChanged ne sont pas déclenchés. Passage de false comme argument pour le paramètre bThrowOnSealedOrReadOnly supprime les exceptions levées lors de la modification impossible d'écrire dans n'importe quel enfant car il est marqué comme sealed ou en lecture seule.

Exemples

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

Voir aussi

Référence

SPContentType classe

SPContentType - Membres

UpdateWorkflowAssociationsOnChildren - Surcharge

Microsoft.SharePoint - Espace de noms

AddWorkflowAssociation

Autres ressources

Introduction to Workflows in Windows SharePoint Services

Workflow Stages