| name | codex-test-bridge |
| description | HTTP bridge-расширение для демо- и тестовых баз 1С. Используй когда нужно поставить или вызвать CodexTestBridge CFE вместо COM-подключения, получить метаданные по HTTP, создать/прочитать тестовые данные, выполнить запрос или проверить внешние отчеты и печатные формы без UI. |
| argument-hint | <base-url> <command> |
| allowed-tools | ["Bash","Read","Write","Glob"] |
/codex-test-bridge
Служебное расширение 1С, которое заменяет COM-подключение HTTP API для демо
и тестовых баз. Расширение публикует HTTP-сервис codex-test.
Не подключай bridge к боевым базам и не публикуй наружу: команды выполняются
серверным кодом 1С с повышенными возможностями.
Что Лежит В Скилле
src/ - XML-исходники расширения
codex-test-bridge.cfe - готовое собранное расширение
client.py - Python CLI-клиент, который вызывает HTTP API и отключает proxy
BRIDGE.md - подробная спецификация endpoints и команд
scripts/build_cfe_linux.sh - сборка CFE на Linux через ibcmd
scripts/build_cfe_windows.ps1 - сборка CFE на Windows через ibcmd
scripts/enable_vrd_windows.ps1 - включение HTTP-сервиса bridge в default.vrd
Установка Расширения В Файловую Базу
Предпочтительный путь - через ibcmd, с отдельным --data каталогом:
$ibcmd = "C:\Program Files\1cv8\8.3.27.1859\bin\ibcmd.exe"
$db = "D:\bases\demo"
$root = "D:\bsl\skills\codex-test-bridge"
$data = "D:\bsl\skills\temp\bridge-install-data"
& $ibcmd config --data $data --database-path $db load --extension CodexTestBridge --force "$root\codex-test-bridge.cfe"
& $ibcmd config --data $data --database-path $db check --extension CodexTestBridge --force
& $ibcmd config --data $data --database-path $db apply --extension CodexTestBridge --force --dynamic=disable --session-terminate=force
Если у базы есть пользователь и пароль, добавь --user "<Имя>" --password "<Пароль>".
Если пароль пустой, передавай только --user "<Имя>".
Веб-Публикация
Bridge доступен только если опубликованы HTTP-сервисы расширений. В default.vrd
должно быть:
<httpServices publishByDefault="true" publishExtensionsByDefault="true">
<service name="CodexTestBridge" rootUrl="codex-test" enable="true"
reuseSessions="dontuse" sessionMaxAge="20"/>
</httpServices>
Обычный web-publish генерирует безопасную публикацию без HTTP-сервисов
расширений. Для bridge после публикации базы включи сервис отдельным helper:
powershell.exe -NoProfile -File D:\bsl\skills\codex-test-bridge\scripts\enable_vrd_windows.ps1 `
-VrdPath D:\bsl\skills\temp\demo-1c\apache24\publish\demo1c\default.vrd
Базовые URL:
http://<host>/<publication>/hs/codex-test/health
http://<host>/<publication>/hs/codex-test/command
Клиент
client.py отключает proxy-переменные для локальных запросов.
python D:\bsl\skills\codex-test-bridge\client.py `
--base-url http://localhost:9091/demo1c/hs/codex-test health
Полезные команды:
# Метаданные
python .\client.py --base-url http://localhost:9091/demo1c/hs/codex-test metadata --sections catalogs,documents
# Описание объекта
python .\client.py --base-url http://localhost:9091/demo1c/hs/codex-test describe catalog Контрагенты
# Запрос
python .\client.py --base-url http://localhost:9091/demo1c/hs/codex-test query "ВЫБРАТЬ ПЕРВЫЕ 10 Ссылка, Наименование ИЗ Справочник.Контрагенты" --limit 10
# Выполнить серверный BSL-код
python .\client.py --base-url http://localhost:9091/demo1c/hs/codex-test execute-bsl "РезультатВыполнения = ТекущаяДата();"
# Вызвать экспортный метод общего модуля
python .\client.py --base-url http://localhost:9091/demo1c/hs/codex-test call-common-module ОбщегоНазначения ЗначениеРеквизитаОбъекта --params "[{`"type`":`"CatalogRef`",`"name`":`"Контрагенты`",`"uuid`":`"00000000-0000-0000-0000-000000000000`"},`"Наименование`"]"
# Создать/обновить объект
python .\client.py --base-url http://localhost:9091/demo1c/hs/codex-test write-object catalog Контрагенты --fields "{`"Наименование`":`"Codex HTTP smoke`"}"
Сборка CFE Из Исходников
Windows:
powershell.exe -NoProfile -File D:\bsl\skills\codex-test-bridge\scripts\build_cfe_windows.ps1
Linux:
PLATFORM=/opt/1cv8/x86_64/8.3.27.1859 \
sh D:/bsl/skills/codex-test-bridge/scripts/build_cfe_linux.sh
Основные Команды API
Все команды, кроме health, отправляются POST-запросом на /command.
Health - проверка доступности
Metadata - список объектов метаданных
Describe - реквизиты и табличные части объекта
Query - выполнение запроса 1С
ExecuteBSL - выполнение серверного кода через Выполнить()
CallCommonModule - вызов экспортного метода общего модуля
WriteObject - создать или обновить элемент справочника/документ
GetObject - получить объект по UUID
DeleteObject - поставить или снять пометку удаления
RenderExternalPrintForm - серверная проверка внешней печатной формы
RenderExternalReport - серверная проверка внешнего отчета
Подробности и JSON-примеры см. в BRIDGE.md.