mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-23 13:11:05 +03:00
Add meta-guide.md and link from README
Guide covers meta-* skills: workflow, 23 object types, inline/JSON modes, typical scenarios (create, edit, validate), file structure. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
37ecb77256
commit
08d29c0341
@@ -28,7 +28,7 @@
|
|||||||
| Управляемые формы (Form) | 6 навыков `/form-*` | Создание, анализ, генерация, модификация, валидация управляемых форм | [Подробнее](docs/form-guide.md) |
|
| Управляемые формы (Form) | 6 навыков `/form-*` | Создание, анализ, генерация, модификация, валидация управляемых форм | [Подробнее](docs/form-guide.md) |
|
||||||
| Роли (Role) | 3 навыка `/role-*` | Анализ прав роли, создание из JSON DSL, валидация | [Подробнее](docs/role-guide.md) |
|
| Роли (Role) | 3 навыка `/role-*` | Анализ прав роли, создание из JSON DSL, валидация | [Подробнее](docs/role-guide.md) |
|
||||||
| Схема компоновки (СКД) | 4 навыка `/skd-*` | Анализ, генерация из JSON DSL, точечное редактирование, валидация схем компоновки данных | [Подробнее](docs/skd-guide.md) |
|
| Схема компоновки (СКД) | 4 навыка `/skd-*` | Анализ, генерация из JSON DSL, точечное редактирование, валидация схем компоновки данных | [Подробнее](docs/skd-guide.md) |
|
||||||
| Метаданные конфигурации | 4 навыка `/meta-*` | Создание, анализ, редактирование, валидация объектов метаданных (23 типа) | — |
|
| Метаданные конфигурации | 4 навыка `/meta-*` | Создание, анализ, редактирование, валидация объектов метаданных (23 типа) | [Подробнее](docs/meta-guide.md) |
|
||||||
| Утилиты | `/img-grid` | Наложение сетки на изображение для определения пропорций колонок | — |
|
| Утилиты | `/img-grid` | Наложение сетки на изображение для определения пропорций колонок | — |
|
||||||
|
|
||||||
## Требования
|
## Требования
|
||||||
@@ -97,6 +97,7 @@ docs/
|
|||||||
├── form-guide.md # Гайд: управляемые формы
|
├── form-guide.md # Гайд: управляемые формы
|
||||||
├── role-guide.md # Гайд: роли
|
├── role-guide.md # Гайд: роли
|
||||||
├── skd-guide.md # Гайд: схема компоновки данных
|
├── skd-guide.md # Гайд: схема компоновки данных
|
||||||
|
├── meta-guide.md # Гайд: объекты метаданных конфигурации
|
||||||
├── 1c-epf-spec.md # Спецификация XML-формата (EPF)
|
├── 1c-epf-spec.md # Спецификация XML-формата (EPF)
|
||||||
├── 1c-erf-spec.md # Спецификация XML-формата (ERF)
|
├── 1c-erf-spec.md # Спецификация XML-формата (ERF)
|
||||||
├── 1c-form-spec.md # Спецификация управляемых форм
|
├── 1c-form-spec.md # Спецификация управляемых форм
|
||||||
|
|||||||
@@ -0,0 +1,176 @@
|
|||||||
|
# Объекты метаданных конфигурации
|
||||||
|
|
||||||
|
Навыки группы `/meta-*` позволяют создавать, анализировать, редактировать и проверять объекты метаданных конфигурации 1С — справочники, документы, регистры, перечисления и ещё 19 типов объектов из XML-выгрузки.
|
||||||
|
|
||||||
|
## Навыки
|
||||||
|
|
||||||
|
| Навык | Параметры | Описание |
|
||||||
|
|-------|-----------|----------|
|
||||||
|
| `/meta-info` | `<ObjectPath> [-Mode] [-Name]` | Анализ структуры объекта: реквизиты, ТЧ, формы, движения, типы (8 режимов) |
|
||||||
|
| `/meta-compile` | `<JsonPath> <OutputPath>` | Создание объекта метаданных из JSON DSL: реквизиты, ТЧ, свойства, формы |
|
||||||
|
| `/meta-edit` | `<ObjectPath> -Operation <op> -Value "<val>"` | Точечное редактирование: 30+ атомарных операций (add/remove/modify/set) |
|
||||||
|
| `/meta-validate` | `<ObjectPath> [-MaxErrors 20]` | Валидация структурной корректности: ~40 проверок |
|
||||||
|
|
||||||
|
## Рабочий цикл
|
||||||
|
|
||||||
|
```
|
||||||
|
Описание объекта (текст) → JSON DSL → /meta-compile → XML-исходники → /meta-validate
|
||||||
|
↕ /meta-edit → /meta-info
|
||||||
|
```
|
||||||
|
|
||||||
|
1. Claude формирует JSON-определение объекта (тип, реквизиты, ТЧ, свойства)
|
||||||
|
2. `/meta-compile` генерирует XML-исходники с корректными UUID, namespace, структурой ChildObjects
|
||||||
|
3. `/meta-edit` вносит точечные изменения: добавление/удаление реквизитов, ТЧ, владельцев, движений и т.д.
|
||||||
|
4. `/meta-validate` проверяет корректность XML
|
||||||
|
5. `/meta-info` выводит компактную сводку для визуальной проверки
|
||||||
|
|
||||||
|
## Поддерживаемые типы объектов (23 типа)
|
||||||
|
|
||||||
|
| Группа | Типы |
|
||||||
|
|--------|------|
|
||||||
|
| Прикладные | Catalog, Document, Enum, ChartOfCharacteristicTypes, ChartOfAccounts, ChartOfCalculationTypes |
|
||||||
|
| Процессы | BusinessProcess, Task |
|
||||||
|
| Регистры | InformationRegister, AccumulationRegister, AccountingRegister, CalculationRegister |
|
||||||
|
| Отчёты/обработки | Report, DataProcessor |
|
||||||
|
| Интеграция | ExchangePlan, HTTPService, WebService |
|
||||||
|
| Журналы | DocumentJournal, Sequence |
|
||||||
|
| Прочие | Constant, CommonModule, SessionParameter, FunctionalOption, DefinedType |
|
||||||
|
|
||||||
|
## Inline mode — типовые операции
|
||||||
|
|
||||||
|
### Реквизиты
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# Добавить
|
||||||
|
-Operation add-attribute -Value "Комментарий: Строка(200) ;; Сумма: Число(15,2) | req, index"
|
||||||
|
|
||||||
|
# С позиционной вставкой
|
||||||
|
-Operation add-attribute -Value "Склад: CatalogRef.Склады >> after Организация"
|
||||||
|
|
||||||
|
# Удалить
|
||||||
|
-Operation remove-attribute -Value "УстаревшийРеквизит"
|
||||||
|
|
||||||
|
# Переименовать + сменить тип
|
||||||
|
-Operation modify-attribute -Value "СтароеИмя: name=НовоеИмя, type=Строка(500)"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Табличные части
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# Создать ТЧ с реквизитами
|
||||||
|
-Operation add-ts -Value "Товары: Ном: CatalogRef.Ном | req, Кол: Число(15,3), Цена: Число(15,2)"
|
||||||
|
|
||||||
|
# Добавить реквизит в существующую ТЧ
|
||||||
|
-Operation add-ts-attribute -Value "Товары.СтавкаНДС: EnumRef.СтавкиНДС"
|
||||||
|
|
||||||
|
# Изменить свойства ТЧ
|
||||||
|
-Operation modify-ts -Value "Товары: synonym=Товарный состав"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Свойства объекта
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# Скалярные свойства
|
||||||
|
-Operation modify-property -Value "CodeLength=11 ;; DescriptionLength=150"
|
||||||
|
|
||||||
|
# Владельцы справочника
|
||||||
|
-Operation set-owners -Value "Catalog.Контрагенты ;; Catalog.Организации"
|
||||||
|
|
||||||
|
# Движения документа
|
||||||
|
-Operation add-registerRecord -Value "AccumulationRegister.Продажи ;; AccumulationRegister.ОстаткиТоваров"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Регистры
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
-Operation add-dimension -Value "Организация: CatalogRef.Организации | master, mainFilter"
|
||||||
|
-Operation add-resource -Value "Сумма: Число(15,2)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## JSON mode — комбинированные операции
|
||||||
|
|
||||||
|
Для сложных сценариев (несколько типов изменений в одном вызове) используйте JSON-файл:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"add": {
|
||||||
|
"attributes": ["Комментарий: Строка(200)"],
|
||||||
|
"tabularSections": [{
|
||||||
|
"name": "Товары",
|
||||||
|
"attrs": ["Ном: CatalogRef.Ном | req", "Кол: Число(15,3)"]
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"remove": { "attributes": ["УстаревшийРеквизит"] },
|
||||||
|
"modify": {
|
||||||
|
"properties": { "DescriptionLength": 150 },
|
||||||
|
"attributes": { "СтароеИмя": { "name": "НовоеИмя" } }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
JSON поддерживает русские синонимы ключей (`реквизиты`, `тч`, `измерения` и др.) и типов (`Строка`, `Число`, `СправочникСсылка` и др.).
|
||||||
|
|
||||||
|
## Сценарии использования
|
||||||
|
|
||||||
|
### Анализ существующего объекта
|
||||||
|
|
||||||
|
```
|
||||||
|
> Покажи структуру справочника Catalogs/Номенклатура
|
||||||
|
```
|
||||||
|
|
||||||
|
Claude вызовет `/meta-info` и покажет: реквизиты с типами, табличные части, формы, владельцев, ввод по строке.
|
||||||
|
|
||||||
|
### Создание нового объекта
|
||||||
|
|
||||||
|
```
|
||||||
|
> Создай справочник Контрагенты: код 9, наименование 150, реквизиты ИНН(12), КПП(9),
|
||||||
|
> иерархический с группами, владелец — Catalog.Организации
|
||||||
|
```
|
||||||
|
|
||||||
|
Claude сформирует JSON и вызовет `/meta-compile` → `/meta-validate` → `/meta-info`.
|
||||||
|
|
||||||
|
### Добавление реквизитов к существующему объекту
|
||||||
|
|
||||||
|
```
|
||||||
|
> Добавь в документ Documents/ЗаказКлиента реквизиты Склад (CatalogRef.Склады)
|
||||||
|
> и ТЧ Товары с реквизитами Номенклатура, Количество, Цена, Сумма
|
||||||
|
```
|
||||||
|
|
||||||
|
Claude вызовет `/meta-edit` дважды: `add-attribute` для реквизита и `add-ts` для ТЧ.
|
||||||
|
|
||||||
|
### Настройка движений документа
|
||||||
|
|
||||||
|
```
|
||||||
|
> Документ Documents/ПриходТоваров должен делать движения
|
||||||
|
> по AccumulationRegister.ОстаткиТоваров и AccumulationRegister.Партии
|
||||||
|
```
|
||||||
|
|
||||||
|
Claude вызовет `/meta-edit` с операцией `set-registerRecords`.
|
||||||
|
|
||||||
|
### Проверка объекта после изменений
|
||||||
|
|
||||||
|
```
|
||||||
|
> Проверь корректность Documents/ЗаказКлиента
|
||||||
|
```
|
||||||
|
|
||||||
|
Claude вызовет `/meta-validate` и покажет ошибки и предупреждения.
|
||||||
|
|
||||||
|
## Структура файлов объекта метаданных
|
||||||
|
|
||||||
|
```
|
||||||
|
<MetaType>/<ObjectName>/
|
||||||
|
├── <ObjectName>.xml # Основной XML (Properties, ChildObjects)
|
||||||
|
├── Ext/
|
||||||
|
│ └── ObjectModule.bsl # Модуль объекта (опционально)
|
||||||
|
├── Forms/
|
||||||
|
│ └── <FormName>/ # Формы объекта
|
||||||
|
├── Templates/
|
||||||
|
│ └── <TemplateName>/ # Макеты
|
||||||
|
└── Commands/
|
||||||
|
└── <CommandName>/ # Команды
|
||||||
|
```
|
||||||
|
|
||||||
|
## Спецификации
|
||||||
|
|
||||||
|
- [1c-config-objects-spec.md](1c-config-objects-spec.md) — XML-формат объектов метаданных, Properties, ChildObjects, типы
|
||||||
|
- [meta-dsl-spec.md](meta-dsl-spec.md) — JSON DSL для описания объектов (`/meta-compile`)
|
||||||
Reference in New Issue
Block a user