Skip to content
Development
Skill

/cfe-patch-method

Генерация перехватчика процедуры в расширении 1С (CFE). Используй для Before/After-перехвата существующей процедуры без параметров у заимствованного объекта

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

Context preview

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

Генерация перехватчика процедуры в расширении 1С (CFE). Используй для Before/After-перехвата существующей процедуры без параметров у заимствованного объекта

SKILL.md

cfe-patch-method.SKILL.md
name: cfe-patch-method
description: Генерация перехватчика процедуры в расширении 1С (CFE). Используй для Before/After-перехвата существующей процедуры без параметров у заимствованного объекта
argument-hint: -ExtensionPath <path> -ModulePath "Catalog.X.ObjectModule" -MethodName "ОбновитьДанные" -InterceptorType Before
allowed-tools:
  - Bash
  - Read
  - Glob

/cfe-patch-method — Генерация перехватчика процедуры

MCP routing

  • **Отдельной канонической операции генерации перехватчика нет.** Подготовленный

BSL записывается через `unica.apply` операциями `code.insert` и `code.replace` по маршруту [code-patch](../code-patch/SKILL.md).

  • У заимствованного объекта запись BSL также подключает модуль: недостающее

состояние `PropertyState=Extended` добавляется в дескриптор той же транзакцией. Корректное состояние сохраняется без изменения, несовместимое вызывает отказ до записи. Вручную помечать поддержанный модуль в XML не нужно.

  • Не зови внутренние адаптеры напрямую: они спрятаны за MCP `unica`.
  • Готовность проверяет `unica.check`, результат читает `unica.view` по адресу.

Шаблоны этого навыка относятся к `Before`/`After` — `&Перед`/`&После` существующей процедуры без параметров. Они не выводят автоматически подпись функции или процедуры с параметрами и не описывают `&Вместо` или `&ИзменениеИКонтроль`. Это граница шаблонов, а не ограничение записи BSL через `unica.apply`.

Порядок работы

1. Прочитай исходную процедуру через `unica.view`: проверь её подпись и контекст компиляции. Заимствуй объект в расширение по [cfe-borrow](../cfe-borrow/SKILL.md), если он ещё не заимствован. 2. Найди логический адрес модуля расширения. Подготовь BSL с нужным декоратором, префиксом имён этого расширения и контекстом исходной процедуры. В примерах ниже имена и префикс условные. 3. Получи план `unica.apply` с `at` и `ops`: новый перехватчик добавляет `code.insert`, существующий изменяет `code.replace` по его адресу в расширении. Проверь план BSL и, если состояния модуля ещё нет, добавление `PropertyState` в XML. Предпросмотр не записывает ни один файл. 4. Исполни сохранённый план вызовом только с `executionToken`. Прочитай результат через `unica.view`, выполни `unica.check` на модуле и на корне расширения (`ext:Configuration`, подставив имя своего набора).

`unica.check` проверяет исходники. Успешная структурная проверка не означает, что перехватчик уже выполнен платформой в целевом сценарии.

Примеры

Перехват Перед в модуле объекта

Параметры иллюстрации; это не содержимое BSL-файла и не аргументы `unica.apply`:

{
  "ExtensionPath": "src",
  "ModulePath": "Catalog.Контрагенты.ObjectModule",
  "MethodName": "ОбновитьДанные",
  "InterceptorType": "Before"
}

Перехват обычной процедуры формы После на клиенте

Параметры иллюстрации; это не содержимое BSL-файла и не аргументы `unica.apply`:

{
  "ExtensionPath": "src",
  "ModulePath": "Document.Заказ.Form.ФормаДокумента",
  "MethodName": "ОбновитьОтображение",
  "InterceptorType": "After",
  "Context": "НаКлиенте"
}

Перехват процедуры общего модуля

Параметры иллюстрации; это не содержимое BSL-файла и не аргументы `unica.apply`:

{
  "ExtensionPath": "src",
  "ModulePath": "CommonModule.ОбщийМодуль",
  "MethodName": "ОбновитьДанные",
  "InterceptorType": "Before"
}

Генерируемый код (Before)

&Перед("ОбновитьДанные")
Процедура Расш1_ОбновитьДанные()
	// TODO: код перед вызовом оригинального метода
КонецПроцедуры
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-исходников). Используй когда нужно начать новую конфигурацию с нуля