Поделиться через


Обзор объектной модели рабочих процессов в SharePoint Foundation

Дата последнего изменения: 15 апреля 2010 г.

Применимо к: SharePoint Foundation 2010

После развертывания решения рабочего процесса можно воспользоваться объектной моделью Microsoft SharePoint Foundation для запроса информации о рабочем процессе, а также для программного выполнения таких действий, как добавление рабочего процесса в список или запуск рабочего процесса для элемента.

Основные объекты пространства имен Microsoft.SharePoint.Workflow

Пространство имен Microsoft.SharePoint.Workflow обеспечивает доступ к функциональности рабочих процессов, реализованной в SharePoint Foundation.

Объект SPWorkflowTemplateCollection представляет шаблоны рабочего процесса, развернутые на сайте в настоящее время. Каждый объект SPWorkflowTemplate представляет шаблон рабочего процесса и содержит свойства, которые можно использовать для получения или установки сведений о шаблоне, например установочных данных, списков журналов и задач шаблона.

Чтобы связать рабочий процесс со списком или библиотекой документов, используйте метод AddWorkflowAssociation объекта SPList. Чтобы связать рабочий процесс с типом контента, используйте метод AddWorkflowAssociation объекта SPContentType. Оба этих метода принимают в качестве входного параметра объект SPWorkflowAssociation и добавляют его к указанному списку или типу контента соответственно. Чтобы создать соответствующую связь рабочего процесса, используйте метод CreateListAssociation, CreateListContentTypeAssociation или метод CreateSiteContentTypeAssociation самого объекта SPWorkflowAssociation.

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

Используйте метод RemoveWorkflowAssociation, чтобы удалить связь рабочего процесса из списка, и метод RemoveWorkflowAssociation, чтобы удалить связь рабочего процесса из типа контента сайта или списка.

Каждый объект SPWorkflowAssociation представляет шаблон рабочего процесса, который связан с определенным списком или типом контента и который содержит свойства, возвращающие пользовательскую информацию о связи рабочего процесса с указанным списком или типом контента. Эта информация включает: разрешено ли выполнение рабочего процесса, может ли рабочий процесс запускаться автоматически, список или тип контента, с которым связан рабочий процесс.

Коллекция SPWorkflowCollection представляет экземпляры рабочего процесса, которые уже выполнены или выполняются для данного элемента списка. Каждый объект SPWorkflow содержит свойства, которые возвращают такие сведения об экземпляре рабочего процесса, как завершен ли рабочий процесс, его внутреннее состояние и список журналов рабочего процесса. Кроме того, каждый рабочий процесс содержит коллекцию задач для этого рабочего процесса — SPWorkflowTaskCollection.

Используйте свойство Workflows, чтобы получить объект SPWorkflowCollection, который представляет рабочие процессы, выполняющиеся в данный момент для этого элемента списка.

Программное управление экземплярами выполняющихся рабочих процессов

Пользователи независимо взаимодействуют с каждым из рабочих процессов, выполняющихся для элементов, с помощью пользовательского интерфейса SharePoint Foundation. Однако SharePoint Foundation также предоставляет функциональность, позволяющую посредством объектной модели централизованно управлять выполняющимися экземплярами рабочих процессов в семействе сайтов. Для управления выполняющимися экземплярами рабочих процессов в семействе сайтов используйте объект SPWorkflowManager. У объекта SPWorkflowManager нет эквивалента среди инструментов пользовательского интерфейса. Используйте объект SPWorkflowManager для:

  • запуска и отмены рабочих процессов;

  • получения перечня всех рабочих процессов, выполняющихся в данный момент на указанном элементе;

  • выполнения других операций администрирования рабочих процессов.

Чтобы запустить рабочий процесс для какого-либо элемента вручную (то есть рабочий процесс не настроен для автоматического запуска), используйте метод StartWorkflow(SPListItem, SPWorkflowAssociation, String) или StartWorkflow(SPListItem, SPWorkflowAssociation, String, Boolean).

См. также

Концепции

Разработка рабочих процессов для SharePoint Foundation