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