Autor Thema: Über Einfachklick auf ein Dokument Informationen zum Dok sofort anzeigen  (Gelesen 1926 mal)

Offline Greenthumb

  • Frischling
  • *
  • Beiträge: 17
  • Ich liebe dieses Forum!
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?

« Letzte Änderung: 23.10.03 - 12:17:26 von Greenthumb »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
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

Offline Greenthumb

  • Frischling
  • *
  • Beiträge: 17
  • Ich liebe dieses Forum!
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!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
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.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Greenthumb

  • Frischling
  • *
  • Beiträge: 17
  • Ich liebe dieses Forum!
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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Das ist allerdings eher merkwürdig, kenne die Fehlermeldung nicht, ist mir auch nicht klar, warum das so ist. Sorry
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz