mcpField
F
form-add

form-add

github.com/nikolay-shirokovDevelopment74152 installsUpdated today
Repository

About form-add

form-add is a skill for configuration developers that creates managed forms for 1C objects and registers them in the object's XML. It validates form purposes by object type and can set a synonym and default form.

Key features

  1. 01Generates metadata XML, Form.xml, and Module.bsl
  2. 02Registers the form in the object's root XML
  3. 03Validates form purposes for each object type
  4. 04Sets a form synonym and default status
  5. 05Supports external data source table forms

Use cases

  1. 01Add a form to a document or catalog
  2. 02Create a record form for an information register
  3. 03Add save or load forms to settings storage

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill form-add

After installing, type/form-addin Claude Code to confirm it loaded.

Bundled filesscripts/form-add.ps1scripts/form-add.py

Details

From the project README

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

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

Usage

/form-add <ObjectPath> <FormName> [-Purpose <Purpose>] [-Synonym <Synonym>] [-SetDefault]
ПараметрОбязательныйПо умолчаниюОписание
ObjectPathда—Путь к XML-файлу объекта (Documents/Док.xml)
FormNameда—Имя формы (ФормаДокумента)
Purposeнетосновная форма видаНазначение формы — см. таблицу ниже: у справочника это форма объекта, у регистра сведений — форма записи, у журнала — форма списка
Synonymнет= FormNameСиноним формы
-SetDefaultнетавтоСделать основной. Без флага основной становится первая форма каждого назначения

Команда

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/form-add.ps1" -ObjectPath "<ObjectPath>" -FormName "<FormName>" [-Purpose "<Purpose>"] [-Synonym "<Synonym>"] [-SetDefault]

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

PurposeКакая формаСтановится основной
Objectформа объекта (элемента, документа, обработки)да
Listформа спискада
Choiceформа выборада
Folderформа группыда
FolderChoiceформа выбора группыда
Recordформа записида
RecordSetформа набора записейнет — в платформе нет такого свойства
Saveформа сохранения настроекда
Loadформа загрузки настроекда
Customпроизвольная форма, без привязки к объектунет
Что доступно типу объекта
Тип объектаНазначения
Catalog, ChartOfCharacteristicTypesObject, Folder, List, Choice, FolderChoice, Custom
Document, ChartOfAccounts, ChartOfCalculationTypes, ExchangePlan, BusinessProcess, TaskObject, List, Choice, Custom
DataProcessor, Report, ExternalDataProcessor, ExternalReportObject, Custom
InformationRegisterRecord, List, RecordSet, Custom
AccumulationRegister, AccountingRegister, CalculationRegisterList, RecordSet, Custom
DocumentJournal, FilterCriterionList, Custom
EnumList, Choice, Custom
SettingsStorageSave, Load, Custom
Table (таблица внешнего источника)tableDataType=ObjectData — Object, List, Choice, Custom; NonobjectData — Record, List, Choice, Custom

Недопустимое сочетание отклоняется со списком доступных для этого типа. У константы собственных форм нет — для неё используется общая форма (CommonForm).

Таблица внешнего источника адресуется файлом таблицы: ExternalDataSources/<Источник>/Tables/<Таблица>.xml. Ссылки в такой форме трёхчастные; без -Purpose берётся форма объекта, а у таблицы с составным ключом — форма записи.

Примеры

# Форма документа
/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 -SetDefault

Workflow

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

Comments

Markdown supported