Domino 9 und frühere Versionen > ND6: Entwicklung
Dokumente im Web selektieren
Marinero Atlántico:
... was natürlich stimmt. Trotzdem bleibt das mit den Auswirkungen auf die Performanz-Elemente Skallierbarkeit hinsichtlich Dokumenten/Parametern und Responsivität richtig.
CLI_Andreas_Schmidt:
Ich habe noch eine Lösung gefunden. Mit 6 kann man ja im Hintergrund eine neue Ansicht "CreateView" aufbauen und zwar mit einer neuen Selektion. Habe es ausprobiert und es läuft. Man braucht nur die neue Ansicht bereits mit dem zukünftigen Namen in eine Maske einbetten. Später wird dann die Maske im Browser aufgerufen. Klappt gut.
Beispiel Code kann ich posten.
CLI_Andreas_Schmidt:
Hier der Code.
Sub Initialize
Dim s As New NotesSession
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim col As NotesViewcolumn
Dim formula As String
Dim maske As String
Set db = s.CurrentDatabase
Set doc = s.DocumentContext
Dim viewSavedView As NotesView
Dim viewNew As NotesView
Dim delView As Notesview
Set delview = db.GetView( "MySelectedView" )
If Not delview Is Nothing Then
Call delview.Remove
Set viewSavedView = s.CurrentDatabase.GetView("MyBearings")
Set viewNew = db.CreateView("MySelectedView")
' viewNew.SelectionFormula = "SELECT FORM='form' & productgroup='" & doc.productgroup(0) & "'"
viewNew.SelectionFormula = "SELECT FORM='form' & productgroup='" & doc.productgroup(0) & "' & language='" & doc.language(0) & "'"
Call viewNew.RemoveColumn(viewNew.ColumnCount)
Set col = viewNew.CopyColumn(viewSavedView.Columns(1),1)
Set col = viewNew.CopyColumn(viewSavedView.Columns(2),2)
Set col = viewNew.CopyColumn(viewSavedView.Columns(3),3)
Set col = viewNew.CopyColumn(viewSavedView.Columns(4),4)
Set col = viewNew.CopyColumn(viewSavedView.Columns(5),5)
Set col = viewNew.CopyColumn(viewSavedView.Columns(6),6)
Set col = viewNew.CopyColumn(viewSavedView.Columns(7),7)
Set col = viewNew.CopyColumn(viewSavedView.Columns(8),8)
Print "<SCRIPT LANGUAGE=JavaScript>"
Print "location.href='http://localhost/cc.nsf/SearchDocuments2?OpenForm'"
Print "</SCRIPT>"
Else
Set viewSavedView = s.CurrentDatabase.GetView("MyBearings")
Set viewNew = db.CreateView("MySelectedView")
'viewNew.SelectionFormula = "SELECT FORM='form' & productgroup='" & doc.productgroup(0) & "'"
viewNew.SelectionFormula = "SELECT FORM='form' & productgroup='" & doc.productgroup(0) & "' & language=" & doc.language(0)
Call viewNew.RemoveColumn(viewNew.ColumnCount)
Set col = viewNew.CopyColumn(viewSavedView.Columns(1),1)
Set col = viewNew.CopyColumn(viewSavedView.Columns(2),2)
Set col = viewNew.CopyColumn(viewSavedView.Columns(3),3)
Set col = viewNew.CopyColumn(viewSavedView.Columns(4),4)
Set col = viewNew.CopyColumn(viewSavedView.Columns(5),5)
Set col = viewNew.CopyColumn(viewSavedView.Columns(6),6)
Set col = viewNew.CopyColumn(viewSavedView.Columns(7),7)
Set col = viewNew.CopyColumn(viewSavedView.Columns(8),8)
Print "<SCRIPT LANGUAGE=JavaScript>"
Print "location.href='http://localhost/cc.nsf/SearchDocuments2?OpenForm'"
Print "</SCRIPT>"
End If
End Sub
Gruss
Andreas
Marinero Atlántico:
Andreas,
das ist echt neu für mich. Deshalb danke.
Das sieht aber ziemlich Ressourcen belastend aus, v.a. wenn mehrere Leute drauf zugreifen.
Irgendwelche Erfahrungswerte bzgl. dem was man eigentlich nicht mehr mit dem Globalbegriff Performance belegen sollte, d.h. spezifisch: Wieviel Arbeitsspeicher zieht das?
Falls das auch in der Java-API gibt, finde ich vielleicht mal die Zeit, dass mal konkret durchzuanalysieren.
Gruß Axel
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln