Skip to content
cccskills
FreePublished on GitHub

cfe-borrow

Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md8.7 KB
  • scripts/cfe-borrow.ps1198.7 KB
  • scripts/cfe-borrow.py208.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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

Заимствует объекты из основной конфигурации в расширение. Создаёт 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 через ;;
ModuleСоздать пустые модули объекта: ObjectModule, ManagerModule, RecordSetModule, ValueManagerModule (через запятую) или None. У типов с единственным модулем (CommonModule, HTTPService, WebService) он создаётся и без параметра
BorrowMainAttributeЗаимствовать основной реквизит формы: Form — реквизиты, используемые на форме, All — все реквизиты объекта. Не указан — не заимствует. Требует форму в -Object

Формат -Object

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

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

Формат Тип.Имя.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 — заимствует все реквизиты и табличные части объекта. Используй если планируешь выводить на форму реквизиты, которых на ней ещё нет

Объект, чьи реквизиты заимствуются, — тот, что в типе основного реквизита формы. Обычно это владелец формы; если другой (форма обработки с основным реквизитом DocumentObject.X), заимствуется он сам и его реквизиты.

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

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

Защита существующих данных: уже заимствованный объект не перезаписывается — добавляется только недостающее. Повторный вызов безопасен: собственные реквизиты расширения, заимствованные подобъекты и код в модулях сохраняются.

Команда

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

Верификация

/cfe-validate <ExtensionPath> -ConfigPath <ConfigPath>

Конфигурацию-источник передавай и валидатору: заимствованные формы он проверяет по ней.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию, поменять раскладку панелей, настроить начальную страницу

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills718Updated Oct 22, 2026

Анализ структуры конфигурации 1С — свойства, состав, счётчики объектов. Используй для обзора конфигурации — какие объекты есть, сколько их, какие настройки

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills718Updated Oct 22, 2026

Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills718Updated Oct 22, 2026

Валидация конфигурации 1С. Используй после создания или модификации конфигурации для проверки корректности

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills718Updated Oct 22, 2026

Анализ расширения конфигурации 1С (CFE) — состав, заимствованные объекты, перехватчики, проверка переноса. Используй когда нужно понять что содержит расширение или проверить перенесены ли вставки в конфигурацию

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills718Updated Oct 22, 2026

Создать расширение конфигурации 1С (CFE) — scaffold XML-исходников. Используй когда нужно создать новое расширение для исправления, доработки или дополнения конфигурации

The English summary is being prepared. Showing the original description.

Nikolay-Shirokov/cc-1c-skills718Updated Oct 22, 2026

See all skills by Nikolay-Shirokov

Report a problem with this skill