From 1c-skills
Generates 1C:Enterprise metadata objects (catalogs, documents, registers, enums, constants, modules) from JSON DSL into XML files, modules, and Configuration.xml updates. Use for rapid creation or extension of 1C configurations.
npx claudepluginhub nikolay-shirokov/cc-1c-skills --plugin 1c-skillsThis skill uses the workspace's default tool permissions.
---
Analyzes 1C metadata XML files from configuration exports, outputting structures of objects like catalogs, documents, registers: attributes, tabular parts, forms, movements, types. Prepares for queries and code.
Creates and modifies Dataverse tables, columns, relationships, forms, and views using Python SDK and Web API. Activates on 'add column', 'create table', 'add relationship', 'create form'.
Guides DocType creation in Frappe/ERPNext with JSON structure, field types, Python controllers, naming patterns, permissions, and relationships. Use for data modeling and document setup.
Share bugs, ideas, or general feedback.
Принимает JSON-определение объекта метаданных → генерирует XML + модули в структуре выгрузки конфигурации + регистрирует в Configuration.xml.
/meta-edit/meta-validatepowershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-compile.ps1" -JsonPath "<json>" -OutputDir "<ConfigDir>"
| Параметр | Описание |
|---|---|
JsonPath | Путь к JSON-файлу (один объект {...} или массив [{...}, ...]) |
OutputDir | Корень выгрузки конфигурации (где Configuration.xml, Catalogs/, Documents/ и т.д.) |
{ "type": "Catalog", "name": "Номенклатура", ...свойства типа... }
type и name — обязательные. synonym генерируется из name автоматически (CamelCase → слова через пробел). Можно задать явно: "synonym": "Мой синоним".
Используется в 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, DataProcessorreference/types-registers.md — InformationRegister, AccumulationRegister, AccountingRegister, CalculationRegister, ChartOfAccounts, ChartOfCharacteristicTypes, ChartOfCalculationTypesreference/types-process.md — BusinessProcess, Task, ExchangePlan, CommonModule, ScheduledJob, EventSubscription, DocumentJournalreference/types-web.md — HTTPService, WebServiceЭта инструкция и reference-файлы — полная документация для генерации. Не ищи примеры XML в выгрузках конфигураций.
{ "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)"]
}
[
{ "type": "Enum", "name": "Статусы", "values": ["Новый", "Закрыт"] },
{ "type": "Catalog", "name": "Валюты" },
{ "type": "Constant", "name": "ОсновнаяВалюта", "valueType": "CatalogRef.Валюты" }
]