В файле настроек конфигурации вы можете определить следующие настройки для объектов:
- Автоматическое наименование карточек дел и объектов по маске
- Оптимизация загрузки браузером содержимого объемных карточек объектов/дел
- Настройка количества мультиблоков и мультистрок
- Настройка канбан-вида объектов
- Настройка отображения данных при просмотре объектов с разбивкой по стадиям
- Настройка ограничения количества объектов в календаре
- Оптимизация запросов по пересчету прав частичного просмотра для папок и проектов
- Настройка автоматического пересчета прав по полям с типом Объект-Пользователь
- Настройки правил определения дубликатов
- Настройки реестров и Базы знаний
Настройка автоматического наименования дела
Для автоматического формирования названия дела по маске: {Тип объекта} {N объекта по шаблону} в файле настроек конфигурации appsettings.json задайте параметр IsObjectNameRequired:
- Настройка отключена по умолчанию.
- При включенной настройке:
- Поле Название дела (при создании дела, выделении в новый объект) не обязательно для заполнения
- Дело будет создано с названием по умолчанию
- Максимальная длина названия — 400 символов, если в названии указано больше символов, оно будет автоматически обрезано
Настройка не учитывается:
- В поле Название дела карточки объекта — поле является обязательным для заполнения.
- В методах API, предназначенных для работы с объектами.
- В операторе Создать при создании объекта — поле Название является обязательным для заполнения.
При изменении параметра IsObjectNameRequired на true название дела будет обязательным для указания:
{
"Custom": {
"IsObjectNameRequired": false,
// другие параметры...
}
}
Включение оптимизации загрузки браузером содержимого объемных карточек объектов/дел
Поскольку при открытии карточки объекта браузер отображает сразу все блоки и их содержимое, это может приводить долгой загрузке и временному зависанию браузера, если карточка объекта содержит много данных и/или используется довольно слабый ПК.
Оптимизация предназначена для экстренных случаев, если не удается открыть большую карточку, поэтому мы не рекомендуем включать ее без крайней необходимости.
Оптимизация выключена по умолчанию, поскольку браузерный поиск по странице (клавиши CTRL+F) нужных полей или блоков по названию и/или значению будет выполняться иначе:
- Поиск по названию блоков выполняется так же, как и раньше.
- Поля уже не будут отображаться в результатах поиска, пока они не попадут в видимую область отрисовки, что может вызвать негатив, поскольку ориентироваться в больших карточках пользователям сложно (это одна из причин, почему мы не рекомендуем делать крупные карточки).
Для включения оптимизации (выключена по умолчанию) в файле appsettings.json в секции Custom пропишите следующие настройки:
{
// ...
"Custom": {
// ...
"LazyObjectCardInitDisabled": "false"
}
}
При включенной оптимизации содержимое в блоках будет отображаться браузером постепенно (по мере пролистывания карточки, с запасом в пару экранов).
Включение оптимизации позволяет получить серьезный прирост в производительности при отрисовке содержимого крупных карточек — минимум в два раза быстрее на карточке с ~1000 полей (чем больше объект, тем больше прирост).
При отключенной оптимизации есть обходной путь, который позволяет частично решить проблему долгой загрузки: не следует размещать все блоки на одной вкладке — лучше поделить их между несколькими или сворачивать блоки.
Настройка количества мультиблоков и мультистрок
Для настройки рекомендуемого количества мультиблоков и мультистрок в карточке объекта дополните секцию Custom в файле настроек конфигурации appsettings.json параметрами:
- MaxRecommendedMultiLineCount (int) — рекомендуемое количество мультистрок в карточке объекта (по умолчанию — 500).
- MaxRecommendedMultiBlockCount (int) — рекомендуемое количество мультиблоков в карточке объекта (по умолчанию — 100).
Параметры (поддерживают переопределение) используются для предупреждения пользователей о рекомендованном количестве блоков и строк и не помешают созданию новых мультистрок/мультиблоков.
Установленное в конфигурации ограничение на количество блоков (100 по умолчанию) и строк (500 по умолчанию) в карточке объекта влияет на синхронизацию дела с EAV-моделью — если количество блоков/мультиблоков или строк/мультистрок нарушает установленное ограничение:
- Синхронизация дела с EAV-моделью будет принудительно прервана с ошибкой в логе:
Interrupted SerializedEntityBlocksUpdated process: projectId because blocks count / lines count limit exceeded
- Не будет работать принудительная актуализация дела.
Настройка канбан-вида объектов
Для использования оптимизации при получении сводных данных по объектам с указанием максимального количества одновременных запросов при получении объектов в канбан-виде в файл конфигурации предусмотрены следующие настройки:
{
"Custom": {
...
"UseFilterOptimizationForProjectStatisticsList": "false", // использование оптимизации при получении сводных данных по объектам. Работает только в паре с настройкой UseFilterOptimizationForProjectsList.
"MaxDegreeOfProjectGroup": "4"// максимальное количество одновременных запросов при получении объектов в канбан-виде
"MaxDegreeOfProjectGroupStatistic": "4"// максимальное количество одновременных запросов при получении сводных данных по объектам в канбан-виде
}
}
Включать настройку UseFilterOptimizationForProjectStatisticsList (значение true) следует при долгом получении сводных данных по объектам в канбан-виде. Рекомендуется включать эту настройку при включении настройки UseFilterOptimizationForProjectsList.
Если наблюдается большое количество запросов в БД, что приводит к неудовлетворительной работе всего инстанса, возможно ограничить количество одновременно отправляемых запросов для получения объектов и сводных данных по ним, установив оптимальное значение в MaxDegreeOfProjectGroup и MaxDegreeOfProjectGroupStatistic соответственно.
Допустимые значения:
- -1 — нет ограничений на количество одновременных запросов.
- 1 — последовательное получение данных для каждой стадии.
- 2 и более — количество возможных одновременных запросов.
Настройка отображения данных при просмотре объектов с разбивкой по стадиям
Для отключения отображения данных при просмотре объектов с разбивкой по стадиям (количества объектов по каждой стадии и других настроенных данных) в appsettings.json задайте настройку DisableStatisticInKanbanView:
"Custom": {
...
"DisableStatisticInKanbanView": true
}
Отключение отображения настроенных данных при просмотре объектов с разбивкой по стадиям рекомендуется применять в качестве временного решения, если на инстансе наблюдаются большие задержки при открытии объектов в режиме просмотра с разбивкой по стадиям, и при этом возникает большая нагрузка на CPU SQL-сервера.
Для изменения таймаута запроса на получение статистики по выводу дел в стадии и отображению числовых значений (по умолчанию — 1 минута) укажите в файле appsettings.json в настройке StatisticInKanbanViewRequestTimeout новое значение времени:
{
"Custom": {
...
"StatisticInKanbanViewRequestTimeout": "00:01:00"
}
}
После истечения срока запроса, если не пришел ответ от сервера:
- Отображается уведомление: Не удалось загрузить данные. Превышено время ожидания: повторите попытку позже или попробуйте изменить фильтры.
- Статистика не отображается.
Настройка ограничения количества объектов в календаре
Для настройки ограничения количества объектов в календаре дополните секцию Custom файла appsettings.json параметром MaxObjectsInCalendar:
- Тип параметра — int;
- Значение по умолчанию — 1000;
- Параметр поддерживает переопределение.
"Custom": {
"MaxObjectsInCalendar": 500,
}
Возможен незначительный рост потребления CPU со стороны APP-сервера при частых обращениях к календарю — рост потребления CPU может достигать 10%. В будущих релизах мы планируем провести оптимизацию работы календаря, чтобы исключить рост потребления ресурсов при значительном увеличении объектов и/или запросов к календарю.
Включение оптимизации запросов по пересчету прав частичного просмотра для папок и проектов
Оптимизация запросов по пересчету прав частичного просмотра для папок и проектов с большим количеством вложенных дел включается через существующую настройку в файле настроек конфигурации appsettings.json (включена по умолчанию):
UsePartialViewAutosharingOptimization — включить оптимизацию автоматического совместного использования частичных представлений для папок и проектов (Enable optimization of partial view autosharing for folders and projects): тип настройки — bool, значение — true.
Включение настройки рекомендовано при следующих характеристиках:
- Профиль данных подразумевает объемные проекты или папки с большим количеством дел внутри.
- На указанном профиле возникают задержки на уровне обработки очереди recalculate_permissions.
- На указанном профиле возникают избыточные задержки или затраты ресурсов на уровне БД при выполнении запросов пересчета прав.
Настройка автоматического пересчета прав по полям с типом Объект-Пользователь
Для регулирования размера пачки дел, которые отправляются на пересчет прав в файле настроек конфигурации appsettings.json доступен параметр UserFieldPermissionRecalculateBatchSize (значение по умолчанию — 100):
{
...,
"Custom": {
"UserFieldPermissionRecalculateBatchSize": 500
},
...
}
Настройки правил определения дубликатов
Для реализации механизма проверки наличия дубликатов при создании или изменении карточки объекта предусмотрены следующие ограничения настроек дедупликации:
- Настройка ограничений механизма дедупликации — введено ограничение на количество уникальных полей, участвующих в настройке дедупликации в карточке типа объекта. Для настройки максимального количества уникальных полей в файле appsettings.json в секции ObjectType добавьте или замените свойство MaxDeduplicationUniqueFields:
{
// "Custom": { /* ... properties ... */},
"ObjectType": {
// Other properties
"MaxDeduplicationUniqueFields": 20 // по умолчанию 20 полей
}
}
Ограничение распространяется как на поля, добавленные в Базовом режиме, так и на поля, добавленные в Продвинутом режиме в формате: @Название_поля (также учитываются уникальные поля, указанные в Продвинутом режиме).
- Настройка ограничения количества дел в списке найденных дубликатов — настройка ограничивает количество дел для формирования ссылок по ним при работе механизма поиска дубликатов. По умолчанию в списке дел отображается только 10 ссылок:
{
"Custom": {
"MaxSizeDuplicateObjectList": "10" // по умолчанию 10 дел
}
}
- Настройка ограничения количество уникальных полей фильтрации данных в отчетах — настройка регулирует количество уникальных полей, которые можно выбрать в качестве поля фильтрации отчета:
{
"Custom": {
"MaxAllowedFilterFields": "20" // по умолчанию 20 уникальных полей
}
}
Ограничение распространяется как на поля, добавленные в Базовом режиме, так и на поля, добавленные в Продвинутом режиме в формате: @Название_поля (также учитываются уникальные поля, указанные в Продвинутом режиме).
Настройки реестров и Базы знаний
Поскольку начиная с 77 версии База знаний и Реестры являются объектами:
- При наличии системных отчетов, которые ссылаются на таблицы по реестрам (например: CaseMap.RegisterObjects и CaseMap.RegisterTemplates) и по базе знаний (например, CaseMap.Resolutions и CaseMap.ResolutionGroups), адаптируйте отчет и переделайте на объекты (таблицы CaseMap.Projects, CaseMap.ProjectTypes).
- При наличии скриптов, сценариев автоматизации или других интеграций, которые используют API по работе с базой знаний или реестрами, также адаптируйте их и перенастройте на работу с объектами.