Приложение для Битрикс24 написали в чате с ИИ, а данные из 1С достать нечем
Вайбкодинг довел до рабочего интерфейса за вечер, и на этом все встало: в 1С данные есть, а отдать их приложению некому. Разбираем, почему так выходит и что делать.
Задача
Сценарий повторяется из раза в раз. Нужен небольшой инструмент внутри Битрикс24: карточка клиента с его долгом, подбор товара с остатками, отчет по отгрузкам за неделю. Приложение пишется в чате с ИИ за вечер: интерфейс есть, логика есть, в Битрикс24 оно ставится и работает.
Дальше выясняется, что показывать нечего. Долги, остатки и отгрузки лежат в 1С, а приложение до нее не дотягивается. Причем застревают тут не новички: сам по себе Битрикс24 открыт наружу и имеет нормальный REST, а 1С стоит в офисе, за роутером, без белого IP, и открывать ее никто не собирается.
Как это решают обычно
Типовой обмен 1С и Битрикс24. Он существует и для своих задач хорош: синхронизирует каталог, заказы, контрагентов. Но он гоняет предусмотренные сущности по своим правилам, а не отвечает на ваш запрос. Показать в приложении долг клиента с разбивкой по срокам через обмен каталога не получится.
Поднять REST на стороне 1С. Написать HTTP-сервис в конфигураторе, опубликовать базу на веб-сервере, получить белый IP, пробросить порт, закрыть это сертификатом. Технически верно, на практике - недели переписки с сисадмином, а для вайбкодинга с его скоростью это смерть замысла.
Промежуточный сервер с выгрузками. База выгружает файлы, сервер их разбирает, приложение читает из него. Данные вчерашние, звеньев три, ломается любое.
Прямое подключение к SQL базы 1С. Быстро на вид и плохо по сути: структура хранения не документирована, итоги считаются не так, как кажется, обновление платформы молча ломает запросы.
Как быстрее
Сервис "Жёлтый мост" меняет направление связи: наружу ходит сама база 1С. В нее ставится внешняя обработка, она по расписанию спрашивает у шлюза, есть ли задание, выполняет запрос внутри базы и отдает результат. Входящих соединений в офисную сеть нет вообще: ни белого IP, ни проброса портов, ни публикации базы.
Для приложения в Битрикс24 это означает простую вещь: у вас появляется обычный HTTP-адрес и ключ. Приложение отправляет запрос и получает JSON - ровно то, с чем ваш код уже умеет работать и с чем ИИ в чате пишет код без сюрпризов.
| Клиент | Долг | Просрочено | Дней просрочки |
|---|---|---|---|
| ООО Ромашка | 214 300 | 86 000 | 17 |
| ИП Сергеев | 41 500 | 0 | 0 |
| ООО Вектор | 9 800 | 9 800 | 64 |
Как это сделать
1. Зарегистрируйтесь в кабинете и получите ключ. Скачайте обработку и запустите ее в базе: обмен включается одной кнопкой.
2. В приложении Битрикс24 обращайтесь к API сервиса с этим ключом. Запрос пишется на языке запросов 1С, поэтому доступны остатки, обороты, отборы и соединения.
3. Один ключ - одна база. Если приложений несколько, выдайте каждому свой ключ: их можно выключать по отдельности и видно, кто чем пользовался.
По умолчанию ключ работает только на чтение, и изменить данные в базе он не может физически. Персональные данные закрываются маскировкой, причем принудительно: отключить это пользователь не может.
Что стоит знать заранее
Скорость ответа зависит от базы, а не от приложения. Запросы к одной базе выполняются по очереди, по одному, и тяжелая выборка задержит следующие. Для интерфейса, который открывают десятки раз в день, держите запросы узкими: период, отбор, ограничение строк.
Пока обработка в 1С не запущена, база не на связи, и приложение получит честную ошибку, а не пустой список. Это важно проговорить с заказчиком заранее: 1С должна работать, чтобы данные были.
И отдельно про сам вайбкодинг. ИИ уверенно придумывает имена объектов и реквизитов, которых в вашей конфигурации нет. Первый запрос всегда проверяйте на живой базе: на доработанных конфигурациях расхождения обычное дело.
Не уверены, как подключается именно ваша база - в 1С:Фреш, в аренде, своя серверная или файловая? Выберите свой случай на главной: покажем, что мешает и что меняет мост.