Token导航 LogoToken导航TokenDH.com
研究检索权限需确认github未标认证来源可访问许可证需确认审计通过

form-compile表格编译

Agent Skill

form-compile 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

225

周安装

9

GitHub Stars

119

下载量

73
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:form-compile(表格编译)
来源仓库:https://github.com/arman-kudaibergenov/1c-ai-development-kit
仓库路径:skills/form-compile
安装命令:
npx skills add https://github.com/arman-kudaibergenov/1c-ai-development-kit --skill form-compile
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/arman-kudaibergenov/1c-ai-development-kit --skill form-compile

简介

form-compile 用于查找、检索和筛选相关信息。

  • 它适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词、任务场景或来源线索快速定位候选结果时使用。
  • 可结合来源仓库、安装命令和原始 README 继续核验具体用法。
  • 安装命令:npx skills add https://github.com/arman-kudaibergenov/1c-ai-development-kit --skill form-compile
  • 来源仓库:https://github.com/arman-kudaibergenov/1c-ai-development-kit

SKILL.md

/form-compile — Генерация Form.xml из JSON DSL

Принимает компактное JSON-определение формы (20–50 строк) и генерирует полный корректный Form.xml (100–500+ строк) с namespace-декларациями, автогенерированными companion-элементами, последовательными ID.

При проектировании формы с нуля (5+ элементов или нечёткие требования) — вызовите /form-patterns для загрузки справочника: архетипы, конвенции именования, продвинутые паттерны. Для простых форм (1–3 поля, пользователь описал что нужно) — не нужно.

Использование

/form-compile <JsonPath> <OutputPath>

Параметры

ПараметрОбязательныйОписание
JsonPathдаПуть к JSON-определению формы
OutputPathдаПуть к выходному файлу Form.xml

Команда

powershell.exe -NoProfile -File .claude/skills/form-compile/scripts/form-compile.ps1 -JsonPath "<json>" -OutputPath "<xml>"

JSON DSL — справка

Структура верхнего уровня

{
  "title": "Заголовок формы",
  "properties": { "autoTitle": false, ... },
  "events": { "OnCreateAtServer": "ПриСозданииНаСервере" },
  "excludedCommands": ["Reread"],
  "elements": [ ... ],
  "attributes": [ ... ],
  "commands": [ ... ],
  "parameters": [ ... ]
}
  • title — заголовок формы (multilingual). Можно указать и в properties, но лучше на верхнем уровне
  • properties — свойства формы: autoTitle, windowOpeningMode, commandBarLocation, saveDataInSettings, width, height и др.
  • events — обработчики событий формы (ключ: имя события 1С, значение: имя процедуры)
  • excludedCommands — исключённые стандартные команды

Элементы (ключ определяет тип)

DSL ключXML элементЗначение ключа
"group"UsualGroup"horizontal" / "vertical" / "alwaysHorizontal" / "alwaysVertical" / "collapsible"
"input"InputFieldимя элемента
"check"CheckBoxFieldимя
"label"LabelDecorationимя (текст задаётся через title)
"labelField"LabelFieldимя
"table"Tableимя
"pages"Pagesимя
"page"Pageимя
"button"Buttonимя
"picture"PictureDecorationимя
"picField"PictureFieldимя
"calendar"CalendarFieldимя
"cmdBar"CommandBarимя
"popup"Popupимя

Общие свойства (все типы элементов)

КлючОписание
nameПереопределить имя (по умолчанию = значение ключа типа)
titleЗаголовок элемента
visible: falseСкрыть (синоним: hidden: true)
enabled: falseСделать недоступным (синоним: disabled: true)
readOnly: trueТолько чтение
on: [...]События с автоименованием обработчиков
handlers: {...}Явное задание имён обработчиков: {"OnChange": "МоёИмя"}

Допустимые имена событий (on)

Компилятор предупреждает о неизвестных событиях. Имена регистрозависимы — используйте точно как указано.

