Версия 77, апрель 2025

Отчеты

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

Объекты и Дела

  • При просмотре раздела Дела или разделов с объектами вы можете настроить ширину колонок в списке дел/объектов, передвигая границу в наименовании колонки:
    • Минимальная ширина колонки — 80 px, максимальная ширина не установлена
    • Изменение ширины колонки возможно при любом количестве колонок, но применяется только для текущего пользователя
    • Сбросить настройки можно с помощью кнопки в настройках колонки (при наведении курсора на кнопку отображается подсказка: Восстановить настройки колонок по умолчанию)
    • При наведении курсора на наименование колонки меню для перемещения колонки не отображается — выделяется фон у всей ширины колонки
  • Теперь значение в поле с типом Встраиваемый код обновляется автоматически в момент сохранения изменений значения поля, если оно используется в качестве источника с помощью конструкции @System_Tag.
  • Поскольку База знаний и Реестры теперь являются объектами:
    • В Главном меню:
      • Удален раздел Реестры
      • Если на определенный класс реестра есть права доступа, он отображается отдельным разделом (как объекты)
      • Раздел База знаний теперь отображается, как настроенный класс объектов
    • При переходе в раздел класса реестра в списке реестров отображаются:
      • Колонка Название 
      • Для перенесенных реестров — список колонок согласно настройкам формы реестра на вкладке Таблица в блоке Колонки
      • Для новых реестров отображаются колонки, предусмотренные по умолчанию для объектов: Дата создания, Название, Номер, Ответственный, Тип
    • В карточке перенесенного реестра системные поля блока Основное будут заполнены вне зависимости от настроек их видимости:
      • Ответственный — системный пользователь (Workflow Service)
      • Дата создания — дата создания реестра
      • Тип объекта — тип реестра
      • Название объекта  — значение из ключевого поля реестра, если в качестве ключевого поля выбрано поле с типом:
        • Логическое или Чекбокс, значение будет интерпретировано — Да или Нет
        • Дата и Дата и время, значение будет интерпретировано по маске: даты — dd.mm.yyyy или времени — hh:mm
        • Число, значение будет интерпретировано, как: 1 000,00
        • Если в качестве ключевого поля выбрано ссылочное поле и в нем нет значения, в названии объекта будет указан прочерк
      • Автор — автор объекта реестра
      • Номер объекта — согласно присвоению номера объектам
    • При переходе в раздел База знаний:
      • На панели слева отображаются папки перенесенных подборок с карточками решений, которые были в подборке
      • В списке карточек решений отображаются:
        • Колонка Название 
        • Для перенесенных решений — список колонок из полей карточки решения: Тип решения, Номер служебной записки, Дата служебной записки и Заказчик
        • Для новых решений отображаются колонки, предусмотренные по умолчанию для объектов: Дата создания, Название, Номер, Ответственный, Тип
      • В карточке перенесенного решения системные поля блока Основное будут заполнены вне зависимости от настроек их видимости:
        • Ответственный — системный пользователь (Workflow Service)
        • Дата создания — дата создания реестра
        • Тип объектаБаза знаний
        • Название объекта  — значение из поля Тип решения
        • Автор — автор карточки решения
        • Номер объекта — значение из поля Номер решения

Документы

Поскольку мы перенесли реестры в объекты:

  • Папка Реестры перестала быть системной.
  • Внутри папки Реестры созданы папки с документами для каждого реестра (по аналогии с делами и объектами).

Фильтрация

Чтобы упростить переназначение ответственных, например, по задачам, теперь вы можете выбрать заблокированных пользователей и клиентов во всех фильтрах по пользователю или ответственному — в списке значений фильтров рядом с ФИО таких пользователей и клиентов отображается статус (заблокирован)


Настроенные разделы (секции)

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


