Версия 78, июль 2025


Важно! В 78 версии Case.one возможен рост потребления DB CPU для конфигурации Linux — рост может достигать 6%.


Задачи

Чтобы вам было проще найти нужную задачу, мы добавили новый фильтр Название задачи:

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


Уведомления

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

  • В зависимости от указанных в методе параметров уведомление:
    • Может отображаться только в определенной карточке объекта или во всех разделах Case.one
    • Может содержать форматированный текст и настроенную кнопку (аналогично работе метода публичного API POST /api/v2/users/{id}/notify)
  • Особенности отображения уведомления для пользователя:
    • Уведомление отображается по центру экрана
    • Во время отображения недоступны любые действия в Case.one, кроме действий с уведомлением (настроенная кнопка и кнопка закрытия уведомления)
    • Если вызвано несколько уведомлений, более новое заменяет предыдущее
    • Уведомление отображается на всех вкладках карточки объекта:
      • Если закрыть уведомление на одной вкладке, на остальных оно закроется автоматически
      • Если карточка объекта открыта в разных браузерах или в разных окнах одного браузера, уведомление нужно закрыть в каждом браузере или окне


Документы

Поскольку мы изменили логику предоставления прав к документам, теперь функция Удалить в контекстном меню поля с загруженным документом изменена на Открепить

  • На форме создания/просмотра события и задачи.
  • В полях с типом Объект-Документ в карточке объекта.


Отчеты

Теперь стало проще найти нужные значения в фильтрах при просмотре системных и пользовательских отчетов:

  • На вкладке Параметры пользовательского отчета на форме настроек колонки вы можете установить флаг Показывать в фильтре по этой колонке только релевантные данные:
    • Если флаг установлен, в фильтре по колонке при просмотре отчета будут отображаться только те значения, которые отображаются в отчете, с учетом настроенной фильтрации в параметрах отчета
    • По умолчанию флаг снят
    • Установка флага доступна, если в качестве колонок отчета выбраны следующие поля:
      • Системные поля объектов/дел:
        • Тип
        • Стадия
        • Название
      • Кастомные поля объектов/дел и дополнительные атрибуты системных объектов с форматом:
        • Текст
        • Текстовое расширяемое
        • Данные, если в качестве значения выбраны поля:
          • Кастомные поля с форматом: Текст и Текстовое расширяемое
          • Системное поле Название
    • При изменении поля, которое выбрано в качестве колонки, выполниться проверка доступности установки флага Показывать в фильтре по этой колонке только релевантные данные (если для поля недоступна установка флага, флаг будет автоматически сброшен)

  • В настройках фильтров для системных отчетов доступно установить значение параметра Показывать в фильтре по этой колонке только релевантные данные:
    • Вы можете указать следующие значения:
      • true — да (параметр включен)
      • false — нет (параметр выключен)
    • Если параметр не указан, по умолчанию будет использоваться значение false
    • Параметр применяется для всех настроенных фильтров отчета по колонкам для системных и кастомных полей (дополнительных атрибутов) по объектам/делам и системным объектам с типом данных Строковое значение (к этому типу данных относятся все форматы полей, кроме полей с форматом ДатаДата и ВремяЧислоЛогический и Чек-бокс)

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

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


Календари

Теперь календарями стало еще удобнее пользоваться:

  • Добавили всплывающие подсказки при наведении курсора мыши на запись календаря:
    • Для объектов отображаются: полное название объекта и наименование поля, которое выбрано в качестве даты для отображения в календаре
    • Для событий и задач отображается полное наименование события или задачи

  • Переименовали название фильтра Дела в Объекты.
  • Изменили форму создания смарт-календарей:
    • Добавили возможность выбора в поле Календари системного календаря Объекты
    • Переименовали поле Дела в Объекты и добавили параметр Тип объекта для фильтрации смарт-календаря (аналогично фильтру Тип объекта в календаре)
    • Добавили поле Общий доступ, при установке флага в котором вы можете предоставить доступ другим пользователям к смарт-календарю:
      • Общий доступ можно предоставить только к следующим календарям:
        • Общий календарь
        • Объекты
        • Задачи
      • Если в поле Календари на форме создания смарт-календаря выбран Мой календарь или иной пользовательский календарь, при попытке сохранения отобразится ошибка: Для предоставления общего доступа смарт-календарь должен содержать только календари: Общий календарь, Объекты или Задачи
      • По умолчанию флаг снят
      • Если флаг установлен:
        • Смарт-календарь будет доступен для всех пользователей, но отключен на панели слева по умолчанию
        • Объекты, которые недоступны пользователю, будут скрыты при просмотре смарт-календаря
        • Другие пользователи смогут изменить, удалить или синхронизировать смарт-календарь:
          • При редактировании смарт-календаря автором или пользователем изменения будут отображаться у всех пользователей
          • Если пользователь снимет флаг Общий доступ, смарт-календарь станет доступен только автору
          • Если пользователь удалит смарт-календарь, он будет удален у всех


