Files
2026-02-16 17:12:25 +03:00

9.3 KiB
Raw Permalink Blame History

Объекты метаданных конфигурации

Навыки группы /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-remove <ConfigDir> -Object <Type.Name> [-DryRun] [-Force] Безопасное удаление объекта с проверкой ссылок (блокирует при наличии)
/meta-validate <ObjectPath> [-MaxErrors 20] Валидация структурной корректности: ~40 проверок

Рабочий цикл

Описание объекта (текст) → JSON DSL → /meta-compile → XML-исходники → /meta-validate
                                                       ↕ /meta-edit      → /meta-info
                                                       ↕ /meta-remove (безопасное удаление)
  1. Claude формирует JSON-определение объекта (тип, реквизиты, ТЧ, свойства)
  2. /meta-compile генерирует XML-исходники с корректными UUID, namespace, структурой ChildObjects
  3. /meta-edit вносит точечные изменения: добавление/удаление реквизитов, ТЧ, владельцев, движений и т.д.
  4. /meta-remove безопасно удаляет объект (проверяет ссылки в реквизитах, коде, формах; чистит Configuration.xml и подсистемы)
  5. /meta-validate проверяет корректность XML
  6. /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 — типовые операции

Реквизиты

# Добавить
-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)"

Табличные части

# Создать ТЧ с реквизитами
-Operation add-ts -Value "Товары: Ном: CatalogRef.Ном | req, Кол: Число(15,3), Цена: Число(15,2)"

# Добавить реквизит в существующую ТЧ
-Operation add-ts-attribute -Value "Товары.СтавкаНДС: EnumRef.СтавкиНДС"

# Изменить свойства ТЧ
-Operation modify-ts -Value "Товары: synonym=Товарный состав"

Свойства объекта

# Скалярные свойства
-Operation modify-property -Value "CodeLength=11 ;; DescriptionLength=150"

# Владельцы справочника
-Operation set-owners -Value "Catalog.Контрагенты ;; Catalog.Организации"

# Движения документа
-Operation add-registerRecord -Value "AccumulationRegister.Продажи ;; AccumulationRegister.ОстаткиТоваров"

Регистры

-Operation add-dimension -Value "Организация: CatalogRef.Организации | master, mainFilter"
-Operation add-resource -Value "Сумма: Число(15,2)"

JSON mode — комбинированные операции

Для сложных сценариев (несколько типов изменений в одном вызове) используйте 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.

Удаление неиспользуемого объекта

> Удали справочник Catalogs/Устаревший из конфигурации src/

Claude вызовет /meta-remove с -DryRun, покажет что будет удалено и проверит ссылки. Если объект нигде не используется — удалит файлы, уберёт из Configuration.xml и подсистем. Если есть ссылки — покажет список и заблокирует удаление.

Проверка объекта после изменений

> Проверь корректность 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 — XML-формат объектов метаданных, Properties, ChildObjects, типы
  • meta-dsl-spec.md — JSON DSL для описания объектов (/meta-compile)