Форма (events): OnCreateAtServer, OnOpen, BeforeClose, OnClose, NotificationProcessing, ChoiceProcessing, OnReadAtServer, BeforeWriteAtServer, OnWriteAtServer, AfterWriteAtServer, BeforeWrite, AfterWrite, FillCheckProcessingAtServer, BeforeLoadDataFromSettingsAtServer, OnLoadDataFromSettingsAtServer, ExternalEvent, Opening

input / picField: OnChange, StartChoice, ChoiceProcessing, AutoComplete, TextEditEnd, Clearing, Creating, EditTextChange

check: OnChange

table: OnStartEdit, OnEditEnd, OnChange, Selection, ValueChoice, BeforeAddRow, BeforeDeleteRow, AfterDeleteRow, BeforeRowChange, BeforeEditEnd, OnActivateRow, OnActivateCell, Drag, DragStart, DragCheck, DragEnd

label / picture: Click, URLProcessing

labelField: OnChange, StartChoice, ChoiceProcessing, Click, URLProcessing, Clearing

button: Click

pages: OnCurrentPageChange

Поле ввода (input)

КлючОписаниеПример
pathDataPath — привязка к данным"Объект.Организация"
titleLocationРазмещение заголовка"none", "left", "top"
multiLine: trueМногострочное полетекстовое поле, комментарий
passwordMode: trueРежим пароля (звёздочки)поле ввода пароля
choiceButton: trueКнопка выбора ("...")ссылочное поле
clearButton: trueКнопка очистки ("X")
spinButton: trueКнопка прокруткичисловые поля
dropListButton: trueКнопка выпадающего списка
markIncomplete: trueПометка незаполненногообязательные поля
skipOnInput: trueПропускать при обходе Tab
inputHintПодсказка в пустом поле"Введите наименование..."
width / heightРазмерчисла
autoMaxWidth: falseОтключить авто-ширинудля фиксированных полей
horizontalStretch: trueРастягивать по ширине

Чекбокс (check)

КлючОписание
pathDataPath
titleLocationРазмещение заголовка

Надпись-декорация (label)

КлючОписание
titleТекст надписи (обязательно)
hyperlink: trueСделать ссылкой
width / heightРазмер

Группа (group)

Значение ключа задаёт ориентацию: "horizontal", "vertical", "alwaysHorizontal", "alwaysVertical", "collapsible".

КлючОписание
showTitle: trueПоказывать заголовок группы
united: falseНе объединять рамку
representation"none", "normal", "weak", "strong"
children: [...]Вложенные элементы

Таблица (table)

Важно: таблица требует связанный реквизит формы типа ValueTable с колонками (см. раздел "Связки").

КлючОписание
pathDataPath (привязка к реквизиту-таблице)
columns: [...]Колонки — массив элементов (обычно input)
changeRowSet: trueРазрешить добавление/удаление строк
changeRowOrder: trueРазрешить перемещение строк
heightВысота в строках таблицы
header: falseСкрыть шапку
footer: trueПоказать подвал
commandBarLocation"None", "Top", "Auto"
searchStringLocation"None", "Top", "Auto"

Страницы (pages + page)

Ключ (pages)Описание
pagesRepresentation"None", "TabsOnTop", "TabsOnBottom" и др.
children: [...]Массив page
Ключ (page)Описание
titleЗаголовок вкладки
groupОриентация внутри страницы
children: [...]Содержимое страницы

Кнопка (button)

КлючОписание
commandИмя команды формы → Form.Command.Имя
stdCommandСтандартная команда: "Close"Form.StandardCommand.Close; с точкой: "Товары.Add"Form.Item.Товары.StandardCommand.Add
defaultButton: trueКнопка по умолчанию
type"usual", "hyperlink", "commandBar"
pictureКартинка кнопки
representation"Auto", "Text", "Picture", "PictureAndText"
locationInCommandBar"Auto", "InCommandBar", "InAdditionalSubmenu"

Командная панель (cmdBar)