Участники

Для повышения точности и релевантности данных доработали логику выбора искомого участника из ответа метода GET /organizations при ручном создании карточки участника и фоновой синхронизации участников, полученных из Casebook. Теперь при синхронизации данных участника по ИНН не возвращаются данные организаций, прекративших свою деятельность — если по указанному ИНН в Casebook найдены несколько организаций, в Case.one будут загружены сведения организации, деятельность которой не прекращена.


Улучшения и исправления

  • Исправили работу фильтра по полю с типом Число — теперь при вводе 0 в полях Минимум или Максимум в фильтре устанавливаются корректные значения от 0 или до 0.
  • Исключили дублирование задач в календаре, что приводило к высокому потреблению CPU на базе.
  • Выполнили редизайн карточки объекта, в том числе:
    • Исправили шрифт на Golos Text в меню-троеточии карточки и блоках
    • Поправили стили для поля с типом Число
    • Изменили цвета для активной стадии, недоступных кнопок, фона незаполненных обязательных полей и поля с типом Чек-бокс
    • Поправили отображение наименования для поля с типом Объект-Документ
    • Изменили отступы полей в блоке слева и справа на 40 px
    • Сократили отображение подсказки в полях, где доступен выбор из списка
    • Изменили отображение окна значений в полях со списками
    • Поправили отображение времени времени запущенного таймера
  • Исключили отображение блока в списке колонок отчета, на которые у пользователя нет прав.
  • Оптимизировали работу стандартных отчетов в конфигурации более 50 млн. объектов.

Объекты

  • В настройки полей мы добавили новый параметр Видимость, где вы можете выбрать, будет ли поле отображаться или оно будет скрыто — скрытые поля можно использовать, например, для хранения технических сведений или для формирования отчетности:
    • Выбрать видимость поля вы можете в конструкторе объектов, клиентских форм и системных объектов (доп. атрибутов):
      • Да (значение по умолчанию) — поле будет отображаться, как и раньше
      • Нет — при выборе значения:
        • Поле не будет отображаться:
          • В карточках объектов и клиентских запросов
          • На формах сущностей, для которых настроены доп. атрибуты
          • В файле экспорта карточки объекта в PDF
        • Поле будет отображаться:
          • В блоках в конструкторе объектов, клиентских форм и системных объектов (доп. атрибутов)
          • На вкладке Настройки конструктора объекта в качестве значений поля Дата для отображения в календаре
          • В списке полей при настройке правила определения дубликатов
          • В отчетах
          • В сценариях автоматизации
          • В фильтрах
    • Настройка видимости доступна для всех типов полей, кроме полей КнопкаРазделитель и Сообщение
    • Если в блоке есть скрытое поле, справа от строки блока в конструкторе, где скрыто поле, отображается контекстное меню (меню-троеточие) со счетчиком скрытых полей:
      • Вы можете посмотреть все скрытые поля, выбрав в контекстном меню пункт Скрытые поля 
      • В списке скрытых полей отображается их название и формат
      • При выборе скрытого поля из списка на панели слева откроются настройки поля
    • Предусмотрены следующие особенности работы со скрытыми полями:
      • Вы можете скрыть поле, даже если оно обязательно для заполнения — скрытые поля не проверяются на обязательность при сохранении карточек объектов, клиентских запроса и доп. атрибутов
      • Значение параметра Видимость переносится при переиспользовании или копировании блока со скрытым полем 
      • Скрытые поля:
        • Доступно выгрузить в шаблон импорта в соответствии с доступными для выгрузки форматами поля 
        • Можно использовать при настройке стадий в качестве дополнительного поля или сводных данных
      • При выборе значения видимости Да у скрытого поля:
        • Поле будет снова отображаться в блоке
        • Поле будет добавлено в конец строки блока
        • Если достигнуто максимальное количество полей в строке, отобразится ошибка
        • Ширина поля зависит от ширины поля слева (как и раньше)
      • Значение параметра Видимость для поля, находящегося в мультистроке, определяет видимость всех экземпляров поля в мультистроке:
        • Если в блоке есть мультистрока только со скрытыми полями, в карточке объекта или клиентского запроса строка не отображается
        • Если блок или мультиблок заполнен только скрытыми полями, в карточке объекта или клиентского запроса он отображается пустым
        • Если мультистрока или мультиблок заполнены скрытыми и видимыми полями, после сохранения карточки объекта или клиентского запроса:
          • Строка или блок отображаются, если видимые поля не заполнены, а скрытые заполнены
          • Строка или блок не отображаются, если скрытые и видимые поля не заполнены
        • Если во всех добавленных копиях мультистроки или мультиблока заполнены только скрытые поля, все эти копии будут отображаться в карточке объекта или клиентского запроса

  • Теперь на вкладке Настройки типа объекта в блоке Основное вы можете выбрать несколько дат в поле Дата для отображения в календаре:
    • Каждое поле будет отображаться отдельной строкой
    • Если в строке ранее было выбрано значение поля для отображения в календаре, оно не будет отображаться в списке значений в новой строке
    • При добавлении нескольких дат объект будет отображаться в календаре в тех датах, которые указаны настройках (при выборе поля из мультистроки/мультиблока, объект будет отображаться для каждой даты, выбранной в указанном поле), с учетом общих условий отображения объекта в календаре:
      • В карточке объекта заполнена дата, указанная в качестве значения поля Дата для отображения на календаре
      • Карточка объекта не находится в архиве
      • У пользователя есть права на карточку объекта


