mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-28 22:19:41 +03:00
feat(db-repo): правила захвата, нулевой шаг цикла и диагностика по отчёту субагента
Проверка навыка субагентом на сквозном сценарии вскрыла фактическую ошибку в инструкции: реквизиты и табличные части перечислялись наравне с формами как захватываемые объекты. Платформа их объектами не считает — список объектов получается пустым, причём без секции «отсутствующие в конфигурации». Правишь реквизит, табличную часть, измерение, ресурс или модуль — захватывай владельца; формы, макеты и команды захватываются отдельно. Сообщение «объект не найден» имеет три разные причины: опечатка, отставание базы от хранилища и попытка захватить то, что объектом не является. Теперь перечислены все три. В цикл добавлен нулевой шаг — получение актуального состояния перед началом работы: правки должны опираться на актуальные версии в том числе тех объектов, которые не меняются, но используются. Загрузка и обновление БД слиты в один шаг через -UpdateDB, поэтому цикл не удлинился. Захват корня конфигурации с -WithChildren отклоняется: это захват всей конфигурации, а выглядит как захват корня. Для всей конфигурации есть однозначная форма — вызов без -Objects. Текстовый отчёт печатается, а не только сохраняется в файл. Схема repository и extensions[] описана в docs/v8-project-guide.md, цикл под хранилищем — в docs/db-guide.md. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
478e7489f9
commit
3e816d3e12
@@ -15,6 +15,7 @@
|
||||
| `/db-update` | — | Обновление конфигурации БД |
|
||||
| `/db-run` | — | Запуск 1С:Предприятие |
|
||||
| `/db-load-git` | `.ps1` | Загрузка изменений из Git в базу |
|
||||
| `/db-repo` | `.ps1` | Хранилище конфигурации: захват, помещение, получение изменений |
|
||||
|
||||
## Рабочий цикл
|
||||
|
||||
@@ -35,6 +36,31 @@
|
||||
7. **Обновление** — `/db-update` применить
|
||||
8. **Запуск** — `/db-run` открыть предприятие
|
||||
|
||||
## Работа с хранилищем конфигурации
|
||||
|
||||
База, подключённая к хранилищу, живёт по другим правилам, и это меняет весь цикл:
|
||||
|
||||
- **полная загрузка XML в неё невозможна** — платформа отвечает «текущая конфигурация помещена в
|
||||
хранилище». Работает только `-Mode Partial`;
|
||||
- частичная загрузка проходит **только по захваченным** объектам, иначе отказ с именем объекта;
|
||||
- **новый объект требует захвата корня конфигурации** — без него частичная загрузка не пройдёт;
|
||||
- любой команде конфигуратора нужны реквизиты хранилища. Их берут из `repository` записи базы
|
||||
(см. [справочник .v8-project.json](v8-project-guide.md)), передавать в каждом вызове не нужно.
|
||||
|
||||
Цикл разработки под хранилищем:
|
||||
|
||||
```
|
||||
/db-repo update → /db-repo lock → /db-dump-xml -Mode Partial → правки
|
||||
↓
|
||||
/db-repo commit ← /db-load-xml -Mode Partial -UpdateDB
|
||||
```
|
||||
|
||||
Выгрузка после захвата обязательна: захват и обновление молча подтягивают из хранилища свежие
|
||||
версии объектов, и загрузка исходников, снятых раньше, откатит чужие изменения без единой ошибки.
|
||||
`/db-repo` печатает список полученных объектов и готовую команду выгрузки.
|
||||
|
||||
Подробности — в SKILL.md навыка `/db-repo`.
|
||||
|
||||
## Формат `.v8-project.json`
|
||||
|
||||
Полное описание формата — в [справочнике .v8-project.json](v8-project-guide.md).
|
||||
|
||||
Reference in New Issue
Block a user