| name | xbsl-form-dashboard |
| description | Создаёт главную страницу приложения 1С:Элемент (КомпонентИнтерфейса типа Форма) с виджетами СтандартнаяКарточка: KPI-счётчики, навигационные карточки, таблицы данных, баннеры, диаграммы, карусели и бенто-сетки. Генерирует два файла: ГлавнаяСтраница.yaml и ГлавнаяСтраница.xbsl с обработчиком ПослеСоздания. Вызывай когда пользователь хочет создать главную страницу, дашборд, стартовый экран приложения или лендинг с карточками.
|
| compatibility | Requires Python 3. |
Во всех командах ниже {python} означает python в Windows и python3 в macOS/Linux/WSL. Выбирай команду сразу по текущей ОС, не запускай оба варианта.
Отличие от других скиллов форм
xbsl-form-add и xbsl-form-cards создают формы для конкретного объекта
(Справочника, Документа). Этот скилл создаёт независимую форму типа Форма
без привязки к объекту — главную страницу с виджетами и динамическими данными.
Алгоритм
Шаг 0 — Определить виджеты
Из запроса пользователя выделить список виджетов. Сопоставить с паттернами P1–P9:
| Паттерн | Когда применять |
|---|
| P1 KPI | «счётчик», «количество», «итого», динамическое число |
| P2 Навигация | «ссылка на раздел», «перейти», «открыть список» |
| P3 Таблица | «список последних», «таблица», «курсы», данные массивом |
| P4 Баннер | «баннер», «заглавный блок», «картинка с текстом» |
| P5 Диаграмма | «воронка», «диаграмма», «круговая», «аналитика» |
| P6 Карусель | «карусель», «слайдер», «прокрутка», «отзывы» |
| P7 Бенто | «плитка», «категории», «bento», сетка разного размера |
| P8 Поиск | «поиск», «поисковая строка», «фильтр» |
| P9 Статика | «преимущества», «возможности», без динамических данных |
Уточнить:
- Имя формы (по умолчанию
ГлавнаяСтраница)
- Подсистема (если явно не указана — найдёт xbsl-explore)
Шаг 1 — Разведка
{python} .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
{python} -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 — Итог и инструкции по регистрации
Перечислить созданные файлы. Вывести важное напоминание:
Форма не появится в приложении автоматически. Нужно зарегистрировать её в навигации.
Важно: для Тип: Форма нет автокоманды =ГлавнаяСтраница.Открыть — только НавигационнаяКоманда с ТипФормы.
- Проверить: есть ли в проекте
КомпонентИнтерфейса с Тип: СтандартноеКлиентскоеПриложениеСРазделами
- Если нет (авто-навигация) — создать
Приложение.yaml с КомандныйИнтерфейсПанелиНавигации
- Если есть — добавить
НавигационнаяКоманда ТипФормы: <ИмяФормы> в его навигацию
-
Тип: НавигационнаяКоманда
Представление: Главная
Изображение: Плюс.svg
ТипФормы: <ИмяФормы>
Подробный шаблон Приложение.yaml — в references/регистрация.md.