AgentSkillsCN

form-add

为1C配置对象添加可管理的表单

SKILL.md
--- frontmatter
name: form-add
description: Добавить управляемую форму к объекту конфигурации 1С
argument-hint: <ObjectPath> <FormName> [Purpose] [--set-default]
allowed-tools:
  - Bash
  - Read
  - Write
  - Edit
  - Glob
  - Grep

/form-add — Добавление формы к объекту конфигурации

Создаёт управляемую форму (metadata XML + Form.xml + Module.bsl) и регистрирует её в корневом XML объекта конфигурации (Document, Catalog, InformationRegister и др.).

Usage

code
/form-add <ObjectPath> <FormName> [Purpose] [Synonym] [--set-default]
ПараметрОбязательныйПо умолчаниюОписание
ObjectPathдаПуть к XML-файлу объекта (Documents/Док.xml)
FormNameдаИмя формы (ФормаДокумента)
PurposeнетObjectНазначение: Object, List, Choice, Record
Synonymнет= FormNameСиноним формы
--set-defaultнетавтоУстановить как форму по умолчанию

Команда

powershell
powershell.exe -NoProfile -File .claude\skills\form-add\scripts\form-add.ps1 -ObjectPath "<ObjectPath>" -FormName "<FormName>" [-Purpose "<Purpose>"] [-Synonym "<Synonym>"] [-SetDefault]

Purpose — назначение формы

PurposeДопустимые типы объектовОсновной реквизитDefaultForm-свойство
ObjectDocument, Catalog, DataProcessor, Report, ChartOf*, ExchangePlan, BusinessProcess, TaskОбъект (тип: *Object.Имя)DefaultObjectForm (DefaultForm для DataProcessor/Report)
ListВсе кроме DataProcessorСписок (DynamicList)DefaultListForm
ChoiceDocument, Catalog, ChartOf*, ExchangePlan, BusinessProcess, TaskСписок (DynamicList)DefaultChoiceForm
RecordInformationRegisterЗапись (InformationRegisterRecordManager)DefaultRecordForm

Что создаётся

code
<ObjectDir>/Forms/
├── <FormName>.xml                    # Метаданные формы (UUID)
└── <FormName>/
    └── Ext/
        ├── Form.xml                  # Описание формы (logform namespace)
        └── Form/
            └── Module.bsl           # BSL-модуль с 5 регионами + ПриСозданииНаСервере

Что модифицируется

  • <ObjectPath> — добавляется <Form> в ChildObjects (перед <Template> или <TabularSection>), обновляется Default*Form (автоматически если пустое, или явно при --set-default)

Поддерживаемые типы объектов

Document, Catalog, DataProcessor, Report, InformationRegister, ChartOfAccounts, ChartOfCharacteristicTypes, ExchangePlan, BusinessProcess, Task

Примеры

code
# Форма документа
/form-add Documents/АвансовыйОтчет.xml ФормаДокумента --purpose Object

# Форма списка каталога
/form-add Catalogs/Контрагенты.xml ФормаСписка --purpose List

# Форма записи регистра сведений
/form-add InformationRegisters/КурсыВалют.xml ФормаЗаписи --purpose Record

# Форма выбора с синонимом
/form-add Catalogs/Номенклатура.xml ФормаВыбора --purpose Choice --synonym "Выбор номенклатуры"

# Установить как форму по умолчанию
/form-add Documents/Заказ.xml ФормаДокументаНовая --purpose Object --set-default

Workflow

  1. /form-add — создать каркас формы
  2. /form-compile или /form-edit — наполнить Form.xml элементами
  3. /form-validate — проверить корректность
  4. /form-info — проанализировать результат