Интеграция сайта с 1С: как синхронизировать товары, цены, остатки и заказы

Автор статьи
Алиса Ахмеджанова
SEO-специалист
Консультация
Когда каталог и учёт живут отдельно, расхождения появляются даже при аккуратной и ответственной работе сотрудников. Менеджер меняет цену в 1С, а покупатель ещё видит прежнюю цифру. Последняя единица уже зарезервирована, но карточка позволяет добавить её в корзину. Новый заказ приходит по электронной почте, после чего её приходится заново вводить в 1С. На небольшом ассортименте такой процесс ещё можно контролировать, но при сотнях или тысячах позиций он быстро превращается в источник задержек.

Интеграция сайта с 1С нужна для того, чтобы исключить повторный ввод и заранее определить единый источник для каждого вида информации. 1С может отвечать за номенклатуру, стоимость и склад, а витрина — за описание, фотографии, поисковую оптимизацию и оформление покупки. Смысл автоматизации не в том, чтобы сделать две одинаковые базы, а в том, чтобы данные переходили между ними по понятным правилам.

Ниже разберём рабочую схему: что передавать, как распределить ответственность, когда достаточно штатного механизма и какие проверки провести до публикации изменений на рабочем ресурсе.

Зачем связывать веб-магазин с учётной базой

В торговом проекте одновременно участвуют несколько контуров. Учётная программа хранит номенклатуру, закупочные и продажные параметры, движение по складам и документы. Веб-витрина показывает ассортимент посетителю, помогает выбрать вариант, формирует корзину и принимает заявку.

Если сотрудники обновляют одинаковые сведения в двух местах, неизбежно появляются разные версии одной и той же информации. Правильно настроенный обмен сайта с 1С сокращает число ручных операций. Специалисту не нужно повторно заносить позиции из корзины, проверять каждое изменение прайса или вручную скрывать закончившуюся модель. Покупатель получает более достоверную информацию, а отдел продаж быстрее начинает обработку обращения.

Особенно полезна автоматизация при большом ассортименте, нескольких точках хранения, частой корректировке стоимости и разных типах клиентов. Если проект только создаётся, правила синхронизации лучше определить во время создания интернет-магазина. Тогда идентификаторы, категории, свойства и статусы можно спроектировать сразу под будущую связку, без дорогостоящей переделки после запуска.
Бесплатная консультация профессионалов
Если у вас есть вопросы или вы не знаете, что выбрать, оставьте свой номер — мы позвоним, чтобы ответить на все ваши вопросы.

Какие сведения передавать между платформами

Универсального набора нет. Розничному магазину чаще всего достаточно номенклатуры, стоимости, доступного количества и покупок. Для оптового проекта могут дополнительно понадобиться договоры, реквизиты организаций, персональные условия, несколько ценовых уровней и раздельный учёт по складам. Поэтому до разработки полезно составить карту сущностей и указать, кто отвечает за каждую из них.

Сущность

Основной источник

Что согласовать заранее

Номенклатура и разделы

1С

идентификатор, артикул, группа, свойства

Стоимость

1С

виды прайса, скидки, валюта, округление

Складское наличие

1С

точки хранения, резерв, доступное количество

Заказы

витрина

состав, контакты, доставка, способ оплаты

Статус заявки

по принятой схеме

соответствие этапов обработки

Клиентские реквизиты

по задаче

права на изменение и правила обновления



Такая таблица помогает ещё до программирования заметить конфликт. Например, если стоимость разрешено менять и в учётной базе, и в административной панели, очередное обновление может перезаписать корректное значение. Поэтому у каждого поля должен быть один приоритетный источник либо чётко описанное правило разрешения спорной ситуации.

Как устроена техническая связка

В проектах на «1С-Битрикс» часто применяют CommerceML — формат обмена коммерческой информацией на основе XML. При типовом сценарии 1С формирует сведения о номенклатуре, прайсе и наличии, а витрина обновляет карточки. Заявки отправляются в 1С. При необходимости этапы обработки затем показываются в личном кабинете клиента.

Штатный механизм подходит, когда конфигурация учёта и структура магазина близки к стандартной модели. Если компания использует собственные справочники, сложные правила ценообразования, комплекты, несколько юридических лиц или особую логику резервирования, потребуется дополнительная настройка. В отдельных случаях применяют API — программный интерфейс, через который две системы обмениваются запросами по заранее заданному сценарию.

При разработке проекта на 1С-Битрикс разумно сначала оценить штатные возможности платформы и только затем писать собственные обработчики.

Отдельно определяют периодичность. Первичная загрузка обычно охватывает весь ассортимент. В повседневной работе выгоднее отправлять только изменения. Контент карточки можно обновлять редко, а сведения о дефицитных позициях — чаще. Мгновенное обновление нужно далеко не всем: иногда интервала в несколько минут достаточно, а постоянные запросы лишь создают лишнюю нагрузку.

Что проверить до запуска

Автоматизация не исправляет неаккуратный справочник, а быстро распространяет его недостатки. Если в учётной базе есть дубли, разные варианты написания характеристик, пустые обязательные реквизиты или хаотичная иерархия, веб-каталог получит те же проблемы. Поэтому перед подключением оценивают качество номенклатуры и фиксируют правила работы.

Проверить стоит уникальные идентификаторы, артикулы, единицы измерения, варианты одной модели, прайс-листы, точки хранения, резерв, этапы обработки, обязательные поля и способ удаления устаревшей позиции. Затем назначают владельца каждого параметра: где создаётся карточка, кто меняет стоимость, где хранится редакторское описание и какая сторона отвечает за фактическую доступность.

