mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-26 15:04:34 +03:00
c172cf142a
- .v8-project.example.json в корне как шаблон (без секретов, коммитится; точное имя .v8-project.json остаётся в .gitignore). Версия платформы и configSrc=src\cf под рекомендуемую структуру. - v8-project-guide: раздел «Рекомендуемая структура проекта» (src/cf, src/cfe/<Имя>, src/epf/<Имя>, src/erf/<Имя>), упоминание шаблона, configSrc-примеры → src\cf, нейтральный раздел про выбор движка 1cv8/ibcmd. - db-guide: нейтральный раздел «Движок: 1cv8 или ibcmd» (по умолчанию конфигуратор; ibcmd — на усмотрение пользователя через -V8Path в задаче или файл ibcmd.exe в v8path). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
129 lines
7.1 KiB
Markdown
129 lines
7.1 KiB
Markdown
# Базы данных 1С
|
||
|
||
Навыки группы `/db-*` позволяют управлять информационными базами 1С из Claude Code: создавать базы, загружать и выгружать конфигурации, обновлять БД, запускать предприятие, загружать изменения из Git.
|
||
|
||
## Навыки
|
||
|
||
| Навык | Скрипт | Описание |
|
||
|-------|:------:|----------|
|
||
| `/db-list` | — | Управление реестром баз (.v8-project.json) |
|
||
| `/db-create` | — | Создание информационной базы |
|
||
| `/db-dump-cf` | — | Выгрузка конфигурации в CF-файл |
|
||
| `/db-load-cf` | — | Загрузка конфигурации из CF-файла |
|
||
| `/db-dump-xml` | `.ps1` | Выгрузка конфигурации в XML-файлы (полная/инкрементальная/частичная) |
|
||
| `/db-load-xml` | `.ps1` | Загрузка конфигурации из XML-файлов (полная/частичная) |
|
||
| `/db-update` | — | Обновление конфигурации БД |
|
||
| `/db-run` | — | Запуск 1С:Предприятие |
|
||
| `/db-load-git` | `.ps1` | Загрузка изменений из Git в базу |
|
||
|
||
## Рабочий цикл
|
||
|
||
```
|
||
.v8-project.json → /db-create → /db-load-cf или /db-load-xml → /db-update → /db-run
|
||
↑
|
||
/db-dump-xml ←→ правки в исходниках → /db-load-git → /db-update
|
||
```
|
||
|
||
### Типичный цикл разработки
|
||
|
||
1. **Настройка** — `/db-list add` зарегистрировать базу в `.v8-project.json`
|
||
2. **Создание** — `/db-create` создать базу (если нет)
|
||
3. **Загрузка** — `/db-load-xml` или `/db-load-cf` загрузить конфигурацию
|
||
4. **Обновление** — `/db-update` применить к БД
|
||
5. **Работа** — редактирование XML-исходников
|
||
6. **Синхронизация** — `/db-load-git` загрузить изменения из Git
|
||
7. **Обновление** — `/db-update` применить
|
||
8. **Запуск** — `/db-run` открыть предприятие
|
||
|
||
## Формат `.v8-project.json`
|
||
|
||
Полное описание формата — в [справочнике .v8-project.json](v8-project-guide.md).
|
||
|
||
### Разрешение базы
|
||
|
||
Все навыки `db-*` (а также `epf-build`, `epf-dump`, `erf-build`, `erf-dump`) используют единый алгоритм:
|
||
|
||
1. Если пользователь указал **параметры подключения** (путь, сервер) — используй напрямую
|
||
2. Если указал **базу по имени** — ищи: `id` → `aliases` (с учётом морфологии) → `name` (нечёткое)
|
||
3. Если **не указал** — сопоставь текущую ветку Git с `branches` (точно или по glob-паттерну)
|
||
4. Fallback на `default`
|
||
5. Если не найдено — спроси пользователя
|
||
6. После выполнения: если использованная база не зарегистрирована — предложи добавить через `/db-list add`
|
||
|
||
## Сценарии использования
|
||
|
||
### Создать базу и загрузить конфигурацию
|
||
|
||
```
|
||
> Создай файловую базу C:\Bases\Test и загрузи в неё конфигурацию из C:\WS\cfsrc
|
||
```
|
||
|
||
Claude вызовет `/db-create` → `/db-load-xml -Mode Full` → предложит `/db-update`.
|
||
|
||
### Загрузить изменения из Git
|
||
|
||
```
|
||
> Загрузи мои последние правки в базу разработки
|
||
```
|
||
|
||
Claude вызовет `/db-load-git dev -Source All` → предложит `/db-update`.
|
||
|
||
### Выгрузить конфигурацию
|
||
|
||
```
|
||
> Выгрузи конфигурацию из тестовой базы в C:\WS\cfsrc
|
||
```
|
||
|
||
Claude вызовет `/db-dump-xml test C:\WS\cfsrc -Mode Full`.
|
||
|
||
### Работа с расширениями
|
||
|
||
```
|
||
> Выгрузи расширение МоёРасширение из базы dev в C:\WS\ext_src
|
||
```
|
||
|
||
Claude вызовет `/db-dump-xml dev C:\WS\ext_src -Extension МоёРасширение`.
|
||
|
||
```
|
||
> Загрузи расширение обратно в базу
|
||
```
|
||
|
||
Claude вызовет `/db-load-xml C:\WS\ext_src dev -Extension МоёРасширение` → предложит `/db-update -Extension МоёРасширение`.
|
||
|
||
### Запустить предприятие
|
||
|
||
```
|
||
> Запусти базу разработки
|
||
```
|
||
|
||
Claude вызовет `/db-run dev`.
|
||
|
||
## Движок: 1cv8 или ibcmd
|
||
|
||
По умолчанию навыки группы работают через конфигуратор (`1cv8.exe`; путь к нему определяется
|
||
автоматически по каталогу `v8path`) — менять это не нужно. При желании ту же операцию можно выполнить
|
||
через автономный сервер `ibcmd`. Для этого навыку нужно передать путь к самому файлу `ibcmd.exe`
|
||
(каталог `bin` всегда трактуется как `1cv8.exe`; отдельного поля-переключателя в `.v8-project.json` нет).
|
||
Путь указывают одним из двух способов:
|
||
|
||
- **разово, в самой задаче** — назвать полный путь к `ibcmd.exe`:
|
||
|
||
```
|
||
> Собери обработку, платформа C:\Program Files\1cv8\8.3.24.1691\bin\ibcmd.exe
|
||
```
|
||
- **в файле настроек** — прописать в `v8path` не каталог `bin`, а сам файл `...\bin\ibcmd.exe`
|
||
(тогда через `ibcmd` пойдут все операции).
|
||
|
||
Через `ibcmd` работают: `db-create`, `db-load-xml`/`db-dump-xml` (в том числе по отдельным объектам
|
||
и со всеми расширениями), `db-load-cf`/`db-dump-cf`, `db-load-dt`/`db-dump-dt`, `db-update`,
|
||
`db-load-git`, `epf-build`/`epf-dump`, `erf-build`/`erf-dump`.
|
||
|
||
Ограничения:
|
||
- только **файловые** базы (для серверных используйте конфигуратор);
|
||
- если запрошен режим, который `ibcmd` не поддерживает (например, выгрузка в «плоском» формате),
|
||
навык остановится с понятным сообщением и предложит конфигуратор.
|
||
|
||
## Спецификации
|
||
|
||
- [build-spec.md](build-spec.md) — пакетный режим конфигуратора 1С (CREATEINFOBASE, DESIGNER, ENTERPRISE, параметры, коды возврата)
|