Перейти к содержанию

Дашборды — паттерны настройки

Паттерны настройки дашбордов (порталов) в 1Форме: создание порталов, три режима верстки (Dashboard/Flex/Board), права доступа, типы виджетов, настройка источников данных, подсказки и легенды виджетов, таблица с Drill Down.

1. Создание дашбордов

Дашборд (портал) — пространство с виджетами, аналог рабочего стола. Стартовая страница системы — главный портал, открывается по клику на логотип.

Пример дашборда с виджетами-графиками разных типов: линейный, столбчатый, секторный, воронка продаж, спидометр

Создание: Администрирование - Пользовательский интерфейс - Порталы - Добавить портал - ввести название - Ок.

Три режима верстки

Режим Когда использовать
Dashboard Основной режим. Сетка с виджетами, перетаскивание, изменение размеров. Наибольшее число типов виджетов
Flex Адаптивная верстка контейнерами. Нужно особое поведение перестройки блоков
Board Секции, группы, вкладки, несколько страниц. Ссылки в верхней части портала

Переключение: кнопка "Дизайнер" - выбрать режим - Сохранить.

Виджеты, добавленные в одном режиме, после смены на другой не отображаются.

Дизайнер Dashboard

Сетка + панель настроек справа. Добавление виджета через "+", перемещение перетаскиванием, изменение размеров за нижний край.

Дизайнер Flex

Контейнерная верстка. Основной элемент — родительский контейнер с дочерними. Управление через контекстное меню (ПКМ): добавить контейнер, настройка, удалить. Добавление виджетов из списка блоков ("+").

Дизайнер Board

Древовидная структура: Портал - Группы - Секции. Группа объединяет секции во вкладки. Секция — отдельный дашборд. Поддерживает ссылки на другие страницы/порталы в верхней части.

Права доступа на портал и добавление в избранное

Кнопка "Доступ" в меню портала - указать группы пользователей. Администраторы видят портал в конструкторе даже без доступа.

Добавление в "Избранное": кнопка "Добавить в избранное" - указать группы, для которых ссылка добавится в блок "Избранное".

3. Типы виджетов (дизайнер Dashboard)

Доступные типы виджетов в дизайнере Dashboard:

Тип Назначение
Блок поиска задач Задачи из категории/произвольного источника. Список или карточки. Новости, объявления, встречи
Список задач Задачи текущего пользователя: на сегодня, активные, просроченные, на подписи и др.
Таблица Сводная информация из SP. Поддержка Drill Down
График (диаграмма) Столбчатая, круговая, линейный и др.
Меню Набор кнопок с настраиваемыми действиями (открытие отчёта, задачи)
Контакты Список контактов с чатом, звонками, календарной занятостью
Кнопка-тикер Блок со счётчиком, ссылкой, иконкой и кнопкой создания задачи
Баннер-кнопка Баннер со ссылкой на объект, визуальные эффекты
Счётчики До 6 счётчиков, прямые/обратные метрики, %, штуки. Источник — smart
Диаграмма Ганта Временная шкала задач с цветом по статусу
Smart HTML Произвольный HTML + Mustache + SMART/T-SQL
Календарь Информация с привязкой к дате/периоду, шаблон как Smart HTML
Степпер Пошаговый алгоритм с интерактивным выбором шага

4. Настройка виджетов — общие паттерны

Права доступа виджета

Поле "Доступен для групп" — обязательно включать Administrators (облегчает диагностику).

Источники данных

  • Блок поиска задач: категория или smart-фильтр в "Дополнительных настройках"
  • Список задач: встроенные источники (задачи на сегодня, активные, просроченные и т.д.)
  • Контакты: smart-выражение для выборки пользователей
  • Таблица, Кнопка-тикер, Счётчики: smart/T-SQL

Smart-фильтр для виджета "Блок поиска задач"

Дополнительные настройки - Фильтр задач - переключить на smart-фильтр - "+".

Усечение времени до даты при сравнении сроков — иначе сравнение будет с точностью до секунды.

Виджет "Меню" — кнопки

Добавление через "Дополнительные настройки" или кнопку "Добавить" в редакторе дашборда. Для каждой кнопки:

  • "Текст ссылки" — отображаемый текст
  • "Ссылка" — относительная (без домена, от первого /)

Использовать относительные ссылки, чтобы настройки работали на любой площадке. Пример: /spa/report/72, /spa/tasks/<номер>.