Инструмент миграции данных

Мы расширили возможности инструмента миграции данных — теперь вы можете импортировать из других систем не только объекты/дела и контакты, но и пользователей, автоматически создавая их карточки из заполненного шаблона:

  • Шаблон миграции данных пользователей формируется автоматически в формате *.csv — скачайте шаблон на новой вкладке Настройки в конструкторе системных объектов пользователей:
    • Название шаблона формируется по маске: Шаблон импорта Пользователь.csv
    • Если включена интеграция с OpenID или Active Directory, блок Шаблон миграции данных недоступен

  • В шаблоне содержится информация обо всех системных полях, дополнительных атрибутах, группах и ролях, которые настроены для пользователя:
    • Данные полей выгружаются отдельной строкой и формируются по маске: "Наименование поля> (<Тег>)", где:
      • <Наименование поля> — зависит от типа поля:
        • Для системных полей — наименование поля в отчетах
        • Для полей доп. атрибутов — наименование поля в конструкторе объекта
        • Для групп — наименование группы
        • Для ролей — наименование роли
      • <Тег> — зависит от типа поля:
        • Для системных полей — системные имена полей в механизме отчетов
        • Для полей доп. атрибутов — тег поля или идентификатор поля в блоке (если тег не присвоен полю)
        • Для групп — Groups_Name
        • Для ролей — Roles_Name
    • В шаблон миграции данных пользователей не выгружаются данные из карточки пользователя:
      • Системные поля — предусмотрено заполнение полей значениями по умолчанию по факту импорта:
        • Часовой пояс
        • Статус
        • Тип
      •  Данные из блоков Дела и Делегирование доступа
    • Сначала отображаются все системные поля слева направо:
      • С первой строки блока Личная информация, затем поля из блока Рабочая информация
      • Выгрузка ФИО не зависит от настроек ФИО в разделе Администрирование — Аккаунт (ФИО выгружается всегда)
    • После системных полей отображаются все настроенные доп. атрибуты, начиная с первой строки блока Дополнительно
    • В шаблон загружаются данные полей доп. атрибутов с форматом:
      • Гиперссылка
      • Дата
      • Дата и время
      • Логический
      • Справочник
      • Текст
      • Текстовое расширяемое
      • Чекбокс
      • Число
      • Шаблон номера дела
      • Объект-Дело
      • Объект-Объект
      • Объект-Участник
    • После настроенных доп. атрибутов, если они заданы, отображаются сначала сведения о группах, затем информация о ролях

  • Внесите в скачанный файл шаблона данные пользователей, указывая информацию о каждом пользователе с новой строки и соблюдая определенные правила заполнения полей (подробнее см. в разделе Импорт данных нашего Справочного центра).
  • Загрузите заполненный файл шаблона импорта данных для автоматического создания карточек пользователей в разделе Администрирование — Импорт:
    • Нажмите кнопку  и выберите пункт Импортировать пользователей — пункт не отображается, если включена интеграция с OpenID или Active Directory
    • Заполните поля формы загрузки файла импорта:
      • Название — название сессии импорта (максимальное количество символов — 450)
      • Тип — выбор типа объекта импорта Пользователи из списка
      • Прикрепите заполненный файл импорта в отдельном поле

  • После запуска импорта (кнопка Импортировать на форме добавления сессии импорта) выполняются:
    • Проверки целостности файла импорта, как и при импорте объектов и контактов
    • Проверка наличия дубликатов карточек пользователей по email:
      • В файл лога будет записана ошибка при выявлении хотя бы одного дубликата пользователя: Ошибка сохранения email. Идентификатор или email <email> уже используется в системе
      • Карточка пользователя создана не будет
    • Импорт данных пользователей из файла:
      • Сопоставление значений полей данных пользователей в файле импорта с полями в карточке пользователя происходит по той же логике, что и при импорте объектов
      • При заполнении системных полей предусмотрены следующие особенности:
        • Пользователь не будет создан, если в файле импорта не заполнены обязательные системные поля, предусмотренные для карточки пользователя, или удалены заголовки и теги этих полей из файла шаблона
        • Если в файле импорта не заполнено поле Инициалы или удалены заголовок и тег этого поля из файла шаблона, значение в карточке пользователя будет установлено автоматически по первым буквам полей Фамилия и Имя
        • Для следующих системных полей указываются значения по умолчанию:
          • Часовой пояс — часовой пояс, который установлен в разделе Администрирование — Аккаунт
          • Статус — Работает
          • Тип — Пользователь
      • При заполнении групп и ролей пользователя предусмотрены следующие особенности:
        • Если в файле шаблона указано несколько ролей и групп для одного пользователя, они заполняются по правилам заполнения полей из мультистрок
        • Пользователь не будет создан, если в файле шаблона импорта одна и та же группа или роль указаны дважды
    • В процессе импорта пользователей дополнительно выполняется проверка на максимальное количество пользователей по подписке — если в процессе импорта было достигнуто максимальное количество пользователей:
      • В лог будет записана ошибка
      • Импорт будет прерван
      • Остальные пользователи (превышающие разрешенное количество по подписке) созданы не будут 
  • Если успешно пройдены все проверки и импорт выполнен:
    • Статус импорта изменится на Завершен 
    • В разделе Администрирование — Действия в системе будут добавлены записи о создании карточек пользователей от имени системного пользователя Service Workflow
    • В созданных карточках пользователей будет заполнена информация из файла импорта
    • Пользователям, созданным в результате импорта, будет отправлено письмо-приглашение для завершения регистрации в Case.one
    • Доступно скачать файл лога импорта, куда записывается основная информация о состоянии настроек на момент запуска импорта, а также информация о результате создания каждого пользователя

