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


Пошаговое руководство. Создание и отладка решения рабочих процессов SharePoint

Обновлен: Ноябрь 2007

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Рабочий процесс SharePoint

Версия Microsoft Office

  • Сервер SharePoint 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

В этом пошаговом руководстве демонстрируется создание простого последовательного шаблона рабочего процесса. Рабочий процесс выполняет проверку свойства библиотеки документов, чтобы определить, выполнялось ли рецензирование документа. Если документ был рецензирован, рабочий процесс завершается.

В данном пошаговом руководстве представлены следующие задачи:

  • Создание проекта последовательного рабочего процесса SharePoint 2007.

  • Создание расписания рабочего процесса.

  • Обработка событий действий.

Bb386168.alert_note(ru-ru,VS.90).gifПримечание.

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска. Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

Дополнительные сведения о создании шаблонов рабочих процессов SharePoint с помощью Visual Studio Tools for Office см. в разделе Решения рабочих процессов SharePoint.

Обязательные компоненты

Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты:

  • Visual Studio Tools for Office (необязательный компонент Visual Studio 2008 Professional и Visual Studio Team System).

  • Microsoft SharePoint Server 2007.

  • Веб-узел SharePoint Server с заголовком Центр документации и URL-адресом https://localhost/Docs. При изолированной установке Microsoft Office SharePoint Server 2007 на одиночный компьютер данный веб-узел создается автоматически по завершении работы Мастера настройки продуктов и технологий SharePoint.

  • Microsoft Office Word 2007 или Microsoft Office Word 2003.

Средства Visual Studio Tools for Office по умолчанию устанавливаются с перечисленными версиями Visual Studio. Чтобы проверить, установлены ли эти средства, см. раздел Установка средств Visual Studio для Office.

Добавление свойств в библиотеку документов SharePoint

Чтобы отследить состояние рецензирования документа в библиотеке Документы, участники рабочего процесса задают для документа свойства Статус документа, Уполномоченный и Комментарии. Необходимо определить данные свойства в библиотеке документов.

Добавление свойств в библиотеку документов SharePoint

  1. Откройте используемый по умолчанию веб-узел SharePoint Server 2007 в обозревателе Internet Explorer.

    Bb386168.alert_note(ru-ru,VS.90).gifПримечание.

    URL-адрес веб-узла SharePoint по умолчанию — https://localhost. Если адрес https://localhost поставлен в соответствие веб-узлу, не являющемуся узлом SharePoint, протестировать шаблон рабочего процесса с помощью инструкций данного пошагового руководства будет невозможно.

  2. Откройте вкладку Центр документации.

  3. В области переходов выберите Документы.

  4. На странице Документы выберите Параметры, после чего выберите Параметры библиотеки документов.

  5. На странице Настройка документов в разделе Столбцы выберите команду Создать столбец.

  6. Присвойте столбцу имя Статус документа, тип Выбор (меню) и укажите следующие варианты выбора, после чего нажмите кнопку ОК:

    • Требуется рецензирование

    • Рецензирование завершено

    • Запрос изменений

  7. Создайте еще два столбца и присвойте им имена Уполномоченный и Комментарии. Выберите в качестве формата столбца Уполномоченный одиночную текстовую строку, а в качестве формата столбца Комментарии — множественные текстовые строки.

Включение редактирования документов без необходимости их извлечения

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

Включение редактирования документов без извлечения

  1. На странице Настройка документов в разделе Общие параметры выберите Параметры управления версиями.

  2. В поле Требовать извлечения документов перед редактированием? выберите Нет, после чего нажмите кнопку ОК.

  3. Закройте обозреватель Internet Explorer.

Создание проекта последовательного рабочего процесса SharePoint

Последовательный рабочий процесс представляет собой последовательность шагов, которые выполняются поочередно, пока не завершится последнее действие.

