Ситуация
Для интернет-магазина важно вовремя обновлять наличие товаров. Как только менеджер продает деталь в 1С, остатки на сайте должны своевременно обновиться, чтобы покупатели не заказали отсутствующую позицию. То же самое касается цен — они тоже должны автоматически обновляться при обмене
В обратную сторону передаются заказы: после оформления на сайте они поступают в 1С для дальнейшей обработки.
Раньше компания работала в «1С:Розница». В конфигурации есть штатная подсистема интеграции с интернет-магазинами, поэтому обмен с сайтом на 1С-Битрикс: Управление сайтом работал «из коробки» по стандарту CommerceML.
Позже клиент перешел на 1С:Альфа-Авто 6, которая лучше соответствует специфике продажи автомобильных запчастей. Однако в этой конфигурации нет встроенного обмена с сайтом и готового модуля, который можно было бы установить.
Задача
При переходе на новую систему клиент лишился автоматического обмена с интернет-магазином. Стандартные коннекторы (например, для интеграции Битрикса с 1С:Управление торговлей) не подходили: структура данных в Альфа-Авто отличается от 1С:Розница, 1С:УНФ и 1С:Управление торговлей.
Команде implecs нужно было восстановить обмен, сохранить привычный для клиента интерфейс и не разрабатывать весь механизм заново.
Решение
Перенесли подсистему в расширение
Мы решили перенести в Альфа-Авто штатную подсистему обмена из 1С:Розница. Аналогичный механизм используется в 1С:УНФ. Клиент уже работал с этим интерфейсом и знал его настройки.
Функциональность оформили как расширение конфигурации, не изменяя напрямую Альфа-Авто. Так решение проще устанавливать, отключать и сопровождать.
Адаптировали подсистему обмена под Альфа-Авто
Одной из сложностей стала разница в общих и стандартных подсистемах конфигураций. Отличались названия общих модулей, а также состав процедур и функций, к которым обращался механизм обмена.
Несмотря на то что подсистема обмена достаточно изолирована, при переносе пришлось проверить все обращения к общим подсистемам, подобрать для них аналоги в Альфа-Авто или изменить логику работы там, где аналогов не было.
Наш разработчик адаптировал подсистему обмена:
- нашел несовместимые вызовы процедур и функций;
- заменил их доступными аналогами Альфа-Авто;
- отключил блоки, для которых в новой конфигурации не было соответствующих данных.
Переработали обмен данными
В Альфа-Авто иначе устроены регистры, документы и другие объекты метаданных. Некоторые сущности называются по-другому или имеют отличную структуру. Мы заменили обращения к регистрам, изменили получение остатков и заказов, отключили отсутствующие функции и адаптировали обработку отдельных реквизитов.
После этого обмен заработал корректно. На сайт выгружается около 10 000 позиций автозапчастей с описаниями, ценами, остатками и изображениями.
Проверили обмен с двумя сайтами
Механизм передает данные в формате CommerceML. Сначала синхронизацию проверили со старым интернет-магазином на 1С-Битрикс: Управление сайтом.
Во время проекта клиент запустил новый самописный сайт, который тоже поддерживал CommerceML. Мы повторно протестировали передачу данных, проверили сформированные пакеты и вместе со специалистом заказчика устранили ошибки приема файлов и изображений. В результате обмен заработал с обеими системами управления сайтом.
Результат
- Клиент сохранил автоматический обмен после перехода на Альфа-Авто. На сайте обновляются сведения примерно о 10 000 товарных позициях, а оформленные покупателями заказы поступают в учетную систему.
- Вместо разработки новой интеграции мы адаптировали знакомый клиенту механизм. Пользователям не пришлось осваивать другой интерфейс и менять привычный порядок работы.
- Подсистема работает как расширение и не изменяет код основной конфигурации. Это упрощает сопровождение и обновление Альфа-Авто.
Длительность
Весь проект — от предпроектного анализа до финальных тестов на обеих веб-платформах — занял около 5 недель. Основная разработка продолжалась 2–3 недели, остальное время потребовалось на согласование и проверку обмена на стороне клиента.
Команда
Основную работу выполнил разработчик 1С. Для консультаций по старому сайту подключался специалист по Битрикс. Со стороны клиента участвовал технический специалист, который готовил сайты к интеграции и помогал тестировать обмен.
Что планируется сделать в будущем
Мы спроектировали решение с запасом на будущее. В планах у клиента — настроить интеграцию Альфа-Авто 6 со стандартной 1С:Бухгалтерия, чтобы автоматически и без ручного ввода передавать туда регламентированную отчетность.
Также можно протестировать передачу статуса оплаты из Альфа-Авто на сайт, чтобы покупатель видел, что его заказ оплачен. Механизм предусматривает такую возможность, но сейчас клиент ее не использует.