Skip to content
Development
Skill

/cfe-diff

Анализ расширения конфигурации 1С (CFE) — состав, заимствованные объекты, перехватчики, сверка с конфигурацией. Используй когда нужно понять что содержит расширение или чем его объект отличается от объекта конфигурации

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

Context preview

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

Анализ расширения конфигурации 1С (CFE) — состав, заимствованные объекты, перехватчики, сверка с конфигурацией. Используй когда нужно понять что содержит расширение или чем его объект отличается от объекта конфигурации

SKILL.md

cfe-diff.SKILL.md
name: cfe-diff
description: Анализ расширения конфигурации 1С (CFE) — состав, заимствованные объекты, перехватчики, сверка с конфигурацией. Используй когда нужно понять что содержит расширение или чем его объект отличается от объекта конфигурации
argument-hint: <набор-расширение> [<набор-конфигурация>]
allowed-tools:
  - Read
  - Glob

/cfe-diff — Анализ расширения конфигурации

MCP routing

  • Расширение — такой же набор исходников, как конфигурация, и читается тем же

MCP `unica`: `unica.view` по адресу `<набор>:Configuration` и ниже, `unica.check` для валидации, `unica.diff` для сверки узла с конфигурацией.

  • Не вызывай внутренние MCP/CLI-адаптеры и не подменяй набор исходников путём к

каталогу выгрузки.

  • Чтение расширения ничего не меняет. Правку веди через `unica.apply`:

BSL — операциями `code.insert` и `code.replace`, предметные описания — операциями своего семейства. Сначала `at` и `ops` для плана, затем только `executionToken` из `data.executionToken` успешного плана и только после явного подтверждения.

1. Какие наборы есть

`unica.view {}` называет каждый набор рабочего пространства и его вид. Набор с видом `EXTENSION` — расширение; его имя и есть префикс адреса.

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": { "name": "unica.view", "arguments": { "cwd": "<workspace>" } }
}

2. Что содержит расширение

Корень расширения отвечает его идентичностью и составом.

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.view",
    "arguments": { "cwd": "<workspace>", "at": "ext:Configuration" }
  }
}

| Что | Где в ответе | |-----|--------------| | Имя, синоним, версия, поставщик | `props.name`, `props.synonym`, `props.version`, `props.vendor` | | Назначение расширения | `props.extensionPurpose` | | Префикс имён | `props.properties.namePrefix` | | Режим совместимости расширения | `props.properties.extensionCompatibilityMode` | | Сколько объектов в расширении | `props.totalObjects` | | Состав по видам | `branches` — по ветви на вид с числом объектов |

`props.support.state` у расширения — `extension`: это его собственный статус поддержки, а не поддержка объекта конфигурации.

Спуск по ветви даёт объекты вида, дальше — их модули и методы, как у обычного набора: `ext:Role` → роль, `ext:Module` → модули расширения.

3. Валидация расширения

Вид набора выбирает валидатор: на корне расширения работает `cfe`, на его объектах — валидатор вида узла.

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.check",
    "arguments": { "cwd": "<workspace>", "at": "ext:Configuration" }
  }
}

Ответ несёт `status`, `validators` — какие валидаторы отработали — и `diagnostics`. Узел, у которого валидаторов нет, отвечает `status: "readable"` с пустым списком: это утверждение о читаемости, а не отсутствие проверки.

4. Чем объект расширения отличается от объекта конфигурации

`unica.diff` сравнивает один и тот же логический адрес в двух наборах. Заимствованный объект есть в обоих, и различие приходит списком путей.

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.diff",
    "arguments": {
      "cwd": "<workspace>",
      "left": "main:Catalog.Валюты",
      "right": "ext:Catalog.Валюты"
    }
  }
}

`data.equal` отвечает на вопрос целиком, `data.changes[]` перечисляет расхождения с `path`, `left` и `right`. Собственный объект расширения в конфигурации не зарегистрирован, и сравнение отказывает кодом `not_found` — это и есть ответ «объект собственный, а не заимствованный».

5. Перехватчики

Перехватчик — метод модуля расширения с директивой `&ИзменениеИКонтроль`, `&Перед`, `&После` или `&Вместо`. Он виден в проекции модуля расширения: спустись до `ext:<объект>.Module.<Роль>.Method` и читай методы. Текст директивы приходит вместе с телом метода по адресу `...Method.<Имя>.Body`.

Поиск по тексту дешевле обхода модулей, но он литеральный: одного запроса мало. Пройди по всем четырём директивам и считай набор полным только после последней — `&ИзменениеИКонтроль`, `&Перед`, `&После`, `&Вместо`.

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.search",
    "arguments": { "cwd": "<workspace>", "query": "&ИзменениеИКонтроль", "scope": "ext:Configuration" }
  }
}
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "unica.search",
    "arguments": { "cwd": "<workspace>", "query": "&Вместо", "scope": "ext:Configuration" }
  }
}

Чего поверхность не отвечает

Автоматической сверки «перенесена ли вставка `&ИзменениеИКонтроль` в конфигурацию» на канонической поверхности нет. Проверяй перенос вручную: найди вставку поиском в расширении, затем тем же поиском в наборе конфигурации и сравни найденные места. Вывод о переносе делает читатель, а не инструмент.

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