Настройка обмена 1С:Автосервис и 1С-Битрикс
Интернет-магазин автозапчастей или сайт автосервиса на Битрикс имеет специфику, которой нет в обычном товарном каталоге: применяемость (к каким автомобилям подходит запчасть), OEM-номера, кросс-номера, VIN-привязка. Всё это хранится в 1С:Автосервис — и задача интеграции состоит в том, чтобы эти данные корректно попали на сайт.
Номенклатура в 1С:Автосервис
Конфигурация хранит запчасти с расширенными атрибутами:
- Артикул производителя (OEM-номер)
- Кросс-номера (аналоги других производителей)
- Применяемость (марка, модель, год выпуска, двигатель)
- Бренд/производитель
- Признак «новая/б/у»
- Гарантийный срок
Стандартный CommerceML передаёт наименование и артикул. OEM-номера, кросс-номера и применяемость — через ДополнительныеРеквизиты. На стороне Битрикс каждый из этих реквизитов должен стать свойством инфоблока с правильным типом (строка, множественное значение для кросс-номеров, привязка к справочнику для применяемости).
Применяемость: самая сложная часть
Применяемость запчасти — это связь «многие-ко-многим»: одна запчасть подходит к нескольким автомобилям, один автомобиль использует множество запчастей. В 1С:Автосервис применяемость хранится в регистре сведений.
В CommerceML нет стандартного способа передать эту структуру. Варианты:
Вариант 1: JSON в реквизите.
В 1С формируем JSON-строку с применяемостью и кладём в ДополнительныйРеквизит:
[
{"make":"Toyota","model":"Camry","year_from":2006,"year_to":2011,"engine":"2AZ-FE"},
{"make":"Toyota","model":"RAV4","year_from":2005,"year_to":2012,"engine":"2AZ-FE"}
]
В Битрикс — свойство типа «Текст» с хранением JSON. Фильтрация по применяемости — через полнотекстовый поиск или отдельную таблицу.
Вариант 2: Отдельный инфоблок применяемости. Создаём в Битрикс отдельный инфоблок «Применяемость» (марка/модель/год/двигатель) и инфоблок «Запчасти» с привязкой через свойство типа «Привязка к элементам». Это правильная архитектура для полноценного подбора по автомобилю, но синхронизировать её из 1С сложнее — нужен кастомный обработчик импорта.
Кросс-номера и поиск
Кросс-номера — это коды одной запчасти под разными брендами. Покупатель ищет по кросс-номеру на сайте — должна найтись запчасть, даже если продаётся аналог другого производителя.
В Битрикс кросс-номера хранятся как множественное свойство инфоблока. Поиск по ним — через компонент bitrix:catalog.smart.filter или кастомный поиск с использованием CIBlockElement::GetList с фильтром по свойству.
При импорте из 1С:Автосервис кросс-номера передаются через ДополнительныеРеквизиты с множественными значениями:
<ЗначениеРеквизита>
<Наименование>КроссНомер</Наименование>
<Значение>BP-35</Значение>
</ЗначениеРеквизита>
<ЗначениеРеквизита>
<Наименование>КроссНомер</Наименование>
<Значение>ATE-603310</Значение>
</ЗначениеРеквизита>
Обработчик импорта в Битрикс должен собирать несколько значений одного реквизита в массив.
Заявки на работы: специфика Автосервиса
В 1С:Автосервис кроме продажи запчастей ведутся «Заказ-наряды» — документы на выполнение работ. На сайте это может быть форма записи на обслуживание или онлайн-диагностика.
Передача заявок с сайта в 1С:Автосервис: обычно это не CommerceML, а REST-запрос к HTTP-сервису 1С. Заявка создаётся как «Обращение» или «Заказ-наряд» в статусе «Новый».
Кейс: магазин б/у запчастей
Разборка легковых автомобилей: 45 тыс. позиций б/у запчастей, у каждой — фото, состояние (1-5), применяемость. Полный обмен с 1С:Автосервис занимал 40 минут и «подвешивал» сервер.
Оптимизация:
- Фильтр выгрузки: только «В наличии» (остаток > 0)
- Изображения через FTP отдельно от XML (XML без base64 вдвое меньше)
- Применяемость — JSON в одном поле (не отдельный инфоблок)
- Инкрементальный обмен каждые 30 минут: только позиции с изменённым остатком
Результат: полный обмен — 12 минут (ночью), инкрементальный — 2 минуты.







