Кто я В чём проблема Идея Как устроен OneBridge Что он умеет Про безопасность Как я это создал Зачем вам это

Если вы работаете с 1С и пробовали просить ChatGPT или Claude помочь с кодом — вы знаете боль. ИИ пишет красиво, уверенно и абсолютно неправильно. Потому что он понятия не имеет что у вас в базе.

Какие справочники. Какие реквизиты. Какие типы данных. Он угадывает — и промахивается.

Я решил это починить.

Кто я

Меня зовут Иван. Работаю с 1С больше десяти лет — был проджектом, аналитиком, сисадмином. Программистом не был никогда. Ни одной строчки кода за свою жизнь не написал вручную.

Но я сделал штуку, которая кардинально меняет то, как ИИ работает с 1С. Называется OneBridge.

В чём проблема

Представьте: вы просите ИИ написать обработку для 1С:УНФ (Управление нашей фирмой — конфигурация для малого бизнеса). Он спрашивает — а какие у вас документы? Какие реквизиты у Расходной Накладной? А контрагент — это справочник или перечисление? А НДС — это ставка из справочника или значение перечисления?

И вы начинаете копировать метаданные. Скриншотить конфигуратор. Объяснять словами то, что лежит прямо в базе.

На это уходит больше времени, чем на саму задачу.

Идея

А что если ИИ сам увидит базу? Не через скриншоты. Не через мои объяснения. А напрямую — залезет в метаданные, выполнит запрос, посмотрит документ.

Оказалось, для этого существует протокол. Называется MCP — Model Context Protocol. Его придумали в Anthropic (создатели Claude). Суть — стандартный способ подключить к ИИ любой источник данных. Базу данных, API, файловую систему — что угодно.

Нужен только сервер, который говорит на этом протоколе. Для 1С такого не было.

Я сделал.

Архитектура OneBridge: Claude Code подключается к базе 1С через MCP-протокол
Схема: Claude Code ↔ MCP (JSON-RPC) ↔ OneBridge ↔ База 1С

Как устроен OneBridge

Это внешняя обработка. Обычный .epf файл. Открываете в 1С, нажимаете «Запустить» — и на вашем компьютере поднимается HTTP-сервер.

Да, прямо внутри 1С.

Главный трюк — нативная внешняя компонента. Маленькая DLL на C++, которая умеет слушать порт и принимать HTTP-запросы. Она живёт внутри обработки как макет. Подключается автоматически при запуске.

Когда Claude Code отправляет запрос — компонента его принимает и стреляет событие в 1С. Дальше 1С-код разбирает JSON, находит нужный инструмент, выполняет, возвращает результат. Протокол — JSON-RPC 2.0 поверх SSE (Server-Sent Events).

Событийная модель OneBridge: HTTP-запрос проходит через нативную DLL в обработчик событий 1С
Событийная модель: запрос → DLL → событие 1С → обработка → ответ

Звучит сложно. На практике — один файл конфига в папке проекта:

{"mcpServers": {"onec": {"type": "sse", "url": "http://192.168.31.254:1414/mcp"}}}

Всё. Claude Code видит базу.

Что он умеет

Восемь инструментов. Каждый — отдельная команда, которую Claude может вызвать сам, без моего участия.

8 MCP-инструментов OneBridge: запросы, код, метаданные, журнал, объекты, ссылки, права
Все 8 инструментов OneBridge

Про безопасность

Первый вопрос, который мне задают: «А он не удалит мне всю базу?»

Нет. В OneBridge есть детектор опасных операций. Когда Claude просит выполнить код с Записать(), Удалить() или УстановитьПривилегированныйРежим() — сервер не выполняет молча. Он останавливается и показывает диалог: вот код, вот что в нём опасного. Разрешить?

Три режима: автоматическое разрешение (для записи — если вы доверяете), подтверждение через диалог, или полная блокировка. Настраивается галочками прямо в форме обработки.