Создание проекта последовательного рабочего процесса SharePoint

  1. Запустите Visual Studio.

  2. Откройте диалоговое окно Создать проект разверните узел Office, относящийся к необходимому языку, и выберите узел 2007.

  3. Затем в области Шаблоны выберите Последовательный рабочий процесс SharePoint 2007.

  4. В поле Имя введите MySharePointWorkflow. Если в интегрированной среде разработки выбраны параметры для разработки на Visual C# или общие параметры разработки, также укажите расположение и имя решения.

  5. Нажмите кнопку ОК.

    Появится мастер Новый рабочий процесс Office SharePoint.

  6. На странице Имя и веб-узел рабочего процесса для отладки нажмите кнопку Далее, чтобы принять предложенное имя и веб-узел рабочего процесса по умолчанию.

  7. На странице Списки для использования во время отладки нажмите на кнопку Далее, чтобы принять библиотеку документов, список задач и список журнала по умолчанию, а также автоматически связать шаблон рабочего процесса с библиотекой документов.

  8. На странице Выбор условий запуска рабочего процесса нажмите кнопку Готово, чтобы принять предложенные параметры по умолчанию.

Создание расписания рабочего процесса

Шаблоны рабочих процессов содержат одно или несколько расписаний рабочих процессов, в которых представлены действия, подлежащие выполнению. Чтобы организовать действия в расписании, можно воспользоваться конструктором рабочих процессов. Чтобы отследить статус рецензирования документа в списке Документы, нужно добавить два действия: HandleExternalEventActivity и Microsoft.SharePoint.WorkflowActions.OnWorkflowItemChanged.

Создание расписания рабочего процесса

  1. В обозревателе решений дважды щелкните Workflow1.cs или Workflow1.vb, чтобы открыть расписание рабочего процесса в конструкторе.

  2. В конструкторе щелкните действие OnWorkflowActivated1, чтобы выбрать его.

  3. В окне Свойства введите onWorkflowActivated рядом со свойством Invoked и нажмите клавишу ВВОД.

    Откроется редактор кода, и в файл кода Workflow1 будет добавлен обработчик событий onWorkflowActivated.

  4. Снова откройте расписание рабочего процесса в конструкторе.

  5. В меню Вид выберите пункт Панель элементов.

  6. Перетащите действие While со вкладки Windows Workflow 3.0 в панели элементов в действие onWorkflowActivated1.

  7. Щелкните действие WhileActivity1, чтобы его выбрать.

  8. В окне Свойства установите для свойства Condition значение Code Condition.

  9. Разверните свойство Condition и введите isWorkflowPending рядом с дочерним свойством Condition, после чего нажмите клавишу ВВОД.

    Откроется редактор кода, и в файл кода Workflow1 будет добавлен обработчик событий isWorkflowPending.

  10. Снова откройте расписание рабочего процесса в конструкторе.

  11. Перетащите действие OnWorkflowItemChanged со вкладки Sharepoint Workflow в панели элементов внутрь действия whileActivity1.

  12. Щелкните действие OnWorkflowItemChanged1, чтобы его выбрать.

  13. В окне Свойства задайте значения свойств, как показано в следующей таблице:

    Свойство

    Значение

    CorrelationToken

    workflowToken

    Invoked

    onWorkflowItemChanged

Обработка событий действий

Последний шаг — проверка статуса документа в каждом действии. Если документ был отрецензирован, рабочий процесс завершается.

