К статье
Практический материал

Автоматизация · 9 мин

Как в Битриксе открыть 1С: практические способы интеграции

Разбираем, как открыть 1С из Битрикса: настройка обмена, внешние ссылки, REST API, запуск через планировщик. Пошаговые инструкции, ошибки и FAQ.

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

Базовый механизм связки — типовой обмен через протокол CommerceML, который встроен и в «1С-Битрикс: Управление сайтом», и в типовые конфигурации 1С (Управление торговлей, Комплексная автоматизация, ERP). Для нестандартных задач используют REST API Битрикса, веб-сервисы 1С или внешние обработки. Ниже разобраны рабочие варианты с условиями применения и типичными ошибками.

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

Определяем, что именно нужно «открыть»

Формулировка задачи определяет инструмент. Если нужно, чтобы заказы с сайта попадали в 1С, а остатки и цены уходили на сайт, — это типовой обмен, и ничего «открывать» вручную не потребуется: 1С сама обращается к сайту по расписанию. Если менеджер хочет из карточки заказа в Битриксе попасть в соответствующий документ 1С — нужна веб-публикация базы 1С и ссылка в интерфейсе. Если требуется запускать обмен событием (например, при оплате заказа) — используется программный вызов.

Частая путаница возникает между «1С-Битрикс» (CMS для сайтов) и «1С:Предприятие» (учётная система). Это разные продукты одного экосистемного партнёрства, и «открыть одно в другом» буквально нельзя — можно только организовать канал связи между ними.

Способ 1: типовой обмен через настройки Битрикса

Это основной и рекомендуемый путь. В административном разделе Битрикса откройте «Магазин → Настройки → Интеграция с 1С» (в старых версиях — «Настройки → Настройки продукта → Интеграция с 1С»). Здесь задаются параметры приёма данных: какие группы товаров выгружать, что делать с заказами, нужна ли активация товаров при импорте.

Со стороны 1С настройка выполняется в разделе «Администрирование → Синхронизация данных → Обмен с сайтом» (в Управлении торговлей) или «Компания → Обмен с сайтами». Создаётся узел обмена, указывается адрес сайта вида https://site.ru/bitrix/admin/1c_exchange.php, логин и пароль пользователя Битрикса с правами на обмен.

Порядок настройки типового обмена
  1. 1
    В Битриксе включите интеграцию с 1С и задайте параметры импорта товаров и заказов
  2. 2
    Создайте в Битриксе отдельного пользователя для обмена с минимально необходимыми правами
  3. 3
    В 1С создайте узел обмена с сайтом и укажите URL, логин и пароль
  4. 4
    Выполните тестовое соединение из 1С кнопкой «Проверить соединение»
  5. 5
    Запустите обмен вручную и проверьте, что товары и заказы перенеслись корректно
  6. 6
    Настройте расписание автоматического обмена в узле обмена 1С

Признак успешной настройки: в 1С после «Выполнить обмен» появляется сообщение об успешной выгрузке без ошибок, а в Битриксе в разделе «Магазин → Заказы» появляются заказы, созданные в 1С, либо товары обновляют остатки.

Способ 2: переход из Битрикса в 1С через веб-клиент

Если база 1С опубликована на веб-сервере (IIS или Apache), пользователи могут работать с ней через браузер по прямой ссылке. В этом случае «открыть 1С из Битрикса» означает добавить в интерфейс Битрикса ссылку на веб-клиент — например, в левое меню административного раздела или в карточку заказа.

Для глубокой интеграции формируют ссылку с параметрами, ведущую на конкретный документ. Технически это реализуется через расширение 1С, которое по внешнему запросу открывает нужный объект, или через обработку, принимающую номер заказа параметром URL. Такая доработка требует участия разработчика 1С.

Способ 3: программный запуск обмена и REST API

Когда обмен нужно запускать событием, а не расписанием, используют программный вызов. Со стороны Битрикса обмен инициируется обращением к 1c_exchange.php с параметрами type=catalog&mode=checkauth и далее по протоколу. Этот же URL можно дергать планировщиком cron на сервере или из внешней системы.

