--- name: db-load-xml description: Загрузка конфигурации 1С из XML-файлов. Используй когда пользователь просит загрузить конфигурацию из файлов, XML, исходников, LoadConfigFromFiles argument-hint: [database] allowed-tools: - Bash - Read - Glob - AskUserQuestion --- # /db-load-xml — Загрузка конфигурации из XML Загружает конфигурацию в информационную базу из XML-файлов (исходников). Поддерживает полную и частичную загрузку. ## Usage ``` /db-load-xml [database] /db-load-xml src/config dev /db-load-xml src/config dev -Mode Partial -Files "Catalogs/Номенклатура.xml,Catalogs/Номенклатура/Ext/ObjectModule.bsl" ``` > **Внимание**: полная загрузка **заменяет всю конфигурацию** в базе. Перед выполнением запроси подтверждение у пользователя. ## Разрешение базы данных 1. Прочитай `.v8-project.json` (в корне проекта или ближайшем родительском каталоге) 2. Если пользователь указал базу — найди по id/alias/branch/имени 3. Если не указал — используй `default` 4. Если не найдено или неоднозначно — спроси пользователя 5. Если файл не найден — спроси пользователя параметры подключения и предложи создать `.v8-project.json` Если в записи базы указан `configSrc` — используй его как каталог загрузки по умолчанию. Автоопределение платформы (если `v8path` не задан): ```powershell $v8 = Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort-Object -Descending | Select-Object -First 1 ``` ## Команда ```powershell powershell.exe -NoProfile -File .claude\skills\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` | > `*` — нужен либо `-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. **Предложи выполнить `/db-update`** — для применения изменений к БД ## Примеры ```powershell # Полная загрузка powershell.exe -NoProfile -File .claude\skills\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 .claude\skills\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 .claude\skills\db-load-xml\scripts\db-load-xml.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin" -ConfigDir "C:\WS\ext_src" -Mode Full -Extension "МоёРасширение" ```