Активности

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

  • При создании события по таймлогу выполняется проверка наличия связанного события:
    • Если связанного события не найдено, активность будет добавлена
    • Если связанное событие существует, отобразится ошибка: Такая активность уже существует
  • Настроили периодическую проверку всех активностей, которые не привязаны к объектам:
    • Интервал проверки и срок хранения записей можно указать в файле настроек конфигурации
    • Значения по умолчанию: интервал — ежедневно, срок хранения — 6 месяцев
    • В результате проверки будут удалены таймлоги, которые залогированы раньше заданного срока (значение LogDate)

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

  • В карточке объекта исправили отображение роли участника на вкладке Роли, если в поле с типом Объект-Участник было сброшено значение — теперь отображается только одна запись об изменении роли.
  • (CRM) Поправили ошибку расчета бюджета сделки до сохранения карточки, которая возникала при заполнении поля Количество лицензий в карточке сделки.
  • Теперь при заполнении поля с типом Объект-Пользователь в результате срабатывания сценария автоматизации, если в настройках поля был указан уровень доступа, он будет корректно присвоен пользователю.
  • Исправили ошибку при заполнении ИНН в карточке организации — теперь ошибка с текстом Обратитесь к администратору при вводе некорректного или неполного ИНН не отображается.
  • Поправили отображение сведений по документам, полученным из Casebook при синхронизации дела — теперь на вкладке История формы документа, полученного в результате синхронизации, при наведении на иконку монитора в строке Casebook создал документ отображаются сведения об ответчике.
  • Теперь при попытке поставить на отслеживание в профиле организацию, мониторинг которой уже выполняется, отобразится уведомление.
  • Исправили автоматическое округление чисел, дробная часть которых близка к нулю — теперь округление выполняется корректно и зависит от настроек количества знаков после запятой.
  • Поправили ошибку обновления поля с датой следующего заседания при синхронизации с завершенным делом.
  • Исправили ошибку, которая возникала при попытке открыть форму клиентского запроса, полученную по ссылке (для незарегистрированных пользователей).
  • Поправили ошибку загрузки изображений в профиле для конфигурации Windows — теперь при загрузке изображения в формате *.bmp или *.gif ошибка не отображается.

Объекты

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

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

Теперь вы можете принудительно завершать запущенные сессии импорта:

  • Вручную — если у импорта статус В процессе %, в контекстном меню сессии импорта вы можете выбрать пункт Остановить:
    • Остановка импорта будет выполнена после подтверждения
    • Создание новых объектов или участников (в зависимости от типа импорта) будет прекращено
    • Объекты или участники, которые уже были созданы в результате импорта, удалены не будут
    • Отображается уведомление о прекращении выполнения импорта
    • Статус импорта будет изменен на Остановлен

Если на момент подтверждения остановки импорта сессия импорта уже завершена, отобразится ошибка: "Остановка импорта невозможна. Импорт уже завершен".


  • Автоматически — в настройках конфигурации мы добавили новый параметр, где можно указать время, по истечении которого сессия импорта будет автоматически завершена:
    • Время указывается в формате hh:mm:ss и отсчитывается с момента запуска импорта
    • По умолчанию значение не установлено — автоматическое завершение импорта не выполняется
    • При автоматическом завершении сессии импорта:
      • Статус импорта будет изменен на Остановлен
      • Уведомление в Case.one не отображается
    • Если в результате автоматического завершения сессии импорта произошла ошибка, информация об ошибке будет записана в общем логе приложения

Если сессия импорта была завершена принудительно (вручную или автоматически), в лог импорта будет записана причина ошибки из основного лога системы и результат завершения: Импорт данных завершен со статусом Stopped. Всего обработано строк: n, где n — количество записей, которые импорт успешно обработал.


Шаблоны документов

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

  • При использовании индекса в тегах во время формирования документа по шаблону будут выполнены поиск поля из мультистроки, соответствующей указанному индексу, и подстановка данных из этого поля в шаблон:
    • Индекс мультистроки должен быть больше 0 и представлен в виде целого числа — пример: <#field tag_for_multiline[2]#>
    • Индексация мультистрок начинается с 1 и соответствует порядку в блоке
    • Порядок мультистрок считается сверху вниз — первая мультистрока будет иметь индекс [1], вторая — [2] и т.д.
    • Теги мультистрок с индексом доступно использовать в таблице
  • Если индекс мультистроки не указан в шаблоне, в документе будут добавлены сведения из первой мультистроки, как и прежде.
  • При загрузке шаблона с тегами полей из мультиблоков и мультистрок выполняются проверки индексов тегов:
    • Если индекс присвоен тегу системного поля, отображается ошибка: Тег является системным и не может содержать порядковый номер {error tag name}
    • Если указанный для мультистроки или мультиблока индекс равен 0, отображается ошибка: Порядковый номер должен быть больше 0 {error tag name}
    • Если индекс указан для тега не из мультистроки или мультиблока, отображается ошибка: "{field name}" не находится в мультистроке или мультиблоке, поэтому тег не может содержать порядковый номер {error tag name}

Группы

Управлять группами пользователей стало еще удобнее — мы перенесли раздел Группы на новый дизайн для поддержки консистентности стиля Case.one:

  • Вид раздела Группы аналогичен разделу Пользователи при просмотре или настройке пользователя или клиента.
  • При переходе в раздел Группы откроется первая группа пользователей в списке.
  • На панели слева отображается список все групп, а в области справа вы можете настроить параметры группы пользователей.
  • Удалить группу вы можете как из списка групп, так и при просмотре конкретной группы с помощью кнопки .
  • При настройке параметров автоматического доступа к папкам, проектам и объектам теперь не нужно устанавливать флаги у атрибутов, по которым предоставляется доступ — просто выберите одно или несколько значений из списка у нужного атрибута.
  • В остальном логика управления группами пользователей осталась прежней.

Пользователи

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

  • В блоке вы можете назначить преемника на отчеты при блокировке пользователя:
    • Пользователь — в поле вы можете выбрать одного пользователя из списка, при этом пользователь, в карточке которого вы настраиваете передачу прав, в списке не отображается
    • Объекты — выбор значения из списка объектов, к которому будут переданы права (в этом релизе в поле отображается только значение Отчеты)
  • Блок Делегирование доступа доступен для редактирования при включенной интеграции с SSO Keycloack или Active Directory.
  • Если в блоке настроено делегирование прав:
    • Выбранному пользователю будет предоставлен доступ ко всем отчетам и папкам отчетов, согласно имеющимся правам у исходного пользователя
    • При изменении уровня прав у исходного пользователя, делегированные права у выбранного пользователя будут автоматически пересчитаны
    • При удалении исходного пользователя делегированные права будут сброшены
    • Если у выбранного пользователя уже есть права на отчет или папку отчета, на вкладке Общий доступ карточки отчета отображается максимальный уровень прав:
      • Уровень прав можно изменить, если делегированные права меньше или равны ранее выданным правам
      • Уровень прав недоступен для изменения, если делегированные права выше, чем ранее выданные

Роли

Поскольку База знаний и Реестры теперь являются объектами, мы изменили структуру в блоке Права к объектам доступа при настройке ролей:

  • В секции Главное меню:
    • Раздел Реестры не отображается
    • Права доступа назначаются на каждый реестр, как и на класс объекта
    • Раздел База знаний отображается, как и раньше
  • Отдельная секция Реестр со списком все реестров удалена.
  • В секции Объекты:
    • Для каждой формы реестра (типа объекта реестра) добавлен отдельный класс (как для классов объекта), права на который зависят от уровня прав, который был настроен для формы реестра
    • В каждом типе реестра определить права можно, как и для других типов объекта
    • Добавлен отдельная секция с классом объекта База знаний с возможностью настройки прав на каждый тип объекта (как для классов объекта)

Интеграции

SSO Keycloack (OpenID)

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

Двухфакторная аутентификация

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

  • Двухфакторная аутентификация выполняется с помощью отправки СМС-кода на номер телефона пользователя, который указан в профиле, после ввода пароля. 
  • В разделе Администрирование — Приложения секция Двухфакторная аутентификация в блоке Другое скрыта по умолчанию, поскольку подключение двухфакторной аутентификации выполняется индивидуально при необходимости.

База знаний

Поскольку мы перенесли список решений и подборок из Базы знаний в объекты, в разделе Администрирование — Приложения из блока Другие удалена База знаний.


Секции

В разделе Администрирование — Секции вы можете добавить раздел с типом Таблица:

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

Справочники

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

  • Константа NULL доступна в формулах с логическим выражением IF в качестве одного из результатов выполнения логического выражения (истина/ложь).
  • В других выражениях и условиях использование NULL недоступно.
  • Если в качестве одного из результатов работы логического выражения IF указана константа NULL, при выполнении заданных условий в результате работы логического выражения поле останется пустым. Примеры:
    • IF({a} = "Рассмотрено", 100, NULL)  
    • IF(OR(IS_NULL({a}), IS_NULL({b})), NULL, {a} + {b})
  • Если в качестве результатов логического выражения IF не задана константа NULL, расчет формулы производится, как и раньше: пустое значение считается 0, если для него не задано условие с функцией IS_NULL.

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

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

Наименование инстансов

Теперь возможно официально изменить наименование инстанса, когда это необходимо (например, для On-premise версии):

  • В файл настроек конфигурации мы добавили параметр ApplicationName, который позволяет управлять отображением наименования в следующих разделах:
    • Страницы авторизации, регистрации, восстановления или задания пароля:
      • Наименование инстанса в левом верхнем углу
      • Наименование инстанса над полями для ввода логина и пароля
    • Наименование инстанса на странице с ошибкой о неудачной попытке входа в Case.one при авторизации через OpenId
    • Заголовок Главного меню
    • Электронные письма, уведомления и приглашения:
      • Наименование инстанса (изображение изменяется на текст)
      • Название ссылки на инстанс
      • Подпись
    • Шаблоны счетов (наименование инстанса в левом вернем углу)
  • При использовании параметра ApplicationName предусмотрены следующие особенности:
    • Если в наименовании инстанса присутствует точка, часть наименования до точки и сама точка выделены белым цветом, а часть после точки — серым
    • В параметре ApplicationName отсутствует ограничение на длину наименования — если наименование длиннее отображаемой области, оно будет обрезано троеточием, поскольку число отображаемых символов наименования зависит от ширины колонки Главного меню слева и области между иконками перехода в Главное меню и Колокольчиком
  • Чтобы от значения параметра ApplicationName полностью зависело наименование инстанса, мы исключили упоминание наименования инстанса в следующих местах системы:
    • Краткое описание интеграций в разделе Администрирование — ПриложенияGmail, Outlook 365, Quickbooks, OneDrive
    • Описание ошибок:
      • При импорте писем (api /Email/Import), если текст письма пустой
      • При запуске приложения 
      • При работе с модулями, если версия инстанса, где был собран модуль, не соответствует версии инстанса
    • Тема письма о завершении создания инстанса SaaS
    • Страница обновления системы
  • В файле настроек конфигурации, как и раньше, возможно указать наименование, от кого отправляется почта — укажите значение в параметре FromName в строке подключения к SMTP.

API

