Skip to content
Back to skills

Subsystem Compile

ASecurity

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

  • 213 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 11, 2026
tools

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned October 3, 2026

npx -y skills add IngvarConsulting/unica --skill subsystem-compile --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Subsystem Compile?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Subsystem Compile
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ingvarconsulting-subsystem-compile/badge)](https://www.skillsdirectory.com/skills/ingvarconsulting-subsystem-compile)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: subsystem-compile
description: Создать подсистему 1С — XML-исходники из типизированного определения. Используй когда нужно добавить подсистему (раздел) в конфигурацию
argument-hint: <at> <name> [content]
allowed-tools:
  - Read
  - Glob
---

# /subsystem-compile — создание подсистемы

## MCP routing

- Preferred path: use MCP `unica` tool `unica.apply` с операциями
  `subsystem.create`, `props.set` и `content.add`.
- Do not call internal MCP/CLI adapters directly. They are hidden behind
  `unica` and synchronized by the orchestrator.
- Сначала вызови `unica.apply` с `at` и `ops`: это план без записи.
  Когда пользователь поручил внести эту правку, вызови `unica.apply` только
  с `executionToken` из `data.executionToken` успешного плана.
- Проверка поддержки поставщика работает внутри `unica`.

**Куда метит создание.** Подсистемы верхнего уровня — `args.at` вида
`<набор>:Configuration`. Вложенной подсистемы — адрес родителя
`<набор>:Subsystem.<Родитель>`. Имя новой подсистемы лежит в `values.name`:
адреса, которого ещё нет, назвать нельзя. Каталогов выгрузки и путей к XML
родителя тут нет — их место занял адрес.

Создание заводит и файл подсистемы, и запись о ней у родителя. Это одна
правка, а не две.

## Что задаётся чем

| Что | Операция | `args` |
|---|---|---|
| Сама подсистема | `subsystem.create` | `values: {name}` |
| Синоним, комментарий, пояснение, картинка, `IncludeInCommandInterface`, `UseOneCommand` | `props.set` | `values: {…}` |
| Состав | `content.add` | `items: [{object}]` |

Минимально нужно только имя. Всё остальное — умолчания платформы.

Операции одного вызова публикуются одной транзакцией: подсистема со своим
составом и свойствами появляется целиком либо не появляется вовсе.

## Примеры

### Минимальная подсистема

```json
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.apply",
    "arguments": {
      "at": "main:Configuration",
      "ops": [
        {
          "op": "subsystem.create",
          "args": {
            "at": "main:Configuration",
            "values": {"name": "Тест"}
          }
        }
      ]
    }
  }
}
```

### С составом и свойствами

Сначала получи план этого изменения:

```json
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.apply",
    "arguments": {
      "at": "main:Configuration",
      "ops": [
        {
          "op": "subsystem.create",
          "args": {
            "at": "main:Configuration",
            "values": {
              "name": "Продажи"
            }
          }
        },
        {
          "op": "props.set",
          "args": {
            "at": "main:Subsystem.Продажи",
            "values": {
              "Synonym": "Продажи",
              "Picture": "CommonPicture.Продажи",
              "IncludeInCommandInterface": true
            }
          }
        },
        {
          "op": "content.add",
          "args": {
            "at": "main:Subsystem.Продажи",
            "items": [
              {
                "object": "Catalog.Товары"
              },
              {
                "object": "Report.Продажи"
              }
            ]
          }
        }
      ]
    }
  }
}
```

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

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

### Вложенная подсистема

Родителя называет адрес, а не путь к его XML.

```json
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.apply",
    "arguments": {
      "at": "main:Subsystem.Продажи",
      "ops": [
        {
          "op": "childSubsystem.add",
          "args": {
            "at": "main:Subsystem.Продажи",
            "items": [{"name": "Дочерняя"}]
          }
        }
      ]
    }
  }
}
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…