В колонке price_raw цена приходит целым числом или десятичным числом с точкой либо запятой. Нужно получить в price_final только положительную цену: прибавить к ней 20%, округлить до ближайшего целого, а неподдерживаемые и обнулившиеся значения оставить пустыми.
Создайте price_final из price_raw и примените ровно шесть правил с названиями из интерфейса: Убрать пробелы по краям, проверку формата Не регулярное выражение → Не загружать поле, отсев неположительных значений — Меньше или равно со значением 0 → Не загружать поле, Увеличить на % со значением 20, Округлить без отдельного операнда и тот же отсев после округления.
Как настроить в Eofferix
Добавьте или откройте итоговую колонку
price_finalи выберите для неё исходную колонкуprice_raw. Эти имена используются только в примере: в своём шаблоне выберите реальные колонки цены.
Откройте итоговую колонку цены и убедитесь, что источником выбрана реальная исходная цена. Добавьте первые три правила в таком порядке: Любое → Убрать пробелы по краям; Не регулярное выражение со значением
^\d+(?:[.,]\d{1,2})?$→ Не загружать поле; Меньше или равно со значением0→ Не загружать поле. Регулярное выражение принимает только цифры и необязательную дробную часть максимум из двух знаков.Добавьте ещё три правила: Любое → Увеличить на % со значением
20; Любое → Округлить; затем Меньше или равно со значением0→ Не загружать поле. У действия Округлить в этом интерфейсе нет видимого поля операнда: оно использует настройку по умолчанию — округление до ближайшего целого с шагом1.
Сначала проверяется исходное значение, затем прибавляются 20%, выполняется округление и повторно отсекается нулевой результат. Примените правила и проверьте предпросмотр на допустимых ценах, слишком длинной дробной части, нуле, отрицательном числе, тексте и малой положительной цене. Выгружайте результат только после проверки контрольных строк из таблицы ниже.
price_raw, price_final и надбавка 20% — только пример. Подставьте реальные имена колонок и согласованную ставку. Если 20% означает НДС, сначала подтвердите, что исходная цена действительно указана без НДС, что применима именно эта ставка и что правила вашего канала допускают такое округление.Что получится
Значение в price_raw | Результат в price_final | Почему |
|---|---|---|
999.90 | 1200 | После прибавления 20% получается 1199,88; ближайшее целое — 1200. |
1490 | 1788 | Допустимое целое число: 1490 × 1,20 = 1788. |
99,95 | 120 | Запятая принимается как десятичный разделитель: 119,94 округляется до 120. |
0.42 | 1 | 0,504 округляется до 1 и проходит финальную проверку. |
0.10 | пусто | 0,12 округляется до 0; последнее правило очищает нулевой результат. |
12.345 | пусто | В дробной части больше двух знаков. |
0 | пусто | Исходная цена не больше нуля. |
-10 | пусто | Отрицательный формат не проходит регулярное выражение. |
100 ₽ | пусто | Обозначение валюты не входит в допустимый формат. |
| пусто | пусто | Пустое значение не превращается в цену. |
Что проверить перед выгрузкой
- В колонке стоят все шесть правил именно в указанном порядке; Eofferix выполняет их сверху вниз.
- В регулярном выражении указано
^\d+(?:[.,]\d{1,2})?$: оно проверяет всю строку и допускает не более двух дробных знаков. - У правила Увеличить на % указано
20, а у Округлить нет отдельного операнда. - Контрольные значения дают именно такие результаты:
999.90→1200,1490→1788,99,95→120. - Финальное правило Меньше или равно со значением
0→ Не загружать поле стоит после округления: без него, например,0.10превратилось бы в ноль.
Ограничения примера
- Проверка формата принимает только десятичную запись без знака, пробелов внутри, разделителей тысяч и знака валюты; следующее правило отсеивает ноль.
- Точка и запятая считаются десятичными разделителями. Неоднозначный формат
1,234в этом примере намеренно отклоняется, потому что после разделителя стоят три цифры. - Результат — целое число. Если канал требует копейки или другое правило округления, настройте отдельный сценарий и заново проверьте граничные значения.
- Не загружать поле очищает значение этой итоговой колонки, но не удаляет всю строку товара.
- Процентная надбавка математически совпадает с умножением на 1,20, но сама по себе не доказывает корректность налогового расчёта. Ставки и категории НДС зависят от юрисдикции: проверьте обзор ставок НДС Еврокомиссии и правила, применимые к вашей продаже.