> ## Documentation Index
> Fetch the complete documentation index at: https://docs.superoffice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ERP search operators

> ERP sync search-operator reference

Here are the operators (from `SuperOffice.ErpSync.Contracts`) the connector will need to support for the different field types if it exposes fields available for [advanced search][1].

## String operators

Supported operators in class `StringOperators` for string fields through advanced search. None of these should be case-sensitive.

| Operator            | Constant                                             |
| ------------------- | ---------------------------------------------------- |
| Equals              | public const string EQUALS = "=";                    |
| Begins with         | public const string BEGINS\_WITH = "begins";         |
| Contains            | public const string CONTAINS = "contains";           |
| Ends with           | public const string ENDS\_WITH = "ends";             |
| Does not begin with | public const string NOT\_BEGINS\_WITH = "notbegins"; |
| Does not contain    | public const string NOT\_CONTAINS = "notcontains";   |
| Does not end with   | public const string NOT\_ENDS\_WITH = "notends";     |
| Does not equal      | public const string NOT\_EQUALS = "isnot";           |
| Between             | public const string BETWEEN = "between";             |

## Integer operators

Supported operators in class `IntOperators` for int fields through advanced search.

| Operator               | Constant                                       |
| ---------------------- | ---------------------------------------------- |
| Equals                 | public const string EQUALS = "=";              |
| Greater than           | public const string GREATER\_THAN = ">";       |
| Less than              | public const string LESS\_THAN = "\<";         |
| Greater than or equals | public const string GREATER\_OR\_EQUAL = ">="; |
| Less than or equals    | public const string LESS\_OR\_EQUAL = "\<=";   |
| Does not equal         | public const string NOT\_EQUALS = "!=";        |
| Between                | public const string BETWEEN = "between";       |

## Double operators

Supported operators in class `DoubleOperators` for double fields through advanced search.

| Operator               | Constant                                       |
| ---------------------- | ---------------------------------------------- |
| Equals                 | public const string EQUALS = "=";              |
| Greater than           | public const string GREATER\_THAN = ">";       |
| Less than              | public const string LESS\_THAN = "\<";         |
| Greater than or equals | public const string GREATER\_OR\_EQUAL = ">="; |
| Less than or equals    | public const string LESS\_OR\_EQUAL = "\<=";   |
| Does not equal         | public const string NOT\_EQUALS = "!=";        |
| Between                | public const string BETWEEN = "between";       |

## Bool operators

Supported operators in class `BoolOperators` for boolean fields through advanced search.

| Operator | Constant                          |
| -------- | --------------------------------- |
| Equals   | public const string EQUALS = "="; |

## List operators

Supported operators in class `ListOperators` for list fields through advanced search.

| Operator       | Constant                                       |
| -------------- | ---------------------------------------------- |
| Equals         | public const string ONE\_OF = "oneof";         |
| Does not equal | public const string NOT\_ONE\_OF = "notoneof"; |

## DateTime operators

<Note>
  Regarding datetime comparisons: The connector itself will be responsible for determining the best comparison method for DateTime values. In some cases, the correct way is to only compare the Date part of the value, while in other cases it will probably be better to also compare the Time.
</Note>

Supported operators in class `DateTimeOperators` for datetime fields through advanced search.

| Operator        | Constant                                                 |
| --------------- | -------------------------------------------------------- |
| Equals          | public const string EQUALS = "=";                        |
| Before          | public const string BEFORE = "before";                   |
| After           | public const string AFTER = "after";                     |
| Before or equal | public const string BEFORE\_OR\_EQUAL = "beforeOrEqual"; |
| After or equal  | public const string AFTER\_OR\_EQUAL = "afterOrEqual";   |
| Between         | public const string BETWEEN = "between";                 |

### Enum MatchType

The `IsMatchDateTime` method takes an optional parameter of type `DateTimeOperators.MatchType` (defaults to `DateAndTime_IgnoreSeconds`) which the connector can use to tell the method how to compare the restriction and search values.

* DateOnly
* TimeOnly
* TimeOnly\_IgnoreSeconds
* DateAndTime
* DateAndTime\_IgnoreSeconds

[1]: ./index


## Related topics

- [Product search provider](/en/api/plugins/quote-connectors/find-product.md)
- [Operators](/en/automation/crmscript/fundamentals/operators.md)
- [Importing from ERP](/en/api/plugins/erp-connectors/import.md)
- [Connect to ERP](/en/erp/learn/connect.md)
- [search](/en/api/search/index.md)
- [SearchEngine](/en/automation/crmscript/reference/CRMScript.Native.SearchEngine.md)
