Настройка обмена 1С и Magento 2: каталог, остатки, заказы

Когда каталог, остатки и заказы живут в двух системах, расхождения копятся с каждой минутой. Мы настраиваем интеграцию 1С и Magento 2 под ключ: связываем товары, цены, склад и заказы в единый контур. Заказчик получает один источник правды и снимает ручную сверку данных.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка обмена 1С и Magento 2: каталог, остатки, заказы
Сложный
~2-4 недели
Часто задаваемые вопросы

Интеграция 1С и Magento 2: где ломается обмен

Интеграция 1С Magento 2 ломается не на старте, а на объёме: первые недели обмен каталогом идёт чисто, а потом в выгрузке появляются дубли позиций, цены на витрине расходятся с учётными, а часть заказов зависает в промежуточном статусе. Причина почти всегда одна — обмен построен на полной выгрузке по расписанию, без разметки изменений и без журнала операций. Чем больше номенклатуры и заказов, тем длиннее окно, в котором данные на сайте и в учётной системе живут врозь.

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

Отдельная категория сбоев — несовпадение справочников. Единицы измерения, ставки налогов, склады и контрагенты в 1С и Magento 2 описаны по-разному, и обмен молча пропускает то, что не смог сопоставить. Ошибка не всплывает сразу: она копится в логах, пока расхождение не станет заметным по выручке.

Разбираем, как это закрывается: разметка изменений вместо полной выгрузки, идемпотентные операции, журнал обмена с повтором упавших пакетов и сверка расхождений по расписанию.

Что даёт настройка обмена: эффект по узлам

Каталог: инкрементальный обмен вместо полной выгрузки

Полная выгрузка каталога на 40–60 тысяч позиций — это часы работы и пиковая нагрузка на обе системы. Инкрементальный обмен передаёт только изменившиеся с момента прошлого прохода позиции: правки цен, описаний, привязок к категориям. Время прохода падает с часов до минут, а сервер не простаивает на пересборке неизменившегося.

Остатки: очередь событий и частота обмена

Остатки — самый чувствительный узел: расхождение в 10 минут даёт продажу того, чего нет на складе. Очередь событий фиксирует каждое движение по регистру и отдаёт его пачками по расписанию — от раза в несколько минут до раза в час. Чем выше частота, тем меньше окно пересорта, но тем больше запросов держит база. Разумный компромисс — обмен остатками каждые 5–15 минут плюс принудительная синхронизация перед горячими акциями.

Заказы: обратный поток без потерь

Заказ из Magento 2 уходит в 1С с идемпотентным ключом — повторная отправка при сбое связи не создаёт дубль документа. Статусы и оплата возвращаются обратным потоком, клиент видит актуальное состояние в личном кабинете. Доля потерянных заказов уходит в ноль, а ручной перенос из почты и таблиц исчезает из процесса.

Режим Когда подходит Ограничения
Полная выгрузка Первичная заливка, восстановление после сбоя Часы работы, высокая нагрузка
Инкрементальный обмен Каталог, цены, описания в рабочем режиме Требует надёжных меток изменений
Очередь событий Остатки, заказы, статусы Нужен контроль глубины очереди
Обмен по запросу Ручной запуск перед акцией Не закрывает поток в реальном времени

Наши инженеры строят обмен на штатных механизмах платформы и RabbitMQ как транспорте очереди — это даёт повтор доставки и развязку по нагрузке.

Этапы настройки обмена 1С и Magento 2

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

  1. Аудит учётной системы и каталога. Разбираем структуру номенклатуры, характеристики, единицы измерения, склады и правила ценообразования. Фиксируем расхождения между тем, как товар заведён в учёте, и тем, как он должен выглядеть в каталоге на сайте.
  2. Проектирование схемы обмена. Определяем направление потоков, частоту синхронизации, правила сопоставления сущностей и поведение при конфликтах. Отдельно описываем, что делать с товарами, снятыми с продажи, и с заказами, оформленными в момент обмена.
  3. Настройка выгрузки каталога и остатков. Настраиваем формирование пакетов, постраничную передачу и обработку изменений — чтобы обмен шёл порциями и не блокировал работу сайта. Остатки передаём с привязкой к складам, цены — с учётом правил скидок.
  4. Настройка приёма заказов. Заказы уходят из магазина в учётную систему с составом, адресом, способом доставки и оплаты. Настраиваем обратную передачу статусов, чтобы покупатель видел актуальное состояние заказа.
  5. Проверка на боевых данных. Прогоняем обмен на реальном каталоге и реальных заказах: сверяем количество позиций, остатки, цены, историю статусов. Отдельно проверяем сценарии сбоя — обрыв связи, повторная передача, конфликт изменений.
  6. Настройка мониторинга и журналирования. Логируем каждый сеанс обмена, считаем расхождения и оповещаем ответственного при ошибках. Без этого сбой обнаруживается по жалобе покупателя, а не по сигналу системы.
  7. Передача регламентов. Отдаём документацию по запуску обмена, действиям при сбоях, порядку добавления новых складов и правил цен. Обучаем сотрудников, которые будут сопровождать интеграцию.

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

Чем отличается обмен остатками от обмена заказами?

Это два разных потока данных с противоположным направлением и разной ценой ошибки. Остатки идут из 1С в Magento 2: склад — единственный источник правды по количеству, и задача обмена — быстро донести число до витрины, чтобы покупатель не оформил заказ на то, чего нет. Заказы идут в обратную сторону: Magento 2 фиксирует факт покупки, а 1С принимает его в учёт. Здесь приоритет источника обратный, и путать направления нельзя — иначе получите остаток, перезаписанный витриной, или заказ, потерянный при синхронизации.

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

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

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

Кейс: как обмен перестал терять заказы и цены

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

Что изменили

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

Метрики до и после

Показатель До После
Доля потерянных заказов 3-4% в пиковые дни единичные случаи, разбираются по логу
Время расхождения цен до 24 часов секунды после проведения документа
Ручные правки в день 40-60 операций 2-5, в основном новые позиции
Разбор очереди ошибок вручную, без истории по журналу с трассировкой до документа

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

Magento 2 и 1С остаются связанными через промежуточный слой, который можно перезапустить без остановки витрины.

Сомнения по совместимости, доступам и откату

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

Что если обмен сломается ночью или в разгар распродажи?

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

Что если у нас своя команда сопровождения? Передаём документацию обмена и регламент поддержки — по ним ваши инженеры смогут разбирать типовые ситуации без нас. Что если правила сопоставления поменяются? Маппинг вынесен в настраиваемый справочник, правки не требуют переписывания кода обмена.

После сдачи вы получаете на руки:

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

Опишите вашу конфигурацию — какие справочники участвуют в обмене и как часто нужны остатки — вернёмся с оценкой и планом работ.

Сроки настройки обмена по этапам

Настройка обмена 1С и Magento 2 идёт волнами: сначала поднимаем контур на тестовой копии, потом переносим на рабочий контур. Такой порядок позволяет увидеть реальные сроки внедрения на ваших данных, а не на усреднённых.

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

Magento 2 чувствителен к качеству справочников: если в 1С есть дубли или пустые обязательные поля, обмен встанет на них, а не на коде. Поэтому обследование вынесено в отдельный этап — оно снимает основные риски по срокам.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060