Отображение иерархии документов

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#1
Здравствуйте все!

Столкнулся с проблемой - не отображается иерархия ответных документов, если в виде отсутствует корневой документ.
Имеем:
Док1, Док2 (ответ на Док1), Док3 (ответ на Док2) и т.д.
Нужно смотреть во внедрённых вьюхах иерархию ответов:
1) смотреть в Док1 иерархию его ответов (работает)
2) смотреть в Док2 иерархию его ответов (не работает)
и т.д.

Одним словом, можно ли заставить вьюху отображать иерархию начиная не с дока, а с отклика?
 

TIA

:-)
Lotus team
15.05.2009
790
1
#3
Можно.
Предположим, что документы 2го уровня отличаются именем формы. Делаем вид с селекшен-формулой

FIELD $Ref := @If(Form="Док2"; @DeleteField; $Ref);
SELECT Form="Док2":"Док3":"Док4";

И внедряем его на форму "Док2".
Для документов 3го уровня придётся делать ещё одну вьюху с селекшеном.

FIELD $Ref := @If(Form="Док3"; @DeleteField; $Ref);
SELECT Form="Док3":"Док4";
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#4
TIA
И так для всех 31-го уровня иерархии? ;)

Не, ну что-то придумать можно.

Но на поставленный nvy вопрос, Medevic ответил правильно :)
 

TIA

:-)
Lotus team
15.05.2009
790
1
#6
Omh
Хм. :) Вопрос звучал так: "можно ли заставить вьюху отображать иерархию начиная не с дока, а с отклика?"
В общем случае ответ всё же "можно" и предложенный мной способ это демонстрирует. Первым в иерархической вьюшке с респонсами отобразится документ 2го уровня.


ToxaRat
Попробуй мой рецепт. Просто попробуй.

Приложил скриншот. На нём показано, что документ c полем $REF отображён на первом уровне иерархии.
 

Вложения

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#7
TIA
Зачёт, то что доктор прописал!

Теперь возник следующий вопрос - можно ли с клавиатуры инициировать редактирование поля в виде? По клику мыши всё работает, но есть пользователи, которые с трудом понимают, где и как кликнуть, чтоб отредактировать значение поля
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
37
Латвиджа, Рига
#8
nvy
Вообще работает F2, но не везде (кажись, в embedded view не работает) и переводит в editmode только первую редактируюемую колонку.
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#9
nvy
Вообще работает F2, но не везде (кажись, в embedded view не работает) и переводит в editmode только первую редактируюемую колонку.
Спасибо за инфу. Увы, мне в во внедрённом виде и надо было...
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#11
TIA
а как мне с этой фичей просчитать что конкретному этому юзеру главный док не виден и именно по этому нужно убивать поле $REF?
 

TIA

:-)
Lotus team
15.05.2009
790
1
#12
ToxaRat
Зачем в катлету муху пихаешь? Вычисление видимости документа и отображение иерархии не с первого уровня в общем случае не связанные вещи. В условии задачи этого тоже небыло. Или ищешь повод "плюс" зажать ;)?
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#13
ToxaRat
Зачем в катлету муху пихаешь? Вычисление видимости документа и отображение иерархии не с первого уровня в общем случае не связанные вещи. В условии задачи этого тоже небыло. Или ищешь повод "плюс" зажать ;)?
Задача (грубо) была следующей: есть таблица Екселя, в которой нужно заполнить столбец "количество". Есть группы строк, соответствующие филиалам, в них группы строк по исполнителям. Нужно организовать рассылку по филиалам/исполнителям только своей порции строк таблицы для заполнения, а потом собрать воедино. Пытался замутить всё это на ответных доках во внедренном виде. Почти получилось, но довольно убого. Думаю дальше.

TIA извини, но + от меня только через неделю, недавно уже плюсовал :wacko:
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#14
nvy
Задача (грубо) была следующей: есть таблица Екселя, в которой нужно заполнить столбец "количество". Есть группы строк, соответствующие филиалам, в них группы строк по исполнителям. Нужно организовать рассылку по филиалам/исполнителям только своей порции строк таблицы для заполнения, а потом собрать воедино. Пытался замутить всё это на ответных доках во внедренном виде. Почти получилось, но довольно убого. Думаю дальше.
ужас...
нет чтобы сразу скриптом выплюнуть в ексель, всё так как надо...

TIA
Зачем в катлету муху пихаешь? Вычисление видимости документа и отображение иерархии не с первого уровня в общем случае не связанные вещи. В условии задачи этого тоже небыло. Или ищешь повод "плюс" зажать
или "минус" ;)
как-то мой системный подход всегда был против на отборе модифицировать поля в доке, и что-то внутри подсказывает что индексер не особо обрадуется когда его грузят модификацией полей а не просят просто показать доки
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#16
ну, поля и не модифицируются
относительно индексера они не просто модифицируются, а модифицируются его силами
как думаете есть разница отобрать из милиона 100 доков с формой такой-то или удалить у милиона поле и потом отобрать 100 доков?

а потом плачут, что сервер слабый, что @Now в селекте не используют, и кластер не вытягивает...
 

TIA

:-)
Lotus team
15.05.2009
790
1
#18
как думаете есть разница отобрать из милиона 100 доков с формой такой-то или удалить у милиона поле и потом отобрать 100 доков?
Думаю разница будет приблизительно такой же, как добавить в селекте проверку ещё одного поля. Не происходит отдельно операции удаления поля и только потом отбора. При обновлении индекса, NIF проверяет все изменённые документы, на предмет включения/обновления информации в индекс. Для этого над документом выполняется селекшен-формула. Ну и что, что она удалит при этом поле - копейки.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#19
Думаю разница будет приблизительно такой же, как добавить в селекте проверку ещё одного поля. Не происходит отдельно операции удаления поля и только потом отбора. При обновлении индекса, NIF проверяет все изменённые документы, на предмет включения/обновления информации в индекс. Для этого над документом выполняется селекшен-формула. Ну и что, что она удалит при этом поле - копейки.
а я думаю вы заблуждаетесь :)
проверка на команду @Now тоже якобы не ведет к изменению документа однако порой даже сервер валится, тут тоже самое
только как по мне сложность еще и в том, что нужно не только отобрать документы но еще и правильно распределить цепочки ответных, когда вы цепляете документ к отцу - отец ведь не меняется? но контекст индекса относительно отца и его свойства - изменены (если вы конечно не установили на базе свойство don support response hierarchy и знаете что это за собой тянет)

выход в виде личных видов или же внедренного вида условно правилен, но как по мне несёт опасность
 

TIA

:-)
Lotus team
15.05.2009
790
1
#20
а я думаю вы заблуждаетесь wink.gif
проверка на команду @Now тоже якобы не ведет к изменению документа однако порой даже сервер валится, тут тоже самое
только как по мне сложность еще и в том, что нужно не только отобрать документы но еще и правильно распределить цепочки ответных, когда вы цепляете документ к отцу - отец ведь не меняется? но контекст индекса относительно отца и его свойства - изменены (если вы конечно не установили на базе свойство don support response hierarchy и знаете что это за собой тянет)

выход в виде личных видов или же внедренного вида условно правилен, но как по мне несёт опасность
Странный у вас системный подход, который позволяет равнять использование @Now и FIELD. Они не равны хотябы потому, что у вьюшки с @Now добавляется поле $FormulaTV. Подчёркиваю -- такое поле добавляется специально при использовании зависимых от времени выражений и только в этом случае. Вообще, я не понимаю причины недовольства. Фича работает. Если подходит для решения задачи - пользуем. Не подходит -- не пользуем. Не верим -- проверяем.