Обработка событий действий

  1. В обозревателе решений щелкните правой клавишей мыши файл Workflow1.cs или Workflow1.vb и выберите команду Перейти к коду.

  2. Добавьте приведенное ниже поле в начало класса Workflow1. Данное поле будет использовано в действии, чтобы определить, завершен ли рабочий процесс.

    Dim workflowPending As Boolean = True
    
    Boolean workflowPending = true;
    
  3. Добавьте приведенный ниже метод в класс Workflow1. Данный метод выполняет проверку значения свойства Document Status списка документов, чтобы определить, выполнялось ли рецензирование документа. Если свойство Document Status имеет значение Review Complete, метод checkStatus присваивает полю workflowPending значение false, чтобы указать, что рабочий процесс готов к завершению.

    Private Sub checkStatus()
        If CStr(workflowProperties.Item("Document Status")) = "Review Complete" Then
            workflowPending = False
        End If
    End Sub 
    
    private void checkStatus()
    {
        if ((string)workflowProperties.Item["Document Status"] == "Review Complete")
        workflowPending = false;
    }
    
  4. Для вызова метода checkStatus необходимо добавить в методы onWorkflowActivated и onWorkflowItemChanged приведенный ниже код. При запуске рабочего процесса метод onWorkflowActivated вызывает метод checkStatus, чтобы определить, было ли уже выполнено рецензирование документа. Если рецензирование документа не производилось, рабочий процесс продолжает работу. При сохранении документа метод onWorkflowItemChanged вызывает метод checkStatus, чтобы определить, было ли уже выполнено рецензирование документа. Пока поле workflowPending имеет значение true, рабочий процесс продолжает работу.

    Private Sub onWorkflowActivated(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)
        checkStatus()
    End Sub
    
    Private Sub onWorkflowItemChanged(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)
        checkStatus()
    End Sub
    
    private void onWorkflowActivated(object sender, ExternalDataEventArgs e)
    {
        checkStatus();
    }
    
    private void onWorkflowItemChanged(object sender, ExternalDataEventArgs e)
    {
        checkStatus();
    }
    
  5. Добавьте следующий код в метод isWorkflowPending, чтобы проверить состояние свойства workflowPending. При каждом сохранении документа действие whileActivity1 вызывает метод isWorkflowPending. Этот метод проверяет свойство Result объекта ConditionalEventArgs, чтобы определить, должно ли действие WhileActivity1 продолжать работу или завершиться. Если свойство имеет значение true, действие продолжает свою работу. В противном случае действие завершается; также завершается рабочий процесс.

    Private Sub isWorkflowPending(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ConditionalEventArgs)
        e.Result = workflowPending
    End Sub
    
    private void isWorkflowPending(object sender, ConditionalEventArgs e)
    {
        e.Result = workflowPending;
    }
    

Тестирование шаблона рабочего процесса SharePoint

При запуске отладчика средства Visual Studio Tools for Office развертывают шаблон рабочего процесса в SharePoint Server 2007 и связывают шаблон рабочего процесса со списком Документы. Чтобы протестировать рабочий процесс, запустите экземпляр шаблона рабочего процесса из документа в списке Документы.

Тестирование шаблона рабочего процесса SharePoint

  1. В обозревателе решений щелкните правой клавишей мыши файл Workflow1.cs или Workflow1.vb и выберите команду Перейти к коду.

  2. Установите точку останова после метода onWorkflowActivated.

  3. Нажмите клавишу F5.

    Откроется страница Документы веб-узла SharePoint по умолчанию.

  4. Чтобы создать новый документ, выберите на странице Документы команду Создать.

  5. Сохраните документ, используя расположение по умолчанию.

    Документ добавится в список Документы, и запустится рабочий процесс.

  6. В Visual Studio следует убедиться, что отладчик остановился в точке останова рядом с методом onWorkflowActivated.

  7. Нажмите клавишу F5, чтобы возобновить выполнение.

  8. Закройте документ.

  9. Вернитесь на страницу Документы веб-узла SharePoint по умолчанию.

  10. На странице Документы проверьте, чтобы в столбце MySharePointWorkflow было указано значение Выполняется. Это означает, что рабочий процесс выполняется, и документ ожидает рецензирования.

  11. На странице Документы наведите указатель мыши на документ, нажмите направленную вниз стрелку, после чего выберите Изменить свойства.

  12. Задайте для свойства Статус документа значение Рецензирование завершено и нажмите кнопку ОК.

  13. Вернитесь на страницу Документы веб-узла SharePoint по умолчанию.

  14. На странице Документы проверьте, чтобы в столбце MySharePointWorkflow было указано значение Завершен. Это означает, что рабочий процесс завершился, и рецензирование документа было выполнено.

Следующие действия

Дополнительные сведения о создании шаблонов рабочих процессов см. в следующих разделах:

См. также

Задачи

Практическое руководство. Включение вспомогательных файлов при отладке решения SharePoint

Пример последовательного рабочего процесса SharePoint

Основные понятия

Решения рабочих процессов SharePoint

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

Ссылки

Шаблоны проектов рабочих процессов SharePoint