Задача
Поставщик присылает XML, где цена записана как 1 200,50: внутри числа есть лишний пробел, а дробная часть отделена запятой. Для импорта нужна цена 1200.50,
Короткий ответ
В XML-редакторе откройте значение tsena, добавьте правило удалить пробелы, затем правило заменить на: запятую заменить на точку.
Что важно для результата
- Цепочка правил должна идти в порядке очистки: сначала убрать пробелы, затем заменить запятую на точку.
- Не добавляйте условие про нулевую цену, если задача только привести формат числа.
- После сохранения проверьте цену с тысячным разделителем и цену без копеек: обе должны остаться корректными.
Было / стало
Было
XML<tovar>
<artikul>SKU-1</artikul>
<tsena>1 200,50</tsena>
<ostatok>8</ostatok>
</tovar>Стало
XML<tovar>
<artikul>SKU-1</artikul>
<tsena>1200.50</tsena>
<ostatok>8</ostatok>
</tovar>Как сделать в Eofferix
- Создайте профиль преобразования, загрузите XML от поставщика и откройте XML-редактор.

В анимации показаны два действия: клик по цене в XML-снапшоте и клик по кнопке «Добавить правило». - В дереве найдите поле
tsenaи кликните по значению1 200,50. Откроется окно настроек значения с блоком Преобразования. - Добавьте первое правило: действие удалить пробелы. Оно убирает лишние пробелы внутри цены и превращает
1 200,50в1200,50.
Красная рамка выделяет правило, которое убирает лишние пробелы в цене поставщика. - Добавьте второе правило: действие заменить на, в исходном значении укажите запятую, а в результате точку. После этого
1200,50станет1200.50.
Красная рамка выделяет два правила: сначала удаляются пробелы, затем запятая меняется на точку. - Сохраните настройки. В дереве рядом с
tsenaбудет видно, что для поля цены активны два правила.
После сохранения поле цены выделено, а рядом показано, что применяются два правила преобразования. - Запустите преобразование. В итоговом XML элемент
<tsena>будет содержать число в формате1200.50.