1c-meta-compile

star 28

Создать объект метаданных 1С. Используй когда пользователь просит создать или добавить справочник, документ, регистр, перечисление, константу, общий модуль, обработку, отчёт и др.

Desko77 By Desko77 schedule Updated 4/28/2026

name: 1c-meta-compile description: Создать объект метаданных 1С. Используй когда пользователь просит создать или добавить справочник, документ, регистр, перечисление, константу, общий модуль, обработку, отчёт и др. argument-hint: allowed-tools: - Bash - Read - Write - Glob

/meta-compile — генерация объектов метаданных из JSON DSL

Принимает JSON-определение объекта метаданных → генерирует XML + модули в структуре выгрузки конфигурации + регистрирует в Configuration.xml.

Порядок работы

  1. Составь JSON по синтаксису и примерам ниже → запиши во временный файл
  2. Запусти скрипт meta-compile
  3. Если нужно изменить созданный объект — /meta-edit
  4. Если нужно проверить — /meta-validate

Команда

powershell.exe -NoProfile -File skills/1c-meta-compile/scripts/meta-compile.ps1 -JsonPath "<json>" -OutputDir "<ConfigDir>"
Параметр Описание
JsonPath Путь к JSON-файлу (один объект {...} или массив [{...}, ...])
OutputDir Корень выгрузки конфигурации (где Configuration.xml, Catalogs/, Documents/ и т.д.)

JSON DSL

Общая структура

{ "type": "Catalog", "name": "Номенклатура", ...свойства типа... }

type и name — обязательные. synonym генерируется из name автоматически (CamelCase → слова через пробел). Можно задать явно: "synonym": "Мой синоним".

Shorthand реквизитов

Используется в attributes, dimensions, resources, tabularSections:

"ИмяРеквизита"                    → String(10) по умолчанию
"ИмяРеквизита: Тип"               → с типом
"ИмяРеквизита: Тип | req, index"  → с флагами

Типы: String(100), Number(15,2), Boolean, Date, DateTime, CatalogRef.Xxx, DocumentRef.Xxx, EnumRef.Xxx, DefinedType.Xxx и др. ссылочные.

Составной тип: "Значение: String + Number(15,2) + CatalogRef.Контрагенты".

Флаги: req, index, indexAdditional, nonneg, master, mainFilter, denyIncomplete, useInTotals.

Свойства по типам

Примеров и shorthand-синтаксиса выше достаточно для типовых задач. Если нужны свойства типа, не показанные в примерах, и их допустимые значения — см. reference-файл:

  • reference/types-basic.md — Catalog, Document, Enum, Constant, DefinedType, Report, DataProcessor
  • reference/types-registers.md — InformationRegister, AccumulationRegister, AccountingRegister, CalculationRegister, ChartOfAccounts, ChartOfCharacteristicTypes, ChartOfCalculationTypes
  • reference/types-process.md — BusinessProcess, Task, ExchangePlan, CommonModule, ScheduledJob, EventSubscription, DocumentJournal
  • reference/types-web.md — HTTPService, WebService

Эта инструкция и reference-файлы — полная документация для генерации. Не ищи примеры XML в выгрузках конфигураций.

Примеры паттернов DSL

Минимальный объект

{ "type": "Catalog", "name": "Валюты" }

С реквизитами

{
  "type": "Catalog", "name": "Организации",
  "descriptionLength": 100,
  "attributes": ["ИНН: String(12)", "КПП: String(9)", "Директор: CatalogRef.ФизическиеЛица"]
}

С табличной частью

{
  "type": "Document", "name": "ПриходнаяНакладная",
  "registerRecords": ["AccumulationRegister.ОстаткиТоваров"],
  "attributes": ["Организация: CatalogRef.Организации", "Контрагент: CatalogRef.Контрагенты"],
  "tabularSections": { "Товары": ["Номенклатура: CatalogRef.Номенклатура", "Количество: Number(15,3)", "Цена: Number(15,2)"] }
}

Регистровый паттерн (измерения + ресурсы)

{
  "type": "InformationRegister", "name": "КурсыВалют", "periodicity": "Day",
  "dimensions": ["Валюта: CatalogRef.Валюты | master, mainFilter, denyIncomplete"],
  "resources": ["Курс: Number(15,4)", "Кратность: Number(10,0)"]
}

Batch — несколько объектов в одном файле

[
  { "type": "Enum", "name": "Статусы", "values": ["Новый", "Закрыт"] },
  { "type": "Catalog", "name": "Валюты" },
  { "type": "Constant", "name": "ОсновнаяВалюта", "valueType": "CatalogRef.Валюты" }
]
Install via CLI
npx skills add https://github.com/Desko77/claude-code-skills-1c --skill 1c-meta-compile
Repository Details
star Stars 28
call_split Forks 6
navigation Branch main
article Path SKILL.md
More from Creator