Исправлена выгрузка товаров с символом & в брендах, артикулах и характеристиках. Добавлена фильтрация по остатку с общим порогом и исключениями для отдельных единиц измерения.
- XML-текст экранируется один раз. Ошибка при формировании товара больше не оставляет в файле незавершённый
<offer>. - В разделе «Фильтрация» появилось поле «Количество больше (для всех единиц)» и кнопка «+ Добавить условие для единицы».
- Условие для конкретной единицы заменяет общий порог. Например: общий порог 50, для шт — 5, для м² — 100. Тогда выгружаются штучные товары с остатком > 5, товары в м² с остатком > 100, остальные — с остатком > 50.
- Остатки суммируются по выбранным складам; без выбора — по всем складам. Проверяется основная единица товара, без пересчёта в упаковки. Пустой общий порог отключает общее ограничение; существующие задачи без новых настроек сохраняют прежнюю выборку.
- Товары без положительной выгружаемой цены или фото пропускаются с причиной в предупреждении. Для выбранного типа цены проверяется именно эта цена. Отсутствие базовой цены не мешает экспорту;
oldpriceдобавляется только при её наличии. - Для числовой характеристики без единицы измерения атрибут
unitне добавляется.
Требуется skeeks/cms-export версии 1.1.1 или новее в ветке 1.x либо dev-master.
Проверено: 28 изолированных регрессионных проверок, синтаксис всех изменённых PHP-файлов, добавление/удаление условий и мобильный вид формы. Пробный экспорт исходной выборки на plitka-lab.ru: 14 960 товаров, 0 ошибок XML, 11 явных пропусков (6 без цены, 5 без фото). После настройки фильтров боевой запуск №52038 завершился успешно: 6 980 товаров, 0 ошибок и 0 пропусков; опубликованный XML проверен.

