Интеграция 1С с сайтом настраивает автоматический обмен между учётной программой и интернет-магазином. Из 1С на сайт уходят товары, цены и остатки, с сайта в 1С возвращаются заказы и данные покупателей. Чаще всего обмен идёт по стандартному протоколу CommerceML, который поддерживают типовые конфигурации 1С, 1С-Битрикс в редакциях с интернет-магазином и модули для WooCommerce. Перед запуском связку проверяют на копии сайта и реальной выгрузке из вашей базы.
Без обмена каталог приходится вести в двух местах. Менеджер меняет цену в 1С, забывает поправить её на сайте, и покупатель оформляет заказ по старой. Хуже, когда товар закончился на складе, а на сайте он всё ещё в наличии. Интеграция убирает эту ручную работу, но только если данные в самой 1С лежат в порядке.
Обычно из 1С на сайт выгружают каталог товаров с группами и свойствами, цены нужных типов, остатки по складам и характеристики вроде размера или цвета. В обратную сторону сайт отправляет заказы, а вместе с ними данные покупателя, по которым 1С находит существующего контрагента или заводит нового. У части связок из 1С на сайт возвращаются ещё статусы заказов и отметки об оплате.
| Какие данные передаются | В какую сторону идёт обмен | Что проверить при настройке |
|---|---|---|
| Номенклатура и группы товаров | Из 1С на сайт | Группы в 1С становятся разделами каталога, их структуру приводят в порядок до первого обмена |
| Свойства и характеристики | Из 1С на сайт | Характеристики превращаются в варианты товара, на Битриксе это торговые предложения |
| Цены | Из 1С на сайт | На сайт передают только нужные типы цен, например розничную и оптовую |
| Остатки | Из 1С на сайт | Их выгружают по всем складам или по выбранным, от этого зависит наличие на сайте |
| Картинки товаров | Из 1С на сайт | Они едут в архиве вместе с каталогом и заметно утяжеляют обмен |
| Заказы | С сайта в 1С | В 1С заказ ложится документом со строками товаров, доставкой и способом оплаты |
| Контрагенты | С сайта в 1С | Покупателя ищут среди существующих по правилам из настроек или создают заново |
| Статусы и оплата | Из 1С на сайт | Такая обратная связь работает не во всех связках, её проверяют отдельно |
Оптовым магазинам часто нужны персональные цены и скидки для конкретных контрагентов. Стандартный обмен закрывает такую задачу не полностью, поэтому личный кабинет юрлица с его договорными ценами обычно дорабатывают отдельно.
Способов три. Самый распространённый опирается на стандартный протокол обмена CommerceML, при котором 1С сама отправляет данные на сайт по расписанию. Второй вариант строится на выгрузке файлов, например таблиц или товарного фида, которые сайт забирает и разбирает у себя. Третий использует API сайта или 1С и сервисы-посредники, к нему приходят при нестандартных схемах обмена и на части облачных платформ.
Формат CommerceML построен на XML и служит для обмена данными между 1С и сайтами. Каталог с группами и свойствами передаётся в одном файле, цены и остатки в другом, заказы приходят с сайта отдельным документом. Со стороны 1С в типовой конфигурации создают узел обмена с сайтом, указывают адрес обмена, логин и пароль. Дальше 1С по расписанию отправляет архив, а сайт разбирает его частями, чтобы не упереться в лимит времени выполнения скрипта.
Сильная сторона этого способа в том, что он работает в типовых конфигурациях почти без программирования. Ограничение тоже понятное. Всё, что выходит за рамки стандартного формата, например собственные реквизиты номенклатуры или особые правила цен, требует доработки с одной или с обеих сторон.
Файловый обмен устроен проще. Из 1С по расписанию сохраняют таблицу или XML-файл с товарами, кладут его на сервер, и сайт импортирует данные своим загрузчиком. Такой вариант подходит небольшому каталогу, который меняется редко. Заказы обратно в 1С этим путём передавать неудобно, а любой сбой в ручном звене оставляет сайт со вчерашними ценами.
У WooCommerce и 1С-Битрикс есть REST API, у 1С есть HTTP-сервисы и интерфейс OData. Через них можно построить обмен любой логики, включая связку сайта одновременно с CRM и маркетплейсами. Платой за гибкость становится собственный код, который кто-то должен сопровождать. Готовые сервисы-посредники снимают эту заботу, но работают по подписке и ограничены своими настройками.
У «1С-Битрикс: Управление сайтом» в редакциях с интернет-магазином модуль обмена с 1С встроен. На сайте в административной панели задают параметры интеграции, группу пользователей для обмена и порядок загрузки. В 1С создают узел обмена и указывают адрес сайта, логин и пароль. При первой выгрузке каталог попадает в инфоблок, а характеристики товаров становятся торговыми предложениями в отдельном связанном инфоблоке.
Несколько настроек на стороне Битрикса стоит продумать заранее. Одна определяет, что делать с товарами, которые пропали из выгрузки. Их можно оставить, деактивировать или удалить, и от выбора зависит, не исчезнут ли с сайта страницы вместе с позициями в поиске. Другая задаёт длительность шага загрузки. Если шаг длиннее, чем позволяет сервер, обмен обрывается на середине без внятной ошибки.
В редакциях без интернет-магазина модуля обмена с каталогом нет. Если движок ещё выбираете, сравнение Битрикса, WooCommerce и облачных платформ с точки зрения обмена с 1С собрано в статье про выбор CMS для интернет-магазина. Там же разобрано, во что обходится каждый вариант на горизонте нескольких лет.
В WooCommerce обмена с 1С из коробки нет, его подключают отдельным модулем. Такой модуль принимает на сайте те же файлы CommerceML, что и Битрикс, и раскладывает их по товарам, вариациям и атрибутам WooCommerce. Модули бывают бесплатные и платные, и различаются они поддержкой характеристик, нескольких складов и обратной выгрузки заказов. Модуль подбирают под вашу конфигурацию 1С и проверяют на ваших данных.
Второе, о чём стоит подумать, касается хостинга. Разбор большого архива требует памяти и времени выполнения скриптов, и на слабом тарифе обмен останавливается где-то посередине каталога. Ещё одна особенность WooCommerce связана с обновлениями. Новая версия WordPress или соседнего плагина может сломать модуль обмена, поэтому после каждого обновления первый обмен проверяют вручную. Как устроено такое регулярное обслуживание, описано в статье про поддержку сайта на WordPress.
У облачных платформ картина разная. У одних обмен с 1С встроен, у других подключается через приложение из каталога платформы или через сервис-посредник. Возможности обмена у конкретного сервиса смотрят до запуска магазина.
Большая часть работы приходится на порядок в данных самой 1С. До подключения сайта выясняют конфигурацию и её версию, убирают дубли в номенклатуре, раскладывают товары по группам и заполняют артикулы. Заранее решают, какие типы цен и какие склады пойдут на сайт. Ещё понадобится отдельный пользователь для обмена на стороне сайта и доступ к сайту из того места, где работает 1С.
Чаще всего встречаются четыре проблемы. Товары задваиваются, потому что сайт не узнаёт уже заведённые позиции. Картинки раздувают архив, и обмен обрывается по таймауту. Характеристики приходят на сайт россыпью отдельных товаров или не приходят вовсе. Частоту обмена подбирают неудачно, и остатки на сайте отстают от склада. У каждой из этих проблем есть понятная причина, и её можно поймать до запуска.
Сайт узнаёт товар по уникальному идентификатору, который присваивает ему 1С. У позиций, заведённых на сайте вручную, такого идентификатора нет, и первый обмен создаёт рядом их копии. Перед запуском такие товары сопоставляют с номенклатурой по артикулу. Бывает и обратная ситуация, когда дубли заведены в самой 1С и переезжают на сайт вместе с остальным каталогом.
Полный обмен с картинками весит много, и на большом каталоге он может идти часами или обрываться. Помогает настройка, при которой выгружаются только изменения. Первую загрузку фотографий часто делают отдельно, до регулярного обмена. Место на диске хостинга тоже заканчивается быстрее, чем кажется, если старые версии картинок не удаляются.
В 1С есть свойства товара и есть характеристики, из которых складываются варианты вроде размера и цвета. Если их перепутать, на сайте вместо одной карточки с выбором размера появится десяток отдельных товаров. Вторая частая беда связана с написанием значений. «Красный» и «красный» в 1С дают в фильтре сайта два разных цвета, поэтому значения свойств лучше вести справочником.
Слишком редкий обмен оставляет на сайте устаревшие остатки, слишком частый полный обмен нагружает сервер. Обычно остатки и цены выгружают чаще, каталог реже, а заказы забирают в 1С как можно быстрее, чтобы менеджер не ждал. Полную выгрузку удобно ставить на ночь. Ещё стоит проследить, чтобы новый сеанс не запускался, пока не закончился предыдущий.
Интеграцию проверяют на копии сайта и реальной выгрузке из вашей базы, до того как покупатели увидят каталог. Сначала запускают полный обмен и сверяют количество товаров, цены и остатки на выборке позиций из разных групп. Потом оформляют тестовые заказы с разными способами оплаты и доставки и смотрят, как они легли в 1С. Отдельно запускают повторный обмен, чтобы убедиться, что дубли не появились.
Удобно пройти по короткому списку:
После запуска первые дни обмен держат под присмотром. Проверку повторяют и после любых технических событий, например при переезде магазина на новый сервер. Что ещё нужно проконтролировать в такой момент, описано в статье о переносе сайта на другой хостинг.
Webpro делает интернет-магазины на WordPress и 1С-Битрикс с оплатой, доставкой и интеграцией с 1С и CRM. Подробнее об этой работе рассказано на странице «Создание интернет-магазина», а подключения к платёжным системам, службам доставки и amoCRM собраны в разделе веб-интеграций. Студия на рынке с 2010 года и реализовала более 500 проектов.
Webpro работает по договору, и при нарушении его условий клиент получает деньги обратно. На работы под ключ действует гарантия 12 месяцев. Проекты начинаются от 100 000 ₽.
Если хотите понять, сколько работы потребует обмен именно в вашем случае, оставьте заявку через форму на сайте webpro.studio. Расчёт стоимости занимает около 15 минут. Написать можно в Telegram @alxltvn или в WhatsApp, позвонить по телефону +7 985 558-79-34 с понедельника по пятницу с 10:00 до 18:00.
В первом сообщении полезно сразу назвать конфигурацию 1С, движок сайта и примерный объём каталога. Если сайт уже работает и обмен сбоит, опишите, что именно расходится с 1С. С этими данными задачу оценить заметно проще.
Как правило, можно. Облачная 1С по-прежнему запускает обмен по расписанию и отправляет данные на сайт через интернет, но набор возможностей зависит от провайдера и конфигурации. До начала работ спросите у поставщика облака, работают ли у вас регламентные задания и разрешены ли подключения к внешним сайтам. Если какие-то ограничения есть, обмен иногда строят через сервис-посредник или выгрузку файлов.
Их нужно связать с номенклатурой 1С до первого полного обмена, иначе сайт создаст вторую копию каждого товара. Обычно сопоставляют по артикулу и прописывают товарам на сайте идентификаторы из 1С. Если каталог решают загрузить заново, заранее выгружают старые адреса страниц и настраивают постоянные редиректы на новые. Так покупатели из поиска и закладок не попадут на страницу с ошибкой 404.
Можно, но следующий обмен перезапишет всё, что приходит из 1С. Поэтому заранее договариваются, какая система главная для каждого поля. Цены и остатки почти всегда ведут в 1С. Описания, фотографии и SEO-тексты часто удобнее править на сайте, и тогда в настройках обмена их исключают из обновления. Без такой договорённости правки контент-менеджера будут пропадать после каждой выгрузки.
Обновление типовой конфигурации обычно обмен не ломает, но после него первый обмен стоит проверить вручную. Переход на другую конфигурацию рискованнее. Если при переносе данных у товаров поменяются внутренние идентификаторы, сайт перестанет их узнавать и создаст дубли. Поэтому переход сначала проверяют на копии сайта с тестовой выгрузкой из новой базы и только потом переключают рабочий магазин.
Да, и так делают часто. В настройках обмена в типовых конфигурациях можно ограничить выгрузку группами номенклатуры, а в некоторых версиях и другими условиями. Так на сайт не попадают материалы, услуги для внутреннего учёта и товары, которые продаются только оптом. Отбор стоит продумать до первого обмена, потому что убирать лишние позиции с сайта потом дольше, чем не выгружать их сразу.
Оставьте заявку на интеграцию 1С с интернет-магазином через форму на сайте или в Telegram, расчёт стоимости занимает около 15 минут.