korolevpavel/xbsl-ai-skills/xbsl-form-add
Claude Code and agent skill by korolevpavel/xbsl-ai-skills
- community
Checking that the SKILL.md file is still in the repository.
Создание формы интерфейса (КомпонентИнтерфейса) для объектов 1С:Элемент. Используй этот скилл когда пользователь хочет создать форму объекта (ФормаОбъекта), форму списка (ФормаСписка), форму отчёта (ФормаОтчета), или обе формы для Справочника, Документа, РегистрСведений, Отчета или другого объекта конфигурации. Также применяй при запросах типа "создай интерфейс", "добавь форму", "сделай список", "нужна карточка редактирования", "форма для отчёта".
Install
npx vskill@latest install korolevpavel/xbsl-ai-skills/xbsl-form-addSKILL.md
Во всех командах ниже {python} означает python в Windows и python3 в macOS/Linux/WSL. Выбирай команду сразу по текущей ОС, не запускай оба варианта.
Создание формы интерфейса в 1С:Элемент
Шаг 0: Определи что нужно создать
| Что создать | Когда | |
|---|---|---|
ФормаОбъекта | Форма редактирования одной записи | |
ФормаСписка | Форма со списком записей | |
| Обе формы | Если нужен полный интерфейс (типичный случай) | |
ФормаОтчета | Форма просмотра отчёта с параметрами (объект типа Отчет) |
Уточни у пользователя имя объекта, если оно не указано.
Шаги 1 и 2: выполни параллельно
Шаг 1 — Загрузи спецификацию. Прочитай нужные файлы из references/:
- При создании
ФормаОбъекта→ прочитайreferences/ФормаОбъекта.md - При создании
ФормаСписка→ прочитайreferences/ФормаСписка.md - При создании
ФормаОтчета→ прочитайreferences/ФормаОтчета.md - При запросе настроек «Избранного» на target 10.0+ → прочитай
references/favorites-10.md; в обычные формы свойство не добавляй - Читай
references/elements.mdтолько если нужны нестандартные элементы: вложенные файлы, изображения, сворачиваемые блоки, статусы с цветом, надписи/labels, кнопки действий, вкладки (Страницы) — иначе пропусти - Для
ПанельТегов,ПанельЭтапов,КанбанДоскаилиГеографическаяКартана target 10.0+ читайreferences/components-10.md. На более старом target эти компоненты не генерируй. - Для
КомпонентОбсуждения.ОтображатьЗаголовок, программного выбора раздела
ШаблонФормыСРазделами или вложенных узлов встроенных веб-страниц на target 10.0+ читай references/ui-deltas-10.md. Встроенные веб-страницы размещаются в компоненте приложения (Приложение.yaml), а не в форме объекта; если пользователь просит кастомное меню без существующей команды или компонента, оставь стандартное меню и сообщи, какие элементы нужно определить.
Шаг 2 — Анализ объекта. Вызови скилл xbsl-form-info:
Из результата возьми:
object_path— папка куда класть файлы форм (путь там, где живёт объект)object_file— имя файла объекта (нужен для обновления в шаге 6)object_type— тип объектаnamespace— пространство имён (vendor::project::subsystem), используется в типах ФормаСпискаfields— список реквизитов с именами и типами (используй их — не придумывай!)tc— список табличных частейsuggested_layout— рекомендация:simple/panels/tabs/report(для объектов типаОтчет)existing_forms— какие формы уже существуют (дляОтчетсодержит ключФормаОтчета)is_hierarchical—trueесли справочник имеетИерархический: Истинаhierarchy_kind—ИерархияГруппИЭлементовилиИерархияЭлементовдля иерархического справочника; на target 10.0 при отсутствииИерархия.Видприменяется первый вид по умолчаниюparent_reference_type— тип системного реквизитаРодительдля формы элемента; при группах это<Справочник>.Группы.Ссылка?, при иерархии элементов —<Справочник>.Ссылка?additional_hierarchies— список доп. иерархий[{name, field}](паттерн Б, пуст при А)report_params— параметрыПараметрыЗапросаиМакет.Параметры
([{name, type}] или [{name, type, required}] для параметров макета); для совпадающих имён параметр макета задаёт тип и обязательность
data_source_kind—ТаблицаилиЗапрос(только для объектов типаОтчет)data_source— имя таблицы источника (только для объектов типаОтчетсВидИсточникаДанных: Таблица)
Если у реквизита объекта на target 10.0+ задана ВажностьПриОтображении, учитывай её только при решении, нужен ли реквизит в автоматически построенном интерфейсе. Пользовательская форма управляется собственным Содержимое: не копируй это свойство в ПолеВвода и не скрывай явно запрошенное поле без согласования с задачей.
Иерархический справочник: если is_hierarchical: true или additional_hierarchies не пуст — используй соответствующий вид из references/ФормаСписка.md для ФормаСписка. Тип поля Родитель в форме элемента бери из parent_reference_type. Подробности в references/ФормаОбъекта.md.
Если скрипт вернул error:
- сообщи пользователю текст ошибки;
- если в ответе есть
matches— покажи кандидатов и попроси уточнить проект/подсистему; - не создавай и не обновляй формы, пока пользователь не уточнит нужный объект.
Шаг 3: Проверь существующие формы
Если в existing_forms есть ненулевые значения — сообщи пользователю какие формы уже существуют и спроси: перезаписать или пропустить? Не создавай файл без явного подтверждения.
Шаг 4: Сгенерируй UUID
Нужен 1 UUID на каждую форму (только для тех, которые будут созданы). Вызови скилл xbsl-uuid с нужным числом (1 или 2).
Шаг 5: Создай файлы форм
Для каждой создаваемой формы создай файл в object_path.
Именование файлов
| Тип формы | Имя файла | |
|---|---|---|
ФормаОбъекта для Сотрудники | СотрудникиФормаОбъекта.yaml | |
ФормаСписка для Сотрудники | СотрудникиФормаСписка.yaml |
Заголовок формы
ФормаОбъекта→ единственное число:Сотрудник,Заказ покупателя,КонтрагентФормаСписка→ множественное/название объекта:Сотрудники,Заказы покупателей
Важные правила
ВключатьВАвтоИнтерфейс: Ложь— всегда указывай в обеих формах- Для ФормаСписка: используй
namespaceиз скрипта для типов (<ns>::<ИмяОбъекта>ФормаСписка.ДанныеСтрокиСписка) - Для ФормаСписка: динамический список описывается в секции
Свойствавнизу файла (не внутриСодержимое), таблица ссылается на него черезИсточник: =Список - Колонки в ФормаСписка используют
Значение: =ДанныеСтроки.Данные.<Поле>(неПолеЗначения) suggested_layoutиз скрипта определяет шаблон:simple→ПроизвольныйШаблонФормы,panels→ панели (Группа),tabs→ вкладки (РазделФормы)
Шаг 6: Обнови объектный YAML
После создания файлов форм обязательно обнови файл объекта (object_path/object_file). Добавь или дополни секцию Интерфейс.
Секция добавляется сразу после строки `ОбластьВидимости` (или после Ид/Имя, если ОбластьВидимости отсутствует), до Реквизиты / ВидИсточникаДанных.
Для Справочника, Документа, РегистрСведений и других:
Для объекта типа Отчет:
Структура внутри Интерфейс плоская — без подсекций Объект/Список:
Правила:
- Если уже есть секция
Интерфейс, обнови только нужные поля, не
перезаписывай остальные.
- Для
ОтчетпроверяйИнтерфейс.Формаотдельно от
Интерфейс.ВключатьВАвтоИнтерфейс; пользовательская форма необязательна.
Макет.Параметры[].Обязательный: Истинапроверяет построение отчёта при
пустом значении. Покажи этот параметр в форме, если пользователь просит управление им; не добавляй выдуманное свойство обязательности в ПолеВвода.
ИспользоватьСозданиеПриВводе: Истина— только дляСправочник; дляДокумент,Отчети других типов не добавляй- Добавляй только те подсекции (
Объект,Список), формы для которых существуют или создаются
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/xbsl-form-add/SKILL.md
Popularity
- Repository stars
- 45
- Repository forks
- 4
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/korolevpavel/xbsl-ai-skills/xbsl-form-add)