Автоматизация · 13 мин
Как синхронизировать 1С и Битрикс
Пошаговая инструкция по синхронизации 1С и Битрикс: выбор способа обмена, настройка модуля, обмен товарами и заказами, расписание, ошибки и проверка результата.
Синхронизация 1С и Битрикс решает две практические задачи: каталог товаров, цены и остатки из учётной системы попадают на сайт без ручного ввода, а заказы с сайта возвращаются в 1С для обработки, резервирования и проведения оплат. Без обмена менеджеры вынуждены переносить данные вручную, что неизбежно приводит к расхождениям в ценах, продаже отсутствующих товаров и потерянным заказам.
Обмен между 1С и Битрикс построен на открытом протоколе CommerceML. Для типовых конфигураций 1С (Управление торговлей, Комплексная автоматизация, ERP, УНФ) существует готовый модуль обмена с сайтом, который устанавливается в конфигурацию и настраивается без программирования. Для нетиповых конфигураций или особых требований используют REST API Битрикса или промежуточные файлы.
Ниже разобраны способы обмена, настройка типового модуля, расписание синхронизации, контроль ошибок и ситуации, когда типового решения недостаточно. Материал ориентирован на администратора 1С или внедренца, который выполняет настройку впервые.
Какой способ обмена выбрать
Существует три основных подхода к синхронизации. Первый — типовой модуль обмена с сайтом от 1С-Битрикс, который встраивается в конфигурацию и работает по протоколу CommerceML через HTTP-запросы к сайту. Он покрывает большинство сценариев: выгрузка товаров, цен, остатков, загрузка заказов и статусов. Это вариант по умолчанию для типовых конфигураций.
Второй подход — обмен через REST API Битрикса. Его выбирают, когда нужна нестандартная логика: обмен произвольными сущностями, интеграция с самописной 1С, двусторонняя синхронизация контрагентов в реальном времени. Такой вариант требует разработки и сопровождения, поэтому без веской причины начинать с него не стоит.
Третий вариант — файловый обмен через CSV, XML или CommerceML-файлы, выгружаемые по расписанию на FTP или в общую папку. Он подходит как временное решение или для случаев, когда прямое соединение между 1С и сайтом невозможно по требованиям безопасности.
Сравнение способов обмена
Подходит для типовых конфигураций 1С. Настраивается без программирования, поддерживает товары, цены, остатки и заказы. Ограничение — только стандартные сценарии обмена.
Подходит для нестандартной логики и самописных конфигураций. Требует разработки, тестирования и постоянного сопровождения.
Подходит как временное решение или при запрете прямых соединений. Минус — задержки в обмене и ручной контроль загрузок.
Что подготовить перед настройкой
До начала настройки убедитесь, что конфигурация 1С входит в список поддерживаемых модулем обмена: это Управление торговлей 11, Комплексная автоматизация 2, ERP 2, Управление нашей фирмой и ряд других. Версия платформы и конфигурации должна соответствовать требованиям конкретной версии модуля — они указаны в описании модуля на маркетплейсе 1С-Битрикс.
Со стороны сайта потребуется: доступ в административный раздел Битрикс с правами на настройку интеграций, адрес сайта, доступный из сети, где работает 1С, и отдельный пользователь с правами на обмен. Не используйте для обмена учётную запись главного администратора — создайте технического пользователя с минимально необходимыми правами.
Также проверьте сетевую доступность: сервер 1С должен иметь возможность обращаться к сайту по HTTP/HTTPS, а сайт (при обмене заказами в реальном времени) — к сервисам 1С, если используется такой режим. Если 1С работает в закрытой сети, согласуйте с администратором открытие исходящих соединений.
Установка и настройка модуля обмена в 1С
Модуль обмена с сайтом распространяется бесплатно через маркетплейс 1С-Битрикс. После скачивания он устанавливается в конфигурацию через режим «Конфигуратор» или загрузкой расширения — способ зависит от версии модуля и конфигурации. После установки в интерфейсе 1С появляется раздел «Обмен с сайтом» (обычно в подсистеме интеграции или администрирования).
Основной объект настройки — узел обмена с сайтом. В нём указываются: адрес сайта вида https://site.ru с путём к скрипту обмена (модуль подставляет его автоматически), имя и пароль технического пользователя, режим обмена (выгрузка товаров, обмен заказами или оба), а также отборы — какие товары, склады и типы цен участвуют в синхронизации.
- 1Установите модуль обмена с сайтом в конфигурацию 1С
- 2Создайте на сайте технического пользователя с правами на обмен
- 3В 1С создайте узел обмена: укажите адрес сайта, логин и пароль
- 4Настройте отбор товаров: группы номенклатуры, склады, типы цен
- 5Сопоставьте единицы измерения, валюты и ставки НДС
- 6Выполните тестовое соединение и первую выгрузку в режиме изменений
- 7Проверьте каталог на сайте и включите обмен по расписанию
Обратите внимание на настройку соответствия полей. Модуль позволяет указать, какое свойство товара в 1С в какое свойство инфоблока на сайте выгружается. Если на сайте уже есть каталог, а в 1С — своя номенклатура, сначала выполните сопоставление по уникальному полю (артикул, код, внешний идентификатор), иначе на сайте появятся дубли товаров.
Выгрузка товаров, цен и остатков
Первая выгрузка всегда выполняется в полном режиме: 1С формирует файлы CommerceML с описанием групп каталога, товаров, свойств, цен и остатков и передаёт их на сайт порциями. При большом каталоге (десятки тысяч позиций) полная выгрузка может занять значительное время — планируйте её на нерабочие часы и следите за логом обмена.
После первой выгрузки включите режим выгрузки только изменений: 1С регистрирует изменённые объекты и передаёт на сайт только их. Это резко сокращает время обмена и нагрузку. Режим изменений работает корректно, только если не менялась структура отборов узла обмена — при изменении отборов потребуется повторная полная выгрузка.
Цены и остатки можно выгружать отдельно от описаний товаров и чаще — например, остатки каждые 15–30 минут, а полный каталог раз в сутки. Это разумный баланс между актуальностью данных и нагрузкой на системы. Учтите, что остаток на сайте всегда отстаёт от реального на время интервала обмена: при высоких продажах настраивайте резерв или контроль остатков при оформлении заказа.
Обмен заказами: с сайта в 1С и обратно
Обмен заказами работает в обе стороны. С сайта в 1С загружаются новые заказы с составом, контактами покупателя, способом доставки и оплаты. В 1С на их основании создаются документы «Заказ клиента» (или аналог), контрагенты подставляются по настроенным правилам поиска — по ИНН, телефону, email или создаются новые.
Обратно на сайт передаются статусы заказов, сведения об оплате и отгрузке. Покупатель видит в личном кабинете актуальное состояние заказа без звонка менеджеру. Для этого в настройках модуля задаётся соответствие статусов: какой статус в 1С какому статусу на сайте соответствует.
Типичная проблема — дубли контрагентов. Один и тот же покупатель может оформлять заказы с разных телефонов или email, и 1С создаст несколько карточек. Настройте в модуле правила поиска контрагентов и периодически проводите свёртку дублей штатными средствами 1С.
Расписание и автоматизация обмена
Обмен по расписанию в 1С настраивается через регламентные задания. Для файловой базы задания выполняются, пока запущен сеанс 1С с включённым выполнением регламентных заданий; для клиент-серверной — на сервере 1С автоматически. Рекомендуемая схема: обмен заказами каждые 5–15 минут, выгрузка изменений каталога — каждые 1–4 часа, полная выгрузка — раз в неделю в нерабочее время.
Альтернатива — запуск обмена из планировщика Windows через командную строку 1С с параметрами запуска обработки обмена. Этот способ используют, когда регламентные задания недоступны или нужен запуск вне сеансов пользователей.
Со стороны Битрикса убедитесь, что агенты сайта исполняются на cron, а не на хитах: при редкой посещаемости сайта агенты на хитах выполняются с задержками, и обмен «плывёт» по времени. Проверить это можно в настройках главного модуля и в журнале агентов.
Не ставьте слишком частый обмен полным каталогом: каждая полная выгрузка переиндексирует каталог на сайте и может замедлять его для посетителей. Частыми должны быть только короткие обмены — заказы и остатки в режиме изменений.
Проверка результата и диагностика ошибок
После настройки проверьте обмен по контрольным точкам: товар из 1С появился на сайте с верной ценой и остатком, заказ с сайта создал документ в 1С с правильным контрагентом и составом, смена статуса в 1С отразилась в личном кабинете покупателя. Проверяйте на 2–3 тестовых товарах и заказах, прежде чем считать настройку завершённой.
Основной инструмент диагностики — журнал обмена в 1С и логи на стороне сайта. Модуль обмена фиксирует каждую сессию: что выгружено, какие ошибки возникли. Типичные причины сбоев: истёк пароль технического пользователя, превышен лимит времени выполнения скрипта на сервере, недостаточно места на диске сайта, изменились настройки инфоблока после обновления Битрикса.
Как проверить результат
Цена, остаток и описание совпадают с данными 1С
Товар-дубль, нулевая цена или устаревший остаток
Создан документ с верным контрагентом, составом и складом
Документ не создан, дубль контрагента, пустой состав
Смена статуса в 1С видна на сайте в течение интервала обмена
Статусы не меняются или меняются на неверные
Сессии завершаются без ошибок
Повторяющиеся ошибки соединения или таймауты
Когда типового модуля недостаточно
Типовой модуль не покрывает ряд сценариев: обмен произвольными документами (счета, акты, возвраты в нестандартной логике), синхронизация нескольких сайтов с разной структурой каталога, обмен с самописной или сильно доработанной конфигурацией, требования к мгновенной (real-time) синхронизации остатков при высоких оборотах.
В таких случаях решение строится на REST API Битрикса или веб-сервисах 1С (HTTP-сервисы, OData). Это проект разработки: потребуется описание форматов обмена, обработка ошибок и конфликтов, мониторинг. Прежде чем идти этим путём, проверьте, не закрывается ли задача настройкой отборов и соответствий в типовом модуле — часто «нестандартная» задача решается штатными средствами.
Как выбрать действие
Частые вопросы
Какие конфигурации 1С поддерживают обмен с Битриксом?
Типовой модуль обмена поддерживает Управление торговлей 11, Комплексную автоматизацию 2, ERP Управление предприятием 2, Управление нашей фирмой и ряд других конфигураций. Актуальный список и требования к версиям платформы указаны в описании модуля на маркетплейсе 1С-Битрикс — сверьтесь с ним перед установкой.
Можно ли синхронизировать 1С с Битрикс24 вместо сайта?
Да, для Битрикс24 существуют отдельные решения: типовая интеграция CRM с 1С через приложение из маркетплейса Битрикс24 или обмен через REST API. Механика отличается от обмена с сайтом — синхронизируются счета, товары CRM и компании, а не каталог интернет-магазина.
Как часто нужно выгружать остатки на сайт?
Зависит от оборачиваемости. При умеренных продажах достаточно обмена раз в 1–4 часа, при высоких — каждые 15–30 минут в режиме изменений. Полную выгрузку каталога делайте редко, она нужна только при массовых изменениях структуры или отборов.
Что делать, если после обмена на сайте появились дубли товаров?
Причина почти всегда в отсутствии сопоставления по уникальному полю. Удалите дубли на сайте, настройте в узле обмена соответствие по артикулу или внешнему идентификатору, выполните повторную выгрузку и проверьте результат на нескольких позициях. Перед этим сделайте резервную копию базы сайта.
Безопасно ли открывать доступ к сайту для 1С?
Да, при соблюдении мер: используйте HTTPS, отдельного технического пользователя с минимальными правами, сложный пароль и, при возможности, ограничение доступа к скрипту обмена по IP-адресу сервера 1С. Пароль меняйте при увольнении сотрудников, имевших к нему доступ.
Обмен перестал работать после обновления Битрикса — в чём причина?
Обновления могут менять структуру инфоблоков или настройки безопасности. Проверьте журнал обмена в 1С, права технического пользователя, целостность настроек инфоблока каталога и протестируйте соединение из узла обмена. В большинстве случаев достаточно перепроверить настройки и повторить выгрузку изменений.
Что важно запомнить
Для типовых конфигураций синхронизация 1С и Битрикс решается модулем обмена с сайтом: настройте узел обмена, сопоставьте товары, цены и статусы, включите расписание. Перед первой выгрузкой делайте резервные копии, после — проверяйте результат по контрольным точкам. Нестандартные сценарии реализуются через REST API, но сначала проверьте возможности типового модуля.