Создание Иерархического Представления

lokofan

New member
26.03.2014
1
0
#1
Доброго времени суток.
Заранее извиняюсь, вопрос предельно простой, но найти информацию самому не получилось, иначе не писал бы.

Имеется две формы: "Организация" и "Сотрудник". Необходимо создать иерархическое представление, используя механизм ответных документов. То есть, надо написать скрипт, который будет выполняться при нажатии кнопки на форме "Организация" и создавать связь между организацией и сотрудником. Вот то, до чего я смог дойти:

Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim document As New NotesDocument(session.CurrentDatabase)

document.Form = "Сотрудник"
Call document.MakeResponse(workspace.CurrentDocument.Document)
End Sub
Большая просьба помочь исправить скрипт и дать какие-нибудь советы по созданию представления.
Заранее спасибо.
 
A

alexas

#2
Можно и так, как Вы написали, только новый док надо ещё сохранить: Call document.Save( True, False )
В виде, что бы видеть иерархию, надо включить в нужной колонке - show twistie when row is expandable (первая закладка в свойствах колонки, внизу)
Что бы доки появились в виде, его надо отрефрешить программно, или переоткрыть, или нажать F5 или F9.
 

savl

Lotus team
28.10.2011
2 136
105
#3
alexas внимательнее =)
Код:
Call document.Save( True, document.Isresponse)
Форму сотрудник можно сделать типом Response или прописать в документе перед сохранением:
Код:
Call document.Replaceitemvalue("$RefOption","0")
Это позволит сохранить $Ref при сохранении сотрудника через UI, если форма будет типом: Document
 
A

alexas

#4
savl я опирался на авторский код и логику интерфейса (lokofan же в нём разбирался), а в этом случае, второй параметр в Save не будет иметь никакого значения (даже с первым параметром False). Попробуйте.
А форму "Сотрудник" не можно, а нужно сделать типом Response (если ей будут редактировать).
 

hosm

* so what *
18.05.2009
2 442
6
#5
По представлению: чтобы учитывать при отображении иерархию, у представления должна быть включена Show response documents in a hierarchy (на 2й вкладке), а у БД - выключена Don't support specialized response hierarchy (на посл. вкладке).
Есть случаи, когда удобно выводить основные данные ответных документов в отдельную колонку с Show responses only, есть случаи, когда лучше для вывода информации из ответных документов использовать все колонки представления (можно выводить разные поля для разных типов документов через формулу колонки, определив тип документа - например, через форму)
 

Shandrik

Lotus team
30.12.2010
268
12
#6
alexas внимательнее =)
Код:
Call document.Save( True, document.Isresponse)
savl внимательнее =)
Второй параметр делает респонзом конфликт, если такой приключился в момент сейва и этот второй параметр игнорируется, если первый True
 

savl

Lotus team
28.10.2011
2 136
105
#7
Shandrik
точно, вот так будет лучше, можно еще проверку с IF сделать.
Код:
Call document.Save( false, document.Isresponse)