@alldescendants - но только по определенной форме

anna

Lotus team
03.06.2014
400
7
#1
Уважаемый all!
А можно ли как-то отобрать в представлении документы-потомки одного документа KingDoc, но только по определенной форме? singleCategory не подходит
 

savl

Lotus team
28.10.2011
2 131
102
#2
Формулу отбора изменить можно.
Код:
Select  Form = "KingDoc":"Response"
Тогда в представление попадут только документы по этим формам.
Если Response - ответный документ и в представлении стоит "отображать документы по иерархии", то все будет ок.
 

anna

Lotus team
03.06.2014
400
7
#3
Не пойдет. Нужны все потомки одного родителя в виде. Родитель - один документ. Потомки бывают разные, но нужны только по определенной форме.
 

alexas1

Lotus team
10.04.2014
723
144
#4
Не пойдет. Нужны все потомки одного родителя в виде. Родитель - один документ. Потомки бывают разные, но нужны только по определенной форме.
Чот не понятно: "отображать документы по иерархии" вывалит под "родителем" ВСЕ ЕГО "потомки", Select Form = "KingDoc":"Response" отберёт родителей с формой KingDoc и только потомков с формой Response.
Чо не так?
 

savl

Lotus team
28.10.2011
2 131
102
#5
@anna,
надо отобразить ветку ответных документов по форме (Response) только для одного конкретного документа (по форме KingDoc)?
Я сейчас правильно понял?
[DOUBLEPOST=1425045664,1425045570][/DOUBLEPOST]То есть:
Есть договор с номером 123, надо отобразить все дополнения к данному договору.
Именно к данному договору.

Потому что если делать по моей формуле будет:
Отражены все договоры вместе с дополнениями.
И там среди кучи документов будет договор с номером 123
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#6
мобуть так:
Для просмотра контента необходимо: Войти или зарегистрироваться
Many Lotus Notes Domino organizations find it useful to parameterize a Lotus Notes view selection to limit its results. The reasons for this are generally twofold:
Only a portion of all data contained in a view is needed.
Exporting to other Notes/Domino applications is difficult due to the volume.
Although there's a great need to use parameters to limit the results of the Lotus Notes view, not much has been done because the view is maintained on the server side. This tip explains the methods that one company used to filter Lotus Notes view selections and gives a few real-world examples.
Note: You must have Designer access to accomplish this. Also, make sure that "Create shared folders and views" is enabled on your access control list.
First, create an action button with the following script:
Код:
Dim Session As New NotesSession
Dim uiworkspace As New NotesUIWorkspace
Dim uiview As NotesUIView
Dim view As NotesView
Dim NewViewFormula As String
NewViewFormula = |SELECT Form = "Form Name Here" & FieldName = "Value"|
Set uiview = uiw.CurrentView
Set view = uiview.View
view.SelectionFormula = NewViewFormula
Call uiworkspace.ViewRebuild
Following is an example of the above code in action. The following LotusScript will modify the "view" selection formula to display all documents with the department name specified as "Marketing."
Код:
Dim Session As New NotesSession
Dim uiworkspace As New NotesUIWorkspace
Dim uiview As NotesUIView
Dim view As NotesView
Dim NewViewFormula As String
NewViewFormula = |SELECT Form = "Form Name Here" & DepartmentName = "Marketing"|
Set uiview = uiw.CurrentView
Set view = uiview.View
view.SelectionFormula = NewViewFormula
Call uiworkspace.ViewRebuild
This LotusScript code allows you to reset the View to select all documents:
Код:
Dim Session As New NotesSession
Dim uiworkspace As New NotesUIWorkspace
Dim uiview As NotesUIView
Dim view As NotesView
Dim NewViewFormula As String
NewViewFormula = |SELECT @all|
Set uiview = uiw.CurrentView
Set view = uiview.View
view.SelectionFormula = NewViewFormula
Call uiworkspace.ViewRebuild
Use the following LotusScript to modify the view selection formula so that it displays the documents using the "Prompt" method:
Код:
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim ws As New NotesUIWorkspace
Dim FormDbColumn As Variant
FormDbColumn = Evaluate(|@Trim(@Unique(@DbColumn("";"":"";"ViewName";1)))|)
GetValue = ws.Prompt(4, "Departments", "Select Department", "",FormDbColumn)
If GetValue =  "" Then
Messagebox "Operation Canceled" ,,"Department has not been selected."
Exit Sub
End If
Dim NewFormula As String
NewFormula = |SELECT Form = "Form Name" & @Begins(DepartmentName;"|& GetValue & |")|
Set uiview = ws.CurrentView
Set view = uiview.View
view.SelectionFormula = NewFormula
Call ws.ViewRebuild
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 567
263
#8
Ну не очень хорошо менять скриптом селекшн формулу
по секурити - совсем не хорошо :)
можно и отбирать, просто не ясно - чего надобно, может все в форму уписывается, со встроенной вьюшкой
 

anna

Lotus team
03.06.2014
400
7
#10
В предыдущем подобном случае я тоже делала через @SetViewInfo. Но сейчас - неудобно. Добавила поле с кодом головного документа и контролирующий агент. Ведь голову меняют нечасто. Вроде ок
 

garrick

Lotus team
26.10.2009
894
61
#13
Тогда, пожалуйста, "разжуйте" свой вопрос поподробнее. Что за представление, где вы хотите что-то отобрать, как вы планируете отобразить отобранное и пр.? Вообще поясните что вы там строите.
 

anna

Lotus team
03.06.2014
400
7
#14
N иерархических деревьев. Соответственно, N головных документов. Нужно построить линейные представления по всем определенным потомкам в каждом из деревьев - некоторые системные для агентов, некоторые для людей. При этом не все дочерние формы нужны, только некоторые. Понятно объяснила? Впрочем, вопрос уже разрулила - на каждом ребенке написали ссылку на начального предка :)