XBSL Skills AI-инструменты для 1С:Элемент
Скиллpython3

xbsl-form-dashboard

Создаёт главную страницу приложения 1С:Элемент (КомпонентИнтерфейса типа Форма) с виджетами СтандартнаяКарточка: KPI-счётчики, навигационные карточки, таблицы данных, баннеры, диаграммы, карусели и бенто-сетки. Генерирует два файла: ГлавнаяСтраница.yaml и ГлавнаяСтраница.xbsl с обработчиком ПослеСоздания. Вызывай когда пользователь хочет создать главную страницу, дашборд, стартовый экран приложения или лендинг с карточками.

Отличие от других скиллов форм

xbsl-form-add и xbsl-form-cards создают формы для конкретного объекта (Справочника, Документа). Этот скилл создаёт независимую форму типа Форма без привязки к объекту — главную страницу с виджетами и динамическими данными.


Алгоритм

Шаг 0 — Определить виджеты

Из запроса пользователя выделить список виджетов. Сопоставить с паттернами P1–P9:

Паттерн Когда применять
P1 KPI «счётчик», «количество», «итого», динамическое число
P2 Навигация «ссылка на раздел», «перейти», «открыть список»
P3 Таблица «список последних», «таблица», «курсы», данные массивом
P4 Баннер «баннер», «заглавный блок», «картинка с текстом»
P5 Диаграмма «воронка», «диаграмма», «круговая», «аналитика»
P6 Карусель «карусель», «слайдер», «прокрутка», «отзывы»
P7 Бенто «плитка», «категории», «bento», сетка разного размера
P8 Поиск «поиск», «поисковая строка», «фильтр»
P9 Статика «преимущества», «возможности», без динамических данных

Уточнить: - Имя формы (по умолчанию ГлавнаяСтраница) - Подсистема (если явно не указана — найдёт xbsl-explore)

Шаг 1 — Разведка

python3 .claude/skills/xbsl-explore/scripts/explore.py \
    --type КомпонентИнтерфейса --name <ИмяФормы> --root <корень>
  • suggested_path — куда создавать файлы
  • conflict — если форма уже существует, спросить: Заменить или Отмена

Шаг 2 — Загрузить спецификацию

Читать файлы из references/ выборочно — только нужные для конкретного запроса.

Всегда читать (3 файла): - references/базовая-структура.md — YAML-скелет и правила компоновки - references/критические-правила.md — правила из тестирования (кавычки, SVG, видимость и др.) - references/регистрация.md — как подключить форму к навигации

По паттернам из Шага 0: - P1 → references/p1-kpi.md - P2 → references/p2-навигация.md - P3 → references/p3-таблица.md - P4 → references/p4-баннер.md - P5 → references/p5-диаграмма.md - P6 → references/p6-карусель.md - P7 → references/p7-бенто.md - P8 → references/p8-поиск.md - P9 → references/p9-статика.md

Дополнительно: - Если есть P4 или упоминание кастомных цветов/шрифтов → references/стилизация.md - Если есть P1, P2, P3 или P5 (динамические данные) → references/xbsl-шаблон.md

Шаг 3 — Сгенерировать UUID

python3 -c "import uuid; print(str(uuid.uuid4()))"

Шаг 4 — Создать <ИмяФормы>.yaml

По базовой структуре из reference + карточки из шага 0.

Обязательные правила: - ВидЭлемента: КомпонентИнтерфейса - ОбластьВидимости: ВПодсистеме - Наследует.Тип: Форма - ВключатьВАвтоИнтерфейс: Ложьвсегда - ПовторноеИспользованиеФормы: Истинавсегда (для производительности) - Импорт: — добавить все подсистемы, из которых берутся данные - KPI-компоненты (Надписи со значениями) должны иметь уникальные Имя: — они обновляются из .xbsl

Шаг 4.5 — Проверить видимость целевых форм (если есть навигация)

Если в виджетах P2 или P7 есть переходы в формы из других подсистем — перед написанием обработчиков проверить ОбластьВидимости каждой целевой формы:

grep "ОбластьВидимости" <путь>/<Подсистема>/<ФормаСписка>.yaml
  • ВПроекте — доступна, всё хорошо
  • ВПодсистемеисправить на ВПроекте до генерации, иначе ошибка компиляции: Variable "ХххФормаСписка" is not defined

Шаг 5 — Создать <ИмяФормы>.xbsl

Создать только если есть виджеты с динамическими данными (P1, P3, P5) или обработчиками навигации (P2, P7). Для чисто статических страниц (только P4, P6, P7, P9) — .xbsl не нужен.

Шаблон файла смотри в references/xbsl-шаблон.md.

Шаг 6 — Итог и инструкции по регистрации

Перечислить созданные файлы. Вывести важное напоминание:

Форма не появится в приложении автоматически. Нужно зарегистрировать её в навигации.

Важно: для Тип: Форма нет автокоманды =ГлавнаяСтраница.Открыть — только НавигационнаяКоманда с ТипФормы.

  1. Проверить: есть ли в проекте КомпонентИнтерфейса с Тип: СтандартноеКлиентскоеПриложениеСРазделами - Если нет (авто-навигация) — создать Приложение.yaml с КомандныйИнтерфейсПанелиНавигации - Если есть — добавить НавигационнаяКоманда ТипФормы: <ИмяФормы> в его навигацию

```yaml

В КомандныйИнтерфейсПанелиНавигации первым элементом:

- Тип: НавигационнаяКоманда Представление: Главная Изображение: Плюс.svg ТипФормы: <ИмяФормы> ```

Подробный шаблон Приложение.yaml — в references/регистрация.md.