Автоматизация · 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С и задайте параметры импорта товаров и заказов
- 2Создайте в Битриксе отдельного пользователя для обмена с минимально необходимыми правами
- 3В 1С создайте узел обмена с сайтом и укажите URL, логин и пароль
- 4Выполните тестовое соединение из 1С кнопкой «Проверить соединение»
- 5Запустите обмен вручную и проверьте, что товары и заказы перенеслись корректно
- 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.
curl -u exchange_user:password "https://site.ru/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth"Ответ success в первой строке означает, что авторизация прошла и обмен можно продолжать. Ответ failure с текстом ошибки указывает на проблему с правами, паролем или настройками интеграции.
Выбор способа под вашу задачу
Как выбрать действие
Типовой обмен не стоит дорабатывать, если задача решается настройкой: каждая кастомизация усложняет обновления. Обновление Битрикса или конфигурации 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 и тестовую среду, а результат проверяйте по журналам обмена и сверкам данных.