关于 meta-decompile
用于读取 1C 元数据对象 XML,并生成供 `/meta-compile` 使用的 JSON 结构草稿。适合以现有对象为样本构建新对象;草稿不包含 UUID、模块、表单、布局或权限,不能用于原对象的往返还原。
主要功能
- 01将元数据 XML 转为 JSON 草稿
- 02保留对象结构与属性
- 03支持按样本创建新对象
- 04不导出 UUID、模块和表单
- 05可输出到文件或标准输出
适用场景
- 01以现有对象为样本创建新元数据对象
- 02检查对象结构并调整后编译
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill meta-decompile安装后在 Claude Code 中输入/meta-decompile确认已加载。
附带文件scripts/meta-decompile.ps1scripts/meta-decompile.py
README 原文English
来自项目 READMEREADME 暂无中文译文,以下为英文原文;中文介绍见上方。
/meta-decompile — DSL-заготовка из XML объекта метаданных
Читает XML объекта метаданных (Catalogs/Имя.xml и т.п.) и эмитит компактный JSON в формате /meta-compile. Назначение — взять существующий объект образцом и собрать по нему НОВЫЙ: декомпилировать → поправить → скомпилировать под другим именем.
⚠️ Главное: это НЕ обратимая выгрузка
Компиляция черновика создаёт новый объект с новой идентичностью, а не копию исходного. В JSON не попадают: UUID (идентичность самого объекта и всех дочерних), тела модулей, формы, макеты, права. Захватываются только структура и свойства.
Отсюда правило: никогда не компилируй черновик поверх объекта-источника и не выдавай его за «реимпорт» — у пересобранного объекта другие UUID, поэтому все ссылки на исходный объект (из кода, других объектов, состава подсистем, предопределённых данных) сломаются, а код модулей и формы пропадут.
Когда использовать
Собрать новый объект по образцу существующего — получить DSL-заготовку рабочего объекта, переименовать и адаптировать состав, скомпилировать в новый. Быстрее, чем писать DSL с нуля для богатого объекта.
Когда не использовать
- Точечная правка существующего объекта (добавить реквизит, ТЧ, свойство) →
/meta-edit. Цикл decompile→compile тут вреден: даёт объект с новой идентичностью и теряет модули/формы. - Сохранить / восстановить / перенести тот же объект (бэкап, миграция между конфигурациями с сохранением ссылок) → штатная выгрузка 1С (
/db-dump-xml↔/db-load-xml, CF), а не decompile. - Просто понять структуру объекта (реквизиты, ТЧ, типы) без пересборки →
/meta-info(дешевле, не плодит файл).
Параметры
| Параметр | Описание |
|---|---|
ObjectPath | Путь к XML объекта (Catalogs/Имя.xml), обязательный |
OutputPath | Путь к выходному JSON. Если не задан — JSON в stdout |
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-decompile.ps1" -ObjectPath "<Объект.xml>" -OutputPath "<out.json>"
Неподдерживаемый тип объекта или не-MetaDataObject root → ненулевой код выхода и сообщение в stderr.
Workflow (сборка нового объекта по образцу)
/meta-decompile <Образец.xml> -OutputPath draft.json— получить заготовку.- В
draft.jsonсменитьnameна имя нового объекта и адаптировать состав (реквизиты/ТЧ/свойства). Ссылки на другие объекты (владельцы, ввод на основании, типы) — по имени, сохраняются как есть. /meta-compile -JsonPath draft.json -OutputDir <ConfigDir>— собрать (объект получит свежие UUID)./meta-validate+/meta-info— проверить.- Модули, формы, макеты, права — добавить отдельно (в черновик они не попадают).