name: cfe-borrow description: Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации argument-hint: -ExtensionPath <path> -ConfigPath <path> -Object "Catalog.Контрагенты" allowed-tools:
- Bash
- Read
- Glob
/cfe-borrow — Заимствование объектов из конфигурации
Заимствует объекты из основной конфигурации в расширение. Создаёт XML-файлы с ObjectBelonging=Adopted и ExtendedConfigurationObject, добавляет запись в ChildObjects расширения.
Предусловие
Расширение должно быть создано (/cfe-init) и содержать валидный Configuration.xml.
Авто-определение ConfigPath
Если пользователь не указал -ConfigPath — попробуй определить автоматически:
- Прочитай
.v8-project.jsonиз корня проекта - Разреши целевую базу (по имени, ветке или
default— алгоритм из/db-list) - Если у базы есть поле
configSrc— используй как-ConfigPath - Если
configSrcнет — спроси у пользователя
Параметры
| Параметр | Описание |
|---|---|
ExtensionPath | Путь к каталогу расширения (обязат.) |
ConfigPath | Путь к конфигурации-источнику (обязат.) |
Object | Что заимствовать (обязат.), batch через ;; |
Формат -Object
Catalog.Контрагенты— справочникCommonModule.РаботаСФайлами— общий модульDocument.РеализацияТоваров— документEnum.ВидыОплат— перечислениеCatalog.Контрагенты.Form.ФормаЭлемента— форма объекта (заимствование формы)Catalog.X ;; CommonModule.Y ;; Enum.Z— несколько объектов Поддерживаются все 44 типа объектов конфигурации.
Заимствование форм
Формат Тип.Имя.Form.ИмяФормы заимствует форму конкретного объекта. Если родительский объект ещё не заимствован — он будет заимствован автоматически.
Создаётся:
- Метаданные формы —
Forms/ИмяФормы.xmlсObjectBelonging=Adopted,FormType=Managed - Form.xml —
Forms/ИмяФормы/Ext/Form.xmlс копией исходной формы +<BaseForm>(начальное состояние) - Module.bsl — пустой файл
Forms/ИмяФормы/Ext/Form/Module.bsl - Регистрация —
<Form>в ChildObjects родительского объекта
Команда
powershell.exe -NoProfile -File .claude/skills/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.ВидыОплат"
Верификация
/cfe-validate <ExtensionPath>