Создание скидок из прайс-листа в 1С-Битрикс
Описание:
Решение предназначено для интернет-магазина 1С-Битрикс.
Через excel-файл с прайс-листами устанавливаются скидки на торговые предложения с итоговой фиксированной ценой и датой активности.
На каждое торговое предложение будет создано правило корзины.
Использование:
- установить скидочные прайс-листы в файле upload/exchange/import/autoImportRuleBasket.xlsx
- из браузера/консоли/cron запустить local/tasks/discountsExcel.php (повторная синхронизация запустится только после изменения файла)
- отчёт о синхронизации сгенерируется в файле upload/exchange/import/autoImportRuleBasket.txt с разбиением на категории [notFound, notice, validation, add, update, delete]
Требования:
composer require phpoffice/phpspreadsheet
Протестировано:
- Marketplace шаблон "Современный интернет-магазин" (bitrix.eshop) v 21.0.200
- PHP 7.3
- PHP 7.4
Дополнительно
Прайсы с датой окончания активности < time() - игнорируются.
Среди прайсов-дубликатов по артикулу выбираются позиции с меньшей ценой, иные игнорируются.
Приоритет применимости равен целому проценту скидки, умноженному на 10.
Индекс сортировки в уровне приоритета равен целому значению прайса.
Ранее созданные данным методом правила корзины, которые отсутствуют в актуальном файле будут удалены, а существующие - обновлены.