Важно! В 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 core, RAM: 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.