Когда создаются рабочие процессы sharepoint? - PullRequest
1 голос
/ 05 мая 2011

Я использую sharepoint 2010 и застрял. У меня есть функция, которая имеет метод FeatureAcitvated. В этом методе у меня есть класс, который я хочу иметь код, который запускает созданный мной рабочий процесс.

Итак, я сделал это

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

И все же это всегда ноль. Это никогда не находит мой рабочий процесс. Когда я смотрю на WorkflowAssociations, в нем есть только один рабочий процесс, который, как я полагаю, возможно, встроен в один.

Так что мне интересно, генерируется ли мой рабочий процесс в это время? Или он создается после срабатывания класса EventReceiver?

Я создал свой рабочий процесс в виде рабочего процесса со списком через Visual studios 2010

1 Ответ

1 голос
/ 11 мая 2011

Я думаю, этот код решит вашу проблему.Первое, что вам нужно сделать, это связать шаблон рабочего процесса со списком.Это должно быть только один раз для списка, а не один раз для каждого элемента.Затем вы перебираете каждый элемент и, используя свойство WorkflowManager семейства сайтов, запускаете рабочий процесс для каждого элемента.

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