Для увеличения устойчивости системы к атакам, направленным на компрометацию bearer-токенов доступа, мы внесли изменения в механизм их подписи — увеличили размер ключа и доработали валидацию издателя:

  • Изменения затрагивают только аутентификацию в публичном и приватном API с помощью bearer-токена при отключенной интеграции с OpenId.
  • Новый ключ подписи будет сгенерирован автоматически, поэтому в большинстве случаев дополнительных действий по настройке не требуется:
    • Ключ для подписи представляет собой произвольную строку длиной 64 или 128 символов в шестнадцатиричном формате
    • Автоматически сгенерированный ключ по умолчанию сохраняется в папку keys (определяется настройкой KeysDirectory) в файле TokenIssuerSigningKey
  • Если в скриптах или интеграциях использовались долгоживущие токены доступа или токены с неограниченным временем жизни, обязательно сгенерируйте новые с помощью api/v1/auth/token или api/v2/auth/token, поскольку после обновления на 77 версию станут недействительными токены доступа, которые были сгенерированы с помощью одного из следующих методов:
    • api/v1/auth/token
    • api/v1/auth/wintoken
    • api/v2/auth/token
    • api/v2/auth/wintoken

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

  • Выполнили переход с .NET 6 на .NET 8, поскольку в ноябре 2024 года прекращена поддержка .NET 6 (см. Support Policy).
  • Отказались от использования Nil.JS — настоятельно рекомендуем перейти на интерпретатор ClearScript (на время переходного периода работоспособность Nil.JS скриптов останется, но возможны проблемы с их производительностью).
  • Добавили поддержку PostgreSQL 17:
    • PostgreSQL 17, минорная версия 17.0 — 17.4
    • Postgres Pro 17 Standard или Enterprise, минорная версия 17.0 — 17.4
  • Добавили интеграцию с OpenTelemetry.
  • Начиная с 79 версии Case.one будет прекращена поддержка PostgreSQL 13 и других СУБД, созданных на базе PostgreSQL 13, в связи с прекращением поддержки данного ПО вендором — рекомендуем заблаговременно подготовиться к переходу на более позднюю совместимую версию ПО.
  • Прекращена поддержка устаревших версий ПО в связи прекращением поддержки данного ПО вендором (стабильная работа Case.one с устаревшими версиями ПО не гарантируется):
    • Сервер приложения:
      • Конфигурация Windows:
        • Операционная система — Windows Server 2012 R2
        • Командная оболочка — PowerShell, версия 7.2
      • Конфигурация Linux:
        • Операционная система — Ubuntu, LTS версия 18.04 и Debian, LTS версия 10
        • Reverse-proxynginx, версии 1.22.1, 1.24.0
        • Командная оболочка — PowerShell, версия 7.2
      • Конфигурация docker:
        • docker (Docker Engine), версии 20.10, 23.0, 24.0
        • docker-compose, версии 1.24 — 1.29
    • Сервер СУБД:
      • Конфигурация Windows:
        • Microsoft SQL Server 2016 SP2
        • Microsoft SQL Server 2014

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

  • Убрали документирование MVC контроллеров и методов из Swagger:
    • Get/getlink/{linkToken}
    • Get/intakeforms/{linkCode}
    • Get/openid/login
    • Get/openid/signin
    • Get/privacypolicy
    • Get/sand_box
    • Get/termsofservice
  • В файле настроек конфигурации appsettings.json исправили значение пути по умолчанию до LibreOffice.
  • Для комфортной работы в системе мы провели оптимизацию следующих разделов и функций:
    • Конструкторы объектов, клиентских форм и дополнительных атрибутов
    • Раздел Администрирование — Клиентские формы
    • Синхронизация с Casebook (удалили старый модуль CaseMap.Modules.CasebookEndpoint)
    • Конструктор сценариев автоматизации
    • Получение списка задач (удалили events_popup_action_items плейсхолдера и старый модуль CaseMap.Modules.Tasks)
    • Списка пользователей в части назначения преемника
    • Звонки (удалили старый модуль CaseMap.Modules.Calls)
    • Реализовали Lazy Loading для профиля пользователя, чтобы облегчить основной бандл приложения, т.к. он используется достаточно редко
  • Доработали функциональность модулей, чтобы использовать их стало еще удобнее.