Files
cc-1c-skills/.claude/skills/db-load-git/SKILL.md
T
Nick ShirokovandClaude Opus 5 efee7f8f2b feat(db-*,epf-*): передача дополнительных аргументов в 1cv8 и ibcmd
Набор аргументов платформы был закрыт: общий ключ запуска (например
/UseHwLicenses+ на машине с аппаратной лицензией) передать было нельзя,
и сборка на автоматически созданной временной базе падала с «Не найдена
лицензия».

Добавлен escape hatch — по параметру на движок, плюс зеркальные ключи
в .v8-project.json (v8args / ibcmdargs) для машинно-специфичных флагов:

- -AdditionalV8Arguments  → 1cv8.exe, ключи вида /Key
- -AdditionalIbcmdArguments → ibcmd, ключи вида --key=value

Аргументы уходят во все запуски платформы, которые делает навык:
epf-build без базы прогоняет CREATEINFOBASE, /LoadConfigFromFiles,
/UpdateDBCfg и саму сборку — ключ получает каждый.

До запуска отклоняются: аргумент, которым управляет сам скрипт (режим,
подключение, /Out, пакетная операция), позиционный токен для ibcmd и
параметр «не своего» движка. Значения секрето-опасных ключей (/P, /UC,
--password, --token) в логе маскируются.

Порядок источников: .v8-project.json, затем параметр. Поведение без
новых параметров не меняется.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-29 20:44:15 +03:00

4.8 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
db-load-git Загрузка изменений из Git в базу 1С. Используй когда нужно загрузить изменения из гита, обновить базу из репозитория, partial load из коммита [database] [source]
Bash
Read
Glob
AskUserQuestion

/db-load-git — Загрузка изменений из Git

Определяет изменённые файлы конфигурации по данным Git и выполняет частичную загрузку в информационную базу.

Usage

/db-load-git [database]
/db-load-git dev                              — все незафиксированные изменения
/db-load-git dev -Source Staged               — только staged
/db-load-git dev -Source Commit -CommitRange "HEAD~3..HEAD"
/db-load-git dev -DryRun                      — только показать что будет загружено

Параметры подключения

Прочитай .v8-project.json из корня проекта. Возьми v8path (путь к платформе) и разреши базу:

  1. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
  2. Если указал базу по имени — ищи по id / alias / name в .v8-project.json
  3. Если не указал — сопоставь текущую ветку Git с databases[].branches
  4. Если ветка не совпала — используй default Если v8path не задан — скрипт сам попытается определить платформу (.v8-project.json → Program Files). Если файла нет — предложи /db-list add. Если использованная база не зарегистрирована — после выполнения предложи добавить через /db-list add. Если в записи базы указан configSrc — используй как каталог конфигурации.

Команда

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-git.ps1" <параметры>

Параметры скрипта

Параметр Обязательный Описание
-V8Path <путь> нет Каталог bin платформы, или полный путь к 1cv8.exe / ibcmd.exe
-InfoBasePath <путь> * Файловая база
-InfoBaseServer <сервер> * Сервер 1С (для серверной базы)
-InfoBaseRef <имя> * Имя базы на сервере
-UserName <имя> нет Имя пользователя
-Password <пароль> нет Пароль
-ConfigDir <путь> да Каталог XML-выгрузки (git-репозиторий)
-Source <источник> нет All (по умолч.) / Staged / Unstaged / Commit
-CommitRange <range> для Commit Диапазон коммитов (напр. HEAD~3..HEAD)
-Extension <имя> нет Загрузить в расширение
-AllExtensions нет Загрузить все расширения
-Format <формат> нет Hierarchical (по умолч.) / Plain
-DryRun нет Только показать что будет загружено (без загрузки)
-UpdateDB нет После загрузки сразу обновить конфигурацию БД (/UpdateDBCfg)
-AdditionalV8Arguments <арг>… нет Доп. аргументы запуска 1cv8.exe, напр. /UseHwLicenses+
-AdditionalIbcmdArguments <арг>… нет Доп. аргументы ibcmd в форме --ключ=значение

* — нужен либо -InfoBasePath, либо пара -InfoBaseServer + -InfoBaseRef

После выполнения

Если -UpdateDB не был указан — предложить /db-update для применения изменений к БД

Примеры

# Все незафиксированные изменения
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-git.ps1" -V8Path "C:\Program Files\1cv8\8.3.25.1257\bin" -InfoBasePath "C:\Bases\MyDB" -ConfigDir "C:\WS\cfsrc" -Source All -UpdateDB

# Из диапазона коммитов
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-git.ps1" -InfoBasePath "C:\Bases\MyDB" -ConfigDir "C:\WS\cfsrc" -Source Commit -CommitRange "HEAD~3..HEAD"