/db-cfe-admin - Расширения в информационной базе

SkillDatabases & data

Manage extensions in a 1C database via ibcmd: list, applicability check, safe mode, activity, deletion. Use when EDT is unavailable and you need to enable or disable an extension, remove safe mode, or delete an extension from the database. Do not use if EDT is open (infobase_admin AI-EDT) or

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the /db-cfe-admin - Расширения в информационной базе skill

What this skill tells your AI

The instructions your AI receives, as published by desko77/claude-code-skills-1c in skills/1c-db-cfe-admin/SKILL.md and read by ahel’s review.

Управляет расширениями, которые уже лежат в информационной базе: список, проверка, свойства, удаление. Движок один - ibcmd. Конфигуратор и EDT не вызываются.

Когда применять

  • EDT недоступна, а расширение в базе надо включить, выключить, снять с безопасного режима или удалить.
  • Нужно увидеть, какие расширения есть в базе, и проверить, применимо ли названное расширение.

Когда не применять

  • Проект открыт в EDT и доступен AI-EDT. Свойства расширения в базе меняет infobase_admin.
  • Нужно создать исходники расширения, заимствовать объект или собрать файл .cfe. Это скилы 1c-cfe-*.
  • Нужно загрузить .cfe или XML в базу. Это /db-load-cf и /db-load-xml.

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

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

  1. Если пользователь указал параметры подключения (путь, сервер) - используй напрямую
  2. Если указал базу по имени - ищи по id / alias / name в .v8-project.json
  3. Если не указал - сопоставь текущую ветку Git с databases[].branches
  4. Если ветка не совпала - используй default

Если v8path не задан - автоопределение: Get-ChildItem "C:\Program Files\1cv8\*\bin\ibcmd.exe" | Sort FullName | Select -Last 1 Если файла нет - попроси путь к ibcmd.exe в -V8Path. Если использованная база не зарегистрирована - после выполнения предложи добавить через /db-list add.

ibcmd не ходит в кластер 1С. Файловая база передается ключом --db-path (-InfoBasePath). Пара -InfoBaseServer и -InfoBaseRef передается как --db-server и --db-name: сервер и имя базы СУБД, как в справке ibcmd. Тип СУБД - -Dbms (--dbms). Без -Dbms утилита считает базу файловой. Если заданы и путь, и пара сервер/имя, в команду попадает пара: так же цель выбирает защита боевой базы.

База с ролью prod в .v8-project.json отказывает операциям set-properties и delete: скрипт завершается кодом 1, пока не передан -AllowProd. Операции list и check защиту не проходят: они базу не меняют.

Команда

powershell.exe -NoProfile -File skills/1c-db-cfe-admin/scripts/db-cfe-admin.ps1 <операция> <параметры>

Порт Python: skills/1c-db-cfe-admin/scripts/db-cfe-admin.py. Имена параметров те же. -WhatIf и --dry-run печатают команду ibcmd и не запускают ее.

Операции

ОперацияКоманда ibcmdЧто делает
listinfobase config extension listСписок расширений базы
checkinfobase config check --extension=<имя>Проверка конфигурации расширения в этой базе
set-propertiesinfobase config extension updateСвойства расширения
deleteinfobase config extension deleteУдаление одного расширения или всех (-All)

check соответствует команде infobase config check из справки ibcmd: проверка конфигурации названного расширения. Ключ -Name обязателен.

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