Роли

Мы улучшили ролевую модель доступа:

  • Изменили логику предоставления прав к документам — теперь вы можете более гибко настроить права на документы в разделе Роли:
    • В блоке Права к объектам доступа в секции Объекты удалили секцию прав Документы, которая позволяла настроить права доступа к документам всех объектов сразу
    • Теперь для каждого типа объекта можно установить определенный уровень прав на документы — при раскрытии секции Объекты → Тип объекта (и Тип дела) отображаются следующие секции:
      • Документы:
        • При добавлении новой роли права будут отключены по умолчанию
        • При добавлении нового типа объекта в ролях будут автоматически установлены все права на документы в нем
      • Стадии 
      • Основной блок
      • Список настроенных блоков
    • Расширили список прав, которые могут быть назначены на документы как в секции Объекты → Тип объекта → Документы, так и в основной секции Документы:
      • Просмотр — при установке флага в секции Документы права на просмотр будут добавлены автоматически
      • Создание — при добавлении прав на создание права на изменение будут добавлены автоматически
      • Изменение 
      • Удаление — при добавлении прав на удаление права на создание и изменение будут добавлены автоматически
    • Теперь установленные права роли в секции Объекты → Тип объекта → Документы учитываются:
      • При предоставлении доступа пользователю или клиенту к папке с документами и ее содержимому в карточке объекта/дела — права и доступные действия определяются:
        • Наличием доступа к карточке объекта/дела (Редактирование или Администрирование)
        • Наличием прав ПросмотрСозданиеИзменениеУдаление для роли в секции Тип объекта → Документы
        • Наличием прав Редактирование при предоставлении общего доступа к папке документов в карточке объекта/дела
      • При прикреплении документов к событиям и задачам, привязанным к объекту/делу, в т.ч. при изменении объекта/дела в событии или задаче (открепление документа не зависит от прав на секции Документы и Тип объекта → Документы)
      • При фильтрации ленты событий по типу события Документ

