/db-load-xml - Загрузка конфигурации из XML

SkillFiles & storage

Loading a 1C configuration from XML files. Use when the user asks to load a configuration from files, XML, sources, LoadConfigFromFiles

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-load-xml - Загрузка конфигурации из XML skill

What this skill tells your AI

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

Загружает конфигурацию в информационную базу из XML-файлов (исходников). Поддерживает полную и частичную загрузку.

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

Usage

/db-load-xml <configDir> [database]
/db-load-xml src/config dev
/db-load-xml src/config dev -Mode Partial -Files "Catalogs/Номенклатура.xml,Catalogs/Номенклатура/Ext/ObjectModule.bsl"

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

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

Прочитай .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. Если в записи базы указан configSrc - используй как каталог загрузки по умолчанию.

Команда

powershell.exe -NoProfile -File skills/1c-db-load-xml/scripts/db-load-xml.ps1 <параметры>

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

ПараметрОбязательныйОписание
-V8Path <путь>нетКаталог bin платформы (или полный путь к 1cv8.exe)
-InfoBasePath <путь>*Файловая база
-InfoBaseServer <сервер>*Сервер 1С (для серверной базы)
-InfoBaseRef <имя>*Имя базы на сервере
-UserName <имя>нетИмя пользователя
-Password <пароль>нетПароль
-ConfigDir <путь>даКаталог XML-исходников
-Mode <режим>нетFull (по умолч.) / Partial
-Files <список>для PartialОтносительные пути файлов через запятую
-ListFile <путь>для PartialПуть к файлу со списком (альтернатива -Files)
-Extension <имя>нетЗагрузить в расширение
-AllExtensionsнетЗагрузить все расширения
-Format <формат>нетHierarchical (по умолч.) / Plain
-UpdateDBнетПосле загрузки сразу обновить конфигурацию БД (/UpdateDBCfg)
-StrictLogнетОтказ в журнале поднимает код возврата до 1, даже если платформа вернула 0

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

Режимы загрузки

РежимОписание
FullПолная загрузка - замена всей конфигурации из каталога XML
PartialЧастичная - загрузка выбранных файлов (с -partial -updateConfigDumpInfo)

Формат файла списка (listFile)

Файл содержит относительные пути к файлам в каталоге выгрузки (один на строку), кодировка UTF-8 с BOM:

Catalogs/Номенклатура.xml
Catalogs/Номенклатура/Ext/ObjectModule.bsl
Documents/Заказ.xml
Documents/Заказ/Forms/ФормаДокумента.xml

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

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

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

  1. Прочитай лог и покажи результат
  2. Если -UpdateDB не был указан - предложи выполнить /db-update для применения изменений к БД

Примеры

# Полная загрузка
powershell.exe -NoProfile -File skills/1c-db-load-xml/scripts/db-load-xml.ps1 -V8Path "C:\Program Files\1cv8\8.3.25.1257\bin" -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -ConfigDir "C:\WS\cfsrc" -Mode Full

# Частичная загрузка конкретных файлов
powershell.exe -NoProfile -File skills/1c-db-load-xml/scripts/db-load-xml.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -ConfigDir "C:\WS\cfsrc" -Mode Partial -Files "Catalogs/Номенклатура.xml,Catalogs/Номенклатура/Ext/ObjectModule.bsl"

# Загрузка расширения
powershell.exe -NoProfile -File skills/1c-db-load-xml/scripts/db-load-xml.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -ConfigDir "C:\WS\ext_src" -Mode Full -Extension "МоеРасширение"

# Загрузка + обновление БД в одном запуске
powershell.exe -NoProfile -File skills/1c-db-load-xml/scripts/db-load-xml.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -ConfigDir "C:\WS\cfsrc" -Mode Full -UpdateDB

Troubleshooting загрузки расширений

Загрузка виснет на 60+ секунд, /Out пустой, без ошибки

Причина: блок прав на новый Enum в Roles/<Role>/Ext/Rights.xml.

EDT при выгрузке роли в XML может включить в Rights.xml блок:

<object>
    <name>Enum.<НовоеПеречисление></name>
    <right><name>Read</name><value>true</value></right>
    <right><name>View</name><value>true</value></right>
</object>

Платформа 8.3.27 (DESIGNER) виснет на резолве этих прав при LoadConfigFromFiles -Extension. Обходной путь - удалить блок из Rights.xml перед загрузкой:

# Pre-flight check: найти права на Enum в ролях расширения
Get-ChildItem -Path "$ConfigDir\Roles" -Recurse -Filter "Rights.xml" | ForEach-Object {
    $content = Get-Content $_.FullName -Raw
    if ($content -match '<name>Enum\.[^<]+</name>') {
        Write-Warning "Найдены права на Enum в $($_.FullName) - могут вызвать зависание загрузки"
    }
}

После удаления - перевыгрузить роль в EDT (снять права на Enum) или отредактировать Rights.xml перед каждой загрузкой.

Сборка диагностики при зависании

  1. Прибить процесс: Get-Process -Name '1cv8' | Stop-Process -Force
  2. Удалить лок: Remove-Item "<DbPath>\1Cv8.cfl" -Force
  3. Включить технологический журнал и повторить - см. logcfg.xml в C:\Program Files\1cv8\conf\
  4. Если /Out пустой 60+ сек - почти наверняка проблема в Rights.xml ролей или в кросс-ссылках между новыми объектами

Двухпроходная загрузка (для проблемных расширений)

Если расширение добавляет новые объекты + роль с правами на них:

# Проход 1: все кроме роли (или с минимальной ролью)
db-load-xml.ps1 -ConfigDir <path-without-role> -Extension <name> -UpdateDB

# Проход 2: полная выгрузка с ролью (объекты уже в БД-схеме)
db-load-xml.ps1 -ConfigDir <full-path> -Extension <name> -UpdateDB

Signals

GitHub stars
61
Forks
14
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
x-1c-db-load-xml
Source
github.com/desko77/claude-code-skills-1c