ПараметрОбязательныйОписание
Operationдаlist, check, set-properties, delete
-V8Path <путь>нетКаталог bin, ibcmd.exe или 1cv8.exe (тогда берется ibcmd.exe рядом)
-InfoBasePath <путь>*Файловая база, ключ --db-path
-InfoBaseServer <сервер>*Сервер СУБД, ключ --db-server
-InfoBaseRef <имя>*Имя базы СУБД, ключ --db-name
-Dbms <тип>нетMSSQLServer, PostgreSQL, IBMDB2, OracleDatabase
-DataPath <путь>нетКаталог данных автономного сервера, ключ --data
-UserName <имя>нетПользователь информационной базы, ключ --user
-Password <пароль>нетПароль, ключ --password. В печатной команде значение заменено на ***
-AllowProdнетРазрешить set-properties и delete на базе с role: prod
-WhatIfнетНапечатать команду ibcmd и выйти с кодом 0. В Python то же делает --dry-run
-Name <имя>**Имя расширения
-AllнетУдалить все расширения. Только с delete, вместе с -Name не задается

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

** - обязателен для check, set-properties и delete без -All

Свойства set-properties

Хотя бы одно свойство обязательно. Значения yes и no - как в справке ibcmd.

ПараметрКлюч ibcmdЗначение
-Active--activeyes или no
-SafeMode--safe-modeyes или no
-SecurityProfileName--security-profile-nameИмя профиля безопасности. В справке у ключа написано yes|no, описание ключа - имя профиля. Скрипт передает строку как есть. На ibcmd 8.3.27.1989 строка с именем принимается; в том же запуске безопасный режим становится yes, даже если --safe-mode не передавался
-UnsafeActionProtection--unsafe-action-protectionyes или no
-UsedInDistributedInfobase--used-in-distributed-infobaseyes или no
-Scope--scopeinfobase или data-separation

Коды возврата

КодОписание
0Успешно, либо -WhatIf
1Ошибка параметров, отказ защиты боевой базы или ненулевой код ibcmd

Ограничения

  • ibcmd.exe входит в компонент автономного сервера и ставится с платформой не всегда: в каталоге bin установленной платформы его может не быть. Тогда путь к ibcmd.exe передается в -V8Path.
  • Для серверной базы ibcmd подключается к СУБД: -InfoBaseServer и -InfoBaseRef - сервер и имя базы СУБД, а не кластер 1С. Защита боевой базы сравнивает их с полями server и ref записи .v8-project.json; если там записаны имена кластера, запись не совпадет и защита не сработает. Для серверной боевой базы указывать в записи сервер и имя базы СУБД либо не выполнять изменяющие операции без явной команды пользователя.
  • set-properties -SecurityProfileName в одном вызове с другими свойствами может вернуть безопасный режим во включенное состояние (замер 8.3.27.1989): после вызова проверить свойства командой list.

Примеры

# Список расширений файловой базы
powershell.exe -NoProfile -File skills/1c-db-cfe-admin/scripts/db-cfe-admin.ps1 list -InfoBasePath "C:\Bases\MyDB"

# Проверка применимости расширения
powershell.exe -NoProfile -File skills/1c-db-cfe-admin/scripts/db-cfe-admin.ps1 check -InfoBasePath "C:\Bases\MyDB" -Name "МоеРасширение"

# Снять безопасный режим и оставить расширение активным
powershell.exe -NoProfile -File skills/1c-db-cfe-admin/scripts/db-cfe-admin.ps1 set-properties -InfoBasePath "C:\Bases\MyDB" -Name "МоеРасширение" -SafeMode no -Active yes

# Удаление
powershell.exe -NoProfile -File skills/1c-db-cfe-admin/scripts/db-cfe-admin.ps1 delete -InfoBasePath "C:\Bases\MyDB" -Name "МоеРасширение"

# Команда без запуска
powershell.exe -NoProfile -File skills/1c-db-cfe-admin/scripts/db-cfe-admin.ps1 delete -InfoBasePath "C:\Bases\MyDB" -Name "МоеРасширение" -WhatIf

Signals

GitHub stars
74
Forks
16
Last commit
Sep 2026

ahel review

  • K5info
    obfuscation (in scripts/db-cfe-admin.ps1)

Automated review, not a security audit. Ruleset v1+k2.

Others that do the same job

Advanced
Item type
skill
Key
x-1c-db-cfe-admin
Source
github.com/desko77/claude-code-skills-1c