<< Click to Display Table of Contents >> Среда разработки |
С версии 4.9 новые обложки настраиваются в проводнике веб-клиента с помощью справочника Представления модулей. В среде разработки при создании нового модуля скрыт узел «Обложки», а в узле «Отображение» – группа «Сортировка в дереве». Обновление обложек стандартных модулей Для модулей из стандартной поставки системы при обновлении автоматически создаются представления с готовыми обложками. Дополнительные действия по настройке не требуются. Созданные представления модулей являются настройками по умолчанию, в них можно редактировать только поле Состояние. Если требуется изменить остальные поля или обложку, нужно создать копию представления. Поддержка старых обложек Если в организации разработаны собственные модули, то после обновления системы их обложки по-прежнему можно редактировать в среде разработки. Такая возможность оставлена для обратной совместимости. Чтобы перенести обложку в проводник, необходимо в среде разработки в узле «Обложка» перейти по ссылке в веб-клиент: В результате создается запись справочника Представления модулей, в которую автоматически копируются параметры модуля и его обложка. Новые возможности по настройке будут появляться только в проводнике. Чтобы упростить дальнейшую поддержку старых обложек, рекомендуется создать для них представления модулей при переходе на Directum RX 4.9. |
Ускорение сборки и публикации решений
В среде разработки ускорена сборка и публикация решений за счет того, что: •валидация и анализ программного кода теперь выполняются только для изменившихся решений и модулей; •оптимизирован поиск зависимых проектов. Кроме того, ускорена работа с метаданными: теперь они передаются сразу во время сборки; •убрана проверка, какие модули и решения включаются в первую сборку. В этом случае все они пересобираются, поэтому проверять состав не нужно; •в интерфейсной сборке Sungero.Domain.Interfaces.dll вносимые изменения применяются сразу. Сборка больше не генерируется до и после публикации. |
Фильтрация большого объема данных в два этапа
Тяжелые SQL-запросы на получение выборки данных из списков нагружают систему. Из-за этого список объектов может долго загружаться. Например, если в нем содержится более 10 миллионов записей. В версии 4.9 оптимизировано получение выборки данных из баз на основе PostgreSQL. Для этого в списках и вычисляемых папках тяжелые SQL-запросы вызываются в два этапа: •Предварительная фильтрация (PreFiltering). Новое событие формирует запрос, который значительно сокращает объем данных по базовым критериям. Для них в большинстве случаев уже есть индексы, поэтому запрос выполняется оптимально. В выборку сразу попадают только записи, на которые у пользователя есть права доступа; •Фильтрация (Filtering). Событие формирует запрос, который фильтрует полученный список сущностей по остальным заданным критериям. По умолчанию в системе при фильтрации некоторых списков сразу срабатывает событие PreFiltering. Например, если пользователь устанавливает фильтр для реестра доверенностей, то список предварительно фильтруется по подразделению и сроку действия. Благодаря этому получение итоговой выборки не займет много времени. Если в прикладном коде есть тяжелые запросы на получение выборки данных и используется СУБД на основе PostgreSQL, то после обновления системы на новую версию вы можете доработать код для оптимального выполнения. Также при необходимости пересмотрите состав индексов для панели фильтрации и удалите лишние. |
Фильтрация списка подписей документа
В новой версии для получения подписей документа добавлена перегрузка метода Signatures.Get(). В ее параметрах можно отфильтровать список подписей, например, чтобы получить только информацию о подписях с результатом «Утверждено»:
Благодаря этому, если у документа тысячи подписей, то для их получения больше не расходуется память сервисов Directum RX и снижается нагрузка на систему. |
Оптимизация редакторов типов сущностей
В среде разработки ускорено сохранение изменений в редакторах типов сущностей: при нажатии на кнопку Сохранить все теперь сохраняются не все открытые редакторы, а только измененные. Кроме того, оптимизировано сохранение метаданных. Например, если изменяется код функции и не добавляются константы, метаданные остаются прежними, и не тратится время на их обновление. Благодаря этому редакторы сохраняются в 10 и более раз быстрее. |
Контроль утечек соединений с базой данных
В среде разработки можно создавать подключение к базе данных с помощью метода SQL.CreateConnection(). Ранее, если разработчик после добавленного кода не закрывал соединение с базой данных, то в системе могли возникать ошибки. В новой версии создать подключение к базе данных можно только с использованием оператора using. Он определяет область кода, в конце которой соединение автоматически закрывается. Также добавлена проверка программного кода. Если для создания подключения оператор using не используется, то при сборке решения появляется ошибка «Соединение, полученное через SQL.CreateConnection(), необходимо освободить с помощью оператора using». Если при обновлении среды разработки появились такие ошибки, то для повышения стабильности работы системы необходимо доработать программный код.
|
1.В объектную модель добавлен модуль платформы NoCode – настройка системы. В него перенесены абстрактный класс NoCodeEntity и репозитории ComputedRoles, FormViews. Как и ранее, при программной работе к ним обращаются через пространство имен CoreEntities: Sungero.CoreEntities.FormViews, Sungero.CoreEntities.ComputedRoles. Это обеспечивает обратную совместимость кода. 2.Для программной работы с настройками проводника добавлены репозитории: •Sungero.CoreEntities.ExplorerModules – модули проводника; •Sungero.CoreEntities.ModuleViews – представления модулей; •Sungero.CoreEntities.ExplorerViews – представления проводника. 3.Для программной работы с представлениями форм добавлен метод Sungero.CoreEntities.FormViews.GetAllMatches() – получить все подходящие представления форм для сущности. 4.Теперь для блока «Задание» можно указать несколько результатов выполнения, при которых прекращаются остальные задания. Для этого появилось новое свойство Sungero.Workflow.Blocks.AssignmentBlockWrapper.StopResults. Свойство StopResult устарело и оставлено для совместимости. 5.Для метода Sungero.Core.Zip.Add() добавлены перегрузки, которые позволяют добавлять в ZIP-архив поток данных или другой архив. 6.Оптимизировано выполнение функций с атрибутом Remote, если они вызываются из карточки документа и получают большое количество других документов. 7.Если для асинхронного обработчика задано сообщение об ошибке, то теперь в проводнике веб-клиента оно по умолчанию выделяется красным цветом. 8.Для разработки новых клиентских функций, связанных с действиями обложек модулей, появился атрибут LocalizeFunction. С его помощью можно локализовать имя и описание функции , которые отображаются в редакторе обложек. |
© Компания Directum, 2024 |