Как узнать вашу версию платформы 3V смотри в статье.
Дата выпуска: октябрь 2022г.
В пользовательском приложении при формировании блока с именем пользователя теперь по умолчанию доступны только подстановки name и login (preferred_username для обратной совместимости).
Чтобы включить возможность использовать другие атрибуты из токена пользователя, необходимо в конфигурационном файле для сервиса subjects задать флаг "AddClaimsToUserInfo": true.
Необходимо прописать в конфигурационный файл connection string - "FileStorageApiAddress": "http://filestorage/". Если его не прописать, то сервисы файлохранилища и обновлений не заработают.
По умолчанию высота отчета равна высоте формы. Данный функционал позволяет автоматически ограничивать высоту отчета той частью экрана, на которой выводится форма, что означает, что на любых устройствах, в том числе мобильных, отчет по умолчанию будет не больше экрана и им будет удобно пользоваться.
Чтобы отчет занимал оставшееся доступное место на форме: задать высоту формы 100%.
Ограничить высоту отчета определенной областью: задать ограничения родительским контейнерам или форме
Убрать ограничения: на вкладку "стили" добавлен флаг "Отобразить всю высоту". Он позволит вне зависимости от размера экрана вывести все элементы
Не рекомендуется использовать флаг в отчетах с большим объемом данных, т.к. все данные будут загружаться сразу, без учета динамической подгрузки, что может привести к медленной работе формы.
При создании отчетов в json-описание автоматически будут добавлены настройки нумерации и оформления:
"numerationSettings": { "enabled": true, "showEmptyNumbers": true, "template": "[N]" }
"view": { "isTopHeaderHidden": false, "areRowsColumnsNamesHidden": false, "isStylesTemplateEnabled": false, "topHeaderStyleId": null, "leftHeaderExpandedLevel": 2, "fixedColumn": null, "emptyValueDisplayString": null, "disabledEvents": [], "disableVirtualScroll": false, "defaultRowPixelHeight": null, "gridComponent": null, "disableRefreshWhenParameterChanged": false, "maxRowsCount": null, "sortings": [], "buttons": [], "isReadOnly": false, "clientSettings": null },
Реализованы возможности импорта и экспорта данных в отчете и показателе. Благодаря данной функции можно выгрузить шаблон в формате xls, заполнить данными и загрузить заполненные данные из xls обратно в отчет/показатель.
В отчетах, показателях и справочниках в верхней и боковой панелях настроек добавлены функции импорта и экспорта.
Для экспорта добавлены новые настройки:
Добавлять новые записи в экспортированный документ возможно только для справочников и показателей. Для отчетов возможно только изменять/записывать данные в уже имеющиеся строки
Если отчет был заполнен данными, при импорте они заменятся на те, что записаны в импортируемрм файле.
При импорте данных в показатель, откроется модально окно с возможностью выбора:
При наличии параметров, отчет экспортируется с установленными параметрами, а также при загрузке данные будут загружены по соответствующим параметрам
Данные из виртуального показателя экспортируются, но не импортируются в него.
Реализована возможность загружать файлы любого расширения как отдельные объекты платформы.
Для загрузки файла:
Или перетащите файл в окно навигатора объектов.
Наименование созданному объекту задается автоматически, в соответствии с наименованием загруженного файла.
При необходимости наименование объекта можно изменить в правой панели свойств.
В поиске для данных объектов добавлен тип "Файл", который осуществляет поиск всех файлов независимо от их расширения.
При нажатии на объект с типом "Файл", он скачается автоматически, за исключением изображений и видео (gif, png, jpeg, svg, mp4..), а также pdf файлов, которые откроются на предпросмотр. Скачать файл можно также по клику на соответствующий пункт в контекстном меню или же на кнопку в верхней панели.
При изменении файла нет необходимости удалять предыдущую версию и загружать новую, можно обновить файл. Для этого необходимо открыть контекстное меню, щелкнув по объекту правой кнопкой мыши и выбрать "Загрузить новую версию".
Также доступна история изменений файла. Открыть её можно через контекстное меню объекта или же по клику на кнопку в правой панели настроек.
Реализована возможность загрузки нескольких файлов в одну ячейку с типом данных "файл".
Для этого:
При добавлении нескольких файлов в одну ячейку, в ней отображаются не названия файлов, а их количество.
При нажатии на кнопку скачивания в ячейке, все расположенные в ней файлы будут скачаны архивом. Также каждый файл можно скачать отдельно, выбрав скачивание в раскрывающемся меню ячейки.
Выполнены доработки для единой модели расчета, а именно:
Для отображения приемников формул добавлен флаг "Показывать приемники формул". При включении данного флага отображаются объекты, в которых использованы формулы ЕМР.
При работе с открытым отчетом после бездействия, он строится заново, вследствие чего могут возникнуть проблемы, например, при изменении иерархии, так как структура открытого отчета может не совпадать со структурой восстановленного.
После бездействия, при дальнейших операциях с отчетом проверяется актуальность структуры, и если структура поменялась, то автоматически загрузится новая структура и появится соответствующее уведомление.
Также в конфигурационный файл добавлена настройка "showReportIsDead"
(по умолчанию выключена). При включении данной настройки на вкладке с отчетом в нижней панели инструментов будет отображаться предупреждение о долгом бездействии пользователя.
Для компонента "согласование" при смене состояния (нажатии на кнопку или пункт выпадающего списка компонента) реализована возможность выполнения действий:
Если же действие должно выполняться только на определенном состоянии, то необходимо добавить проверку на id состояния через выражение типа "EntryExpressionWorkflowContainsStatesBooleanParameter". И это выражение добавить в "enableExpressionId" у действия.
Теперь в Swagger UI можно добавить не только авторизацию через конфиденциального клиента (ConfidentialClientAuthenticationSettingsDto), но парольную авторизацию (PasswordAuthenticationSettingsDto), что позволит задавать логин/пароль пользователя-администратора, а не сервисной учетной записи.
Для настройки запуска подпроцесса с заданными константными значениями необходимо в json основного процесса в настройке связи параметров - parameterMappings, задать конструкцию с указанием идентификатора параметра подпроцесса для которого задаются значения (subProcessParameterId) и перечнем значений (value).
Пример настроенного подпроцесса и заданных настроек связи: задана связь параметра основного процесса с параметром подпроцесса, а для второго параметра подпроцесса зафиксированы значения 1,2,3, с которыми будет совершаться запуск подпроцесса.
"subProcesses": [
{
"workflowId": 333074,
"name": "Подпроцесс",
"parameterMappings": [
{
"parentProcessParameterId": 1,
"discriminator": "SubProcessParentParameterMappingModel",
"subProcessParameterId": 1
},
{
"value": [
1,
2,
3
],
"discriminator": "SubProcessConstantParameterMappingModel",
"subProcessParameterId": 2
}
],
"subProcessNameTemplate": null
}
],
При запуске подпроцесса без фиксированных значений откроется модальное окно для выбора значений, при запуске с фиксированными значениями процесс запустится автоматически.
Подключены сервисы по отправке уведомлений из согласования и комментирования на облачные площадки:
3v-cloud.com
3v-cloud.ru
x-service.online
"RandomGuid()"
для генерации guid."RandomInt()"
для генерации целых чисел.При создании элемента справочника через API учитываются настройки "DefaultValue"
и "DefaultValueExpression"
, если для вновь созданного элемента не было задано значение
Реализована возможность обновлять данные отчета после закрытия модaльной формы.
Данное поведение можно настроить путем выставления свойства "RefreshAfterModalWindow": true
в json отчета внутри блока hyperlinkOptions
для необходимой гиперссылки.
По умолчанию данное свойство выключено ("RefreshAfterModalWindow": false
).
Если пользователь редактировал данные в самом отчете, то при нажатии на подобную ссылку появится окно с предупреждением, хочет ли он продолжить, так как его отредактированные данные не сохранятся при закрытии модального окна.
В навигаторе для всех объектов реализовано контекстное меню. Оно доступно при клике правой кнопкой мыши на объект, меню которого необходимо открыть.
Кнопка "Скопировать ссылку на объект" теперь имеет новый дизайн и перенесена из верхней панели инструментов навигатора в контекстное меню.