From 1eb565b1d1cb87b297c3ab2203832c7f4b2ad00e Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sun, 23 Aug 2026 17:10:42 +0300 Subject: [PATCH] =?UTF-8?q?fix(db-repo):=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9?= =?UTF-8?q?=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=E2=80=94=20=D0=B7=D0=B0=D1=85=D0=B2=D0=B0=D1=82=D1=8B=D0=B2?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA?= =?UTF-8?q?=D0=BE=20=D0=BA=D0=BE=D1=80=D0=B5=D0=BD=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Инструкция велела захватывать «объект и корень». Объекта ещё нет ни в базе, ни в хранилище, поэтому список отвергается целиком — «Загруженный список объектов пуст» — и корень тоже не достаётся: модель осталась бы вовсе без захвата. Верный порядок такой же, как у новой формы или макета: захватываем то, что существует (корень), частичная загрузка создаёт объект, и при помещении он называется вместе с корнем. Пример в SKILL.md разделён на два шага. Co-Authored-By: Claude Opus 5 --- .claude/skills/db-repo/SKILL.md | 9 ++++++--- .claude/skills/db-repo/scripts/db-repo.ps1 | 2 +- .claude/skills/db-repo/scripts/db-repo.py | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.claude/skills/db-repo/SKILL.md b/.claude/skills/db-repo/SKILL.md index e07529a2d..d7bad5d52 100644 --- a/.claude/skills/db-repo/SKILL.md +++ b/.claude/skills/db-repo/SKILL.md @@ -56,7 +56,7 @@ allowed-tools: | Реквизит, табличную часть, измерение, ресурс, модуль объекта | сам объект: `Справочник.Контрагенты` | | Существующую форму, макет, команду | её саму: `Справочник.Контрагенты.Форма.ФормаЭлемента` | | Добавляешь новую форму, макет, команду | объект-владельца; при помещении назови и новый объект | -| Добавляешь новый объект конфигурации | объект и корень: `Конфигурация,Справочник.Склады` | +| Добавляешь новый объект конфигурации | только корень: `Конфигурация`. Самого объекта ещё нет — захватить его нельзя; при помещении назови и его | Захватывай минимум того, что правишь: чем шире захват, тем больше конфликтов с коллегами. Захват объекта его формы и макеты не захватывает — для этого есть `-WithChildren`. @@ -176,8 +176,11 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Comma # Захватить справочник вместе с подчинёнными объектами powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command lock -InfoBasePath "C:\Bases\MyDB" -Objects "Справочник.Номенклатура" -WithChildren -# Захватить корень вместе с новым объектом -powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command lock -InfoBasePath "C:\Bases\MyDB" -Objects "Конфигурация,Справочник.Склады" +# Захватить корень — он нужен, чтобы добавить или удалить объект конфигурации +powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command lock -InfoBasePath "C:\Bases\MyDB" -Objects "Конфигурация" + +# Поместить новый объект: он уже существует, поэтому называется вместе с корнем +powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command commit -InfoBasePath "C:\Bases\MyDB" -Objects "Конфигурация,Справочник.Склады" -Comment "Добавлен справочник Склады" # Поместить с комментарием, оставив захват powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command commit -InfoBasePath "C:\Bases\MyDB" -Objects "Справочник.Номенклатура" -Comment "Добавлен реквизит Артикул" -KeepLocked diff --git a/.claude/skills/db-repo/scripts/db-repo.ps1 b/.claude/skills/db-repo/scripts/db-repo.ps1 index 95bd5b1e3..74a6b079c 100644 --- a/.claude/skills/db-repo/scripts/db-repo.ps1 +++ b/.claude/skills/db-repo/scripts/db-repo.ps1 @@ -1,4 +1,4 @@ -# db-repo v1.11 — 1C configuration repository operations +# db-repo v1.12 — 1C configuration repository operations # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # NB: движок только 1cv8 — ibcmd работу с хранилищем не поддерживает (нет такого режима). <# diff --git a/.claude/skills/db-repo/scripts/db-repo.py b/.claude/skills/db-repo/scripts/db-repo.py index a11a645ad..1ba9eaf69 100644 --- a/.claude/skills/db-repo/scripts/db-repo.py +++ b/.claude/skills/db-repo/scripts/db-repo.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# db-repo v1.12 — 1C configuration repository operations +# db-repo v1.13 — 1C configuration repository operations # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # NB: движок только 1cv8 — ibcmd работу с хранилищем не поддерживает (нет такого режима). """Работа с хранилищем конфигурации 1С.