Задача
Поставщик присылает XML, где цена записана как 1 200,50 — с пробелом в разряде и запятой вместо точки. Система импорта ждёт 1200.50. Товары с нулевой ценой попадать в выгрузку не должны.
Короткий ответ
В XML-редакторе откройте настройки значения tsena и добавьте два правила: удалить пробелы и заменить на точку. В условиях выгрузки укажите, что цена после преобразований должна быть больше нуля.
Было / стало
Было
XML
<tovar>
<artikul>SKU-1</artikul>
<tsena>1 200,50</tsena>
<ostatok>8</ostatok>
</tovar>
<tovar>
<artikul>SKU-3</artikul>
<tsena>0,00</tsena>
<ostatok>0</ostatok>
</tovar>
Стало
CSV
sku,price,stock
SKU-1,1200.50,8
Как сделать в Eofferix
- Создайте профиль интерпретатора, загрузите XML и откройте XML-редактор. Дерево показывает структуру файла с примерами значений.
- В дереве найдите поле
tsenaи кликните по значению (1 200,50), чтобы открыть окно настроек значения. Откроется блок Преобразования с кнопкой «Добавить правило».
Весь процесс от открытия редактора до сохранения правил. Значок ⚡2 рядом с tsena означает, что на поле настроены два правила. - Добавьте первое правило: действие удалить пробелы. Оно убирает пробел-разделитель разряда и превращает
1 200,50в1200,50.
Действие «удалить пробелы» не требует дополнительных параметров — оно убирает все пробелы из значения. - Добавьте второе правило: действие заменить на, в поле результата укажите точку. После этого
1200,50превратится в1200.50.
Два правила в блоке «Преобразования»: сначала удаляются пробелы, затем запятая заменяется на точку. - В том же окне откройте блок Условия выгрузки и добавьте условие: переключите на элемент целиком, выберите поле
tsena, фазу после преобразований, оператор больше, значение0. Товары с нулевой ценой перестанут попадать в результат. - Сохраните настройки. В дереве редактора рядом с
tsenaпоявится значок ⚡2 — это подтверждает, что два правила активны.
Значок ⚡2 рядом с tsena в дереве — два правила сохранены и будут применяться при интерпретации. - Запустите интерпретацию. В итоговом CSV колонка price будет содержать числа ��ида
1200.50, а строки с нулевой ценой будут исключены.