Первый прогон безопаснее выполнять на тестовой копии. Нельзя ограничиваться одной простой карточкой. Нужны разные сценарии: новая позиция, ранее загруженная модель, вариант с характеристиками, нулевое количество, скидка, смена категории и снятие с продажи.

Каталог, тарифы, наличие и заказы

Товары и характеристики

Основа корректного сопоставления — постоянный технический идентификатор. Название нельзя считать надёжным ключом: редактор может его изменить. Артикул тоже бывает неуникальным или со временем корректируется. Поэтому при первой загрузке витрина должна сохранить идентификатор из 1С и использовать его при последующих обновлениях.

Синхронизация товаров требует заранее разделить учётные и редакторские поля. Из 1С удобно получать артикул, единицу измерения, базовое наименование, свойства и принадлежность к группе. Расширенное описание, фотографии, СЕО-заголовок и преимущества часто лучше оставить в административной панели. Тогда новая выгрузка товаров на сайт не уничтожит текст, подготовленный для посетителей и поисковых систем.


Цены

Ценообразование редко сводится к одному числу. В компании могут использоваться розничный, оптовый и дилерский тариф, акции, количественные пороги и индивидуальные условия. До внедрения нужно определить, какие значения публикуются, для каких групп посетителей они доступны и где рассчитывается итоговая сумма. Итоговую сумму безопаснее рассчитывать в одном месте. Иначе скидка может применяться дважды. Дополнительно проверяют валюту, НДС, округление и поведение карточки при отсутствии действующего тарифа.


Остатки и резерв

Физическое количество на складе не всегда равно доступному для продажи. Часть единиц может быть зарезервирована под подтверждённые покупки, перемещаться между точками или ожидать списания. Поэтому в техническом задании нужно определить формулу доступности, а не просто передавать число из одного поля. Если точек хранения несколько, заранее решают, что показывать посетителю: суммарный запас, наличие в городе, конкретный магазин или срок перемещения. Для дефицитного ассортимента интервал обновления делают короче. Запрос «остатки на сайте» фактически требует не только передачи количества, но и корректного правила резерва.


Заказы и статусы

Заявка из корзины должна приходить в 1С с составом корзины, количеством, итоговой суммой, скидкой, контактами, доставкой, оплатой и комментарием. Для юридических лиц могут потребоваться реквизиты и сведения о договоре. Важный технический элемент — уникальный номер, по которому повторная отправка после сбоя не создаст дубль. Обратное направление используют для этапов обработки.

После подтверждения сотрудником состояние меняется, например на «оплачен», «собран», «передан в доставку» или «отменён». Если есть личный кабинет, клиенту полезно видеть эти изменения без звонка менеджеру. Продажные процессы можно дополнительно связать с настройкой CRM-системы, если обращения из разных каналов должны попадать в единый контур.

Как выбрать направление обмена

Не каждое поле стоит разрешать редактировать с обеих сторон. Чем больше двусторонних изменений, тем сложнее определить, какая версия считается правильной. На практике устойчивее работает модель, где для каждой сущности заранее выбран главный источник, а обратный канал используется только там, где это действительно требуется бизнес-процессом.

Вариант

Подходит для

Плюс

Риск

1С → витрина

номенклатура, стоимость, склад

понятный источник

изменения с витрины не попадут в учёт

Витрина → 1С

заказы

меньше ручного ввода

нужен контроль повторной отправки

Два направления

этапы обработки, отдельные реквизиты

больше автоматизации

возможен конфликт версий

По расписанию

большинство каталогов

предсказуемая нагрузка

есть небольшая задержка

Обмен по событию

критичные операции

минимальная задержка

сложнее разработка и контроль



Для большинства интернет-магазинов подходит комбинированный вариант: номенклатура, стоимость и склад приходят из 1С, заявки уходят туда на обработку, а изменённый статус отображается в личном кабинете.

Этапы внедрения

Работу лучше рассматривать как отдельный технический проект. Сначала описывают процессы и проверяют справочники, затем составляют карту сущностей, согласуют соответствия и только после этого переходят к регулярной синхронизации. Такой порядок заранее выявляет нестандартные условия: несколько складов, наборы, различные прайс-листы, частичные отгрузки, возвраты и удалённые позиции.

Последовательность может быть такой:

  1.  Проверить конфигурацию 1С, CMS и структуру справочников.
  2. Зафиксировать направления, приоритеты и обязательные поля.
  3. Настроить соответствие категорий, свойств и этапов обработки.
  4.  Провести первый прогон на тестовой копии.
  5. Проверить создание, изменение и снятие позиции с публикации.
  6. Протестировать корзину, доставку, оплату и обратное обновление состояния.
  7. Настроить расписание, журнал и уведомления об ошибках.
  8. После запуска проверить несколько реальных сценариев и нагрузку.

После внедрения связку нельзя считать неизменной. Поэтому описание сопоставлений и нестандартных обработчиков стоит хранить вместе с документацией проекта, а контроль включить в техническое сопровождение.

Как снизить риск сбоев

Слабое место автоматизации — отсутствие сигнала о сбое. Если часть каталога перестала обновляться или обращение не дошло до 1С, проблему могут заметить только после обращения клиента. Поэтому техническая схема должна фиксировать результат каждого сеанса: время, количество обработанных записей, предупреждения и причину отказа.

Чаще всего встречаются следующие ситуации:

· старая и новая карточки существуют одновременно из-за смены ключа сопоставления;

· автоматическое обновление стирает редакторское описание;

· стоимость рассчитывается сразу в двух местах;

· доступное количество не учитывает резерв;

· способ доставки не сопоставлен со справочником учёта;

· Ð