/db-update - Обновление конфигурации БД

SkillDatabases & data

Updates the 1C database configuration. Use when the user asks to update the database, apply the configuration, or run UpdateDBCfg.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /db-update - Обновление конфигурации БД skill

What this skill tells your AI

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

Применяет изменения основной конфигурации к конфигурации базы данных (/UpdateDBCfg). Обязательный шаг после /db-load-cf, /db-load-xml, /db-load-git.

EDT MCP: Если проект открыт в EDT и доступен EDT MCP-сервер - используй update_database через MCP вместо этого скила. MCP поддерживает полное и инкрементальное обновление с автоматической реструктуризацией. Используй этот скил только если пользователь явно просит обновление через конфигуратор.

Usage

/db-update [database]
/db-update dev
/db-update dev -Dynamic+

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

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

  1. Если пользователь указал параметры подключения (путь, сервер) - используй напрямую
  2. Если указал базу по имени - ищи по id / alias / name в .v8-project.json
  3. Если не указал - сопоставь текущую ветку Git с databases[].branches
  4. Если ветка не совпала - используй 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 skills/1c-db-update/scripts/db-update.ps1 <параметры>

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

ПараметрОбязательныйОписание
-V8Path <путь>нетКаталог bin платформы (или полный путь к 1cv8.exe)
-InfoBasePath <путь>*Файловая база
-InfoBaseServer <сервер>*Сервер 1С (для серверной базы)
-InfoBaseRef <имя>*Имя базы на сервере
-UserName <имя>нетИмя пользователя
-Password <пароль>нетПароль
-Extension <имя>нетОбновить расширение
-AllExtensionsнетОбновить все расширения
-Dynamic <+/->нет+ - динамическое обновление, - - отключить
-ServerнетОбновление на стороне сервера
-WarningsAsErrorsнетПредупреждения считать ошибками (ключ платформы)
-StrictLogнетОтказ в журнале поднимает код возврата до 1, даже если платформа вернула 0
-CheckApplicabilityнетПеред обновлением проверить, применимо ли расширение к этой базе

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

Расширения: проверка применимости и путь отката

-CheckApplicability запускает проверку применимости расширения к конкретной базе до обновления. Она ловит то, что не видят ни синтаксический контроль, ни проверка XML: перехватчик, который ссылается на метод, переименованный поставщиком. Исходники при этом корректны, и отказ проявился бы уже на боевой базе. Проверка не меняет базу; при отказе обновление не выполняется.

Замена расширения необратима сама по себе, поэтому до обновления снимаются два РАЗНЫХ состояния: редактируемая конфигурация расширения и конфигурация базы (то, что исполняют сеансы). Возврат к конфигурации базы отменяет правку, но уничтожает непримененные изменения, которые были до операции - он допустим только тогда, когда редактируемое состояние уже сохранено.

Удаление расширения обратной операцией к замене не является: оно сносит объекты расширения и все его привязки к конфигурации вместе с вашей правкой. Для нового расширения, которого в базе еще не было, точкой восстановления служат исходники.

Фоновое обновление (серверная база)

ПараметрОписание
-BackgroundStartНачать фоновое обновление
-BackgroundFinishДождаться окончания
-BackgroundCancelОтменить
-BackgroundSuspendПриостановить
-BackgroundResumeВозобновить

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

КодОписание
0Успешно
1Ошибка (см. лог)

Предупреждения

  • Если обновление не динамическое - потребуется монопольный доступ к базе (все пользователи должны выйти)
  • Для серверных баз рекомендуется -Dynamic+ для обновления без остановки
  • Если структура данных существенно изменилась (удаление реквизитов, изменение типов) - динамическое обновление может быть невозможно

Примеры

# Обычное обновление (файловая база)
powershell.exe -NoProfile -File skills/1c-db-update/scripts/db-update.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin"

# Динамическое обновление (серверная база)
powershell.exe -NoProfile -File skills/1c-db-update/scripts/db-update.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -Dynamic "+"

# Обновление расширения
powershell.exe -NoProfile -File skills/1c-db-update/scripts/db-update.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -Extension "МоеРасширение"

Signals

GitHub stars
57
Forks
13
Last commit
Sep 2026

ahel recommends instead

Advanced
Catalog kind
skill
Gateway key
x-1c-db-update-desko77
Source
github.com/desko77/cursor-1c-skills