Столкнулся с проблемой отображения в дереве большого количества строк.(версия 3.1.1)
Так как это дерево , то стандартный вариант с постраничным отображением не проходит , а ограничить количество строк как-то нужно (предположительное количество строк уходит за 100 000)
Решил использовать IncludeFilter который будет возвращать 40 строк верхнего уровня дерева . Во все строки прописываю поле EWorksID в котором находится ссылка кА стоку первого уровня . Запрос приобрел такой вид
SELECT "tbl_EWorks"."ID" "ID",
"tbl_EWorks"."ParentID" "ParentID",
"tbl_EWorks"."ParentGroupID" "ParentGroupID",
"tbl_EWorks"."EWorksID" "EWorksID"
FROM "tbl_EWorks" "tbl_EWorks"
WHERE (("tbl_EWorks"."EWorksID" IN
(SELECT *
FROM (SELECT "tbl_EWorks"."ID" "ID"
FROM "tbl_EWorks" "tbl_EWorks"
WHERE ("tbl_EWorks"."ParentID" IS NULL))
WHERE ROWNUM <= 40)))
Он выбирает первые 40 веток дерева
Все последующие фильтры необходимо накладывать внутрь IncludeFilter .
С помощью доработки ядра(3.1.1.54) удалось вставить в IncludeFilter пользовательские фильтры. Теперь с помощью них можно выбирать все ветки дерева которые удовлетворяют условиям фильтрации(варианты фильтрации дерева могут быть разными , такой вариант подходит если нужно отображать всю ветку полностью)
Доп: Описанный вариант применим к БД Oracle , в других СУБД возможны изменения
| Пн | Вт | Ср | Чт | Пт | Сб | Вс |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
| Пн | Вт | Ср | Чт | Пт | Сб | Вс |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
|
|
On-line курс "Функциональные возможности BPMonline" | |
|
|
Создание конфигураций на базе Terrasoft XRM | |
|
|
Online курс по функциональности и внедрению Terrasoft XRM | |
|
|
On-line курс "Создание конфигураций на базе BPMonline" | |
|
|
Практический мастер-класс по разработке и внедрению бизнес-процессов | |
|
|
Функциональные возможности и Бизнес-внедрение Terrasoft XRM |
|
|
Функциональные возможности Terrasoft XRM | |
|
|
On-line курс "Функциональные возможности BPMonline" | |
|
|
Создание конфигураций на базе Terrasoft XRM | |
|
|
Online курс по функциональности и внедрению Terrasoft XRM | |
|
|
On-line курс "Создание конфигураций на базе BPMonline" |
Комментарии
Интересно, это как это отразилось на быстродействии и насколько такой вариант медленее чем стандартный ROWNUM <= 40
Алексей в дереве нет ROWNUM <= 40
Подозреваю версия 3.3.1, а не 3.1.1. До версии 3.3.0 древовидного реестра проектов не было.
В одном из проектных решений в реестре дерева было 15 тысяч проектов, построение дерева занимало много времени. обошли следующим образом: добавили представление "Список проектов", где отображаются только проекты. От него можно перейти к дереву проекта со стадиями и работами. Во всех сущностях системы для привязки действует ограничение, что вначале следует выбрать клиента, проект которого следует найти.
Работает довольно быстро.