From 89496f535d066f92c419d98595679a8131ea62fe Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Mon, 22 Jun 2026 13:07:28 +0300 Subject: [PATCH] =?UTF-8?q?docs(db,epf,erf):=20ibcmd=20=E2=80=94=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=82-=D0=B8=D0=BD,=20=D1=83=D0=B1=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B4=D1=83=D0=B1=D0=BB=D1=8C=20=D0=B0=D0=B2=D1=82?= =?UTF-8?q?=D0=BE=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BF=D0=BB=D0=B0=D1=82=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit По итогам обсуждения: ibcmd оставляем на усмотрение опытных пользователей, не светим в основном потоке инструкций. - Убраны развёрнутые врезки «Если -V8Path указывает на ibcmd.exe — …» во всех SKILL.md. Упоминание остаётся только в описании параметра -V8Path (1cv8.exe / ibcmd.exe); ограничения и так enforced скриптом (чистая ошибка на серверной базе / -Format Plain / -AllExtensions). - Заменена неактуальная и дублирующая строка автоопределения платформы («Get-ChildItem … Sort -Desc | Select -First 1») — скрипт сам резолвит платформу (реестр → числовая сортировка → Program Files [+ x86]), модели не нужно дублировать ручной поиск. Только SKILL.md, скрипты и версии не затронуты. EOL/BOM сохранён. Co-Authored-By: Claude Opus 4.8 (1M context) --- .claude/skills/db-create/SKILL.md | 4 +--- .claude/skills/db-dump-cf/SKILL.md | 4 +--- .claude/skills/db-dump-dt/SKILL.md | 4 +--- .claude/skills/db-dump-xml/SKILL.md | 4 +--- .claude/skills/db-load-cf/SKILL.md | 4 +--- .claude/skills/db-load-dt/SKILL.md | 4 +--- .claude/skills/db-load-git/SKILL.md | 4 +--- .claude/skills/db-load-xml/SKILL.md | 4 +--- .claude/skills/db-run/SKILL.md | 2 +- .claude/skills/db-update/SKILL.md | 4 +--- .claude/skills/epf-build/SKILL.md | 4 +--- .claude/skills/epf-dump/SKILL.md | 4 +--- .claude/skills/erf-build/SKILL.md | 2 +- .claude/skills/erf-dump/SKILL.md | 2 +- 14 files changed, 14 insertions(+), 36 deletions(-) diff --git a/.claude/skills/db-create/SKILL.md b/.claude/skills/db-create/SKILL.md index 1667d9fd..21cfda61 100644 --- a/.claude/skills/db-create/SKILL.md +++ b/.claude/skills/db-create/SKILL.md @@ -25,7 +25,7 @@ allowed-tools: ## Параметры подключения Прочитай `.v8-project.json` из корня проекта для `v8path` (путь к платформе). -Если `v8path` не задан — автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). После создания базы предложи зарегистрировать через `/db-list add`. ## Команда @@ -47,8 +47,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-create.ps1" <п | `-ListName <имя>` | нет | Имя базы в списке | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — операция идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются **только файловые базы** (`-InfoBasePath`). ## После создания diff --git a/.claude/skills/db-dump-cf/SKILL.md b/.claude/skills/db-dump-cf/SKILL.md index 60f853fe..faf43e76 100644 --- a/.claude/skills/db-dump-cf/SKILL.md +++ b/.claude/skills/db-dump-cf/SKILL.md @@ -28,7 +28,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. @@ -53,8 +53,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-dump-cf.ps1" <п | `-AllExtensions` | нет | Выгрузить все расширения | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — операция идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются **только файловые базы** (`-InfoBasePath`). ## Примеры diff --git a/.claude/skills/db-dump-dt/SKILL.md b/.claude/skills/db-dump-dt/SKILL.md index 76cdd197..3bb393ad 100644 --- a/.claude/skills/db-dump-dt/SKILL.md +++ b/.claude/skills/db-dump-dt/SKILL.md @@ -31,7 +31,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. @@ -54,8 +54,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-dump-dt.ps1" <п | `-OutputFile <путь>` | да | Путь к выходному DT-файлу | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — выгрузка идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются **только файловые базы** (`-InfoBasePath`). ## Примеры diff --git a/.claude/skills/db-dump-xml/SKILL.md b/.claude/skills/db-dump-xml/SKILL.md index 3199f5fa..69e3ba04 100644 --- a/.claude/skills/db-dump-xml/SKILL.md +++ b/.claude/skills/db-dump-xml/SKILL.md @@ -29,7 +29,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. Если в записи базы указан `configSrc` — используй как каталог выгрузки по умолчанию. @@ -58,8 +58,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-dump-xml.ps1" < | `-Format <формат>` | нет | `Hierarchical` (по умолч.) / `Plain` | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — операция идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются **только файловые базы** (`-InfoBasePath`). ### Режимы выгрузки diff --git a/.claude/skills/db-load-cf/SKILL.md b/.claude/skills/db-load-cf/SKILL.md index 53d056e2..e989979c 100644 --- a/.claude/skills/db-load-cf/SKILL.md +++ b/.claude/skills/db-load-cf/SKILL.md @@ -29,7 +29,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. @@ -54,8 +54,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-cf.ps1" <п | `-AllExtensions` | нет | Загрузить все расширения из архива | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — операция идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются **только файловые базы** (`-InfoBasePath`). ## После выполнения diff --git a/.claude/skills/db-load-dt/SKILL.md b/.claude/skills/db-load-dt/SKILL.md index d08ed2ec..9cd07565 100644 --- a/.claude/skills/db-load-dt/SKILL.md +++ b/.claude/skills/db-load-dt/SKILL.md @@ -45,7 +45,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. @@ -70,8 +70,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-dt.ps1" <п | `-UnlockCode <код>` | нет | Код разблокировки (`/UC`), если заблокировано начало сеансов | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — загрузка идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются **только файловые базы** (`-InfoBasePath`). Базу создаст при отсутствии. ## После выполнения diff --git a/.claude/skills/db-load-git/SKILL.md b/.claude/skills/db-load-git/SKILL.md index 11a544c9..2915f308 100644 --- a/.claude/skills/db-load-git/SKILL.md +++ b/.claude/skills/db-load-git/SKILL.md @@ -30,7 +30,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. Если в записи базы указан `configSrc` — используй как каталог конфигурации. @@ -61,8 +61,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-git.ps1" < | `-UpdateDB` | нет | После загрузки сразу обновить конфигурацию БД (`/UpdateDBCfg`) | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — загрузка идёт через автономный сервер (`config import files`); поддерживаются **только файловые базы** (`-InfoBasePath`). ## После выполнения diff --git a/.claude/skills/db-load-xml/SKILL.md b/.claude/skills/db-load-xml/SKILL.md index ef054f2c..3cfb283c 100644 --- a/.claude/skills/db-load-xml/SKILL.md +++ b/.claude/skills/db-load-xml/SKILL.md @@ -30,7 +30,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. Если в записи базы указан `configSrc` — используй как каталог загрузки по умолчанию. @@ -61,8 +61,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-load-xml.ps1" < | `-UpdateDB` | нет | После загрузки сразу обновить конфигурацию БД (`/UpdateDBCfg`) | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — операция идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются **только файловые базы** (`-InfoBasePath`). ### Режимы загрузки diff --git a/.claude/skills/db-run/SKILL.md b/.claude/skills/db-run/SKILL.md index c62ce4be..2c0ac7f3 100644 --- a/.claude/skills/db-run/SKILL.md +++ b/.claude/skills/db-run/SKILL.md @@ -29,7 +29,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. diff --git a/.claude/skills/db-update/SKILL.md b/.claude/skills/db-update/SKILL.md index 4a874ef7..fc788e1b 100644 --- a/.claude/skills/db-update/SKILL.md +++ b/.claude/skills/db-update/SKILL.md @@ -28,7 +28,7 @@ allowed-tools: 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` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если файла нет — предложи `/db-list add`. Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. @@ -55,8 +55,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-update.ps1" <п | `-WarningsAsErrors` | нет | Предупреждения считать ошибками | > `*` — нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef` -> -> Если `-V8Path` указывает на `ibcmd.exe` — операция идёт через автономный сервер (быстрее, без запуска платформы); поддерживаются **только файловые базы** (`-InfoBasePath`). ### Фоновое обновление (серверная база) diff --git a/.claude/skills/epf-build/SKILL.md b/.claude/skills/epf-build/SKILL.md index 702c73ec..de59cc49 100644 --- a/.claude/skills/epf-build/SKILL.md +++ b/.claude/skills/epf-build/SKILL.md @@ -34,7 +34,7 @@ allowed-tools: 5. Если ветка не совпала — используй `default` 6. Если `.v8-project.json` нет или база не найдена — не указывай параметры подключения: скрипт автоматически создаст временную базу. Для EPF со ссылочными типами (CatalogRef, DocumentRef и т.д.) генерируются заглушки метаданных. Временная база удаляется после сборки. -Если `v8path` не задан — автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. ## Команда @@ -56,8 +56,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/epf-build.ps1" <п | `-SourceFile <путь>` | да | Путь к корневому XML-файлу исходников | | `-OutputFile <путь>` | да | Путь к выходному EPF/ERF-файлу | -> Если `-V8Path` указывает на `ibcmd.exe` — сборка идёт через автономный сервер (offline, быстрее; **только файловые базы**; для обработок со ссылочными типами stub-база тоже создаётся через ibcmd). - > `*` — опционально. Если не указано — автоматически создаётся временная база со заглушками метаданных ## Примеры diff --git a/.claude/skills/epf-dump/SKILL.md b/.claude/skills/epf-dump/SKILL.md index 4c056517..b6057563 100644 --- a/.claude/skills/epf-dump/SKILL.md +++ b/.claude/skills/epf-dump/SKILL.md @@ -33,7 +33,7 @@ allowed-tools: 5. Если ветка не совпала — используй `default` 6. Если `.v8-project.json` нет или база не найдена — **сообщи пользователю об ошибке**. Для dump база обязательна: в пустой базе ссылочные типы (CatalogRef, DocumentRef и т.д.) безвозвратно сбрасываются в строки. Предложи указать базу или зарегистрировать через `/db-list add`. -Если `v8path` не задан — автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. ## Команда @@ -57,8 +57,6 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/epf-dump.ps1" <па | `-Format <формат>` | нет | `Hierarchical` (по умолч.) / `Plain` | > `*` — обязательно хотя бы одно подключение. Без базы скрипт завершится с ошибкой (dump в пустой базе безвозвратно теряет ссылочные типы) -> -> Если `-V8Path` указывает на `ibcmd.exe` — разборка идёт через автономный сервер (offline; **только файловые базы**; `-Format Plain` не поддерживается). ## Примеры diff --git a/.claude/skills/erf-build/SKILL.md b/.claude/skills/erf-build/SKILL.md index c87e85ba..860505b1 100644 --- a/.claude/skills/erf-build/SKILL.md +++ b/.claude/skills/erf-build/SKILL.md @@ -34,7 +34,7 @@ allowed-tools: 5. Если ветка не совпала — используй `default` 6. Если `.v8-project.json` нет или база не найдена — не указывай параметры подключения: скрипт автоматически создаст временную базу. Для ERF со ссылочными типами (CatalogRef, DocumentRef и т.д.) генерируются заглушки метаданных. Временная база удаляется после сборки. -Если `v8path` не задан — автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. ## Команда diff --git a/.claude/skills/erf-dump/SKILL.md b/.claude/skills/erf-dump/SKILL.md index 3a05af7c..d79a66b7 100644 --- a/.claude/skills/erf-dump/SKILL.md +++ b/.claude/skills/erf-dump/SKILL.md @@ -33,7 +33,7 @@ allowed-tools: 5. Если ветка не совпала — используй `default` 6. Если `.v8-project.json` нет или база не найдена — **сообщи пользователю об ошибке**. Для dump база обязательна: в пустой базе ссылочные типы (CatalogRef, DocumentRef и т.д.) безвозвратно сбрасываются в строки. Предложи указать базу или зарегистрировать через `/db-list add`. -Если `v8path` не задан — автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1` +Если `v8path` не задан — скрипт сам попытается определить платформу (`.v8-project.json` → Program Files). Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. ## Команда