> For the complete documentation index, see [llms.txt](https://wfsys.gitbook.io/workflow-forms-syntax/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wfsys.gitbook.io/workflow-forms-syntax/workflow_forms/conditions/comparison_condition.md).

# ComparisonCondition

## Описание Condition <a href="#description_comparison_condition" id="description_comparison_condition"></a>

```xml
<Condition Name="ConditionName" Type="ConditionType" Assembly="ConditionAssembly">
  <!--Тэги, общие для всех условий-->
  <!--Тэги, специфичные для ComparisonCondition-->
</Condition>
```

## Тэги, специфичные для ComparisonCondition <a href="#tags_comparison_condition" id="tags_comparison_condition"></a>

### Items <a href="#items" id="items"></a>

Значения для сравнения.

Необязательный тэг. Значение тэга `<Items>`: список тэгов [`<Item>`](#items_item).

Если тэг `<Items>` отсутствует, то условие всегда будет иметь значение False.

```xml
<Items>
  <Item>Value1</Item>
  <Item>Value2</Item>
</Items>
```

#### Тэг `<Item>` <a href="#items_item" id="items_item"></a>

Значение для сравнения.

Необязательный тэг. Значение тэга `<Item>`: любое значение.

### DataType <a href="#data_type" id="data_type"></a>

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

Необязательный тэг. Значение тэга `<DataType>`: не ожидается.

Если тэг `<DataType>` отсутствует, то для атрибута `Type` используется значение StringDataType.

```xml
<DataType Type="DataTypeName" />
```

#### Атрибуты тэга `<DataType>` <a href="#attributes_tag_data_type" id="attributes_tag_data_type"></a>

<table data-header-hidden><thead><tr><th align="center"></th><th width="514.3333333333333"></th></tr></thead><tbody><tr><td align="center">Type</td><td><p>Тип данных.</p><p></p><p>Обязательный атрибут. Значение атрибута <code>Type</code>: название одного из <a href="/pages/-MaRtBVKMO4VR0KCghVx">типов данных</a>.</p></td></tr></tbody></table>

### Comparison <a href="#comparison" id="comparison"></a>

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

Необязательный тэг. Значение тэга `<Comparison>`: не ожидается.

Если тэг `<Comparison>` отсутствует, то для атрибута `Type` используется значение Inner.

Если один из операндов условия - массив или матрица, то для сравнения должен быть выбран базовый элемент из списка [`<Items>`](#items).

Размерность (общее количество элементов массива или матрицы) базового элемента определяет количество сравнений в рамках данного условия.

Если операнд - матрица, то она в рамках условия трансформируется по столбцам в линейный массив.

```xml
<Comparison Type="Inner" Order="1" />
```

#### Пример <a href="#example_comparison" id="example_comparison"></a>

Если в качестве первого [`<Item>`](#items_item) задан массив размерностью 3, а в качестве второго [`<Item>`](#items_item) - массив размерностью 2, базовым элементом для сравнения задан первый [`<Item>`](#items_item), то в рамках данного условия будут происходить следующие внутренние сравнения:

1. Item1\[1] = Item2\[1]
2. Item1\[2] = Item2\[2]
3. Item1\[3] = NULL

Если в качестве первого [`<Item>`](#items_item) задана массив размерностью 3, а в качестве второго [`<Item>`](#items_item) - матрица размерностью 2x2, базовым элементом для сравнения задан первый [`<Item>`](#items_item), то в рамках данного условия будут происходить следующие внутренние сравнения:

1. Item1\[1] = Item2\[1,1]
2. Item1\[2] = Item2\[2,1]
3. Item1\[3] = Item2\[1,2]

#### Атрибуты тэга `<Comparison>` <a href="#attributes_tag_comparison" id="attributes_tag_comparison"></a>

<table data-header-hidden><thead><tr><th align="center"></th><th width="514.3333333333333"></th></tr></thead><tbody><tr><td align="center">Type</td><td><p><a href="#comparison_types">Способ определения</a> базового элемента при сравнении.</p><p></p><p>Необязательный атрибут. Значение атрибута <code>Type</code>: название одного из способов определения базового элемента при сравнении.</p></td></tr><tr><td align="center">Order</td><td><p>Индекс базового элемента в списке <a href="#items"><code>&#x3C;Items></code></a>.</p><p></p><p>Необязательный атрибут. Ожидается целочисленное значение (от 1 и до количества элементов в списке <a href="#items"><code>&#x3C;Items></code></a>).</p></td></tr></tbody></table>

#### Способы определения базового элемента при сравнении <a href="#comparison_types" id="comparison_types"></a>

<table data-header-hidden><thead><tr><th align="center"></th><th width="514.3333333333333"></th></tr></thead><tbody><tr><td align="center">Inner</td><td>Базовым элементом является элемент с наименьшей размерностью</td></tr><tr><td align="center">Outer</td><td>Базовым элементом является элемент с наибольшей размерностью</td></tr><tr><td align="center">ByOrder</td><td>Базовым элементом является элемент с определенным индексом (начинается с 1), соответствующим его расположению в списке <a href="#items"><code>&#x3C;Items></code></a></td></tr></tbody></table>

### Satisfy <a href="#satisfy" id="satisfy"></a>

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

Необязательный тэг. Значение тэга `<Satisfy>`: не ожидается.

Если тэг `<Satisfy>` отсутствует, то для атрибутов `MinCount` и `MaxCount` используются значения 1 и All соответственно.

```xml
<Satisfy MinCount="1" MaxCount="All" />
```

#### Атрибуты тэга `<Satisfy>` <a href="#attributes_tag_satisfy" id="attributes_tag_satisfy"></a>

<table data-header-hidden><thead><tr><th align="center"></th><th width="514.3333333333333"></th></tr></thead><tbody><tr><td align="center">MinCount</td><td><p>Минимальное количество сравнений, удовлетворяющих условию, в соответствии с настройками <a href="#comparison"><code>&#x3C;Comparison></code></a>.</p><p></p><p>Необязательный атрибут. Ожидается целочисленное значение (от 0) или ключевое слово All.</p></td></tr><tr><td align="center">MaxCount</td><td><p>Максимальное количество сравнений, удовлетворяющих условию, в соответствии с настройками <a href="#comparison"><code>&#x3C;Comparison></code></a>.</p><p></p><p>Необязательный атрибут. Ожидается целочисленное значение (от 0) или ключевое слово All.</p></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://wfsys.gitbook.io/workflow-forms-syntax/workflow_forms/conditions/comparison_condition.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