Детализация прав доступа к документам
ПраваСекция "Объекты → Тип объекта → Документы"Секция "Документы"
ПросмотрПри наличии прав:
— Отображаются:
• Вкладка Документы в карточке объекта
• В разделе Документы в системной папке Дела папки тех дел, к которым настроен доступ
• Панель добавления активности на форме просмотра документа, можно добавить активность при наличии соответствующих прав)
— Доступно:
• Просматривать отчет по документам объекта/дела
• Прикреплять уже загруженные документы к событиям и задачам, которые привязаны к делу/объекту
• Просматривать и скачивать документ (посмотреть документы объекта/дела)
• Фильтровать документы в карточке объекта/дела
При наличии прав:
— Отображаются:
• Основной раздел Документы
• Системная папка Дела
• Панель добавления активности на форме просмотра документа, добавить активность недоступно (при наличии прав на активности)
— Доступно:
• Просматривать и скачивать документ
• Фильтровать список документов и папок
• Прикреплять уже загруженные документы к событиям, которые не привязаны к делу/объекту
СозданиеПри наличии прав доступно:
— Создавать документы и папки документов, привязанных к объекту/делу на вкладке Документы карточки объекта и в списке документов в разделе Документы
— Выполнять групповые операции по загрузке папок и файлов
— Прикреплять новые документы к событиям или задачам, привязанным к объекту/делу
При наличии прав доступно:
— Создавать и загружать документы и папки документов в разделе Документы и системной папке Дела
— Выполнять групповые операции по загрузке папок и файлов в разделе Документы и системной папке Дела
— Прикреплять новые документы к событиям, которые не привязаны к делу/объекту
ИзменениеПри наличии прав доступно редактировать и перемещать документы и папки документов, привязанных к объекту/делу на вкладке Документы карточки объекта и в списке документов в разделе Документы.
При перемещении:
— Отображаются только те папки, к которым предоставлен доступ при правах на объект/дело Редактирование или Администрирование
— На обе папки должны быть права Изменение и права на объект/дело Редактирование или Администрирование
— Папок и файлов из карточки объекта в системную папку Дела должны быть права Изменение и в секции Тип объекта → Документы, и в секции Документы
При наличии прав доступно:
— Редактировать и перемещать документы и папки документов, не привязанных к объекту/делу
— Добавлять активности на форме просмотра документа (при наличии прав на активности)
УдалениеПри наличии прав доступно удалять папки и документы, привязанных к объекту/делу на вкладке Документы карточки объекта и в списке документов в разделе Документы.При наличии прав доступно удалять папки и документы в системной папке Дела.
  • Теперь, если у пользователя согласно настройкам роли нет доступа к определенным полям, эти поля не будут отображаться:
    • В списке объектов или дел, в календаре и на панели фильтрации таблиц (блок или секция с типом Таблица):
      • В качестве дополнительных фильтров (Еще фильтры)
      • В настроенных наборах фильтрации — если недоступное поле было сохранено в наборе фильтрации, оно отобразится с пустым списком значений, фильтрация по нему не выполнится
      • В настройках колонок списка объектов — если недоступные поля были настроены, они отобразятся с пустыми значениями, сортировка по ним недоступна
    • При создании и изменении отчетов:
      • При выборе колонок отчета
      • При настройке фильтрации в базовом и продвинутом режимах
      • При настройке колонки на отдельной форме
    • При просмотре отчетов:
      • Сведения из карточки объекта отображаются в отчете, если у пользователя настроены права для типа объекта на все поля, которые выбраны в качестве колонок отчета, за исключением:
        • Отчетов, доступ к которым был предоставлен по ссылке
        • Отчетов, отправляемых по расписанию
        • Системных отчетов
        • Отчетов с данными отдельных разделов меню (например: Администрирование, Клиентский запрос и т.д.), на которые у пользователя нет прав
      • Если у пользователя во всех типах объектов из отчета нет прав хотя бы на одно поле, которое выбрано качестве колонки отчета, отобразится пустой отчет
    • При формировании документа по шаблону — если тег принадлежит полю, на которое у пользователя нет прав в типе объекта, документ будет сформирован без значения тега этого поля (отобразится пустое место вместо значения)
    • Если у пользователя есть частичный доступ к полю, т.е. у пользователя нет прав на блок, в котором находится поле, но есть права на просмотр блока в другом типе объекта, где переиспользовано это поле:
      • Поле будет отображаться в разделе настроенного объекта или Дела, в календаре и на панели фильтрации таблиц (блок или секция с типом Таблица):
        • В качестве дополнительных фильтров (Еще фильтры)
        • В настроенных наборах фильтрации — если частично доступное поле поле установлено в наборе фильтров, при фильтрации:
          • Отобразятся все типы объекта, в которых присутствует блок с полем
          • Значения поля из блока, на который у пользователя нет прав в типе объекта, отобразится прочерком
        • В колонках — будет недоступна сортировка по колонкам, если они содержат значения недоступных и частично доступных полей

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


