<< Click to Display Table of Contents >> Что нового в Directum RX 4.12 > Версия для локальной установки > Модификация системы Среда разработки |
![]() ![]() |
В новой версии для разработчика доступны новинки:
•Логика «Ведущий – ведомый» в свойствах
•Отображение блоков в этапах процесса
•Управление свойствами блоков в зависимости от условий
•Настройка выбора сотрудников из организационной структуры
•Передача настроек веб-сервера в сторонний компонент
•Настройка приоритетов по умолчанию для результатов выполнения
•Работа с представлениями форм из блоков схем задач
Логика «Ведущий – ведомый» в свойствах
Свойства системы могут быть логически связаны между собой. Например, каждая рубрика из справочника Рубрики относится к определенной ведущей рубрике, является ее подрубрикой.
Для отражения логических связей между данными в системе предусмотрена возможность связывания свойств логикой «Ведущий – ведомый».
Ранее для реализации этой логики разработчику приходилось создавать обработчик события и прописывать код. Теперь для настройки логики «Ведущий – ведомый» между свойствами типа сущности достаточно заполнить новые параметры Ведущее свойство и Связано с:
В результате настройки логики доступность значений ведомого свойства будет определяться ведущим. Например, в системе Directum RX в карточках финансово-хозяйственных документов подобным образом настроены поля Рубрика и Подрубрика.
В новой версии появилась возможность создавать вычисляемые свойства, значения которых определяются динамически. Например, можно сделать так, чтобы в карточке созданного типа документа Заявки сотрудников после заполнения поля Сотрудник свойство Табельный номер сотрудника автоматически заполнялось информацией из справочника Сотрудники.
Благодаря использованию вычисляемых свойств:
•снижается стоимость разработки, так как уменьшается количество ситуаций, когда разработчику необходимо писать код;
•можно максимально быстро актуализировать необходимые данные. Например, сделать так, чтобы после устранения ошибок соединения абонентского ящика с сервисом обмена значение статуса соединения сразу обновлялось. Это происходит даже если карточка ящика заблокирована другим пользователем;
•оптимизируется процесс сохранения сущности, так как при изменении таких свойств сохраняются только они, а не вся сущность. То есть не вызываются обработчики событий, которые затрагивают другие свойства сущности;
•уменьшается нагрузка на систему, поскольку количество выполняемого кода снижается.
Чтобы настроить вычисляемое свойство, в редакторе типа сущности для него нужно установить новый флажок Вычисляемое свойство:
Доступны два типа вычисляемого свойства:
•Ссылка на свойство. Значение свойства определяется на основе других свойств типа Ссылка. Например, свойство Табельный номер сотрудника (EmployeePersonnelNumber) получает значение свойства Табельный номер (PersonnelNumber) из справочника Сотрудники. Присваивается не само значение, а ссылка на свойство, где оно хранится. Благодаря этому в карточке сущности значение свойства актуализируется автоматически, и для его синхронизации с источником данных больше не нужно прописывать код.
•Внешнее вычисление. Значение свойства задается программно. Рекомендуется использовать, когда значение свойства вычисляется по сложному алгоритму и при этом оно должно актуализироваться максимально быстро. Например, в Directum RX таким способом реализованы свойства Соединение абонентского ящика, Фактическая дата исполнения поручения и Статус поручения.
Отображение блоков в этапах процесса
С версии 4.12 в веб-клиенте можно настроить отображение этапов процессов в задачах, заданиях и уведомлениях. Если этап нужно по умолчанию показывать на вкладке «Этапы процесса», то в среде разработки при создании блока достаточно заполнить новый параметр *Отображать в этапах процесса и выбрать иконку. Указанное значение в дальнейшем можно изменить в веб-клиенте при настройке схемы.
При переходе на версию 4.12 рекомендуется проверить, что по умолчанию для ваших процессов отображаются только значимые этапы: согласование, регистрация, подписание и т.д. Остальные можно скрыть.
Изменения также отражены в объектной модели. В репозитории Sungero.Workflow.ProcessKinds появилось свойство ShowProcessStages – признак того, что в задачах, заданиях и уведомлениях по варианту процесса отображается вкладка «Этапы процесса».
Управление свойствами блоков в зависимости от условий
В версии 4.12 настраивать блоки стало проще. Для этого в среде разработки появилась возможность управлять их свойствами: делать обязательными, а также скрывать или показывать в зависимости от условий.
Признак того, что свойство является обязательным, задается в параметрах прикладного блока с помощью нового флажка:
Логика отображения свойств задается в коде нового клиентского события «Обновление блока». Оно доступно в редакторе модуля или типа задачи при настройке блока.
Для обращения к свойствам в коде используется аргумент _block. Например, можно задать отображение выпадающего списка в зависимости от того, установлен ли флажок:
public virtual void AssignmentBlockRefresh()
{
// Если флажок PropertyBool установлен, то отобразить выпадающий список PropertyEnum
if (_block.PropertyBool.Value == true)
{
_block.State.Properties.PropertyEnum.IsVisible = true;
}
// Если флажок PropertyBool снят, то скрыть выпадающий список PropertyEnum
if (_block.PropertyBool.Value == false)
{
_block.State.Properties.PropertyEnum.IsVisible = false;
}
Logger.Error("AssignmentBlockRefresh");
}
Настройка выбора сотрудников из организационной структуры
Теперь для выбора сотрудников из организационной структуры можно настроить использование формы с деревом значений. Для этого в редакторе свойства-ссылки на тип сущности Субъект прав (Sungero.CoreEntities.Recipients) достаточно снять флажки Отображать как список при выборе и Отображать как выпадающий список при выборе. В результате в проводнике веб-клиента поле отображается в виде кнопки, а в табличной части карточки для ячейки отображается кнопка . При нажатии на нее открывается список в виде дерева со структурой организации. Например, в стандартной поставке такой способ заполнения настроен в карточке задачи для поля Кому.
Передача настроек веб-сервера в сторонний компонент
Систему можно модифицировать под потребности компании с помощью сторонних компонентов. Иногда в их коде необходимо использовать параметры веб-сервера. Теперь для передачи настроек в сторонний компонент не требуется прибегать к разработке. Достаточно в конфигураторе Directum Launcher в секцию SungeroWebServer добавить новый параметр REMOTE_COMPONENT_SETTINGS и заполнить его. В нем задается имя стороннего компонента и передаваемые настройки:
REMOTE_COMPONENT_SETTINGS:
component:
- '@name': '<Имя стороннего компонента, заданное в среде разработки>'
'@<Имя передаваемого параметра>': '<Значение параметра>'
Настройка приоритетов по умолчанию для результатов выполнения
Ранее в веб-клиенте при настройке блоков типа «Задание» требовалось указывать приоритеты результатов выполнения. Теперь в большинстве случаев этого делать не нужно: результаты выполнения отображаются упорядочено с учетом приоритетов по умолчанию. Они задаются в среде разработки в узле «Результаты выполнения» с помощью новых кнопок и
:
В дальнейшем при настройке схемы в веб-клиенте можно изменить приоритеты.
Работа с представлениями форм из блоков схем задач
В новой версии появилась возможность задавать представления форм из блоков схем задач. Разработчик может управлять ими при помощи программного кода. Для этого в блоках «Задача», «Задание» и «Уведомление» появились новые свойства:
•DefaultViewForm – представление по умолчанию;
•EmbeddedViewForm – представление в списке.
В редакторе типа сущности задается способ выбора значения, одинаковый для всех свойств-ссылок: форма-список или выпадающий список. Теперь в редакторе конкретного свойства-ссылки для типа сущности Субъект прав (Sungero.CoreEntities.Recipients) и его наследников можно задать способ выбора значения, который отличается от указанного для всех свойств. Это можно сделать, сняв или установив новый флажок Отображать как выпадающий список при выборе.
© Компания Directum, 2025 |