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