{
  "standard": "FSP",
  "module": "pricing",
  "version": "1.0",
  "registry": "condition_operators",
  "title": "Операторы условий",
  "description": "Единая семантика операторов для price_rule_conditions и price_adjustment_conditions.",
  "in_standard": true,
  "columns": [
    "Оператор",
    "Формат value",
    "Семантика",
    "Поведение при null",
    "Типы полей",
    "Комментарий"
  ],
  "rows": [
    {
      "Оператор": "eq",
      "Формат value": "scalar",
      "Семантика": "true, если поле равно value",
      "Поведение при null": "false",
      "Типы полей": "enum; id; boolean; string",
      "Комментарий": ""
    },
    {
      "Оператор": "neq",
      "Формат value": "scalar",
      "Семантика": "true, если поле не равно value",
      "Поведение при null": "false",
      "Типы полей": "enum; id; boolean; string",
      "Комментарий": ""
    },
    {
      "Оператор": "in",
      "Формат value": "array",
      "Семантика": "true, если поле входит в список value",
      "Поведение при null": "false",
      "Типы полей": "enum; id; string",
      "Комментарий": ""
    },
    {
      "Оператор": "not_in",
      "Формат value": "array",
      "Семантика": "true, если поле не входит в список value",
      "Поведение при null": "false",
      "Типы полей": "enum; id; string",
      "Комментарий": ""
    },
    {
      "Оператор": "exists",
      "Формат value": "boolean",
      "Семантика": "проверяет наличие непустого поля",
      "Поведение при null": "проверяется явно",
      "Типы полей": "any",
      "Комментарий": "value=true/false"
    },
    {
      "Оператор": "gt",
      "Формат value": "scalar",
      "Семантика": "поле > value",
      "Поведение при null": "false",
      "Типы полей": "decimal; integer; date",
      "Комментарий": ""
    },
    {
      "Оператор": "gte",
      "Формат value": "scalar",
      "Семантика": "поле >= value",
      "Поведение при null": "false",
      "Типы полей": "decimal; integer; date",
      "Комментарий": ""
    },
    {
      "Оператор": "lt",
      "Формат value": "scalar",
      "Семантика": "поле < value",
      "Поведение при null": "false",
      "Типы полей": "decimal; integer; date",
      "Комментарий": ""
    },
    {
      "Оператор": "lte",
      "Формат value": "scalar",
      "Семантика": "поле <= value",
      "Поведение при null": "false",
      "Типы полей": "decimal; integer; date",
      "Комментарий": ""
    },
    {
      "Оператор": "between",
      "Формат value": "object",
      "Семантика": "from <= поле < to",
      "Поведение при null": "false",
      "Типы полей": "decimal; integer; date",
      "Комментарий": "value={from,to}; верхняя граница исключена"
    },
    {
      "Оператор": "is_descendant_of",
      "Формат value": "scalar",
      "Семантика": "категория входит в ветку value с учётом версии классификатора",
      "Поведение при null": "false",
      "Типы полей": "path",
      "Комментарий": "сам узел также считается совпадением"
    }
  ]
}