Сценарии автоматизации

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

  • В каждый оператор срабатывания в сценариях автоматизации мы добавили кнопку Применить, с помощью которой вы можете зафиксировать заданные условия и параметры оператора до момента сохранения всего сценария:
    • Кнопка Применить недоступна, если настройки оператора заданы некорректно или не заполнены все обязательные параметры оператора
    • Если при редактировании оператора вы не нажали кнопку Применить:
      • Операторы на схеме сценария не будут обновлены в режиме реального времени
      • Внесенные изменения будут сброшены при переходе к настройке другого оператора
    • Если закрыть или обновить страницу при редактировании сценария, в котором есть операторы с примененными настройками, при повторном открытии сценария отобразятся последние настройки, которые были сохранены с помощью кнопки
    • Кнопка сохранения всего сценария :
      • Неактивна, если вы не применили настройки оператора
      • Позволяет сохранить все настройки операторов в сценарии
  • Для визуального разграничения изменили дизайн кнопок Редактировать в операторе Запустить скрипт и Добавить условие в операторах Ожидать и Если.

  • Изменили логику обновления условий в операторах Если при изменении объекта в предшествующем операторе Ожидать — теперь в операторах Если все условия будут сброшены при применении настроек оператора Ожидать, если нем в поле Объект было изменено значение Участник на любое другое значение (и наоборот).
  • Добавили отображение количества настроенных условий в операторе Если — на схеме сценария после описания (при его наличии) оператора Если отображается запись Задано условий (N), где N — количество заданных в операторе условий:
    • Если у операторе Если условия не заданы, запись не отображается
    • Количество условий обновляется автоматически после добавления и применения условий
    • На панели настроек оператора Если количество условий не отображается


Интеграции

SSO Keycloack (OpenID) и Active Directory

Теперь при создании пользователя при включенной интеграции с SSO Keycloack (OpenID) или Active Directory пользователю не будет автоматически отправляться письмо-приглашение для завершения регистрации в Case.one.


Улучшения и исправления

  • Теперь при удалении класса объекта он автоматически удаляется из ролей в списке секций Главного меню.
  • Поправили отображение чисел в счетах — теперь при использовании тегов для счета (например, Project_Bill_Subtotal) число отображается с нулями после запятой.
  • Исправили логику проверки участника на дубликаты по полю Сайт — теперь проверка выполняется вне зависимости от указания части http в адресе сайта в правиле определения дубликатов.

Публичный API

