Автоматизация · 11 мин
Интеграция 1С и Битрикс: как сделать обмен данными
Пошаговая инструкция по интеграции 1С с Битрикс: выбор способа обмена, настройка выгрузки товаров и заказов, типовые ошибки и проверка результата.
Интеграция 1С и Битрикс решает главную задачу связки «учётная система + сайт»: товары, цены и остатки из 1С попадают на сайт, а заказы с сайта возвращаются в 1С для обработки. Без такого обмена менеджеры вручную переносят позиции, цены расходятся между базой и витриной, а остатки на сайте не соответствуют складу.
Штатный механизм интеграции основан на формате CommerceML: 1С выгружает каталог и остатки, Битрикс принимает их через встроенный модуль обмена и в ответ отдаёт заказы. Для большинства типовых конфигураций (Управление торговлей, УНФ, ERP) настройка выполняется стандартными средствами без программирования — важно лишь правильно выбрать режим и последовательность шагов.
Сложности обычно возникают не на этапе подключения, а в деталях: несовпадение единиц измерения, дубли товаров из-за разных кодов, обрывы обмена на больших каталогах. Эти проблемы решаемы, если заранее подготовить данные и понимать, как устроен процесс.
Какие способы интеграции существуют и какой выбрать
Есть три основных подхода к обмену между 1С и Битрикс. Первый — штатный обмен по протоколу CommerceML через модуль «Обмен с сайтом» в 1С и встроенный механизм импорта в Битрикс. Это стандартный путь для типовых конфигураций: он поддерживает выгрузку товаров, цен, остатков и загрузку заказов без доработок.
Второй способ — обмен через REST API Битрикс или веб-сервисы 1С. Он нужен, когда требуется нестандартная логика: передача специфических статусов, интеграция с самописной конфигурацией, двусторонняя синхронизация контрагентов. Такой вариант требует разработки и сопровождения, но даёт полную гибкость.
Третий вариант — готовые коннекторы и middleware-решения от сторонних разработчиков. Они подходят, когда штатного обмена не хватает, а писать собственную интеграцию дорого. Перед покупкой стоит проверить совместимость коннектора с вашими версиями 1С и Битрикс и наличие поддержки нужных сценариев.
Сравнение вариантов
Подходит для типовых конфигураций и стандартных сценариев; ограничение — жёсткая структура данных и зависимость от версии модуля обмена.
Полная свобода логики и форматов; требует разработчика, тестирования и постоянного сопровождения.
Быстрый старт для нестандартных задач; ограничение — зависимость от поставщика и платная поддержка.
Что подготовить перед настройкой
Интеграция переносит данные «как есть», поэтому хаос в справочниках 1С превратится в хаос на сайте. Проверьте номенклатуру: у каждой позиции должны быть заполнены наименование, единица измерения, ставка НДС и хотя бы один тип цены. Дубли товаров объедините до начала обмена — после выгрузки на сайт разбирать дубли заметно сложнее.
Определите структуру каталога: какие группы номенклатуры станут разделами каталога на сайте. Если структура папок в 1С не подходит для витрины, в типовых конфигурациях можно задать отдельную «иерархию для сайта» в настройках обмена, не ломая внутренний учёт.
Сделайте резервные копии базы 1С и сайта Битрикс. Первый обмен часто запускают несколько раз с разными настройками, и возможность откатиться к чистому состоянию сэкономит часы. Также убедитесь, что версия модуля обмена в 1С совместима с версией Битрикс — при большом расхождении обновите модуль обмена до актуального.
Настройка обмена на стороне 1С
В типовых конфигурациях обмен настраивается через раздел «Администрирование» → «Обмен с сайтами» (в УТ 11) или «Настройка обмена с сайтом» (в УНФ). Создайте новый узел обмена и укажите адрес сайта в формате https://ваш-сайт/bitrix/admin/1c_exchange.php, а также логин и пароль пользователя Битрикс с правами на обмен.
На вкладке выгрузки товаров задайте отбор: какие группы номенклатуры, типы цен и склады участвуют в обмене. Отбор по складу критичен для корректных остатков — если складов несколько, выберите нужные или настройте передачу суммарного остатка. Отметьте, выгружать ли картинки: они заметно увеличивают время и объём обмена.
На вкладке обмена заказами укажите параметры загрузки: организацию, соглашение с клиентом, способ поиска контрагентов (по ИНН, наименованию или e-mail). От этих настроек зависит, корректно ли заказы с сайта превратятся в документы «Заказ покупателя» без дублей контрагентов.
- 1Создайте узел обмена с сайтом и укажите URL, логин и пароль пользователя Битрикс
- 2Настройте отбор товаров: группы, типы цен, склады
- 3Задайте параметры загрузки заказов и поиска контрагентов
- 4Выполните тестовое соединение и проверьте, что 1С видит сайт
- 5Запустите первую выгрузку вручную и изучите журнал обмена
- 6Настройте расписание автоматического обмена
Настройка приёма данных на стороне Битрикс
В административной части Битрикс перейдите в «Магазин» → «Настройки» → «Интеграция с 1С». Здесь задаются группы пользователей, которым разрешён обмен, и параметры импорта: что делать с отсутствующими в выгрузке товарами (деактивировать, удалять или ничего не делать), как обрабатывать разделы каталога.
Создайте отдельного пользователя для обмена — например, с именем exchange — и включите его в группу с правами на интеграцию. Использовать учётную запись администратора небезопасно: пароль от неё хранится в настройках 1С, и её компрометация откроет полный доступ к сайту.
Проверьте ограничения хостинга: время выполнения скрипта и объём памяти. Большие каталоги выгружаются порциями, и штатный механизм умеет продолжать обмен с места обрыва, но при слишком жёстких лимитах обмен будет постоянно прерываться. При необходимости увеличьте max_execution_time и лимит памяти PHP или уменьшите размер порции в настройках модуля обмена 1С.
Выгрузка товаров, цен и остатков
Первую выгрузку всегда выполняйте полной и вручную, наблюдая за процессом. 1С формирует XML-файлы каталога и предложений (цены и остатки), передаёт их на сайт порциями, после чего Битрикс выполняет импорт. По завершении проверьте журнал обмена в 1С и лог импорта в Битрикс — там фиксируются ошибки и предупреждения.
После успешной полной выгрузки переходите на режим выгрузки только изменений: 1С регистрирует изменённые товары в узле обмена и передаёт только их. Это сокращает время обмена с часов до минут. Учтите, что изменения цен и остатков регистрируются отдельно от изменений карточки товара — убедитесь, что в настройках узла включена регистрация всех нужных типов данных.
Картинки товаров — самая тяжёлая часть обмена. Если фотографий много, выгружайте их отдельным сеансом или только для новых товаров. Проверьте, что картинки в 1С имеют разумный размер: исходники по несколько мегабайт замедлят обмен и увеличат нагрузку на сайт.
Как проверить результат выгрузки
Совпадает с количеством позиций в отборе обмена в 1С
Часть товаров отсутствует или появились дубли
Соответствуют выбранному типу цен в 1С
Цены нулевые, отсутствуют или взяты не из того типа цен
Совпадают с остатками по выбранным складам
Остатки завышены, занижены или не обновляются
Разделы соответствуют заданной иерархии
Товары попали в корень или в чужие разделы
Загрузка заказов с сайта в 1С
Обмен заказами работает в обе стороны: Битрикс отдаёт новые заказы, 1С создаёт документы и при необходимости возвращает на сайт обновлённые статусы. В настройках узла обмена укажите, с какого статуса заказы выгружаются с сайта и какой статус устанавливать после загрузки в 1С.
Контрагенты — самое слабое место обмена заказами. Если поиск настроен только по наименованию, один и тот же клиент с разным написанием имени создаст дубли в справочнике. Надёжнее искать по ИНН для юридических лиц и по e-mail или телефону для физических лиц, а для розничных заказов использовать одного сводного контрагента «Розничный покупатель», если детальный учёт клиентов в 1С не нужен.
Проверьте заполнение реквизитов заказа: способ доставки и оплаты с сайта должен маппиться на соответствующие значения в 1С. В типовых конфигурациях соответствие настраивается в таблице соответствий узла обмена — без неё заказы загрузятся, но с пустыми или неверными полями.
Автоматизация и контроль обмена
После отладки ручного обмена настройте автоматический. В 1С это делается через регламентное задание узла обмена: задайте расписание, например, выгрузка изменений каждые 15–30 минут и полная выгрузка ночью. Для файловой базы 1С регламентные задания требуют запущенного сеанса — учтите это при выборе расписания.
Настройте уведомления об ошибках: типовые конфигурации умеют отправлять письма при неудачном обмене. Без уведомлений оборвавшийся обмен может оставаться незамеченным неделями, пока расхождение остатков не вылезет в отказах по заказам.
Периодически сверяйте данные: выборочно сравнивайте цены и остатки по нескольким позициям, проверяйте, что заказы за день на сайте и в 1С совпадают по количеству. Такая сверка раз в неделю занимает минуты и позволяет поймать проблему до того, как она станет массовой.
Как выбрать действие
Частые вопросы по интеграции 1С и Битрикс
Можно ли настроить интеграцию без программиста?
Да, если у вас типовая конфигурация 1С (УТ, УНФ, ERP) и стандартный сценарий: выгрузка каталога, цен, остатков и загрузка заказов. Штатный модуль обмена настраивается через интерфейс. Программист понадобится для нестандартной логики, самописных конфигураций и доработки форматов обмена.
Как часто должен выполняться обмен?
Зависит от оборота. При активных продажах разумный режим — выгрузка изменений каждые 15–30 минут и полная выгрузка ночью. Если ассортимент и цены меняются редко, достаточно обмена несколько раз в день. Слишком частая полная выгрузка создаёт лишнюю нагрузку на сайт.
Что делать, если на сайте уже есть товары, заведённые вручную?
Перед первым обменом решите, как сопоставлять существующие товары с номенклатурой 1С. Штатный механизм сопоставляет по внешнему коду. Если ручной каталог не нужен, проще очистить его на тестовой копии и загрузить всё из 1С заново — это исключит дубли.
Почему остатки на сайте не совпадают с 1С?
Частые причины: в отбор обмена включены не все нужные склады или, наоборот, лишние; остатки выгружаются с учётом резервов; обмен давно не выполнялся из-за ошибки. Проверьте настройку складов в узле обмена и дату последнего успешного сеанса в журнале.
Безопасно ли хранить пароль от сайта в настройках 1С?
Приемлемо, если это отдельный пользователь с минимально необходимыми правами — только на обмен данными. Ни в коем случае не используйте учётную запись администратора сайта. Дополнительно ограничьте доступ к странице обмена по IP, если сервер 1С имеет статический адрес.
Работает ли обмен, если 1С файловая и стоит на офисном компьютере?
Работает, если компьютер включён в момент обмена и имеет доступ в интернет. Для автоматического обмена по расписанию сеанс 1С должен быть запущен. При такой схеме надёжнее перенести базу на сервер или использовать клиент-серверный вариант.
Что важно запомнить
Интеграция 1С и Битрикс строится на штатном обмене CommerceML: чистые справочники, отдельный пользователь для обмена, тест на копии, ручная первая выгрузка, затем автоматический обмен изменениями. Контроль журналов и регулярная сверка цен, остатков и заказов защищают от тихих сбоев.