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