Domino 9 und frühere Versionen > ND6: Entwicklung

Dokumente im Web selektieren

<< < (2/2)

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