КлючОписание
autofill: trueАвтозаполнение стандартными командами
children: [...]Кнопки панели

Выпадающее меню (popup)

КлючОписание
titleЗаголовок подменю
children: [...]Кнопки подменю

Используется внутри cmdBar для группировки кнопок в подменю:

{ "cmdBar": "Панель", "children": [
  { "popup": "Добавить", "title": "Добавить", "children": [
    { "button": "ДобавитьСтроку", "stdCommand": "Товары.Add" },
    { "button": "ДобавитьИзДокумента", "command": "ДобавитьИзДокумента", "title": "Из документа" }
  ]}
]}

Реквизиты (attributes)

{ "name": "Объект", "type": "DataProcessorObject.Загрузка", "main": true }
{ "name": "Итого", "type": "decimal(15,2)" }
{ "name": "Таблица", "type": "ValueTable", "columns": [
    { "name": "Номенклатура", "type": "CatalogRef.Номенклатура" },
    { "name": "Количество", "type": "decimal(10,3)" }
]}
  • savedData: true — сохраняемые данные

Команды (commands)

{ "name": "Загрузить", "action": "ЗагрузитьОбработка", "shortcut": "Ctrl+Enter" }
  • title — заголовок (если отличается от name)
  • picture — картинка команды

Система типов

DSLXML
"string" / "string(100)"xs:string + StringQualifiers
"decimal(15,2)"xs:decimal + NumberQualifiers
"decimal(10,0,nonneg)"с AllowedSign=Nonnegative
"boolean"xs:boolean
"date" / "dateTime" / "time"xs:dateTime + DateFractions
"CatalogRef.XXX"cfg:CatalogRef.XXX
"DocumentRef.XXX"cfg:DocumentRef.XXX
"ValueTable"v8:ValueTable
"ValueList"v8:ValueListType
`"Type1 \Type2"`составной тип

Связки: элемент + реквизит

Таблица и некоторые поля требуют связанный реквизит. Элемент ссылается на реквизит через path.

Таблица — элемент table + реквизит ValueTable:

{
  "elements": [
    { "table": "Товары", "path": "Объект.Товары", "columns": [
      { "input": "Номенклатура", "path": "Объект.Товары.Номенклатура" }
    ]}
  ],
  "attributes": [
    { "name": "Объект", "type": "DataProcessorObject.Загрузка", "main": true,
      "columns": [
        { "name": "Товары", "type": "ValueTable", "columns": [
          { "name": "Номенклатура", "type": "CatalogRef.Номенклатура" }
        ]}
      ]
    }
  ]
}

Или, если таблица привязана к реквизиту формы (не к Объект):

{
  "elements": [
    { "table": "ТаблицаДанных", "path": "ТаблицаДанных", "columns": [
      { "input": "Наименование", "path": "ТаблицаДанных.Наименование" }
    ]}
  ],
  "attributes": [
    { "name": "ТаблицаДанных", "type": "ValueTable", "columns": [
      { "name": "Наименование", "type": "string(150)" }
    ]}
  ]
}

Паттерны

Диалог загрузки файла

{
  "title": "Загрузка из файла",
  "properties": { "autoTitle": false },
  "events": { "OnCreateAtServer": "ПриСозданииНаСервере" },
  "elements": [
    { "group": "horizontal", "name": "ГруппаФайл", "children": [
      { "input": "ИмяФайла", "path": "ИмяФайла", "title": "Файл", "inputHint": "Выберите файл...", "choiceButton": true, "on": ["StartChoice"] },
      { "check": "ПерваяСтрокаЗаголовок", "path": "ПерваяСтрокаЗаголовок" }
    ]},
    { "input": "Результат", "path": "Результат", "multiLine": true, "height": 8, "readOnly": true, "title": "Лог" },
    { "group": "horizontal", "name": "ГруппаКнопок", "children": [
      { "button": "Загрузить", "command": "Загрузить", "defaultButton": true },
      { "button": "Закрыть", "stdCommand": "Close" }
    ]}
  ],
  "attributes": [
    { "name": "Объект", "type": "ExternalDataProcessorObject.ЗагрузкаИзФайла", "main": true },
    { "name": "ИмяФайла", "type": "string" },
    { "name": "ПерваяСтрокаЗаголовок", "type": "boolean" },
    { "name": "Результат", "type": "string" }
  ],
  "commands": [
    { "name": "Загрузить", "action": "ЗагрузитьОбработка", "shortcut": "Ctrl+Enter" }
  ]
}

