Skip to content
Development
Skill

/interface-edit

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

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

Context preview

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

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

SKILL.md

interface-edit.SKILL.md
name: interface-edit
description: Настройка командного интерфейса подсистемы 1С. Используй когда нужно скрыть или показать команды, разместить в группах, настроить порядок
argument-hint: <at> <ops>
allowed-tools:
  - Read
  - Glob

/interface-edit — правка командного интерфейса

MCP routing

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

`commandVisibility.set`, `commandPlacement.set`, `commandOrder.set`, `groupOrder.set` и `subsystemOrder.set`.

  • Do not call internal MCP/CLI adapters directly. They are hidden behind

`unica` and synchronized by the orchestrator.

  • Интерфейс называет адрес: `args.at` вида

`<набор>:Subsystem.<Имя>.Interface`, а порядок команд — адрес группы `…Interface.Group.<Группа>`. Имя группы с точкой (`CommandGroup.Цены`) пишется в адресе с `\.`: `…Group.CommandGroup\.Цены` (в JSON — `CommandGroup\\.Цены`); `unica.view` ветви `Group` отдаёт готовые адреса. Пути к `CommandInterface.xml` наружу нет; путь из диффа или лога переводит в адрес аварийный `unica.resolve`.

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

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

**Команда лежит в аргументах, а не в адресе.** Имя команды в интерфейсе — это ссылка на команду, живущую в другом месте (`CommonCommand.Печать`, `Catalog.Валюты.Command.Создать`). Адрес несёт интерфейс, потому что предмет правки — место, которое подсистема команде отводит, а не сама команда.

Операции

| Операция | `at` | `args` | Секция файла | |---|---|---|---| | `commandVisibility.set` | `…Subsystem.<Имя>.Interface` | `items: [{command, visible}]` | `CommandsVisibility` | | `commandPlacement.set` | `…Subsystem.<Имя>.Interface` | `items: [{command, group?, placement?}]` | `CommandsPlacement` | | `commandOrder.set` | `…Subsystem.<Имя>.Interface.Group.<Группа>` | `values: {commands: […]}` | `CommandsOrder` | | `groupOrder.set` | `…Subsystem.<Имя>.Interface` | `values: {groups: […]}` | `GroupsOrder` | | `subsystemOrder.set` | `<набор>:Configuration` | `values: {subsystems: […]}` | `SubsystemsOrder` |

Вложенная подсистема адресуется всей цепочкой: `main:Subsystem.Администрирование.Subsystem.КонтрольРаботыПользователей.Interface`. Одноимённая подсистема в другом месте целью не становится.

**Порядок подсистем верхнего уровня метит в корень конфигурации.** Корневой документ несёт единственную секцию, поэтому узла у него нет — он описан свойством корня. На интерфейсе подсистемы `subsystemOrder.set` отклоняется.

**Порядок — перестановка сохранённого состава.** Три операции порядка принимают полную последовательность тех же элементов, что уже сохранены: у `commandOrder.set` — команд группы адреса, у `groupOrder.set` — групп, у `subsystemOrder.set` — подсистем. Пропуск, повтор или лишний элемент отклоняются без записи: пропуск не удаляет настройку. Прочитай текущий порядок в `unica.view` и переставь его. Если порядка ещё нет, список задаёт его впервые. Порядок других групп и остальные секции файла не меняются. Прежний `values.group` отклоняется с `bad_value`, `next` ведёт к адресу группы.

**Каждая операция правит свою секцию и ничью больше.** В частности, правка видимости касается только общего значения: переопределения по ролям в том же блоке остаются нетронутыми. Их число видно в чтении полем `roleOverrides` — если оно не ноль, `visible` не вся правда о видимости команды.

Порядок

1. Найди подсистему: `unica.search {corpus: "names", kind: "Subsystem"}`. 2. Прочти интерфейс: `unica.view {at: "…Subsystem.<Имя>.Interface"}` — ветви `Command`, `Group` и `Subsystem` показывают команды, порядок групп и порядок дочерних подсистем. 3. Предпросмотр: `unica.apply` с `at` и `ops`; ответ несёт план и `data.executionToken`. 4. Применение: вызов только с `executionToken` из `data.executionToken` успешного плана.

Примеры

Скрыть одну команду и показать другую

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.apply",
    "arguments": {
      "at": "main:Subsystem.Продажи",
      "ops": [
        {
          "op": "commandVisibility.set",
          "args": {
            "at": "main:Subsystem.Продажи.Interface",
            "items": [
              {"command": "Catalog.Товары.StandardCommand.OpenList", "visible": false},
              {"command": "Report.Продажи.Command.Отчёт", "visible": true}
            ]
          }
        }
      ]
    }
  }
}

Разместить команду и задать порядок в группе

Пример задаёт порядок группы, у которой его ещё нет. Если порядок уже сохранён, `commands` перечисляет ровно его команды в новом порядке: только что размещённую команду в сохранённый порядок группы так не добавить, такой список отклоняется. Сначала получи план этого изменения:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.apply",
    "arguments": {
      "at": "main:Subsystem.Продажи",
      "ops": [
        {
          "op": "commandPlacement.set",
          "args": {
            "at": "main:Subsystem.Продажи.Interface",
            "items": [
              {
                "command": "Report.Продажи.Command.Отчёт",
                "group": "NavigationPanelImportant"
              }
            ]
          }
        },
        {
          "op": "commandOrder.set",
          "args": {
            "at": "main:Subsystem.Продажи.Interface.Group.NavigationPanelImportant",
            "values": {
              "commands": [
                "Report.Продажи.Command.Отчёт",
                "Catalog.Товары.StandardCommand.OpenList"
              ]
            }
          }
        }
      ]
    }
  }
}

Для исполнения передай `data.executionToken` из этого успешного плана:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.apply",
    "arguments": {
      "executionToken": "<data.executionToken из успешного плана>"
    }
  }
}

Пор

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