Skip to content
Development
Skill

/meta-edit

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

BOOST
From plugin
unica
22749 skills1 MCP
Install
$ npx -y skills add IngvarConsulting/unica --skill meta-edit --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/meta-edit

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

SKILL.md

meta-edit.SKILL.md
name: meta-edit
description: Типизированно изменить существующий объект метаданных 1С по логическому адресу одной транзакцией.
argument-hint: <at> <operations>
allowed-tools:
  - Read
  - Glob

/unica:meta-edit — структурное редактирование метаданных

MCP routing

  • Preferred path: use MCP `unica` tool `unica.apply` с операциями изменения

объекта метаданных.

  • Объект и его коллекции называет адрес: `main:Catalog.Валюты` — сам объект,

`main:Catalog.Валюты.Attribute` — его реквизиты. Физический путь остаётся внутренней деталью; наружу его отдаёт только аварийный `unica.resolve`.

  • Имя набора даёт `unica.view {}`, адрес по имени — `unica.search {corpus:

"names"}`. `"main"` ниже только пример.

  • Сначала вызови `unica.apply` с `at` и `ops`: это план без записи.

Когда пользователь поручил внести эту правку, вызови `unica.apply` только с `executionToken` из `data.executionToken` успешного плана.

  • Операции одного вызова упорядочены: каждая видит результат предыдущих, и

публикуются они одной транзакцией — либо все, либо ни одной.

  • Читай из ответа `changed`, `effects` по порядку операций и диагностики.

Ответ описывает правку семантическими `effects`, а не возвращает полный XML объекта.

  • Проверка поддержки поставщика выполняется внутри `unica`. Для закрытого

объекта используй путь расширения, а не прямую правку служебных файлов.

  • Какие операции исполнимы на узле, объявляет сам узел: словарь `can`

приходит в каждом ответе `unica.view`, а подробный контракт одной операции читается адресом `<узел>.Can.<операция>`. Отказ `fixCall` несёт `next` к узлу, где операция исполнима: выполни его, а не подбирай аргументы.

Операции

| Предмет | Операции | |---|---| | Свойства объекта | `props.set` | | Реквизиты | `attribute.add`, `attribute.set`, `attribute.remove` | | Табличные части | `tabularSection.add`, `tabularSection.set`, `tabularSection.remove` | | Измерения и ресурсы | `dimension.*`, `resource.*` | | Значения перечисления | `enumValue.add`, `enumValue.set`, `enumValue.remove` | | Графы журнала | `column.add`, `column.set`, `column.remove` | | Макеты и команды | `template.*`, `command.*` | | Предопределённые элементы | `predefinedItem.add`, `predefinedItem.set`, `predefinedItem.remove` | | Ссылки наружу | `relation.add`, `relation.replace`, `relation.remove` | | Встроенная справка | `help.create` | | Объект целиком | `object.remove` |

Допустимые свойства, коллекции, виды типов и связей берутся из контракта операции (`argsSchema` подробного `can`). Общие прикладные правила — в [соглашениях по метаданным](../../references/platform/metadata-conventions.md).

**Член создаётся на владельце, а изменяется и удаляется по своему адресу.** `*.add` адресует того, кому член принадлежит, и несёт новые элементы в `items`: `attribute.add` с `at: "main:Catalog.Валюты"` добавляет реквизит шапки, а с `at: "main:Catalog.Валюты.TabularSection.Представления"` — реквизит этой табличной части. `*.set` и `*.remove` адресуют сам член: `main:Catalog.Валюты.TabularSection.Представления`, `main:Catalog.Валюты.Attribute.Код`, `main:Catalog.Валюты.TabularSection.Представления.Attribute.КодЯзыка`, `main:Enum.ВидыОпераций.EnumValue.Приход`, `…Dimension.<Имя>`, `…Resource.<Имя>`, `…Column.<Имя>`, `…Command.<Имя>`, `…Template.<Имя>`, `…PredefinedItem.<Имя>`. Имени члена в аргументах нет: `set` несёт в `values` только изменяемые поля, переименование — `newName`; `remove` аргументов не принимает. Прежний вызов с `scope.tabularSection` или `values.name` получает отказ, чей `next` называет правильный адрес.

