Битрикс24 не видит товары из 1С: обмен без белого IP и проброса портов
Портал внедрили, а каталог и заказы стоят: сисадмин не дает внешний адрес. Что делать, если ждать публикации базы нельзя.
Задача
Проект по внедрению портала идет по плану ровно до этапа обмена с 1С. Дальше все останавливается: чтобы Битрикс24 забирал товары и отдавал заказы, базу нужно опубликовать наружу. А это белый IP, проброс портов на роутере, сертификат и открытая дверь в периметр.
Системный администратор заказчика отказывается. Служба безопасности тоже. Программист 1С заказчика занят до конца квартала. Этап висит, деньги не закрываются, а клиент считает, что тормозит подрядчик.
Как это решают обычно
Публикация базы на веб-сервере. Штатный путь, и он рабочий. Цена: внешний адрес, настройка Apache или IIS, сертификат, регулярные обновления, а главное - постоянно открытый снаружи вход, который теперь надо защищать. Получить согласование в компании с нормальной службой безопасности занимает недели.
Промежуточная база или сервер обмена. Ставится отдельная машина, она держит связь с 1С и с порталом. Работает, но это плюс сервер, плюс лицензии, плюс еще одно место, где что-то ломается.
Ручная выгрузка. Файл с товарами раз в день. На старте терпимо, через месяц начинаются расхождения в остатках и жалобы менеджеров.
Как быстрее
Через "Жёлтый мост" направление меняется: наружу ходит сама база, а не кто-то в нее. Внешняя обработка внутри 1С обычным исходящим HTTPS спрашивает шлюз, есть ли задание, выполняет его и отдает результат. Для сети заказчика это такой же исходящий запрос, как открытая веб-страница.
Что это дает на проекте:
- не нужен белый IP и проброс портов - значит, не нужно и согласование;
- конфигурация не меняется - внешняя обработка, а не расширение;
- подключение занимает минуты, а не недели согласований;
- работает и на старых конфигурациях - УТ 10.3, УПП 1.3, КА 1.1, где современные модули обмена не живут.
Портал обращается к API сервиса по ключу и получает данные в JSON. Ключ выдается на базу, выключается одной кнопкой и виден в журнале: понятно, кто и когда что запрашивал.
| Что забираем | Откуда в 1С | Как часто |
|---|---|---|
| Каталог и цены | номенклатура, типы цен | раз в сутки |
| Остатки | регистр остатков | каждые 15 минут |
| Контрагенты | справочник контрагентов | по событию |
| Заказы в 1С | документ заказа | сразу после оформления |
Как это сделать
1. Заведите кабинет и скачайте обработку под конфигурацию заказчика.
2. Откройте ее в базе, вставьте ключ, включите обмен. Для постоянной работы поставьте регламентное задание.
3. Со стороны портала настройте обращения к API сервиса: запрос пишется на языке запросов 1С, ответ приходит строками.
4. Права ограничьте пользователем 1С, под которым работает обработка.
Что стоит знать заранее
Запись данных в базу возможна, но по умолчанию ключ работает только на чтение: изменение включается отдельным решением владельца, и первый прогон всегда пробный, с откатом. Для проекта это скорее плюс: этап "читаем каталог" сдается сразу, а запись подключается осознанно.
Запросы к одной базе выполняются по очереди. Если портал будет дергать остатки на каждый чих, лучше собрать их одним запросом по расписанию, чем сотней мелких.
Не уверены, как подключается именно ваша база - в 1С:Фреш, в аренде, своя серверная или файловая? Выберите свой случай на главной: покажем, что мешает и что меняет мост.