关于 meta-edit
meta-edit 是面向 1C 配置开发者的技能,可对现有 XML 元数据对象执行原子编辑,支持单项操作或 JSON 定义,并可选择验证。
主要功能
- 01添加或删除元数据元素
- 02修改属性和对象属性
- 03使用 ;; 批量执行操作
- 04按指定位置插入元素
- 05可选的编辑后验证
适用场景
- 01添加属性或表格部分
- 02重命名元数据或更改类型
- 03删除过时的元数据字段
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill meta-edit安装后在 Claude Code 中输入/meta-edit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/attributes.mdexternal-data-source.mdjson-dsl.mdother-children.mdpredefined.mdproperties.mdtabular-sections.mdscripts/meta-edit.ps1meta-edit.pyREADME 原文English
来自项目 READMEREADME 暂无中文译文,以下为英文原文;中文介绍见上方。
/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>"
| Параметр | Описание |
|---|---|
| ObjectPath | XML-файл или директория объекта (обязательный, авторезолв <dirName>.xml) |
| Operation | Inline-операция (альтернатива DefinitionFile) |
| Value | Значение для inline-операции |
| DefinitionFile | JSON-файл с операциями (альтернатива 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