Мы добавили новый метод публичного API POST /api/v2/users/{id}/openDialog в группу методов для работы с пользователями (Users), который позволяет вызывать диалоговое окно для одного пользователя:

  • Входящие параметры метода:
    • Идентификатор пользователя, обязательный параметр
    • Идентификатор объекта, в рамках которого будет отображаться диалоговое окно
    • Заголовок уведомления, обязательный параметр
    • Текст уведомления —  обязательный параметр, возможно указать текст с html-разметкой 
    • Параметры настраиваемой кнопки — параметры идентичны параметрам кнопки метода POST /api/v2/users/{id}/notify
    • Условия отображения диалогового окна:
      • True (Да) — значение по умолчанию, только в карточке объекта (диалоговое окно отображается на всех открытых вкладках)
      • False (Нет) — в любом разделе Case.one
  • Вызов метода доступен при правах не ниже Просмотр на карточки пользователя и объекта и уровнем доступа Просмотр к карточке объекта.
  • Если у получателя нет прав на объект, при попытке вызвать метод пользователю, который вызвал метод, отобразится ошибка: Дело не найдено или недостаточно прав.

Технические изменения

  • Добавили поддержку Tantor Basic Edition 16.8.0:
    • Тестирование проводилось только на версии 16.8.0 для конфигурации: CPU: 16 coreRAM: 32 GB — работоспособность приложения с другими версиями СУБД не гарантируется (в других конфигурациях может потребоваться подбор иных значений параметров)
    • Рекомендуемые параметры совпадают с PostgreSQL 17
    • Пример файла конфигурации
  • Реализовали возможность использовать в системных отчетах релевантные саджесты значений, которые получают значения не напрямую из справочников или всех объектов системы, а используют непосредственно сам шаблон запроса отчета, указанный в системном отчете. Для настроек этого механизма в модель хранения системных отчетов добавили дополнительные поля.
  • Добавили возможность кэширования ключей JWKS для сокращения количества запросов к SSO Keycloak — в файле настройки конфигурации appsettings.json в параметре JWKSCacheUpdateInterval вы можете указать срок жизни кэша ключей JWKS (значение по умолчанию — 1 час).
  • В 79 версии Case.one планируется обновление RabbitMQ до версии 4.0 — рекомендуем заблаговременно подготовиться к обновлению:
    • Обновление на версию 4.0 возможно только с версии 3.13
    • Если текущая версия RabbitMQ ниже 3.13, необходимо выполнить последовательное обновление версий, например: 3.10 → 3.11 → 3.12 → 3.13 → 4.0 (это не касается single-node в среде разработки, где есть возможность удалить данные и начать с чистой новой версии)
  • Обновили .NET 8 до версии 8.0.16.
  • Добавили поддержку более новых версий LibreOffice, поскольку используемые ранее в Case.one версии устарели и больше не поддерживаются вендором — теперь максимально поддерживаемая версия LibreOffice — 25.2.2.
  • Реализовали миграцию (наполнение полнотекстового индекса), которая проходит пачками по всем событиям в базе данных и обновляет SectionId в ElasticSearch feed индексе:
    • Миграция будет выполнена по событиям (с разбиением на пачки и созданием задач в очереди migrations) единожды при первом запуске приложения после установки обновлений
    • Миграция выполняется продолжительное время (может занимать до нескольких часов, в зависимости от количества событий) — до начала старта миграции в ленте событий не будут отображаться существующие события, по мере ее прохождения события будут появляться от более новых к старым.

Улучшения и исправления

  • Поправили логику заполнения поля с типом Число с помощью метода публичного API PUT api/v2/objects — теперь при попытке заполнения поля числом, в котором больше 18 цифр, поле заполнено не будет, отобразится ошибка о превышении максимального количества символов.
  • Выполнили рефакторинг механизмов аутентификации и авторизации.
  • Реализовали механизм синхронизации сценариев автоматизации Case.one с Hangfire при запуске приложения для обеспечения корректной работы сценариев по расписанию после установки инстанса с модулем.
  • Отладили работу очистки неиспользуемых файлов на Postgres.
  • Выполнили оптимизацию работы очереди Retry_Bucket (RabbitMQ) — теперь для исключения накопления сообщений в очереди OperationCanceledException обрабатывается аналогично SqlException.