Список пишется одной строкой через запятую — так же, как -Objects/-Files; отмечено ограничение: значение с запятой внутри не поддерживается. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
10 KiB
Базы данных 1С
Навыки группы /db-* позволяют управлять информационными базами 1С из Claude Code: создавать базы, загружать и выгружать конфигурации, обновлять БД, запускать предприятие, загружать изменения из Git.
Навыки
| Навык | Скрипт | Описание |
|---|---|---|
/db-list |
— | Управление реестром баз (.v8-project.json) |
/db-create |
— | Создание информационной базы |
/db-dump-cf |
— | Выгрузка конфигурации в CF-файл |
/db-load-cf |
— | Загрузка конфигурации из CF-файла |
/db-dump-xml |
.ps1 |
Выгрузка конфигурации в XML-файлы (полная/инкрементальная/частичная) |
/db-load-xml |
.ps1 |
Загрузка конфигурации из XML-файлов (полная/частичная) |
/db-update |
— | Обновление конфигурации БД |
/db-run |
— | Запуск 1С:Предприятие |
/db-load-git |
.ps1 |
Загрузка изменений из Git в базу |
Рабочий цикл
.v8-project.json → /db-create → /db-load-cf или /db-load-xml → /db-update → /db-run
↑
/db-dump-xml ←→ правки в исходниках → /db-load-git → /db-update
Типичный цикл разработки
- Настройка —
/db-list addзарегистрировать базу в.v8-project.json - Создание —
/db-createсоздать базу (если нет) - Загрузка —
/db-load-xmlили/db-load-cfзагрузить конфигурацию - Обновление —
/db-updateприменить к БД - Работа — редактирование XML-исходников
- Синхронизация —
/db-load-gitзагрузить изменения из Git - Обновление —
/db-updateприменить - Запуск —
/db-runоткрыть предприятие
Формат .v8-project.json
Полное описание формата — в справочнике .v8-project.json.
Разрешение базы
Все навыки db-* (а также epf-build, epf-dump, erf-build, erf-dump) используют единый алгоритм:
- Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
- Если указал базу по имени — ищи:
id→aliases(с учётом морфологии) →name(нечёткое) - Если не указал — сопоставь текущую ветку Git с
branches(точно или по glob-паттерну) - Fallback на
default - Если не найдено — спроси пользователя
- После выполнения: если использованная база не зарегистрирована — предложи добавить через
/db-list add
Сценарии использования
Создать базу и загрузить конфигурацию
> Создай файловую базу C:\Bases\Test и загрузи в неё конфигурацию из C:\WS\cfsrc
Claude вызовет /db-create → /db-load-xml -Mode Full → предложит /db-update.
Загрузить изменения из Git
> Загрузи мои последние правки в базу разработки
Claude вызовет /db-load-git dev -Source All → предложит /db-update.
Выгрузить конфигурацию
> Выгрузи конфигурацию из тестовой базы в C:\WS\cfsrc
Claude вызовет /db-dump-xml test C:\WS\cfsrc -Mode Full.
Работа с расширениями
> Выгрузи расширение МоёРасширение из базы dev в C:\WS\ext_src
Claude вызовет /db-dump-xml dev C:\WS\ext_src -Extension МоёРасширение.
> Загрузи расширение обратно в базу
Claude вызовет /db-load-xml C:\WS\ext_src dev -Extension МоёРасширение → предложит /db-update -Extension МоёРасширение.
Запустить предприятие
> Запусти базу разработки
Claude вызовет /db-run dev.
Движок: 1cv8 или ibcmd
По умолчанию навыки группы работают через конфигуратор (1cv8.exe; путь к нему определяется
автоматически по каталогу v8path) — менять это не нужно. При желании ту же операцию можно выполнить
через автономный сервер ibcmd. Для этого навыку нужно передать путь к самому файлу ibcmd.exe
(каталог bin всегда трактуется как 1cv8.exe; отдельного поля-переключателя в .v8-project.json нет).
Путь указывают одним из двух способов:
-
разово, в самой задаче — назвать полный путь к
ibcmd.exe:> Собери обработку, платформа C:\Program Files\1cv8\8.3.24.1691\bin\ibcmd.exe -
в файле настроек — прописать в
v8pathне каталогbin, а сам файл...\bin\ibcmd.exe(тогда черезibcmdпойдут все операции).
Через ibcmd работают: db-create, db-load-xml/db-dump-xml (в том числе по отдельным объектам
и со всеми расширениями), db-load-cf/db-dump-cf, db-load-dt/db-dump-dt, db-update,
db-load-git, epf-build/epf-dump, erf-build/erf-dump.
Ограничения:
- только файловые базы (для серверных используйте конфигуратор);
- если запрошен режим, который
ibcmdне поддерживает (например, выгрузка в «плоском» формате), навык остановится с понятным сообщением и предложит конфигуратор.
Дополнительные аргументы платформы
Набор аргументов, который скрипт формирует сам, закрыт: подключение, пакетная операция, /Out.
Общие ключи платформы, которых нет среди параметров навыка (/UseHwLicenses+, /L, /ClearCache,
/DebuggerURL, …), передаются через escape hatch — по одному параметру на движок:
| Движок | Параметр | Ключ в .v8-project.json |
|---|---|---|
1cv8.exe |
-AdditionalV8Arguments |
v8args |
ibcmd |
-AdditionalIbcmdArguments |
ibcmdargs |
# разово; несколько аргументов — через запятую, как у -Objects/-Files
powershell.exe -NoProfile -File "…/epf-build.ps1" -SourceFile "src/Обработка.xml" `
-OutputFile "build/Обработка.epf" -AdditionalV8Arguments "/UseHwLicenses+,/L,ru"
Список пишется одной строкой через запятую: при запуске скрипта через -File
PowerShell не умеет собирать массив из отдельных токенов. Значение, содержащее запятую,
не поддерживается.
Проектные аргументы применяются первыми, параметр — после них. Аргументы уходят во все запуски
платформы, которые делает навык: epf-build без указания базы прогоняет CREATEINFOBASE,
/LoadConfigFromFiles, /UpdateDBCfg и саму сборку — ключ получит каждый.
Что отклоняется до запуска, с указанием штатного параметра:
- аргумент, которым управляет сам скрипт: режим (
DESIGNER,ENTERPRISE,CREATEINFOBASE), подключение (/F,/S,/N,/P),/Out, пакетная операция (/Load*,/Dump*,/UpdateDBCfg, …). Платформа допускает лишь одну пакетную операцию, а дубль ключа подключения даёт невнятную ошибку 1С; - для
ibcmd— позиционный токен: команда (infobase create,config import) принадлежит навыку, поэтому значения передаются только в форме--ключ=значение; - параметр «не своего» движка (
-AdditionalV8Argumentsпри выбранномibcmd). Ключи из.v8-project.jsonв этом случае просто не применяются — реестр проекта может описывать оба движка.
В строке Running: … значения секрето-опасных ключей (/P, /UC, --password, --token)
заменяются на ***. Ограничения разбора, о которых стоит знать:
- слитое значение, начинающееся с буквы (
/Psecretвместо/P"secret"), неотличимо от более длинного ключа — такой аргумент не будет ни распознан как конфликт, ни замаскирован; - содержимое файла параметров
/@не разбирается — за его состав отвечает вызывающий.
Спецификации
- build-spec.md — пакетный режим конфигуратора 1С (CREATEINFOBASE, DESIGNER, ENTERPRISE, параметры, коды возврата)