Всем добрый день. Хотелось бы узнать как можно настроить порядок отображения элементов UserTask в редакторе БП в секции UserActions.
Пробовал по-разному выставлять значение атрибута Position(объект SysProcessUserTask), после этого компилировал приложение, позиция элемента не изменялась
В версии 8.0.6 и ниже, увы, такой возможности нет. Запрос на выборку элементов происходит в all-combined в методе getSelectQuery из Terrasoft.manager.ProcessUserTaskSchemaManager. В нем нету условий сортировки полученного результата и он же дальше обрабатывается в all-combined.
Я зарегистрировал пожелание нашей команде R&D на добавление такой возможности в продукт. Спасибо за предложение по улучшению функционала.
Сталкивались ли Вы с необходимостью отсортировать значения справочника, отображаемого в виде выпадающего списка? Например, при выборке по какому-либо критерию или полю, скажем, порядковому номеру. А если Вы вносите значения в одном порядке, а сортировку хотите установить в отличном? Тогда предлагаю следующую небольшую доработку.
Введите в таблицу справочника (который Вы используете в качестве поля с выпадающим списком), новое целочисленное поле, Order (размерностью 1 или 2, думаю, хватит).
Добавьте это поле в sq_ сервис справочника, датасет ds_ и карточку редактирования самого справочника wnd_ , так чтобы Вы вместе со значениями справочника могли и это поле задавать.
Для того чтобы выборка сортировалась по этому полу, в сервисе справочника для поля в параметрах включите сортировку и задайти позицию сортировки. По умолчанию значения справочников сортируются по имени. Укажите для поля Name позицию сортировки = 2, а для поля Order = 1.
Я у себя данный алгоритм проверил на примере справочника Города:
Сервисы tbl_City, sq_city, ds_city, wnd_cityEdit:
Порядок сортировки: Descending – убывающий, Ascending – возрастающий.
Вывел поле Order в карточку редактирования записи города. И, для проверки, в справочнике городов присвоил пару значений: для Астаны = 111, для Караганды = 110:
На следующем скриншоте видно, что сортировка прошла корректно