Files
cc-1c-skills/.claude/skills/db-load-cf/SKILL.md
T
Nick ShirokovandClaude Opus 5 a3ea0b7be6 feat(db-*): после загрузки расширения проверяется его применимость
Платформа отчитывается успехом и о расширении, которое не применит: отказ
всплывает лениво, при первом вызове метода, записью в журнал регистрации.
Теперь db-load-xml, db-load-git, db-load-cf и db-update после успешной операции
с расширением спрашивают платформу явно и печатают предупреждение; код возврата
операции не меняется — применение неприменимого расширения не разрушительно,
платформа просто работает по оригиналу. Поднять код возврата может -StrictLog,
он для регрессов и в инструкциях не значится.

Проверка обязана быть ОТДЕЛЬНЫМ запуском платформы: в одной командной строке
DESIGNER выполняет только последнюю пакетную команду, и дописанная проверка
отменила бы саму загрузку (замер: /LoadConfigFromFiles + /CheckCanApply… → код 0,
пустой лог, расширение в базе не изменилось). Об этом сказано в теле функции,
чтобы «оптимизация» не вернула команды в одну строку.

Выключатель: ключ -NoApplyCheck и настройка проекта extensionApplyCheck (ключ
команды сильнее). В ветке ibcmd проверка идёт соседним 1cv8; если его рядом нет —
одна строка [note], а не тишина.

Общий блок (Invoke-ApplyCheck / Invoke-ApplyCheckReport / Get-ApplyCheckEnabled и
их py-двойники) объявлен семьёй в check-inline-drift.mjs: разъехавшиеся копии
означали бы, что один навык предупреждает, а соседний по той же операции молчит.
db-load-cf получил недостающие копии Find-V8Project и ключ -StrictLog.

Раннер: у фейковой платформы появился отдельный ответ на проверку (spec.check),
выбираемый по составу аргументов, — иначе сценарий «загрузка прошла, проверка
провалилась» невыразим.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QoAJmoNbgWKobA7JGgN5S3
2026-09-05 14:06:59 +03:00

4.3 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
db-load-cf Загрузка конфигурации 1С из CF-файла. Используй когда нужно загрузить конфигурацию из CF, восстановить из бэкапа CF <input.cf> [database]
Bash
Read
Glob
AskUserQuestion

/db-load-cf — Загрузка конфигурации из CF-файла

Загружает конфигурацию из бинарного CF-файла в информационную базу.

Usage

/db-load-cf <input.cf> [database]
/db-load-cf config.cf dev

Внимание: загрузка CF полностью заменяет конфигурацию в базе. Перед выполнением запроси подтверждение у пользователя.

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

Прочитай .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.

Команда

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

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

Параметр Обязательный Описание
-V8Path <путь> нет Каталог bin платформы, или полный путь к 1cv8.exe / ibcmd.exe
-InfoBasePath <путь> * Файловая база
-InfoBaseServer <сервер> * Сервер 1С (для серверной базы)
-InfoBaseRef <имя> * Имя базы на сервере
-UserName <имя> нет Имя пользователя
-Password <пароль> нет Пароль
-InputFile <путь> да Путь к CF-файлу
-Extension <имя> нет Загрузить как расширение
-NoApplyCheck нет Не проверять применимость расширения после загрузки
-AllExtensions нет Загрузить все расширения из архива
-AdditionalV8Arguments <список> нет Доп. аргументы запуска 1cv8.exe через запятую, напр. /UseHwLicenses+
-AdditionalIbcmdArguments <список> нет Доп. аргументы ibcmd через запятую, в форме --ключ=значение

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

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

Предложи выполнить /db-update — загрузка CF обновляет только «основную» конфигурацию конфигуратора, для применения к БД нужен /UpdateDBCfg

Примеры

# Файловая база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-cf.ps1" -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -InputFile "C:\backup\config.cf"

# Серверная база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-cf.ps1" -InfoBaseServer "srv01" -InfoBaseRef "MyApp_Test" -UserName "Admin" -Password "secret" -InputFile "config.cf"

# Загрузка расширения
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-cf.ps1" -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -InputFile "ext.cfe" -Extension "МоёРасширение"