Skip to main content

v2.0.0

Система и авторизация (или как назвать раздел)

Мультитенантность 

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

 

Управление состоянием авторизации

Синхронизация состояния авторизации между вкладками браузера

Состояние авторизации пользователя теперь синхронизируется в реальном времени между всеми вкладками одного браузера, открытыми на одном стенде.

Поведение системы:

  • При выходе из учётной записи на одной вкладке все остальные активные вкладки этого же стенда автоматически завершают сессию пользователя.

  • При входе в систему на одной вкладке остальные вкладки также выполняют авторизацию от имени данного пользователя.

  • До момента автоматического завершения сессии (например, до следующего обновления страницы или перехода в другой раздел) пользователь сохраняет доступ к текущему состоянию вкладки. Действия, совершённые в этот период, не сохраняются.

  • При повторном входе на вкладке, с которой был выполнен выход, пользователь перенаправляется в ту же область стенда, из которой вышел. На прочих вкладках при повторной авторизации выполняется перенаправление в черновики.

Завершение сессии пользователя через панель администратора

Администратор системы может просматривать текущий статус активности пользователей и принудительно завершать их сессии на всех устройствах непосредственно из панели администратора.

Сохранение состояния навигации в URL

URL страницы теперь отражает полное состояние пользователя в системе: текущий раздел, открытую страницу, активную вкладку, выбранный элемент меню и установленные фильтры (для роли Зритель). Ссылкой можно поделиться — получатель откроет систему в том же состоянии.

Изменения URL происходят без перезагрузки страницы. URL обновляется при:

  • Переходе в другую область платформы

  • Смене активной страницы или вкладки

  • Выборе элемента в левом меню менеджера проектов

  • Изменении фильтров (только для пользователей с ролью Зритель)

Примечания:

  • В URL включаются только активные фильтры с установленными значениями; пустые и неактивные фильтры в URL не добавляются.

  • Возможность управления фильтрами через URL доступна только пользователям с ролью Зритель. Пользователи с ролью редактора могут сохранить нужное состояние и передать ссылку.

  • При повторном входе в систему (без закрытия вкладки) пользователь автоматически перенаправляется в ту область, из которой был выполнен выход.

Уведомление пользователям о плановом обновлении стенда

Добавлена возможность отображения информационных уведомлений для всех пользователей стенда — например, о предстоящих плановых работах или обновлениях системы.

Поведение уведомления:

  • Отображается для всех пользователей во всех разделах системы.

  • Может быть закрыто пользователем вручную. До закрытия уведомление остаётся видимым.

  • Показывается только в заданный интервал времени; за его пределами уведомление не отображается.


Административная панель (или как назвать)

Обновление ролевой модели

Расширен список ролей пользователей системы. Обновлены права доступа к административным функциям и управлению менеджером проектов.

Актуальный список ролей:

  • Администратор системы,
  • Разработчик,
  • Администратор организации,
  • Администратор тенанта,
  • Аналитик,
  • Зритель / Бизнес-пользователь.

Роли Администратор системы и Администратор организации предоставляют настраиваемые разрешения на администрирование стенда и управление доступом к менеджеру проектов.

В менеджере проектов добавлена матрица настройки доступов по следующим категориям:

  • Работа с потоком,
  • Управление проектом,
  • Работа с проектом,
  • Работа с формами ввода.

Просмотр действий пользователя

нет описания задачи 

Графический редактор

Визуал для What-if анализа 

