вторник, 17 апреля 2012 г.

Организатор контента и автоматический запуск рабочего процесса

Итак, проблема в сделующем: при включенном организаторе контента в случае маршрутизщации документа, не работае автоматический запуск рабочего процесса. Связано это с тем, что маршрутизация в библиотеках происходит под системной учетной записью, от имени которой нельзя автоматически стартовать рабочий процесс. Лечится это созданием обраюотчика событий, который и стартует рабочий процесс. Вот код обработчика:

       public override void ItemAdded(SPItemEventProperties properties)
       {

            SPListItem addedItem = properties.ListItem; 
         SPWorkflowManager manager = addedItem.ParentList.ParentWeb.Site.WorkflowManager; 
         SPWorkflowAssociationCollection assoCollection = addedItem.ContentType.WorkflowAssociations; 
         
         foreach (SPWorkflowAssociation asso in assoCollection) 
         { 
             manager.StartWorkflow(addedItem, asso, asso.AssociationData); 
         } 
         
            base.ItemAdded(properties); 

       }
Ну вот почти все, не забудьте передать параметр asso.AssociationData (если этого требует рабочий процесс).

0 коммент.:

Отправить комментарий