form-add について
form-add は、1C の構成オブジェクトにマネージドフォームを作成し、オブジェクトの XML に登録するスキルです。構成開発者向けで、オブジェクト種別に応じた用途の検証や、別名・デフォルト設定に対応します。
主な機能
- 01メタデータ XML、Form.xml、Module.bsl の生成
- 02オブジェクトのルート XML へのフォーム登録
- 03オブジェクト種別ごとの用途検証
- 04フォームの別名とデフォルト設定
- 05外部データソースのテーブルフォーム対応
活用シーン
- 01ドキュメントやカタログへのフォーム追加
- 02情報レジスターのレコードフォーム作成
- 03設定ストレージの保存・読み込みフォーム追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill form-addインストール後、Claude Code で/form-addを入力して読み込まれたか確認します。
同梱ファイルscripts/form-add.ps1scripts/form-add.py
詳細
/form-add — 構成オブジェクトへのフォームの追加
管理フォーム(metadata XML + Form.xml + Module.bsl)を作成し、構成オブジェクト(Document、Catalog、InformationRegister など)のルート XML に登録します。
使用方法
/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, ChartOfCharacteristicTypes | Object, Folder, List, Choice, FolderChoice, Custom |
| Document, ChartOfAccounts, ChartOfCalculationTypes, ExchangePlan, BusinessProcess, Task | Object, List, Choice, Custom |
| DataProcessor, Report, ExternalDataProcessor, ExternalReport | Object, Custom |
| InformationRegister | Record, List, RecordSet, Custom |
| AccumulationRegister, AccountingRegister, CalculationRegister | List, RecordSet, Custom |
| DocumentJournal, FilterCriterion | List, Custom |
| Enum | List, Choice, Custom |
| SettingsStorage | Save, Load, Custom |
| Table(外部ソースのテーブル) | tableDataType=ObjectData — Object, List, Choice, Custom;NonobjectData — Record, List, Choice, Custom |
無効な組み合わせは、その種類で使用できる用途の一覧とともに拒否されます。定数には独自のフォームがないため、共通フォーム(CommonForm)を使用します。
外部ソースのテーブルは、テーブルファイルで指定します。
ExternalDataSources/<Источник>/Tables/<Таблица>.xml。このようなフォームの参照は3部構成です。
-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
ワークフロー
/form-add— フォームのひな形を作成します/form-compileまたは/form-edit— Form.xml に要素を追加します/form-validate— 正当性を検証します/form-info— 結果を分析します
コメント
Markdown 対応