CommerceBridge1C — двусторонняя интеграция 1С с MODX 3 и miniShop3 по CommerceML 2.

CommerceBridge1C подходит для интернет-магазинов на MODX 3 + miniShop3, которым нужен штатный HTTP-обмен с 1С. В MODX появляется отдельная панель с ручной загрузкой XML/ZIP, историей сеансов, журналом и сопоставлением полей и статусов.
Каталог импортируется с устойчивой привязкой по GUID. Отдельные выгрузки `offers.xml` обновляют цены и остатки без повторного импорта всей номенклатуры. Обмен может работать автономно по регламенту 1С.
## Возможности
— категории и подразделы любой вложенности;
— наименование, артикул, код 1С, краткое и полное описание;
— производители, свойства, вес, длина, ширина и высота;
— изображения из 1С и стандартные ресайзы miniShop3;
— фильтр вложений: PDF, XLS, DOC и другие неразрешённые файлы не импортируются;
— основная цена и дополнительные типы цен в автоматически создаваемых TV;
— остаток по всем или выбранным складам;
— связи свойств 1С с полями MODX, miniShop3, TV и опциями;
— SEO description и отбор товаров/категорий по GUID;
— публикация и видимость товара по остатку, скрытие пустых групп;
— выгрузка заказов и контрагентов в 1С;
— ручное или автоматическое сопоставление статусов 1С и miniShop3;
— журнал, отчёты, режим отладки, просмотр и очистка лога;
— ручной импорт XML/ZIP из админ-панели;
— HTTP Basic Auth с хранением пароля в виде хеша.
## Требования
— MODX Revolution 3.2+;
— miniShop3;
— PHP 8.2+;
— XMLReader, SimpleXML, XMLWriter, ZIP, Fileinfo, OpenSSL;
— GD или Imagick;
— HTTPS.
Первый обмен
Рекомендуемый порядок:
- включите режим отладки в CommerceBridge1C;
- ограничьте выгрузку одной категорией и несколькими товарами;
- выполните полную выгрузку каталога и предложений;
- проверьте категории, шаблоны, артикулы, цены, остатки и изображения;
- настройте сопоставление нестандартных свойств;
- повторите тестовый обмен;
- отключите подробную отладку;
- снимите временное ограничение номенклатуры.

Журнал
Обычный режим записывает начало и итог обмена, предупреждения и ошибки. Режим отладки заметно увеличивает объём файла core/cache/logs/commerceml.log, поэтому после диагностики его следует отключить.

## Важно перед покупкой
— Конфигурация 1С должна поддерживать CommerceML 2.
— Характеристики предложений сохраняются как свойства базового товара; отдельные SKU miniShop3 не создаются.
— TV с ценами хранят данные; выбор цены по группе покупателя настраивается в шаблонах сайта.
— Валюта выгружаемых заказов в версии — RUB.
— Перед первым обменом нужны резервная копия и тестовая выгрузка небольшой группы.



Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
— категории: newObject(msCategory::class) → save();
— товары: newObject(msProduct::class) → save();
— данные товара: msProductData → save().
Через процессоры это быстрее для массового импорта, но часть процессорной валидации, событий и сторонних обработчиков может не сработать.
В планах сделать и синхронизацию через REST API там можно будет предусмотреть два режима direct и processor
Попробую реализовать