Регистрация макета — `template.add` с `name` и необязательным `templateType` из закрытого набора `HTMLDocument`, `TextDocument`, `SpreadsheetDocument` (по умолчанию), `BinaryData`, `DataCompositionSchema`; снятие регистрации — `template.remove`. Наполнение содержимого остаётся у предметных инструментов своего вида.

`help.create` создаёт `Ext/Help.xml` и `Ext/Help/<lang>.html` владельца и включает `IncludeHelpInContents` его формам; повтор — отказ, операция создаёт только раз.

Предопределённые элементы

Коллекция доступна только для `Catalog`, `ChartOfAccounts`, `ChartOfCharacteristicTypes` и `ChartOfCalculationTypes`. Общие поля элемента: `id`, `name`, `code`, `description`. Дополнительные поля закрыты видом владельца:

  • `Catalog`: `isFolder`;
  • `ChartOfCharacteristicTypes`: `isFolder` и структурный `type` из

опубликованной схемы, не строка и не QName;

  • `ChartOfAccounts`: `accountType`, `offBalance`, `order`, `accountingFlags`,

`extDimensionTypes`;

  • `ChartOfCalculationTypes`: `actionPeriodIsBase`.

Для плана счетов `accountType` допускает `Active`, `Passive`, `ActivePassive`; `accountingFlags` — закрытый объект `имя: boolean`; `extDimensionTypes` — массив объектов с `name` и необязательными `turnover`, `accountingFlags`. Явно переданные пустые `{}` и `[]` очищают соответственно поддержанные `Flag` и `ExtDimensionType`; отсутствие поля сохраняет прежнее значение.

`predefinedItem.add` на владельце создаёт только корневой элемент; `id` и `name` задаются здесь. Совпадающий UUID даёт no-op только при эквивалентном образе, иначе `already_exists`. `predefinedItem.set` адресует элемент `…PredefinedItem.<Имя>` и принимает в `values` изменяемые поля, переименование — `newName`; `predefinedItem.remove` — тот же адрес без аргументов. Имя находится на любой глубине иерархии и уникально в объекте: добавление или переименование на занятое имя отвергается. Удаление родителя удаляет всё его поддерево. Неуказанные поля и неизвестные XML-узлы сохраняются.

Элемент читается `unica.view` по тому же адресу: `props.id` — его UUID, остальные поля — в `props`. Список элементов отдаёт ветвь `…PredefinedItem` владельца.

Ссылки наружу

Владельцы справочника и движения документа меняются через `relation.replace` со связью `owners` или `registerRecords`. Источник подписки заменяется той же операцией со связью `source`. Для точечного дополнения используй `relation.add`, для удаления перечисленных источ

Read more
Ships withunica

Unica (Ю&#x301;ника) — плагин для Codex, Claude Code и ZCode для разработки на 1С:Предприятии.

Get the whole plugin

Other skills on unica.

api-design
Skill

api-design

Проектирование и ревью API 1С: публичный программный интерфейс, служебный интерфейс, переопределяемые модули, совместимость,…

autonomous-server
Skill

autonomous-server

Автономный сервер отладки 1С. Используй когда нужно развернуть или проанализировать локальный автономный контур для отладки…

background-jobs
Skill

background-jobs

Фоновые и регламентные задания 1С. Используй когда нужно спроектировать, проверить или диагностировать background jobs,…

bsp-patterns
Skill

bsp-patterns

Поиск и применение паттернов БСП. Используй когда задача про длительные операции, профили групп доступа, безопасное хранение,…

cf-edit
Skill

cf-edit

Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из…

cf-init
Skill

cf-init

Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля