mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-16 02:43:14 +03:00
Add configuration root skills (4 new cf-* skills) and guide
New skills for working with root-level 1C configuration files: - cf-info: analyze configuration structure (3 modes: brief/overview/full) - cf-init: scaffold empty configuration (Configuration.xml, ConfigDumpInfo.xml, Languages/) - cf-validate: validate structural correctness (8 checks) - cf-edit: edit properties, ChildObjects, default roles (6 operations) Also adds docs/cf-guide.md and updates README and specs index. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,8 @@
|
||||
| `Ext/` | Модули, интерфейс, начальная страница | [1c-configuration-spec.md § 4](1c-configuration-spec.md#4-ext--корневой-каталог-конфигурации) |
|
||||
| `Languages/` | Языки конфигурации | [1c-configuration-spec.md § 5](1c-configuration-spec.md#5-языки-languages) |
|
||||
|
||||
**Навыки:** `/cf-info` (анализ), `/cf-init` (создание), `/cf-validate` (валидация), `/cf-edit` (редактирование)
|
||||
|
||||
---
|
||||
|
||||
## 2. Объекты метаданных
|
||||
|
||||
@@ -0,0 +1,182 @@
|
||||
# Корневые файлы конфигурации
|
||||
|
||||
Навыки группы `/cf-*` позволяют создавать, анализировать, редактировать и проверять корневые файлы конфигурации 1С — `Configuration.xml`, `ConfigDumpInfo.xml`, `Languages/`.
|
||||
|
||||
## Навыки
|
||||
|
||||
| Навык | Параметры | Описание |
|
||||
|-------|-----------|----------|
|
||||
| `/cf-info` | `<ConfigPath> [-Mode overview\|brief\|full]` | Анализ конфигурации: свойства, состав, счётчики объектов (3 режима) |
|
||||
| `/cf-init` | `<Name> [-Synonym] [-OutputDir] [-Version] [-Vendor]` | Создание пустой конфигурации (scaffold XML-исходников) |
|
||||
| `/cf-validate` | `<ConfigPath> [-MaxErrors 30]` | Валидация структурной корректности (8 проверок) |
|
||||
| `/cf-edit` | `<ConfigPath> -Operation <op> -Value "<val>"` | Редактирование свойств, состава ChildObjects, ролей по умолчанию (6 операций) |
|
||||
|
||||
## Рабочий цикл
|
||||
|
||||
```
|
||||
Описание (текст) → /cf-init → XML-исходники → /cf-validate
|
||||
↕ /cf-edit → /cf-info
|
||||
```
|
||||
|
||||
1. `/cf-init` создаёт scaffold пустой конфигурации (Configuration.xml, ConfigDumpInfo.xml, Languages/)
|
||||
2. `/cf-edit` вносит изменения: свойства, объекты в ChildObjects, роли по умолчанию
|
||||
3. `/cf-validate` проверяет корректность XML (структура, enum-значения, ссылки, каталоги)
|
||||
4. `/cf-info` выводит компактную сводку для визуальной проверки
|
||||
|
||||
## cf-info — режимы вывода
|
||||
|
||||
### brief — одна строка
|
||||
|
||||
```
|
||||
Конфигурация: БухгалтерияПредприятия — "Бухгалтерия предприятия" v3.0.181.31 | 2847 объектов | Version8_3_24
|
||||
```
|
||||
|
||||
### overview (по умолчанию) — заголовок + ключевые свойства + счётчики
|
||||
|
||||
```
|
||||
Конфигурация: ТестКонфигурация — "Тестовая конфигурация"
|
||||
Version: 2.0.0.1
|
||||
Vendor: TestCompany
|
||||
Compatibility: Version8_3_24
|
||||
DefaultLanguage: Language.Русский
|
||||
|
||||
Объекты (4 шт.):
|
||||
Language 1
|
||||
Role 1
|
||||
Catalog 1
|
||||
Document 1
|
||||
```
|
||||
|
||||
### full — все свойства + полный список объектов
|
||||
|
||||
Выводит все свойства по категориям (скалярные, enum, ref), полный список ChildObjects поимённо, DefaultRoles и мобильные функциональности.
|
||||
|
||||
## cf-edit — операции
|
||||
|
||||
### Свойства
|
||||
|
||||
```powershell
|
||||
# Скалярные и enum
|
||||
-Operation modify-property -Value "Version=2.0.0.1 ;; Vendor=Фирма 1С ;; CompatibilityMode=Version8_3_27"
|
||||
|
||||
# Многоязычные (LocalString)
|
||||
-Operation modify-property -Value "Synonym=Моя конфигурация ;; Copyright=ООО Фирма"
|
||||
|
||||
# Ссылка
|
||||
-Operation modify-property -Value "DefaultLanguage=Language.Русский"
|
||||
```
|
||||
|
||||
Поддерживаемые свойства:
|
||||
|
||||
| Категория | Свойства |
|
||||
|-----------|----------|
|
||||
| Скалярные | `Name`, `Version`, `Vendor`, `Comment`, `NamePrefix`, `UpdateCatalogAddress` |
|
||||
| LocalString | `Synonym`, `BriefInformation`, `DetailedInformation`, `Copyright`, `VendorInformationAddress`, `ConfigurationInformationAddress` |
|
||||
| Enum | `CompatibilityMode`, `ConfigurationExtensionCompatibilityMode`, `DefaultRunMode`, `ScriptVariant`, `DataLockControlMode`, `ObjectAutonumerationMode`, `ModalityUseMode`, `SynchronousPlatformExtensionAndAddInCallUseMode`, `InterfaceCompatibilityMode`, `DatabaseTablespacesUseMode`, `MainClientApplicationWindowMode` |
|
||||
| Ref | `DefaultLanguage` |
|
||||
|
||||
### Состав объектов (ChildObjects)
|
||||
|
||||
```powershell
|
||||
# Добавить (вставляется в каноническую позицию — по типу, затем по алфавиту)
|
||||
-Operation add-childObject -Value "Catalog.Товары ;; Document.Заказ ;; Enum.ВидыОплат"
|
||||
|
||||
# Удалить
|
||||
-Operation remove-childObject -Value "Catalog.Устаревший"
|
||||
```
|
||||
|
||||
44 типа объектов поддерживаются в каноническом порядке: Language, Subsystem, StyleItem, CommonPicture, ... IntegrationService.
|
||||
|
||||
### Роли по умолчанию (DefaultRoles)
|
||||
|
||||
```powershell
|
||||
# Добавить
|
||||
-Operation add-defaultRole -Value "ПолныеПрава"
|
||||
|
||||
# Удалить
|
||||
-Operation remove-defaultRole -Value "ПолныеПрава"
|
||||
|
||||
# Заменить список целиком
|
||||
-Operation set-defaultRoles -Value "ПолныеПрава ;; Администратор"
|
||||
```
|
||||
|
||||
### JSON mode — комбинированные операции
|
||||
|
||||
```json
|
||||
[
|
||||
{ "operation": "modify-property", "value": "Version=2.0.0.1 ;; Vendor=Test" },
|
||||
{ "operation": "add-childObject", "value": "Catalog.Товары ;; Document.Заказ" },
|
||||
{ "operation": "add-defaultRole", "value": "ПолныеПрава" }
|
||||
]
|
||||
```
|
||||
|
||||
## cf-validate — проверки
|
||||
|
||||
| # | Проверка | Уровень |
|
||||
|---|----------|---------|
|
||||
| 1 | XML well-formedness, MetaDataObject/Configuration, version | ERROR |
|
||||
| 2 | InternalInfo: 7 ContainedObject, валидные ClassId | ERROR |
|
||||
| 3 | Properties: Name, Synonym, DefaultLanguage, DefaultRunMode | ERROR/WARN |
|
||||
| 4 | Enum-значения (11 свойств) | ERROR |
|
||||
| 5 | ChildObjects: валидные типы, нет дубликатов, порядок | ERROR/WARN |
|
||||
| 6 | DefaultLanguage ссылается на существующий Language | ERROR |
|
||||
| 7 | Файлы языков `Languages/<name>.xml` существуют | WARN |
|
||||
| 8 | Каталоги объектов из ChildObjects существуют | WARN |
|
||||
|
||||
## Сценарии использования
|
||||
|
||||
### Обзор существующей конфигурации
|
||||
|
||||
```
|
||||
> Покажи структуру конфигурации C:\WS\cfsrc\acc_8.3.24
|
||||
```
|
||||
|
||||
Claude вызовет `/cf-info` и покажет: имя, синоним, версию, поставщика, количество объектов по типам.
|
||||
|
||||
### Создание новой конфигурации
|
||||
|
||||
```
|
||||
> Создай пустую конфигурацию МойПроект, версия 1.0.0.1, поставщик "ООО Ромашка"
|
||||
```
|
||||
|
||||
Claude вызовет `/cf-init` → `/cf-edit` (Version, Vendor) → `/cf-validate` → `/cf-info`.
|
||||
|
||||
### Добавление объектов в конфигурацию
|
||||
|
||||
```
|
||||
> Добавь в конфигурацию src/ справочник Контрагенты, документ ЗаказКлиента и перечисление ВидыОплат
|
||||
```
|
||||
|
||||
Claude вызовет `/cf-edit` с `add-childObject`, объекты встанут в каноническом порядке.
|
||||
|
||||
### Проверка конфигурации после изменений
|
||||
|
||||
```
|
||||
> Проверь корректность конфигурации src/
|
||||
```
|
||||
|
||||
Claude вызовет `/cf-validate` и покажет ошибки и предупреждения.
|
||||
|
||||
## Структура корневых файлов
|
||||
|
||||
```
|
||||
<OutputDir>/
|
||||
├── Configuration.xml # Свойства и состав конфигурации
|
||||
├── ConfigDumpInfo.xml # Служебный (версии объектов)
|
||||
├── Ext/ # Модули конфигурации
|
||||
│ ├── ManagedApplicationModule.bsl
|
||||
│ ├── SessionModule.bsl
|
||||
│ └── ...
|
||||
└── Languages/
|
||||
└── Русский.xml # Язык конфигурации
|
||||
```
|
||||
|
||||
## Связь с другими навыками
|
||||
|
||||
- `/meta-compile` — при создании объекта автоматически регистрирует его в `Configuration.xml` (вызывает логику `add-childObject`)
|
||||
- `/subsystem-edit` — при добавлении объекта в подсистему объект уже должен быть в ChildObjects
|
||||
- `/cf-edit` + `/meta-compile` — типичная связка: сначала добавить объект в конфигурацию, затем создать его исходники
|
||||
|
||||
## Спецификации
|
||||
|
||||
- [1c-configuration-spec.md](1c-configuration-spec.md) — XML-формат Configuration.xml, ConfigDumpInfo.xml, Languages/, свойства, 44 типа ChildObjects
|
||||
Reference in New Issue
Block a user