Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Greenthumb am 23.10.03 - 12:08:53

Titel: Über Einfachklick auf ein Dokument Informationen zum Dok sofort anzeigen
Beitrag von: Greenthumb am 23.10.03 - 12:08:53
Hallo,

Beschreibung:
Wir haben eine Kundendatenbank, in der die Geschäftvorfälle (Chance, Angebot...) zu den Kunden angelegt werden. Da hinter einem Geschäftvorfall viele Informationen stecken, die schnell beschafft werden müssen, habe ich mir einen Raster(Tabelle, Karteikarte) überlegt. Er soll die relevanten Informationen zu jedem Dokument anzeigen, wenn man auf entsprech. Dok einfach klickt. Der Raster befindet sich auf dem gleichen Bildschirm wie die Ansicht mit Geschäftvorfällen. Oben Ansicht, unter Raster.
Die Informationen im Raster werden hier in eingebetteten Ansichten gezeigt und kommen aus verschiedenen Datenbanken.

Lösung bis jetzt:
Es wurde ein Agent geschrieben, der bei markiertem Dokument in der Ansicht und bei Betätigung der Schaltfläche "Alle Daten anzeigen" aktiviert wird und die Daten unten im Raster für das markierte Dokument anzeigt.

Problem dabei:
1. Wenn man Informationen zum neuen Geschäftsvorfall(Dokument) braucht, muss man immer die Schaltfläche betätigen um diesen Agenten auszuführen.
2. Dabei werden immer neue Dokumente erstellt. Innerhalb von zwei Wochen wurden 680 erstellt(nur im Testbetrieb)!!!!

Agent:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Set db = session.CurrentDatabase
Dim collection As NotesDocumentCollection
Set collection = db.UnprocessedDocuments

Dim coldoc As NotesDocument
Set coldoc = collection.GetFirstDocument


' Daten lesen
coldocid = coldoc.UniversalID
firma = coldoc.GetItemValue("firma")(0)
salesnum = coldoc.GetItemValue("salesnum")(0)


'Neues Dokument erstellen
Set doc = db.CreateDocument
doc.Form = "Karteikarte"
doc.salesdocid = coldocid
doc.salesnum = salesnum
doc.firma = firma
Call doc.Save(True, False)

' Document anzeigen
Call ws.SetTargetFrame( "summarize" )
Set notpesUIDocument = ws.EditDocument( True , doc)
End Sub

Kennt ihr eine bessere Lösung, wobei keine neuen Dokus erstellt werden und bei Einfachklick auf ein Dok die Daten gezeigt werden?

Titel: Re:Über Einfachklick auf ein Dokument Informationen zum Dok sofort anzeigen
Beitrag von: koehlerbv am 23.10.03 - 12:23:46
Warum speicherst Du Dein Backend-Doc denn überhaupt ? Du mußt dann allerdings auch EditDocument so verwenden, daß es nur zum Lesen geöffnet wird, damit der User nicht noch selbst Hand anlegen kann (....False, doc, False)

HTH,
Bernhard
Titel: Re:Über Einfachklick auf ein Dokument Informationen zum Dok sofort anzeigen
Beitrag von: Greenthumb am 28.10.03 - 15:31:38
Hallo,
Danke für deine Antwort, aber wenn ich des Dokument nicht speichern will, bekomme ich eine Fehlermeldung. Kannst du mir sagen, wie ich mein LS verändern soll, damit die Informationen gezeigt aber nicht gespeichert werden. Ich habe schon versucht die Zeilen:
'Neues Dokument erstellen   
   'Set doc = db.CreateDocument
   'doc.Form = "Karteikarte"
   'doc.salesdocid = coldocid
   'doc.salesnum = salesnum
   'doc.firma = firma
   'Call doc.Save(True, False)
   
' Document anzeigen   
   'Call ws.SetTargetFrame( "summarize" )
   'Set notpesUIDocument = ws.EditDocument( False , doc, False)

mit diesen zu ersetzen:
Call ws.SetTargetFrame( "summarize" )
   Set notpesUIDocument = ws.ComposeDocument( "", "", "Karteikarte")
   Call notpesUIDocument.fieldsettext("salesdocid", coldocid)
   Call notpesUIDocument.fieldsettext("salesnum", salesnum)
   Call notpesUIDocument.fieldsettext("firma", firma)
   Call notpesUIDocument.fieldsettext("SaveOptions", "0")

Jetzt speichert Notes keine Docs aber zeigt nur leere Tabelle (Karteikarte) ohne Informationen.

Vielen Dank!
Titel: Re:Über Einfachklick auf ein Dokument Informationen zum Dok sofort anzeigen
Beitrag von: Semeaphoros am 28.10.03 - 15:49:33
Du brauchst gar nicht so viel zu ändern, machst das genauso wie Du es vorher gemacht hast, als es funktionierte, und lässt die Zeile Call Doc.Save(....) einfach aus. Und ansonsten, wie Bernhard schon gesagt hat, den EditDocument so aufrufen, dass es als ReadOnly geöffnet wird.
Titel: Re:Über Einfachklick auf ein Dokument Informationen zum Dok sofort anzeigen
Beitrag von: Greenthumb am 29.10.03 - 12:29:21
Hallo,
wenn ich die Zeile: Col doc.Save(...) aber lösche, bekomme ich dann die Fehlermeldung: Unable to find document window.  :-[
Edit.Document habe ich auf ws.edit.Document (false, doc, false) geändert.
Könnt ihr mir bitte weiter helfen?
Nochmals vielen Dank
Titel: Re:Über Einfachklick auf ein Dokument Informationen zum Dok sofort anzeigen
Beitrag von: Semeaphoros am 29.10.03 - 18:27:18
Das ist allerdings eher merkwürdig, kenne die Fehlermeldung nicht, ist mir auch nicht klar, warum das so ist. Sorry