Для произвольных данных (не только каталог и заказы) применяют REST API Битрикса: 1С обращается к входящему вебхуку и читает или пишет сделки, контакты, счета. Обратный вариант — HTTP-сервисы, опубликованные в самой 1С, к которым обращается Битрикс через \Bitrix\Main\Web\HttpClient.

bash
curl -u exchange_user:password "https://site.ru/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth"

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

Выбор способа под вашу задачу

Маршрут решения

Как выбрать действие

Нужно синхронизировать товары, цены, остатки и заказыНастройте типовой обмен CommerceML — он закрывает большинство задач без программирования
Менеджеру нужно открывать документы 1С из карточки заказа БитриксаОпубликуйте базу 1С на веб-сервере и добавьте ссылки на веб-клиент в интерфейс Битрикса
Обмен должен запускаться событием (оплата, смена статуса)Используйте программный вызов 1c_exchange.php или REST API через обработчики событий
Типового обмена не хватает по составу данныхРасширяйте обмен кастомизацией на стороне 1С или переходите на REST API и HTTP-сервисы

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

Типичные ошибки и их последствия

Типичные ошибки
01
Использовать для обмена учётную запись администратора сайта — при компрометации злоумышленник получает полный доступ к Битриксу
02
Менять пароль пользователя обмена и забывать обновить его в узле обмена 1С — синхронизация молча останавливается
03
Настраивать обмен на боевом сайте без теста на копии — дубли товаров и затёртые цены приходится откатывать из бэкапа
04
Публиковать базу 1С в интернете по HTTP без шифрования — логины и данные передаются открытым текстом
05
Игнорировать логи обмена — ошибки накапливаются, и расхождение данных обнаруживается только при инвентаризации

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

Проверка результата и контрольные точки

Контрольные точки

Как проверить результат

Журнал обмена в 1С
Норма

Статус «Выполнено», нет строк с ошибками

Тревожный признак

Ошибки авторизации, таймауты, «не удалось получить данные с сервера»

Заказы в Битриксе
Норма

Заказы из 1С появляются с корректными статусами и суммами

Тревожный признак

Дубли заказов, пустые поля, неверные статусы

Остатки и цены на сайте
Норма

Значения совпадают с 1С после обмена

Тревожный признак

Расхождения, обнулённые цены, снятые с публикации товары

Веб-доступ к 1С
Норма

Страница входа открывается по HTTPS, вход только под своей учётной записью

Тревожный признак

Доступ без пароля, ошибки сертификата, открытие по HTTP

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

Частые вопросы

Можно ли открыть интерфейс 1С прямо внутри страницы Битрикса?

Технически — через iframe на опубликованный веб-клиент 1С, но это плохая практика: веб-клиент может блокировать встраивание, возникают проблемы с сессиями и безопасностью. Правильнее открывать 1С в отдельной вкладке по ссылке или использовать SSO между системами.

Обмен перестал работать после смены пароля администратора. Что делать?

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

Нужен ли SSL-сертификат для обмена 1С с сайтом?

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

Как запускать обмен чаще, чем раз в час?

Расписание настраивается в узле обмена 1С с точностью до минут. Для почти мгновенной реакции на события используйте программный вызов обмена или REST API вместо расписания, но учитывайте нагрузку: частый полный обмен большого каталога может замедлить сайт.

Чем отличается обмен с Битрикс24 от обмена с «Управлением сайтом»?

Это разные продукты и разные механизмы. С «1С-Битрикс: Управление сайтом» работает CommerceML-обмен каталогом и заказами. С Битрикс24 интеграция строится через специальные приложения и REST API и затрагивает CRM-сущности: сделки, счета, контакты.

Куда смотреть, если обмен зависает на этапе выгрузки каталога?

Проверьте лимиты PHP на сервере (max_execution_time, memory_limit), размер файла выгрузки в настройках интеграции (параметр размера части файла) и логи веб-сервера. Уменьшение размера порции выгрузки обычно решает проблему таймаутов на больших каталогах.

Итог

Что важно запомнить

«Открыть 1С в Битриксе» — это настроить канал связи: типовой обмен CommerceML для данных, веб-клиент для перехода пользователей, REST API для нестандартных сценариев. Используйте отдельного служебного пользователя, HTTPS и тестовую среду, а результат проверяйте по журналам обмена и сверкам данных.