Как я это создал

Одним промптом через Claude Code. Серьёзно.

Я написал спецификацию: какие инструменты нужны, какой протокол, какие форматы данных, как работает нативная компонента. Дал Claude Code — и он сгенерировал 12 000 строк кода на языке 1С.

Конечно, не с первого раза. Были итерации — парсер JSON не обрабатывал ссылки на объекты, метаданные расширений кэшировались неправильно, legacy-транспорт SSE не работал параллельно с новым. Но каждый раз я объяснял проблему — и Claude исправлял.

Итого: два вечера. Один — на спецификацию и первую рабочую версию. Второй — на допиливание и тестирование.

Зачем вам это

Если вы работаете с 1С и используете (или хотите начать использовать) ИИ для разработки — OneBridge меняет всё. Вместо слепого ИИ, который угадывает структуру вашей базы, вы получаете ИИ, который её видит.

В прошлой статье я показывал как за 55 минут создал обработку загрузки данных с Wildberries. Так вот — она была создана именно через OneBridge. Claude сам залезал в базу, смотрел эталонные документы, проверял метаданные. Без этого — было бы не 55 минут, а 55 сообщений с копипастом метаданных.

  • Формат: внешняя обработка .epf — открывается в любой базе 1С
  • Объём: 12 000 строк кода, 8 MCP-инструментов
  • Протокол: JSON-RPC 2.0 поверх SSE
  • Безопасность: детектор опасных операций с тремя режимами
  • Цена: бесплатно. Без ограничений, без подписок

OneBridge бесплатный. Полностью. Телеграм-бот @onebridge1c_bot — написали, нажали /start, получили файл. Всё.

Промпт целиком

Обещал — показываю. Вот полная спецификация, которую я дал Claude Code. Копируйте, пробуйте, дорабатывайте. Единственное условие — нужна нативная DLL-компонента MCPHttpTransport (она внутри OneBridge.epf, скачайте через бота).

Развернуть промпт (спецификация на ~3500 слов)

Создай внешнюю обработку (.epf) для 1С:Предприятие — MCP-сервер, который позволяет Claude Code напрямую работать с базой 1С через протокол Model Context Protocol.

Имя обработки: OneBridge. Совместимость: 1С:Предприятие 8.3.25+.

1. Общая архитектура

Обработка работает как встроенный HTTP-сервер внутри 1С: Claude Code ↔ HTTP (JSON-RPC 2.0) ↔ OneBridge (.epf) ↔ База 1С

HTTP-сервер реализован через нативную внешнюю компоненту (C++ DLL), которая хранится как макет внутри .epf. Компонента обрабатывает TCP/HTTP и стреляет события в 1С через ОбработкаВнешнегоСобытия. Вся бизнес-логика — на стороне 1С.

2. Нативная HTTP-компонента (чёрный ящик)

Компонента AddIn.MCPHttp.MCPHttpTransport — бинарная DLL. Подключение из макета обработки с fallback через временный файл.

Методы: Start(Порт), Stop(), SendResponse(requestId, statusCode, headersJSON, body), SendSSEEvent(requestId, data, headersJSON, eventType), CloseSSEStream(requestId), GetRequestBody(requestId).

События: MCP_POST (POST /mcp), SSE_CONNECT (GET /mcp), SSE_LEGACY_CONNECT (GET /sse), SSE_LEGACY_MESSAGE (POST /message), REQUEST (остальные запросы), SSE_CLOSED.

Данные события — JSON: {id, method, path, headers, body, bodyTruncated, query}.

3. Протокол MCP

Два транспорта:

Streamable HTTP (2025-03-26): POST /mcp — JSON-RPC запросы, GET /mcp — SSE notification stream, DELETE /mcp — закрытие сессии.

Legacy SSE (2024-11-05): GET /sse → SSE-поток с endpoint event. POST /message?session_id=XXX → JSON-RPC, ответ 202, результат через SSE.

