/ / ¿Cuándo se crean los flujos de trabajo de sharepoint? - sharepoint, sharepoint-2010, sharepoint-workflow

¿Cuándo se crean los flujos de trabajo de sharepoint? - sharepoint, sharepoint-2010, sharepoint-workflow

Estoy usando sharepoint 2010 y estoy atascado. Tengo una característica que tiene un método FeatureAcitvated. En este método, tengo una clase que quiero que tenga un código que inicie un flujo de trabajo que creé.

Así que hice esto

 foreach (SPListItem item in itemCollection)
{
SPWorkflowAssociation wfAssoc = listItem.ParentList.WorkflowAssociations[new Guid("0768433d-23b1-4797-be66-fefc486e7e08")];
}

Sin embargo, siempre es nulo. Nunca encuentra mi flujo de trabajo. Cuando busco en WorkflowAssociations, solo se cuenta uno de algunos de los flujos de trabajo que creo que probablemente están integrados en uno.

¿Entonces me pregunto si mi flujo de trabajo se genera en este momento? ¿O se crea después de que se despide la característica EventReceiver?

Creé mi flujo de trabajo como un flujo de trabajo de lista a través de Visual Studios 2010

Respuestas

1 para la respuesta № 1

Creo que este código va a resolver su problema. Lo primero que debe hacer es obtener la asociación de la plantilla de flujo de trabajo a la lista. Esto solo debe ser una vez para la lista, no una vez para cada elemento. Luego pasa por cada elemento y, utilizando la propiedad WorkflowManager de la colección de sitios, inicia el flujo de trabajo en cada elemento.

var assoc = list.WorkflowAssociations[new Guid("...")];
var manager = site.WorkflowManager;
foreach (SPListItem item in list.Items)
{
manager.StartWorkflow(item, assoc, assoc.AssociationData, true);
}