/cfe-borrow - Заимствование объектов из конфигурации

SkillDev tools

Borrowing objects from a 1C configuration into an extension (CFE). Use when you need to intercept a method, modify a form, or add an attribute to an existing configuration object.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /cfe-borrow - Заимствование объектов из конфигурации skill

What this skill tells your AI

The instructions your AI receives, as published by desko77/cursor-1c-skills in skills/1c-cfe-borrow/SKILL.md and read by ahel’s review.

Заимствует объекты из основной конфигурации в расширение. Создает XML-файлы с ObjectBelonging=Adopted и ExtendedConfigurationObject, добавляет запись в ChildObjects расширения.

Предусловие

Расширение должно быть создано (/cfe-init) и содержать валидный Configuration.xml.

Авто-определение ConfigPath

Если пользователь не указал -ConfigPath - попробуй определить автоматически:

  1. Прочитай .v8-project.json из корня проекта
  2. Разреши целевую базу (по имени, ветке или default - алгоритм из /db-list)
  3. Если у базы есть поле configSrc - используй как -ConfigPath
  4. Если configSrc нет - спроси у пользователя

Параметры

ПараметрОписание
ExtensionPathПуть к каталогу расширения (обязат.)
ConfigPathПуть к конфигурации-источнику (обязат.)
ObjectЧто заимствовать (обязат.), batch через ;;
BorrowMainAttributeЗаимствовать основной реквизит формы. Без параметра - не заимствует. Form - реквизиты, используемые на форме. All - все реквизиты объекта. Требует форму в -Object

Формат -Object

  • Catalog.Контрагенты - справочник
  • CommonModule.РаботаСФайлами - общий модуль
  • Document.РеализацияТоваров - документ
  • Enum.ВидыОплат - перечисление
  • Catalog.Контрагенты.Form.ФормаЭлемента - форма объекта (заимствование формы)
  • Catalog.X ;; CommonModule.Y ;; Enum.Z - несколько объектов Поддерживаются все 44 типа объектов конфигурации.

Заимствование форм

Формат Тип.Имя.Form.ИмяФормы заимствует форму конкретного объекта. Если родительский объект еще не заимствован - он будет заимствован автоматически.

Создается:

  1. Метаданные формы - Forms/ИмяФормы.xml с ObjectBelonging=Adopted, FormType=Managed
  2. Form.xml - Forms/ИмяФормы/Ext/Form.xml с копией исходной формы + <BaseForm> (начальное состояние)
  3. Module.bsl - пустой файл Forms/ИмяФормы/Ext/Form/Module.bsl
  4. Регистрация - <Form> в ChildObjects родительского объекта

Заимствование основного реквизита формы (-BorrowMainAttribute)

Когда нужно: пользователь хочет добавить новый реквизит в существующий объект конфигурации и вывести его на заимствованную форму. Без -BorrowMainAttribute форма заимствуется "пустой" - только визуальные элементы, без привязки к данным объекта. С -BorrowMainAttribute форма сохраняет привязки к реквизитам объекта (DataPath), что позволяет затем добавить на нее новые элементы через /form-edit.

Два режима:

  • Form (по умолчанию) - заимствует только те реквизиты объекта, которые уже выведены на форму. Оптимальный выбор для большинства случаев
  • All - заимствует все реквизиты и табличные части объекта. Используй если планируешь выводить на форму реквизиты, которых на ней еще нет

Типовой сценарий (добавление реквизита + вывод на форму):

  1. /cfe-borrow с -BorrowMainAttribute - заимствовать форму с реквизитами
  2. /meta-edit - добавить новый реквизит в объект расширения
  3. /form-edit - вывести реквизит на заимствованную форму

Защита существующих данных: если зависимый объект уже заимствован с содержимым (реквизитами, формами) - скрипт не перезаписывает его, а добавляет только недостающее.

Команда

powershell.exe -NoProfile -File skills/1c-cfe-borrow/scripts/cfe-borrow.ps1 -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Контрагенты"

Примеры

# Заимствовать один объект
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Контрагенты"

# Заимствовать форму (автоматически заимствует родительский объект)
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Контрагенты.Form.ФормаЭлемента"

# Несколько объектов за раз
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Контрагенты ;; CommonModule.ОбщийМодуль ;; Enum.ВидыОплат"

# Заимствовать форму с основным реквизитом (реквизиты по DataPath формы)
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Номенклатура.Form.ФормаЭлемента" -BorrowMainAttribute

# Заимствовать форму с ВСЕМИ реквизитами объекта
... -ExtensionPath src -ConfigPath C:\cfsrc\erp -Object "Catalog.Номенклатура.Form.ФормаЭлемента" -BorrowMainAttribute All

Верификация

/cfe-validate <ExtensionPath>

Signals

GitHub stars
57
Forks
13
Last commit
Sep 2026

ahel recommends instead

Advanced
Catalog kind
skill
Gateway key
x-1c-cfe-borrow-desko77
Source
github.com/desko77/cursor-1c-skills