Добавлен новый тип визуализации для моделирования гипотетических сценариев. Пользователь задаёт переменную с числовым диапазоном и шагом — и значение интерактивно подставляется во все связанные визуализации через SQL-запросы.

    Создание визуала: в модальном окне задаются модель данных, название переменной, тип данных (целое или десятичное), минимальное и максимальное значения, шаг. Количество значений — не более 10 000.

    Взаимодействие: визуал отображается как числовой инпут со слайдером. При изменении значения все визуализации, использующие данную переменную, обновляются в реальном времени.

    Интеграция: в редакторе SQL-кода для модели данных доступна таблица со всеми переменными What-if анализа. Переменные вставляются в SQL-выражения по аналогии с другими динамическими значениями.

    Фоновое размытие контейнера

    Для контейнеров с прозрачным фоном добавлена настройка эффекта размытия подложки (backdrop blur). Упрощает оформление дашбордов без необходимости использовать статичные изображения из Figma.

    Настройка доступна во всех элементах, поддерживающих изменение цвета фона: визуализации, медиаблок, фильтры, вставка. Эффект применяется только при условии, что у контейнера задан фон с прозрачностью (opacity < 100%). Значение по умолчанию: 0 (без размытия).

    Расширение возможностей кастомизации визуальных компонентов

    Добавить возможность изменения цвета SVG в медиаблоке через правила и SQL 

    Вставка
    Записывать и рулить SVG-вектором будем через функционал переменной. Для этого в переменной добавляем смену типа текст/вектор.
    Так не нужно будет лепить иконки для кнопок отдельными виджетами
    Соответственно, в контент блока вставляется через двойные скобки, также как текст. Это даст возможность вставлять в любое место и использовать внутри текста.
    Загрузить можно только svg. Код парсится похожим образом на SVG-объект.
    В соответствии с текущей реализацией переменные с SVG можно будет использовать в SQL выражении для динамической подстаноки в текст по условию.
    При этом использовать SVG как отдельный объект также останется максимально просто
    Фон медиаблока также остается доступен в паралель с вектором

    Настройки
    Принцип настройки вектора такой же как для текста. По умолчанию в общих настройках, но с возможностью переопределить внутри переменной.
    Красится всегда в один цвет. Цвет по умолчанию равен цвету текста в главной секции.
    Цвет меняется в секции редактирования (также как у текста). Режимы цвета стандартные
    Размер по умолчанию равен размеру текста в главной секции
    Размер меняется в секции редактирования (по аналогии с текстовой переменной)

    Интеграция
    Вектор должен быть доступен и на виртульных данных чтобы не требовались запросы в режиме простой иконки
    Отдельно нужно будет обсудить с разработкой как хранить и подтягивать этот код. Способов много, сложностей нет, просто надо выбрать способ.

    Добавить настройку отключения курсора “pointer” (палец) для медиаблока (тут кратко название и че добавили)

    Добавить поддержку разноцветной линии в линейном графике с настройкой через правила и выражения 

    Подсекция «Цвет» у линии сейчас только Вручную, а нужно добавить остальные режимы. Ровно то же самое что и у столбиков. И находится оно будет там же где и у столбиков. 

    Переходу в состояние hover на всех виджетах где он срабатывает (пока это только фон) добавить плавность transition-duration = 200мс
    У всех контейнеров наших виджетов есть настройка состояния при наведении мыши. Сейчас это смена цвета фона
    Image

    Проблема
    В данный момент смена цвета срабатывает слишком резко, мгновенно. Это плохо влияет на общее впечатление от использования. В современных интерфейсах должны быть переходы при смене состояний, это повышает отзывчивость интерфейса и добавляет эстетики.

    Image

    Решение
    В CSS предусмотрены специальные свойства для плавной смены состояний — transition-duration
    Необходимо прописать это свойство со значением в 200мс для фона наших контейнеров чтобы при наведении мыши смена цвета фона происходила плавнее.

    Всем контейнерам это: визуализации, фильтры и медиаблок

    Инвертация фильтров

    В инвертированном режиме при выборе значения в фильтре это значение будет исключено из разрезов всех визуальных элементов, на которые влияет этот фильтр.

    При выборе диапазона дат в исключающем режиме во всех визуальных элементах останутся данные на все даты, кроме выбранных в фильтре.

    Конструктор дашбордов

    Сетка на странице

    Добавить простую сетку (без группировки шагов) – каждые n пикселей по горизонтали и вертикали должна рисоваться линия сетки (n задаёт пользователь)

    МХ Все слова Слева, снизу, сверху, справа заменить на икноки везде в настройках визуалиации (переделай название)

    Задача: В настройках заменить текстовые обозначения сторон (“Слева”, “Справа”, “Сверху”, “Снизу”) на соответствующие иконки во всех настройках, где они используются.

    Цель: Сделать интерфейс более визуальным и интуитивно понятным за счёт замены текстов на иконки направлений.

    Менеджер проектов

    МХ потоки в потоках. Хочу иерархию папок (передлай название)

    • Хранение потоков внутри потоков
    • Хранение проектов на одном уровне с потоками внутри потока-дерева
    • Неограниченная вложенность потоков-ветвей
    • Навигация по "хлебным крошкам"
    • Переключение между табличной и плиточной структурой
    • Порядок внутри потока: сначала вложенные потоки, потом проекты
    • Уникальные названия потоков-ветвей, расположенных на одном уровне вложенности

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

    Требуется обеспечить привязку дочерних потоков к родительским на уровне БД, передавать и отображать эти данные на клиенте, добавить новые управляющие элементы для дополнений.

    Новые термины для пользовательской документации:

    Поток-дерево – основной поток, отображаемый в списке потоков в левом меню в менеджере проектов. Не хранится рядом с проектами, а включает в себя потоки-ветви и проекты. На одном уровне потока-дерева должна быть обеспечена уникализация названий потоков-ветвей и проектов, входящих в него. Права пользователю выдаются именно к потоку-дереву и распространяются на все потоки-ветви, входящие в него.

    Поток-ветвь – вложенный поток, который не отображается в списке потоков, а доступен только по навигации в потоке-дереве. Может быть расположен рядом с проектами. На одном уровне потока-ветви должна быть обеспечена уникализация названий потоков-ветвей и проектов. 

    Диспетчер данных

    Интеграция с DIS (модуль ввода данных) (переделай название, чтобы не было слова DIS) содержание фичи оставь 

    Модуль ввода данных (МВД) - это модуль аналитической платформы Fastboard, предназначенный для ввода данных и генерации форм ввода данных.  Модуль создан для комплексной и многопользовательской работы с данными: от их сбора и структурирования до подготовки консолидированных форм для дальнейшей их визуализации и анализа.

    МВД помогает организациям:
    •    централизовать хранение данных по проектам;
    •    автоматизировать рутинные операции ввода и обработки информации;
    •    обеспечить единый стандарт сбора данных через унифицированные формы;
    •    контролировать качество данных с помощью бизнес правил и форматно логического контроля (ФЛК);
    •    формировать регламентированные и аналитические отчётные формы;
    •    отслеживать историю изменений и обеспечивать прозрачность процессов.

    Модуль ориентирован на командную работу: разные роли пользователей могут взаимодействовать с одними и теми же данными, выполняя свои задачи в рамках общего проекта.

    Кнопка массового выбора при загрузке данных

    Проблема: сейчас при работе с большим количеством таблиц (например, при загрузке из Excel) пользователю приходится вручную снимать галочки с большого списка, что занимает значительное время и замедляет работу.

    В большинстве случаев пользователю требуется выбрать только одну таблицу, поэтому удобнее сначала снять выбор со всех элементов, а затем отметить нужный.

    Описание задачи: 
    При загрузке данных в интерфейсе со списком таблиц необходимо добавить две дополнительные кнопки:
      •  «Выбрать все» — отмечает все элементы списка
      •  «Снять все» — снимает выделение со всех элементов

    Ожидаемый результат:
    Пользователь сможет:
      •  быстро снять выделение со всех таблиц одним кликом
      •  выбрать только необходимые таблицы без длительного ожидания
    Image

    Коннектор к Битрикс. Добавление методов (переделай название)


    • CRM / Сделки
      Раздел: https://b24-19qi1p.bitrix24.ru/crm/deal/kanban/ 
      Scope: CRM (crm)
      Должен быть список сделок.

    • CRM / Сделки - пользовательские поля
      Пользовательские поля отображаются в карточке сделки.
      Scope: CRM (crm)

    • CRM / Сделки - история статусов
      Scope: CRM (crm)

    • CRM / Сделки - товары
      Scope: CRM (crm)
      Вкладка "Товары" в карточке сделки.


      По товарам фильтр не работает, будет задача, где нужно их убрать.

    • CRM / Товары
      Scope: Торговый каталог (catalog)
      Раздел: https://b24-19qi1p.bitrix24.ru/crm/catalog/ 

    • CRM / Товары - свойства
      Scope: Торговый каталог (catalog)
      Список свойств отображается в карточке товара.

    • CRM / Лиды
      Scope: CRM (crm)
      Раздел: https://b24-19qi1p.bitrix24.ru/crm/lead/kanban/ 

    • CRM / Лиды - пользовательские поля
      Scope: CRM (crm)
      Пользовательские поля отображаются в карточке лида.

    • CRM / Лиды - история статусов
      История статусов отображается в карточке лида.
      Scope: CRM (crm)

    • CRM / Лиды - товары
      Scope: CRM (crm)
      Товары отображаются в карточке лида.

    • CRM / Контакты
      Раздел: https://b24-19qi1p.bitrix24.ru/crm/contact/list/ 
      Scope: CRM (crm)

    • CRM / Контакты - пользовательские поля
      Отображаются в карточке контакта.
      Scope: CRM (crm)

    • CRM / Дела в элементах CRM
      Scope: CRM (crm)
      Отображаются в карточках: Контакты, Сделки, Лиды, Смарт-процессы.

    • CRM / Связи дел с элементами CRM
      Scope: CRM (crm)
      Тут хранятся связи между делами и карточками: Контакты, Сделки, Лиды, Смарт-процессы.
      activityId — ID дела
      entityId — ID контакта/Сделки/Лида/Смарт-процесса
      entityTypeId — тип карточки:

      entityTypeId Сущность Описание
      1 lead Лиды
      2 deal Сделки
      3 contact Контакты
      4 company Компании
      5 invoice Счета (старые)
      6 quote Предложения
      7 requisite Реквизиты
      8 activity Дела (в некоторых контекстах)
      31 smart_invoice Смарт-счета
      32 store_document Документы склада
      134-189 smart_process Пользовательские смарт-процессы
      190-199 smart_process_predefined Предустановленные смарт-процессы
      200+ smart_process_extended Расширенные смарт-процессы

    • CRM / Стадии элементов CRM
      Scope: CRM (crm)
      Список стадий элементов CRM (Сделки, Лиды, Смарт-процессы и т.д.).
      Настроить можно тут: https://b24-19qi1p.bitrix24.ru/crm/configs/status/ 

    • CRM / Компании
      Scope: CRM (crm)
      Раздел: https://b24-19qi1p.bitrix24.ru/crm/company/list/ 

    • CRM / Компании - пользовательские поля
      Scope: CRM (crm)
      Отображаются в карточках компаний.

    • CRM / Коммерческие предложения
      Scope: CRM (crm)
      Отображаются в карточках во вкладке "Предложения".

    • CRM / Коммерческие предложения - товары
      Scope: CRM (crm)
      Отображаются в карточках предложений.

    • CRM / Смарт-процессы
      Scope: CRM (crm)
      Универсальный метод, с помощью которого можно получить списки как стандартных, так и пользовательских смарт-процессов.

      entityTypeId Сущность Описание
      1 lead Лиды
      2 deal Сделки
      3 contact Контакты
      4 company Компании
      5 invoice Счета (старые)
      6 quote Предложения
      7 requisite Реквизиты
      8 activity Дела (в некоторых контекстах)
      31 smart_invoice Смарт-счета
      32 store_document Документы склада
      134-189 smart_process Пользовательские смарт-процессы
      190-199 smart_process_predefined Предустановленные смарт-процессы
      200+ smart_process_extended Расширенные смарт-процессы

      Например, можно создать смарт-процесс "Список напитков". Ему присвоится entityTypeId, в данном случае — 1056.
      По этому номеру можно получить список напитков.


    • CRM / Смарт-процессы - список
      Scope: CRM (crm)
      Список пользовательских смарт-процессов: https://b24-19qi1p.bitrix24.ru/crm/type/ 

    • CRM / Смарт-процессы - элементы
      Scope: CRM (crm)
      Список всех элементов пользовательских смарт-процессов. Есть поля, по которым можно связать с элементами CRM: companyId, contactId. Если есть связи с элементами CRM, то появляется поле parentId{ID}, где {ID} — числовой идентификатор объекта CRM.

      Пример связи с смарт-процессом в карточке лида:

    • Задачи
      Scope: Задачи (task)
      Список задач из раздела:
      https://b24-19qi1p.bitrix24.ru/company/personal/user/12/tasks/?ta_sec=left_menu 

    • Задачи / Задачи - пользовательские поля
      Scope: Задачи (task)
      Отображаются в карточке задачи.


    • Задачи / Задачи - время работы
      Scope: Задачи (task)
      Отображаются в карточке задачи (нужно включить учет времени).

    • Задачи / Задачи - стадии
      Scope: Задачи (task)
      Столбцы в задачах.

    • Задачи / Задачи - потоки
      Scope: Задачи (task)
      Раздел: https://b24-19qi1p.bitrix24.ru/company/personal/user/12/tasks/flow/ 

    • Задачи / Задачи - проекты
      Scope: Рабочие группы (sonet_group)
      Раздел: https://b24-19qi1p.bitrix24.ru/company/personal/user/12/tasks/projects/ 

    • Бизнес-процессы
      Scope: Бизнес-процессы (bizproc)
      Раздел: https://b24-19qi1p.bitrix24.ru/bizproc/userprocesses/ 

    • Бизнес-процессы / Задания бизнес-процессов
      Scope: Бизнес-процессы (bizproc)

    • Пользователи
      Scope: Пользователи (user)
      Раздел: https://b24-19qi1p.bitrix24.ru/company/ 

    • Телефония
      Scope: Телефония (telephony)
      Звонки отображаются в карточках клиентов.

    • Структура компании
      Scope: Структура компании (department)
      Раздел: https://b24-19qi1p.bitrix24.ru/hr/structure/