Мастер (wizard) с шагами

{
  "title": "Мастер настройки",
  "properties": { "autoTitle": false },
  "elements": [
    { "pages": "СтраницыМастера", "pagesRepresentation": "None", "children": [
      { "page": "Шаг1", "title": "Параметры", "children": [
        { "input": "Параметр1", "path": "Параметр1" }
      ]},
      { "page": "Шаг2", "title": "Результат", "children": [
        { "input": "Итог", "path": "Итог", "readOnly": true }
      ]}
    ]},
    { "group": "horizontal", "name": "Навигация", "children": [
      { "button": "Назад", "command": "Назад", "title": "< Назад" },
      { "button": "Далее", "command": "Далее", "title": "Далее >" }
    ]}
  ],
  "attributes": [
    { "name": "Объект", "type": "ExternalDataProcessorObject.Мастер", "main": true },
    { "name": "Параметр1", "type": "string" },
    { "name": "Итог", "type": "string" }
  ],
  "commands": [
    { "name": "Назад", "action": "НазадОбработка" },
    { "name": "Далее", "action": "ДалееОбработка" }
  ]
}

Список с фильтром и таблицей

{
  "title": "Просмотр данных",
  "elements": [
    { "group": "horizontal", "name": "Фильтр", "children": [
      { "input": "Период", "path": "Период", "on": ["OnChange"] },
      { "input": "Организация", "path": "Организация", "on": ["OnChange"] }
    ]},
    { "table": "Данные", "path": "Данные", "changeRowSet": true, "columns": [
      { "input": "Дата", "path": "Данные.Дата" },
      { "input": "Сумма", "path": "Данные.Сумма" },
      { "input": "Комментарий", "path": "Данные.Комментарий" }
    ]}
  ],
  "attributes": [
    { "name": "Объект", "type": "ExternalDataProcessorObject.Просмотр", "main": true },
    { "name": "Период", "type": "date" },
    { "name": "Организация", "type": "string" },
    { "name": "Данные", "type": "ValueTable", "columns": [
      { "name": "Дата", "type": "date" },
      { "name": "Сумма", "type": "decimal(15,2)" },
      { "name": "Комментарий", "type": "string(200)" }
    ]}
  ]
}

Автогенерация

  • Companion-элементы: ContextMenu, ExtendedTooltip и др. создаются автоматически
  • Обработчики событий: "on": ["OnChange"]ОрганизацияПриИзменении
  • Namespace: все 17 namespace-деклараций
  • ID: последовательная нумерация, AutoCommandBar = id="-1"
  • Unknown keys: выводится предупреждение о нераспознанных ключах

Верификация

/form-validate <OutputPath>    — проверка корректности XML
/form-info <OutputPath>        — визуальная сводка структуры

Особенности для внешних обработок (EPF)

  • Тип главного реквизита: ExternalDataProcessorObject.ИмяОбработки (не DataProcessorObject)
  • DataPath: используйте реквизиты формы (ИмяРеквизита), а не Объект.ИмяРеквизита — у внешних обработок нет реквизитов объекта в метаданных
  • Ссылочные типы: CatalogRef.XXX, DocumentRef.XXX допустимы в XML, но для сборки EPF потребуется база с целевой конфигурацией (см. /epf-build)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.15%
按下载量换算28

Claude

28.52%
按下载量换算21

Cursor

18.72%
按下载量换算14

Gemini CLI

9.97%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills