Install Cfe Borrow
Pick your agent. Every command is ready to paste.
npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-borrowThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads cfe-borrow when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the cfe-borrow skill”. In Codex, type $cfe-borrow.
/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 через ;;. Обязателен, кроме -Check / -Actualize — там без него берётся всё заимствованное |
Check |
Только сверить заимствованное с источником, ничего не меняя |
Actualize |
Освежить из источника всё заимствованное в расширении |
Module |
Создать пустые модули объекта: ObjectModule, ManagerModule, RecordSetModule, ValueManagerModule (через запятую) или None. У типов с единственным модулем (CommonModule, HTTPService, WebService) он создаётся и без параметра |
BorrowMainAttribute |
Заимствовать основной реквизит формы: Form — реквизиты, используемые на форме, All — все реквизиты объекта. Не указан — не заимствует. Требует форму в -Object |
Формат -Object
Catalog.Контрагенты— справочникCommonModule.РаботаСФайлами— общий модульDocument.РеализацияТоваров— документEnum.ВидыОплат— перечислениеCatalog.Контрагенты.Form.ФормаЭлемента— форма объекта (заимствование формы)CommonForm.ВыборПериода— общая форма, вместе с содержимым (как форма объекта). С-BorrowMainAttributeвладелец берётся из типа основного реквизита: объект (DataProcessorObject.Xи т.п.), основная таблица динамического списка или константы набора константDocument.ЗаказКлиента.TabularSection.Товары,Document.ЗаказКлиента.Attribute.Комментарий,Document.ЗаказКлиента.TabularSection.Товары.Attribute.Цена,InformationRegister.Цены.Dimension.Номенклатура— отдельный дочерний объект (реквизит, табличная часть, реквизит табличной части, измерение…), без формы. Виды:Attribute,TabularSection,Dimension,Resource,AddressingAttribute,AccountingFlagCatalog.X ;; CommonModule.Y ;; Enum.Z— несколько объектов
Заимствование форм
Формат Тип.Имя.Form.ИмяФормы заимствует форму конкретного объекта. Если родительский объект ещё не заимствован — он будет заимствован автоматически.
Создаётся:
- Метаданные формы —
Forms/ИмяФормы.xmlсObjectBelonging=Adopted,FormType=Managed - Form.xml —
Forms/ИмяФормы/Ext/Form.xmlс копией исходной формы +<BaseForm>(начальное состояние) - Module.bsl — пустой файл
Forms/ИмяФормы/Ext/Form/Module.bsl - Регистрация —
<Form>в ChildObjects родительского объекта
Заимствование основного реквизита формы (-BorrowMainAttribute)
Когда нужно: пользователь хочет добавить новый реквизит в существующий объект конфигурации и вывести его на заимствованную форму. Без -BorrowMainAttribute форма заимствуется "пустой" — только визуальные элементы, без привязки к данным объекта. С -BorrowMainAttribute форма сохраняет привязки к реквизитам объекта (DataPath), что позволяет затем добавить на неё новые элементы через /form-edit.
Два режима:
Form— заимствует только те реквизиты объекта, которые уже выведены на форму. Оптимальный выбор для большинства случаевAll— заимствует все реквизиты и табличные части объекта. Используй если планируешь выводить на форму реквизиты, которых на ней ещё нет
Объект, чьи реквизиты заимствуются, — тот, что в типе основного реквизита формы. Обычно это владелец формы; если другой (форма обработки с основным реквизитом DocumentObject.X), заимствуется он сам и его реквизиты.
Типовой сценарий (добавление реквизита + вывод на форму):
/cfe-borrowс-BorrowMainAttribute— заимствовать форму с реквизитами/meta-edit— добавить новый реквизит в объект расширения/form-edit— вывести реквизит на заимствованную форму
Повторный вызов по уже заимствованному объекту или форме безопасен: собственные реквизиты, код модулей и правки формы сохраняются, а заимствованное освежается из источника — так же после обновления конфигурации.
Заимствование реквизитов и табличных частей без формы
Формат Тип.Имя.<Вид>.<Имя> (и Тип.Имя.TabularSection.<ТЧ>.Attribute.<Реквизит>) заимствует один дочерний объект — реквизит, табличную часть, реквизит табличной части, измерение и т.п.:
- родительский объект заимствуется автоматически, для реквизита табличной части — и сама табличная часть
- табличная часть приходит без реквизитов. Форма, заимствованная позже с
-BorrowMainAttribute, дозаимствует в неё недостающие реквизиты, собственные реквизиты сохраняются - объект из ссылочного типа реквизита (
CatalogRef.Номенклатура) заимствуется оболочкой — пустым, без реквизитов и форм - вид не из списка или дочерний объект, которого нет в источнике, — ошибка, расширение не меняется
Коду модулей расширения реквизиты источника доступны и без заимствования — заимствуй их, только когда табличная часть нужна под собственные реквизиты или реквизит выводит своя форма расширения.
Собственный реквизит табличной части — когда форма не нужна (например, реквизит использует только код):
/cfe-borrow -Object "Document.ЗаказКлиента.TabularSection.Товары"/meta-editнаDocuments/ЗаказКлиента.xmlрасширения:-Operation add-ts-attribute -Value "Товары.пд_Скидка: Number(15,2)"
У плана видов характеристик, плана счетов и плана видов расчёта собственный реквизит в заимствованную табличную часть платформа не примет (отказ при обновлении конфигурации БД), у бизнес-процесса и задачи — только с платформы 8.3.25. Навык такую табличную часть заимствует, но выводит [WARN] — собственных реквизитов в неё не добавляй.
Своя форма расширения видит только заимствованные реквизиты объекта: путь Объект.Склад к незаимствованному реквизиту — «Неверный путь к данным». Заимствуй выводимые реквизиты по одному (Document.ЗаказКлиента.Attribute.Склад ;; Document.ЗаказКлиента.TabularSection.Товары.Attribute.Цена), саму форму создай через /form-add и /form-compile.
Команда
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/cfe-borrow.ps1" -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты"
Примеры
# Заимствовать один объект
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты"
# Заимствовать справочник вместе с модулями объекта и менеджера
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты" -Module ObjectModule,ManagerModule
# Общий модуль без файла модуля
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "CommonModule.РаботаСФайлами" -Module None
# Заимствовать форму (автоматически заимствует родительский объект)
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты.Form.ФормаЭлемента"
# Несколько объектов за раз
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Контрагенты ;; CommonModule.ОбщийМодуль ;; Enum.ВидыОплат"
# Заимствовать форму с основным реквизитом (реквизиты по DataPath формы)
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Номенклатура.Form.ФормаЭлемента" -BorrowMainAttribute Form
# Заимствовать форму с ВСЕМИ реквизитами объекта
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Catalog.Номенклатура.Form.ФормаЭлемента" -BorrowMainAttribute All
# После обновления конфигурации — освежить всё заимствованное
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Actualize
# Табличная часть без формы — под собственные реквизиты
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Document.ЗаказКлиента.TabularSection.Товары"
# Реквизит документа и реквизит табличной части — для своей формы расширения
... -ExtensionPath src\cfe\extname -ConfigPath src\cf -Object "Document.ЗаказКлиента.Attribute.Склад ;; Document.ЗаказКлиента.TabularSection.Товары.Attribute.Цена"
Верификация
/cfe-validate <ExtensionPath> -ConfigPath <ConfigPath>
Конфигурацию-источник передавай и валидатору: заимствованные формы он проверяет по ней.
Tips for Cfe Borrow
- • Start a fresh session after installing so your agent picks up the new skill.
- • This skill ships scripts. Read them before the first run, and run it in a project without secrets first.
- • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Cfe Borrow
What does the Cfe Borrow skill do?
Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации
How do I install Cfe Borrow?
Run "npx skills add Nikolay-Shirokov/cc-1c-skills --skill cfe-borrow" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Cfe Borrow work in Cursor and Codex?
Yes. Cfe Borrow uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Cfe Borrow free?
Cfe Borrow is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.
Who made Cfe Borrow?
Cfe Borrow is published by Nikolay-Shirokov in the Nikolay-Shirokov/cc-1c-skills repository, together with 29 other skills.




