mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-12 21:20:52 +03:00
Распространение пилота dt-пары на остальные применимые навыки. Если -V8Path указывает на ibcmd.exe — операция идёт через автономный сервер (offline, без запуска платформы), иначе как прежде через 1cv8 DESIGNER. Маппинг (только файловые базы --db-path): - db-create → infobase create --create-database [--restore=dt|--load=cf --apply] - db-dump-cf → infobase config save - db-load-cf → infobase config load - db-update → infobase config apply --force (--force обязателен: без него ibcmd уходит в интерактивный [y/n] и в неинтерактиве отменяет, exit 102) - db-dump-xml→ infobase config export (иерархический, Mode Full/Changes) - db-load-xml→ infobase config import (+цепочка config apply при -UpdateDB) Несовместимое под ibcmd даёт понятную ошибку с указанием на 1cv8: серверные базы, -AllExtensions, -Format Plain, Mode Partial/UpdateInfo, Files/ListFile. 1cv8-ветки без изменений. Версии 1.1→1.2 (xml-load 1.5→1.6). E2E цепочка через ibcmd: create→dump-cf→load-cf→update→dump-xml→ load-xml+UpdateDB — всё exit 0; 1cv8-регресс (create/load-cf/update) цел. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5.0 KiB
5.0 KiB
name, description, argument-hint, allowed-tools
| name | description | argument-hint | allowed-tools | ||||
|---|---|---|---|---|---|---|---|
| db-update | Обновление конфигурации базы данных 1С. Используй когда нужно обновить БД, применить конфигурацию, UpdateDBCfg | [database] |
|
/db-update — Обновление конфигурации БД
Применяет изменения основной конфигурации к конфигурации базы данных (/UpdateDBCfg). Обязательный шаг после /db-load-cf, /db-load-xml, /db-load-git.
Usage
/db-update [database]
/db-update dev
/db-update dev -Dynamic+
Параметры подключения
Прочитай .v8-project.json из корня проекта. Возьми v8path (путь к платформе) и разреши базу:
- Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
- Если указал базу по имени — ищи по id / alias / name в
.v8-project.json - Если не указал — сопоставь текущую ветку Git с
databases[].branches - Если ветка не совпала — используй
defaultЕслиv8pathне задан — автоопределение:Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1Если файла нет — предложи/db-list add. Если использованная база не зарегистрирована — после выполнения предложи добавить через/db-list add.
Команда
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-update.ps1" <параметры>
Параметры скрипта
| Параметр | Обязательный | Описание |
|---|---|---|
-V8Path <путь> |
нет | Каталог bin платформы, или полный путь к 1cv8.exe / ibcmd.exe |
-InfoBasePath <путь> |
* | Файловая база |
-InfoBaseServer <сервер> |
* | Сервер 1С (для серверной базы) |
-InfoBaseRef <имя> |
* | Имя базы на сервере |
-UserName <имя> |
нет | Имя пользователя |
-Password <пароль> |
нет | Пароль |
-Extension <имя> |
нет | Обновить расширение |
-AllExtensions |
нет | Обновить все расширения |
-Dynamic <+/-> |
нет | + — динамическое обновление, - — отключить |
-Server |
нет | Обновление на стороне сервера |
-WarningsAsErrors |
нет | Предупреждения считать ошибками |
*— нужен либо-InfoBasePath, либо пара-InfoBaseServer+-InfoBaseRefЕсли
-V8Pathуказывает наibcmd.exe— операция идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются только файловые базы (-InfoBasePath).
Фоновое обновление (серверная база)
| Параметр | Описание |
|---|---|
-BackgroundStart |
Начать фоновое обновление |
-BackgroundFinish |
Дождаться окончания |
-BackgroundCancel |
Отменить |
-BackgroundSuspend |
Приостановить |
-BackgroundResume |
Возобновить |
Предупреждения
- Если обновление не динамическое — потребуется монопольный доступ к базе (все пользователи должны выйти)
- Для серверных баз рекомендуется
-Dynamic+для обновления без остановки - Если структура данных существенно изменилась (удаление реквизитов, изменение типов) — динамическое обновление может быть невозможно
Примеры
# Обычное обновление (файловая база)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-update.ps1" -InfoBasePath "C:\Bases\MyDB" -UserName "Admin"
# Динамическое обновление (серверная база)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-update.ps1" -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -Dynamic "+"
# Обновление расширения
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-update.ps1" -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -Extension "МоёРасширение"