From 19d62afb294370787ebaf9c742b5da8ff481ebde Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 23 Aug 2026 13:29:55 +0300 Subject: [PATCH] =?UTF-8?q?docs(db-list):=20=D1=81=D1=85=D0=B5=D0=BC=D0=B0?= =?UTF-8?q?=20=D1=85=D1=80=D0=B0=D0=BD=D0=B8=D0=BB=D0=B8=D1=89=D0=B0=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D0=B2=20=D1=80=D0=B5=D0=B5=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B5=20=D0=B1=D0=B0=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit db-list/SKILL.md — фактическая спека .v8-project.json, которую читает модель, и без repository она давала неполную картину: база под хранилищем не принимает ни одной операции конфигуратора без реквизитов доступа, причём это касается не только db-repo, но и всей группы загрузки-выгрузки. Добавлены repository и extensions[] в пример и таблицу полей, раздел с описанием обоих (включая то, что у расширения своё хранилище со своим путём, а пользователь хранилища не наследуется от пользователя базы), пункт в интерактивный сценарий добавления базы и форма ключей доступа в разделе про строку подключения. Co-Authored-By: Claude Opus 5 --- .claude/skills/db-list/SKILL.md | 47 ++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/.claude/skills/db-list/SKILL.md b/.claude/skills/db-list/SKILL.md index 8fa8477e5..37825da82 100644 --- a/.claude/skills/db-list/SKILL.md +++ b/.claude/skills/db-list/SKILL.md @@ -40,7 +40,19 @@ allowed-tools: "password": "", "aliases": ["dev", "разработка"], "branches": ["dev", "develop", "feature/*"], - "configSrc": "C:\\WS\\myapp\\cfsrc" + "configSrc": "C:\\WS\\myapp\\cfsrc", + "repository": { + "path": "\\\\srv01\\repo\\MyApp", + "user": "Ivanov", + "password": "" + }, + "extensions": [ + { + "name": "МоёРасширение", + "src": "src\\cfe\\МоёРасширение", + "repository": { "path": "\\\\srv01\\repo\\MyApp_Ext", "user": "Ivanov", "password": "" } + } + ] }, { "id": "test", @@ -82,6 +94,31 @@ allowed-tools: | `aliases` | string[] | нет | Альтернативные имена для быстрого доступа | | `branches` | string[] | нет | Git-ветки или glob-паттерны (`release/*`, `feature/*`), привязанные к этой базе | | `configSrc` | string | нет | Каталог XML-выгрузки конфигурации | +| `repository` | object | нет | Хранилище конфигурации: `path`, `user`, `password` (см. ниже) | +| `extensions` | array | нет | Расширения: `name`, `src`, необязательное `repository` (см. ниже) | + +### Хранилище конфигурации + +База, подключённая к хранилищу конфигурации 1С, **не принимает ни одной операции конфигуратора** +без реквизитов доступа к хранилищу — это касается не только `/db-repo`, но и `/db-load-xml`, +`/db-dump-xml`, `/db-update`, `/db-load-git`. Реквизиты берутся из `repository` записи базы, +передавать их в каждом вызове не нужно. + +| Поле | Тип | Обязательное | Описание | +|------|-----|:------------:|----------| +| `repository.path` | string | да | Каталог хранилища или `tcp://<сервер>/<имя>` | +| `repository.user` | string | нет | Пользователь **хранилища**. Не наследуется от `user` базы | +| `repository.password` | string | нет | Пароль пользователя хранилища | + +У расширения **своё хранилище** со своим путём, поэтому одного `repository` мало: + +| Поле | Тип | Обязательное | Описание | +|------|-----|:------------:|----------| +| `extensions[].name` | string | да | Имя расширения, как в конфигурации | +| `extensions[].src` | string | нет | Каталог XML-исходников расширения | +| `extensions[].repository` | object | нет | Хранилище расширения. Расширение без хранилища — обычный случай | + +Пароль хранилища — такой же секрет, как `password` базы; `.v8-project.json` в `.gitignore`. ## Алгоритм разрешения базы данных @@ -128,6 +165,7 @@ test Тестовая server srv01/MyApp_Test - path (для file) или server + ref (для server) - user, password (необязательно) - aliases, branches (необязательно) +- если база под хранилищем конфигурации — `repository`: путь, пользователь, пароль Добавь в массив `databases`. Если это первая база — установи как `default`. @@ -159,3 +197,10 @@ test Тестовая server srv01/MyApp_Test ``` > **Важно**: между `/N` и именем пробела нет. Между `/P` и паролем пробела нет. Если пароль пустой — опусти `/P` целиком. + +**Хранилище конфигурации** (если у базы задан `repository`) — скрипты навыков подставляют +сами, сопоставляя параметры соединения с записью реестра: +``` +/ConfigurationRepositoryF"" /ConfigurationRepositoryN"" /ConfigurationRepositoryP"" +``` +