Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: iworks am 17.10.08 - 16:37:47
-
Hallo zusammen,
eine Frage zum grundsätzlichen Vorgehen beim folgenden Zielscenario.
Ich habe eine Kunden DB wo wir Kundenaktivitäten (TelKontakt, Besuch usw.) protokollieren, der Aufbau sieht so aus dass wir für jeden Monat für alle besuchten Kunden das Protokoll führen und die die nicht besucht werden tauchen in der Ansicht "Historie" Monat Januar z.B. nicht auf. (Logisch)
Jetzt muss aber folgende Ergänzung erfolgen: über die View "Historie" sollen für alle nicht in der View auftauchenden Kunden trotzdem ein ProtokollDokument erstellt werden per Action z.B......das Dok. kann dann leer bleiben. Später in der View werden Dokumente ohne Protokollinhalt mit einem ErinnerungsIcon versehen....als Signal für "Keine Tätigkeit" in diesem Monat für Kunde X.
Meine Frage nun, wie kann ich dieses Vorhaben per LS angehen? Also ich weiß ich muss 2 Listen miteinander vergleichen, 1x die Liste mit allen Kunden und 1x die Liste mit den verfügbaren KundenprotokollDoks.....für den Rest gilt dann ProtkollDok erstellen.
Brauche kurze Anlaufhilfe!!
Danke schon mal
-
Naja Du hast es ja schon beschrieben.
Zuerst die Protokolldokumente durchlaufen und merken, z.B. Liste oder Array von UNIDS und dann die Liste der Hauptdokumente durchlaufen.
Ist doch ganz einfach, oder?
-
Mit hinreichenden LotusScript-Kenntnissen ist das kein grosser Akt.
Daher meine Fragen:
Wie fit bist Du in LS? In den letzten Postings von Dir war ja viel, was nach Copy&Paste aussah ...
Hast Du einen ansprechbaren Vornamen? Ich würde Dir ja selbst am Wochenende was aufmalen, aber wenigstens den Vornamen meines Diskussionspartners möchte ich dazu kennen.
Bernhard
-
hi nochmal...
also jo sehr gerne nehme ich deine hilfe an, Robert übrigens.
naja fit mit ls ist ein ziel...habe mir bisher immer mit der formel sprache die dbs bauen können, wir machen nichts wildes hier. die letzten postings waren keine copy&paste dinger, eher ein chaos der nicht aufgeräumt wurde. habe aber wirklich einiges nachzuholen was ls angeht, ich denke mit der zeit klappt das schon.
grüße..
-
....benötige hier etwas Hiilfe von euch Jungs..!! komme irgendwie nicht weiter, ich würde jetzt gerne in der angegebenen Ansicht nach dem Mitarbeiter suchen wenn nicht gefunden dann merken oder von ir aus als Print raus. wie mach ich am besten hier weiter...is der Ansatz grundsätzlich korrekt so??
Sub Click(Source As Button)
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Dim mitarbeiter As String
Set db = s.GetDatabase("Server01", "Internes\\Profile")
Set view = db.GetView("Stdansicht")
Set vc = view.GetAllEntriesByKey("")
mitarbeiter = "Schmitz"
Call vc.FTSearch (mitarbeiter, 0)
End Sub
-
Na da haste Du aber noch einen weiten weg vor Dir ;)
Der Ansatz ist falsche, baue Dir eine Ansicht nach Mitarbeiter (oder such Dir eine bestehende) und mach ein:
view.getDocumentByKey(mitarbeiter)
ftSearch liefert Dir alle Dokumente zurück, wo der Mitarbeiter auftaucht, z.B. auch als Bearbeiter usw., deshalb ungünstig und zudem auch langsam.
-
jo das habe ich...hehe!
hab in der zwischenzeit das hier gebastelt...
Sub Click(Source As Button)
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim ve As NotesViewEntry
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim sres As NotesSession
Dim dbres As NotesDatabase
Dim viewres As NotesView
Dim ma_item As NotesItem
Dim ma As String
Dim search As Long
Set db = s.CurrentDatabase
Set viewres = db.GetView ("Oktober")
Set db = s.GetDatabase("Server01", "Internes\\Profile")
Set view = db.GetView("Stdansicht")
Set doc = view.GetFirstDocument ()
While Not (doc Is Nothing)
Set ma_item = doc.GetFirstItem( "Name" )
ma = ma_item.Text
search = viewres.FTSearch (ma, 0)
If search = 1 Then
Print ma & search & "x" & " gefunden"
End If
Set doc = view.GetNextDocument(doc)
Wend
End Sub
-
und was wenn search > 1 ???
-
Set doc = view.GetFirstDocument ()
du kannst die Klammern weglassen
und warum machst du wieder die FTSearch? seihe Kommentar JBubbleboy
nimm doch
Set notesDocument = notesView.GetDocumentByKey( doc.name(0) [, exactMatch% ] )
und in der View dann die erste Spalte: "Name" sortiert
grüsse
Dau-in
-
und was wenn search > 1 ???
Danke für die Antworten soweit, also der Zustand > 1 wäre in dem Fall unwichtig......hier sollte nichts weiter geschehen.
Werd jetzt deinen Ansatz versuchen....scheint mir richtiger zu sein.
-
...also danke noch mal für die schnelle hilfe. habe jetzt alles mit Set notesDocument = notesView.GetDocumentByKey( ma , true ) hinbekommen!!
grüße