Маршрутизация: initialize (создать сессию), tools/list (список инструментов), tools/call (выполнить), ping.

Сессии: UUID, заголовок Mcp-Session-Id, хранение в Соответствие.

JSON-RPC 2.0: коды ошибок -32700, -32600, -32601, -32602.

Initialize response: {protocolVersion: "2025-03-26", capabilities: {tools: {listChanged: false}}, serverInfo: {name: "OneBridge", version: "2.0.0"}}

4. Восемь MCP-инструментов

execute_query — запросы 1С. Параметры: query (required), params (объект, вкл. ссылки _objectRef), limit (100, max 1000), include_schema.

execute_code — выполнение кода через Выполнить(). Результат в переменной Результат. Без Процедур/Функций, без Возврат.

get_metadata — три режима: сводка (типы + количество), список (meta_type, name_mask, пагинация), детали (filter, sections: properties/forms/commands/layouts/predefined/movements). Поддержка расширений (extension_name).

get_event_log — журнал регистрации. Фильтры: start_date, end_date, levels, events, metadata_type, user, session, application, computer, comment_contains, transaction_status, object_description/link/data.

get_object_by_link — объект по навигационной ссылке e1cib/data/Тип.Имя?ref=HexGUID. Конвертация HexGUID ↔ UUID.

get_link_of_object — навигационная ссылка по описанию объекта {_objectRef, УникальныйИдентификатор, ТипОбъекта}.

find_references_to_object — поиск ссылок. target_object_description, search_scope (documents/catalogs/registers), meta_filter, limit_hits (200), limit_per_meta (20), timeout_budget_sec (30).

get_access_rights — права доступа. metadata_object, user_name, rights_filter, roles_filter.

5. Детектор опасных операций

Список: Удалить/Delete, Записать/Write, УстановитьПривилегированныйРежим/SetPrivilegedMode, ПодключитьВнешнююКомпоненту/AttachAddIn, УстановитьВнешнююКомпоненту/InstallAddIn, COMОбъект/COMObject, УстановитьМонопольныйРежим/SetExclusiveMode, УдалитьФайлы/DeleteFiles, КопироватьФайл/CopyFile, ПереместитьФайл/MoveFile, СоздатьКаталог/CreateDirectory.

Токенизатор: удалить zero-width символы, собрать вызовы (идентификатор + скобка), игнорировать строки/комментарии, сравнить case-insensitive.

Три режима: авто-разрешение, подтверждение через диалог, блокировка.

6. JSON-парсер/сериализатор

Сериализация: Дата → ISO 8601, Ссылка → {_objectRef, UUID, ТипОбъекта, Представление}, Неопределено → null, ТаблицаЗначений → массив объектов.

Десериализация: рекурсивный парсер, вложенные объекты/массивы, escape-последовательности.

7. UI

Программное создание формы. Левая панель: журнал событий (многострочное поле, 18 строк). Правая: статус, кнопки Запустить/Остановить, порт, галочки разрешений.

Трюк: копировать значения перечислений из существующих элементов. Настройки в ХранилищеОбщихНастроек.

8. REST API

GET /health, GET /api/{tool}?params — REST-доступ параллельно с MCP.

9. Сборка

v8unpack (pip install v8unpack). Макеты DLL из существующего OneBridge.epf. Вторая форма ФормаПодтверждения — модальный диалог.


12 000 строк кода. Восемь инструментов. JSON-RPC поверх SSE. Детектор опасных операций. И всё это — внешняя обработка, которая открывается в любой базе 1С одним файлом.

У меня к вам вопрос: какую задачу по 1С вы считаете нерешаемой для ИИ? Пишите — я попробую и сниму видео.

Хотите так же?

Нужна интеграция 1С или нестандартная доработка? Обсудим ваш проект. А если хотите научиться сами — приходите на курс.

Обсудить проект по 1С → Курс «Вайбкодинг 1С»

Читайте также