mcpField
M
meta-edit

meta-edit

github.com/nikolay-shirokov开发74154 次安装今天更新
代码仓库

关于 meta-edit

meta-edit 是面向 1C 配置开发者的技能,可对现有 XML 元数据对象执行原子编辑,支持单项操作或 JSON 定义,并可选择验证。

主要功能

  1. 01添加或删除元数据元素
  2. 02修改属性和对象属性
  3. 03使用 ;; 批量执行操作
  4. 04按指定位置插入元素
  5. 05可选的编辑后验证

适用场景

  1. 01添加属性或表格部分
  2. 02重命名元数据或更改类型
  3. 03删除过时的元数据字段

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill meta-edit

安装后在 Claude Code 中输入/meta-edit确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference/
attributes.md
external-data-source.md
json-dsl.md
other-children.md
predefined.md
properties.md
tabular-sections.md
scripts/
meta-edit.ps1
meta-edit.py

README 原文English

来自项目 README

README 暂无中文译文,以下为英文原文;中文介绍见上方。

/meta-edit — точечное редактирование метаданных 1С

Атомарные операции модификации существующих XML объектов метаданных.

Команда

Inline mode (простые операции)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-edit.ps1" -ObjectPath "<path>" -Operation <op> -Value "<val>"
JSON mode (сложные/комбинированные)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/meta-edit.ps1" -DefinitionFile "<json>" -ObjectPath "<path>"
ПараметрОписание
ObjectPathXML-файл или директория объекта (обязательный, авторезолв <dirName>.xml)
OperationInline-операция (альтернатива DefinitionFile)
ValueЗначение для inline-операции
DefinitionFileJSON-файл с операциями (альтернатива Operation)
NoValidateНе запускать валидацию после правки

Частые операции

Batch через ;; во всех операциях.

ОперацияФормат ValueПример
add-attributeИмя: Тип | флаги"Сумма: Число(15,2) | req, index"
add-dimensionИмя: Тип | флаги"Организация: CatalogRef.Организации | master"
add-resourceИмя: Тип"Сумма: Число(15,2)"
add-columnИмя: Тип"Тип: EnumRef.ТипыДокументов"
add-tsТЧ: Рекв1: Тип1, Рекв2: Тип2"Товары: Ном: CatalogRef.Ном, Кол: Число(15,3)"
add-ts-attributeТЧ.Имя: Тип"Товары.Скидка: Число(15,2)"
remove-*Имя"СтарыйРеквизит ;; ЕщёОдин"
remove-ts-attributeТЧ.Имя"Товары.УстаревшийРекв"
modify-attributeИмя: ключ=значение"СтароеИмя: name=НовоеИмя, type=Строка(500)"
modify-ts-attributeТЧ.Имя: ключ=значение"Товары.Рекв: name=НовоеИмя"
modify-tsТЧ: ключ=значение"Товары: synonym=Товарный состав"
modify-propertyКлюч=Значение"CodeLength=11 ;; DescriptionLength=150"

Позиционная вставка: "Склад: CatalogRef.Склады >> after Организация".

Составной тип — через +: "Значение: Строка + Число(15,2) + Дата".

Быстрые примеры

# Добавить реквизиты
-Operation add-attribute -Value "Комментарий: Строка(200) ;; Сумма: Число(15,2) | index"

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

# Удалить реквизит
-Operation remove-attribute -Value "УстаревшийРеквизит"

# Переименовать + сменить тип
-Operation modify-attribute -Value "СтароеИмя: name=НовоеИмя, type=Строка(500)"

# Изменить свойства объекта
-Operation modify-property -Value "CodeLength=11 ;; DescriptionLength=150"

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

Индекс: что правишь → файл

Что нужноФайл
Реквизит, измерение, ресурс, графа: флаги, составные типы, структурные свойства (Format, ChoiceParameters, FillValue, …)reference/attributes.md
Табличная часть и её реквизитыreference/tabular-sections.md
Свойства самого объекта, списочные свойства (владельцы, движения, основание, ввод по строке)reference/properties.md
Предопределённые элементыreference/predefined.md
Значения перечисления, командыreference/other-children.md
Внешний источник данных: поля, таблицы, функцииreference/external-data-source.md
Комбинированные операции в одном JSON, синонимы ключей и типов, какие дети допустимы у типа объектаreference/json-dsl.md

Форму добавляет и удаляет навык form-add / form-remove, макет — навык template-add / template-remove: кроме записи в ChildObjects у них есть собственные файлы, и meta-edit их не трогает.

Верификация

/meta-validate <ObjectPath>    — валидация после редактирования
/meta-info <ObjectPath>        — визуальная сводка

评论

支持 Markdown