Условие в преобразовании определяет, выполнять ли конкретное правило. Сервис сначала берёт значение из выбранного источника, проверяет условие и, если оно выполнено, применяет действие к полю, настройки которого открыты.
Правила выполняются сверху вниз. Поэтому Текущее значение во второй строке — это уже результат первой строки, а не обязательно исходное значение из файла.
Текущее значение и значение из источника
| Что выбрано в первой части правила | Что проверяется | Что меняется |
|---|---|---|
| Текущее значение | Рабочий результат на этом шаге цепочки с учётом предыдущих правил. | Поле, настройки которого открыты. |
Колонка или узел источника, например stock
|
Значение этой колонки или узла в исходной записи. | По-прежнему поле, настройки которого открыты, а не выбранный источник. |
Это позволяет проверять исходный остаток и записывать текстовый статус в другое поле. Названия stock и availability ниже — только пример: в вашем файле поля и узлы могут называться иначе.
Пример: превратить остаток в статус
- Откройте Преобразования итогового поля
availability, которое получает исходное значение изstock. - Добавьте первое правило: Текущее значение → Любое → Заменить на →
in_stock. Оно задаёт значение по умолчанию. - Добавьте ниже второе правило. В первой части выберите исходную колонку или узел
stock, затем задайте Меньше или равно →0→ Заменить на →out_of_stock. Условие читает исходный остаток, а действие заменяет текущее значение поляavailability.
Во втором правиле красной рамкой выделен источник stock: проверяется исходный остаток, а не уже установленное значениеin_stock. - Нажмите Сохранить. Запустите небольшую тестовую выгрузку и проверьте скачанный файл; предпросмотр используйте как дополнительную проверку.
Что получится
Исходный stock
|
После первого правила | Итоговый availability
|
|---|---|---|
-1
|
in_stock
|
out_of_stock
|
0
|
in_stock
|
out_of_stock
|
5
|
in_stock
|
in_stock
|
Если во втором правиле оставить Текущее значение, сервис будет сравнивать с нулём строку in_stock. Такое правило не проверяет исходный остаток и не может корректно различить 0 и 5.
Как выбрать источник в трёх редакторах
| Редактор | Что выбрать во втором правиле |
|---|---|
| Таблица | Исходную колонку stock. |
| JSON | Узел stock; в проверенном примере путь выглядит как {/rows/stock}. |
| XML | Узел stock; в проверенном примере путь выглядит как {/workbook/sheet/row/stock}. |
Пути зависят от структуры конкретного файла. Выбирайте свой узел остатка в той же повторяющейся записи, а не копируйте пример пути буквально.
Основные условия
| Оператор | Когда использовать | Пример использования |
|---|---|---|
| Любое | Действие должно выполняться независимо от содержимого значения. | Убрать пробелы по краям у каждого значения. |
| Равно | Нужно проверить точное текстовое совпадение со значением. | Если status равен inactive, заменить его на Нет. |
| Не равно | Нужно обработать все значения, кроме указанного. | Добавить SKU- ко всем кодам, кроме unknown. |
| Содержит подстроку | Нужно найти фрагмент в любой части текста. | Удалить руб. из значения 1200 руб.. |
| Не содержит подстроку | Действие должно выполняться, если фрагмента в тексте нет. | Добавить https://, если ссылка не содержит http. |
| Пустое | Нужно обработать пустое значение или строку только из пробелов. | Подставить Нет данных в пустое поле. |
| Не пустое | Нужно обработать только заполненные значения. | Убрать пробелы по краям только у заполненных значений. |
| Больше | Нужно сравнить число с порогом, не включая сам порог. | Если цена больше 1000, увеличить её на 5 %. |
| Меньше | Нужно найти числа ниже порога. | Если остаток меньше 5, заменить его на Мало. |
| Больше или равно | Нужно включить в проверку сам порог и все большие значения. | Применить правило при количестве 10 и больше. |
| Меньше или равно | Нужно включить в проверку сам порог и все меньшие значения. | Заменить цену 0 или меньше на Проверить. |
| В диапазоне | Проверить, находится ли число между двумя включёнными границами. | В одном поле указать 591,5-1032.8 и обработать цену внутри этого диапазона. |
| Начинается с | Важен фрагмент в начале значения. | Удалить SKU- из кода SKU-123. |
| Заканчивается на | Важен фрагмент в конце значения. | Удалить .00 из цены 125.00. |
| Регулярное выражение | Нужно проверить значение по шаблону. | Обработать только восьмизначные коды по шаблону ^\d{8}$. |
| Не регулярное выражение | Нужно обработать значения, которые не соответствуют шаблону. | Очистить значение, если оно не соответствует ^\d{8}$. |
В условиях Больше, Меньше, Больше или равно, Меньше или равно и В диапазоне дробную часть можно отделять точкой или запятой: значения 12.5 и 12,5 корректно участвуют в числовом сравнении. Это проверено в редакторах таблиц, JSON и XML. Условия Равно и Не равно сравнивают текст точно, поэтому для них точка и запятая различаются.
Для условия В диапазоне введите обе границы в одном поле через дефис: 58-590 или 591,5-1032.8. Обе границы включены. Сначала должна идти нижняя граница; некорректный или обратный диапазон не срабатывает.
Что важно
- Числовое условие применяйте только к значению, которое сервис может прочитать как число. Пустые и текстовые остатки обрабатывайте отдельным правилом.
- Преобразование меняет значение поля. Если нужно исключить поле или всю запись из результата, используйте отдельный блок Условия выгрузки.
- Проверенный результат для примера одинаков в редакторах таблиц, JSON и XML.