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


Элемент Condition (WorkflowInfo)

Область применения: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

Представляет оператор Condition , который является частью предложения правила, которое может отображаться в декларативном редакторе рабочих процессов на основе правил без кода, например Microsoft SharePoint Designer 2010.

Когда рабочий процесс активируется событием, соответствующим списку sharePoint или элементу библиотеки документов в Microsoft SharePoint Foundation 2010, часто необходимо оценить, какое действие рабочего процесса следует предпринять или требуется ли действие. Элемент Condition позволяет рабочему процессу выполнять эту оценку со значениями и аргументами, предоставленными ему редактором рабочих процессов.

Каждый элемент Condition также соответствует логическому методу в указанной библиотеке рабочих процессов SharePoint Foundation 2010. Данные методы используются, чтобы оценить значения, переданные их параметрами, и возвращать значения true и false.

Элемент Condition содержит сведения о сборке Microsoft .NET, в которой реализован код условия , а также параметры, необходимые для вызова функции. В элементе также содержатся сведения о способе отображения инструкции Condition в редакторе рабочего процесса.

Определение

<WorkflowInfo>
      <Conditions>
            <Condition>
               <RuleDesigner>…</RuleDesigner>
               <Paramaters>…</Parameters>
            </Condition>
            <Default>…</Default>
      </Conditions>
      <Action>…</Actions>
</WorkflowInfo>

Элементы и атрибуты

В разделах ниже приводится описание атрибутов, дочерних и родительских элементов.

Атрибуты

Атрибут

Описание

**AppliesTo**

Обязательный **text**. Указывает, что вычисляемый условный оператор применяется к списку или библиотеке документов SharePoint. Путем изменения данного значения можно скрыть или отобразить отдельную условную инструкцию в редакторе рабочего процесса в зависимости от типа списка SharePoint, с котором связан рабочий процесс.

В следующих значениях регистр не учитывается:

  • **all** указывает, что оператор condition доступен для всех типов списков и библиотек документов.

  • **doclib** указывает, что оператор условия отображается редактору рабочих процессов только в том случае, если рабочий процесс связан с библиотекой документов. Если рабочий процесс связан с любым другим типом списка, условная инструкция в редакторе рабочего процесса скрыта.

  • **list** указывает, что оператор условия отображается в редакторе рабочих процессов только в том случае, если рабочий процесс связан со списком SharePoint. Если рабочий процесс связан с любым другим типом списка, условная инструкция в редакторе рабочего процесса скрыта.

  • **none** указывает, что оператор condition скрыт в редакторе рабочего процесса.

**Сборки**

Обязательный **text**. Указывает сборку .NET, содержащую код реализации для элемента **Condition**.

Тип значения: **String**.

Указывает сборку .NET, которая содержит код рабочего процесса. Используется следующий формат:

Имя сборки, Версия, Культура, PublicKeyTОКen

Пример:

Assembly=>Microsoft.SharePoint.WorkflowActions,

                Version=12.0.0.0,

                Culture=neutral,

                PublicKeyToken= 71e9bce111e9429c>

**Classname**

Обязательный **text**. Содержит полное имя класса, в котором реализован код элемента **Condition**.

Тип значения: **String**.

Полное имя класса, в котором реализован пользовательский код элемента **Condition**.

Пример:

**XML**:

ClassName=>*Microsoft.SharePoint.WorkflowActions.Helper*>

**FunctionName**

Обязательный **text**. Имя метода **Boolean** в классе, реализующего код **Condition**.

Тип значения: **String**.

Представляет имя метода в классе, в котором реализован код элемента **Condition**.

**Пример метода**:

Bool myCondition(WorkflowContext context, string ListGUIDorName, int ItemWorkflowAttachedTo)'

**XML**:

FunctionName=>myCondition>

**ItemKeyType**

Необязательно **text***. Идентификатор конкретной реализации для типа объекта по умолчанию.

**Имя**

Обязательный **text**. Указывает локализованное имя условия.

**Тип**

Необязательно **text***. Указывает, является ли элемент **Condition** **Custom** или **Advanced**.

В следующих значениях регистр не учитывается:

  • **Custom** Используется для сравнения значения, найденного в текущем списке SharePoint или элементе библиотеки документов, со значением, заданным конструктором рабочих процессов.

  • **Дополнительно** Используется для указания того, что **Условие** можно использовать для сравнения двух значений любого типа (например, текста, целых чисел и дат).

**UsesCurrentItem**

Необязательный параметр **Boolean**. Указывает на то, что текущий выделенный элемент связан с рабочим процессом.

Тип значения: **Boolean**.

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

Дочерние элементы

RuleDesigner

Parameters

Родительские элементы

Conditions

Пример

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

    <WorkflowInfo Language="en-us">
       <Conditions And="and" Or="or" Not="not" When="If" Else="ElseIf">
          <Condition
                  AppliesTo="list"
                  Assembly="MyWorkflowProject.Workflow1,
                            PublicKeyToken=71e9bce111e9429c,
                            Version=1.0.0.0,
                            Culture=neutral"
                  ClassName="MyWorkflowProject.Workflow1.MyClass"
                  FunctionName="IsOrderComplete"
                  Name="Check if item in %1 is a complete order"
                  Type="Custom"
                  UsesCurrentItem="True">
              <RuleDesigner>...</RuleDesigner>
          </Condition>
       </Conditions>
    </WorkflowInfo>

См. также