From 1c-skills
Borrows objects from 1C configurations into CFE extensions. Use to intercept methods, modify forms, add attributes, or extend catalogs, documents, modules, and 44 object types.
npx claudepluginhub nikolay-shirokov/cc-1c-skills --plugin 1c-skillsThis skill uses the workspace's default tool permissions.
---
Analyzes 1C CFE configuration extensions: borrowed objects, interceptors (&Перед/&После/etc.), own properties/forms, events; checks #Вставка block transfers to base config (Modes A/B).
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Заимствует объекты из основной конфигурации в расширение. Создаёт XML-файлы с ObjectBelonging=Adopted и ExtendedConfigurationObject, добавляет запись в ChildObjects расширения.
Расширение должно быть создано (/cfe-init) и содержать валидный Configuration.xml.
Если пользователь не указал -ConfigPath — попробуй определить автоматически:
.v8-project.json из корня проектаdefault — алгоритм из /db-list)configSrc — используй как -ConfigPathconfigSrc нет — спроси у пользователя| Параметр | Описание |
|---|---|
ExtensionPath | Путь к каталогу расширения (обязат.) |
ConfigPath | Путь к конфигурации-источнику (обязат.) |
Object | Что заимствовать (обязат.), batch через ;; |
BorrowMainAttribute | Заимствовать основной реквизит формы. Без параметра — не заимствует. Form — реквизиты, используемые на форме. All — все реквизиты объекта. Требует форму в -Object |
Catalog.Контрагенты — справочникCommonModule.РаботаСФайлами — общий модульDocument.РеализацияТоваров — документEnum.ВидыОплат — перечислениеCatalog.Контрагенты.Form.ФормаЭлемента — форма объекта (заимствование формы)Catalog.X ;; CommonModule.Y ;; Enum.Z — несколько объектов
Поддерживаются все 44 типа объектов конфигурации.Формат Тип.Имя.Form.ИмяФормы заимствует форму конкретного объекта. Если родительский объект ещё не заимствован — он будет заимствован автоматически.
Создаётся:
Forms/ИмяФормы.xml с ObjectBelonging=Adopted, FormType=ManagedForms/ИмяФормы/Ext/Form.xml с копией исходной формы + <BaseForm> (начальное состояние)Forms/ИмяФормы/Ext/Form/Module.bsl<Form> в ChildObjects родительского объектаКогда нужно: пользователь хочет добавить новый реквизит в существующий объект конфигурации и вывести его на заимствованную форму. Без -BorrowMainAttribute форма заимствуется "пустой" — только визуальные элементы, без привязки к данным объекта. С -BorrowMainAttribute форма сохраняет привязки к реквизитам объекта (DataPath), что позволяет затем добавить на неё новые элементы через /form-edit.
Два режима:
Form (по умолчанию) — заимствует только те реквизиты объекта, которые уже выведены на форму. Оптимальный выбор для большинства случаевAll — заимствует все реквизиты и табличные части объекта. Используй если планируешь выводить на форму реквизиты, которых на ней ещё нетТиповой сценарий (добавление реквизита + вывод на форму):
/cfe-borrow с -BorrowMainAttribute — заимствовать форму с реквизитами/meta-edit — добавить новый реквизит в объект расширения/form-edit — вывести реквизит на заимствованную формуЗащита существующих данных: если зависимый объект уже заимствован с содержимым (реквизитами, формами) — скрипт не перезаписывает его, а добавляет только недостающее.
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/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>