Skip to content
Development
Skill

/meta-add

Создать объект метаданных 1С и при необходимости настроить его в том же вызове одной транзакцией.

BOOST
From plugin
unica
22749 skills1 MCP
Install
$ npx -y skills add IngvarConsulting/unica --skill meta-add --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-add

Context preview

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

Создать объект метаданных 1С и при необходимости настроить его в том же вызове одной транзакцией.

SKILL.md

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

/unica:meta-add — создание объекта метаданных

MCP routing

  • Preferred path: use MCP `unica` tool `unica.apply` с операцией

`object.create`.

  • `object.create` адресуется корнем конфигурации — `<набор>:Configuration`, —

а вид и имя нового объекта передаются в `values`. Следующие операции того же плана адресуются уже самим объектом. Физическое расположение XML внутри выгрузки — внутренняя деталь; наружу путь отдаёт только аварийный `unica.resolve`.

  • Имя набора даёт `unica.view {}`. `"main"` ниже только пример.
  • Сначала вызови `unica.apply` с `at` и `ops`: это план без записи.

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

  • Настройка при создании — это следующие операции того же плана: они видят

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

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

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

  • Один план создаёт один объект. Несколько объектов — несколько планов.

Операции создания и настройки

| Операция | Что делает | |---|---| | `object.create` | Создаёт объект метаданных по адресу | | `props.set` | Задаёт свойства объекта именами платформы | | `attribute.add`, `tabularSection.add`, `dimension.add`, `resource.add`, `enumValue.add`, `column.add` | Добавляют элементы коллекции; `at` — сам объект, элементы идут в `items`. Реквизит табличной части добавляется по адресу части: `at: "<набор>:<Вид>.<Имя>.TabularSection.<Часть>"`, в том числе части, созданной предыдущей операцией того же плана | | `template.add`, `command.add` | Регистрируют макет и команду | | `predefinedItem.add` | Добавляет предопределённый элемент | | `relation.add`, `relation.replace`, `relation.remove` | Задают ссылки объекта наружу | | `help.create` | Заводит встроенную справку владельца |

Виды, свойства, коллекции и варианты типов берутся из контракта операции: `unica.view` по адресу `<владелец>.Can.<операция>` отдаёт его `argsSchema` и пример, поэтому перечень здесь не дублируется. Общие прикладные правила — в [соглашениях по метаданным](../../references/platform/metadata-conventions.md).

Источник подписки на событие задаётся `relation.replace` со связью `source`; отдельной операции под источник нет. `Event` и `Handler` передавай через `props.set` в том же вызове, если выбранный шаблоном обработчик итоговой связке не подходит.

Тип уникального идентификатора задаётся закрытым вариантом `{"kind": "uuid"}`. Свойство наблюдения `mutationCapability` из ответа читателя во вход писателя не передаётся, и неизвестный QName нельзя копировать из XML в аргументы.

Тип значения константы задаётся через `props.set` по адресу константы: `values: {"Type": {"variants": [{"kind": "boolean"}]}}`. При создании помести эту операцию сразу после `object.create` в том же вызове. Для ссылки используй вариант `{"kind": "reference", "metadataPath": "Catalog.Номенклатура"}`; строка QName не принимается. Состав типов и квалификаторы те же, что у реквизитов. `view` возвращает тип в `props.type` как компактную JSON-строку.

Если схема не представляет сценарий, остановись и скажи прямо, что оставшийся шаг выполняется в Конфигураторе. Не подставляй составное значение строкой и не заводи временный файл определения.

MCP examples

Создать и настроить одним вызовом

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.apply",
    "arguments": {
      "at": "main:Configuration",
      "ops": [
        {
          "op": "object.create",
          "args": {
            "at": "main:Configuration",
            "values": {"kind": "Catalog", "name": "НовыйСправочник"}
          }
        },
        {
          "op": "props.set",
          "args": {
            "at": "main:Catalog.НовыйСправочник",
            "values": {"Comment": "Создан и настроен одним планом"}
          }
        },
        {
          "op": "attribute.add",
          "args": {
            "at": "main:Catalog.НовыйСправочник",
            "items": [
              {
                "name": "ВнешнийИдентификатор",
                "type": {"variants": [{"kind": "uuid"}]},
                "required": true
              }
            ]
          }
        }
      ]
    }
  }
}

Создать подписку с типизированным источником

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.apply",
    "arguments": {
      "at": "main:Configuration",
      "ops": [
        {
          "op": "object.create",
          "args": {
            "at": "main:Configuration",
            "values": {
              "kind": "EventSubscription",
              "name": "ПередЗаписьюНоменклатуры"
            }
          }
        },
        {
          "op": "relation.replace",
          "args": {
            "at": "main:EventSubscription.ПередЗаписьюНоменклатуры",
            "values": {
              "relation": "source",
              "targets": [
                {"kind": "object", "metadataPath": "Catalog.Номенклатура"}
              ]
            }
          }
        },
        {
          "op": "props.set",
          "args": {
            "at": "main:EventSubscription.ПередЗаписьюНоменклатуры",
            "values": {
              "Event": "BeforeWrite",
              "Handler": "CommonModule.ОбработчикиПодписок.ПередЗаписьюНоменклатуры"
            }
          }
        }
      ]
    }
  }
}

Объект каталога передаёт событию `BeforeWrite` параметр `Cancel`; обработчик должен быть экспортной процедурой `(Source, Cancel)` в общем модуле с явными `Global=false`, `Server=true`. Пустой итоговый `Source`, примитивы, ссылки, неизвестное событие или несовместимая сигнатур

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-исходников). Используй когда нужно начать новую конфигурацию с нуля