.claude/skills/cfe-borrow/SKILL.md
Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации
npx skillsauth add Nikolay-Shirokov/cc-1c-skills cfe-borrowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Заимствует объекты из основной конфигурации в расширение. Создаёт 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/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.ВидыОплат"
# Заимствовать форму с основным реквизитом (реквизиты по 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>
testing
Валидация макета табличного документа (MXL). Используй после создания или модификации макета для проверки корректности
tools
Анализ структуры макета табличного документа (MXL) — области, параметры, наборы колонок. Используй при разработке печати — получить области и заполняемые параметры макета
development
Декомпиляция табличного документа (MXL) в JSON-определение. Используй когда нужно получить редактируемое описание существующего макета
development
Компиляция табличного документа (MXL) из JSON-определения. Используй когда нужно создать макет печатной формы