Динамическая ссылка — smart-выражение, формирующее URL вида /spa/tasks/<номер задачи>.

Виджет "Контакты" — пример smart для выборки по группе

SELECT u.userid
FROM Users u WITH (NOLOCK)
JOIN usergroups g WITH (NOLOCK)
  ON g.userid = u.userid
 AND g.groupid = 935   -- ID группы

Виджет "Счётчики" — конфигурация

  • До 6 счётчиков в одном виджете
  • Значения через smart-выражения
  • Поддержка: прямые и обратные метрики, процентные и штучные значения
  • Заголовок может содержать ссылку на объект

5. Подсказка и легенда виджета

Начиная с версии 2.268.334 у всех виджетов портала появились дополнительные элементы оформления.

Подсказка

Рядом с заголовком виджета отображается значок (i). При нажатии на него открывается карточка задачи 1Форма, заданной в настройках виджета — она служит контекстной справкой. Если связанная задача является пространством, она открывается как пространство, иначе — как обычная модальная карточка. Чтобы задать подсказку, в настройках виджета укажите номер задачи 1Форма. Если задача не существует или у пользователя к ней нет доступа, значок не отображается. Опция с динамическим выбором задачи через смарт-выражение для подсказки не предусмотрена — поле HintSmartId в схеме БД отсутствует, в отличие от легенды.

Легенда

В нижней части виджета можно вывести текстовый блок с форматированием (жирный текст, курсив, списки, иконки, изображения). Легенду можно задать двумя способами:

  • Фиксированный текст — введите текст с Markdown-разметкой в дополнительных настройках виджета.
  • Динамическая через смарт-выражение — настройте смарт-выражение (SmartScript), которое возвращает текст с разметкой. Легенда будет обновляться в зависимости от данных и контекста пользователя.

Если не задан ни фиксированный текст, ни смарт-выражение, блок легенды не отображается. Подсказка и легенда доступны для всех типов виджетов.

6. Виджет "Таблица" с Drill Down

Источник данных — хранимая процедура

Виджет "Таблица" получает данные из хранимых процедур SQL.

Обязательные входные параметры SP:

Параметр Тип Назначение
@XmlParam XML Параметры фильтрации (из виджета)
@DrilldownField varchar Колонка, по которой запрошена детализация
@DrillDownParams varchar Параметры детализации
@UserID int Текущий пользователь

Фильтры виджета

Настройки фильтрации - Создать фильтр - Добавить параметр (тип "Период", "Выпадающий список" и др.). Параметр задаётся на латинице — по нему обращение в SP.

Парсинг параметров в SP:

-- Получить параметры из XML
EXEC crm_repGetParams @XmlParam, @Params OUTPUT

-- Извлечь период
SELECT @startDate = [From], @endDate = [To]
FROM @Params
WHERE Name = 'periodFilter'

Логика Drill Down в одной SP

IF @DrillDownField = '' OR @DrillDownField IS NULL
BEGIN
    -- Основная таблица
    SELECT ...
END
ELSE
BEGIN
    -- Детализация: парсим @DrillDownParams
    -- Определяем колонку по @DrillDownField
    SELECT ...
END

Параметры Drill Down извлекаются из @DrillDownParams в табличную переменную @DrillParams, доступ по ключу (колонка Name).

Настройка в интерфейсе

  1. Дополнительные настройки виджета - ввести имя SP
  2. Отобразятся колонки — проставить галки "Отображать", задать "Имя" на русском
  3. Для Drill Down: указать SP и "Колонку для функции Drill Down"
  4. Для каждого столбца с Drill Down — настроить колонки детализированной таблицы (шестерёнка в колонке "Детализация")

6.1. Автовысота таблицы

В дополнительных настройках виджета «Таблица» (блок «Таблица») доступны два флага автовысоты.

Флаг Поведение
Автовысота таблицы Отключает внутренний скролл таблицы: высота грида подстраивается под количество строк (ag-grid domLayout: autoHeight) — сколько данных, столько и отображается. Если рядом на портале более высокий виджет, место под короткой таблицей остаётся пустым.
Автовысота дриллдауна При проваливании в детализацию (Drill Down) высота пересчитывается под новый контент. Если флаг выключен — высота фиксируется по исходной таблице, а при большем объёме данных появляется внутренний скролл.

Без «Автовысоты таблицы» виджет работает как раньше — с фиксированной высотой по сетке портала и внутренним скроллом. Настройки относятся к виджету «Таблица» (ag-grid) на портале.