Autor Thema: Dokument mit eingebetteter Ansicht aktualisieren  (Gelesen 2986 mal)

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Dokument mit eingebetteter Ansicht aktualisieren
« am: 10.05.10 - 15:33:14 »
Hallo Forum,

ich brauch mal wieder eure Hilfe:

Ich habe das Dokument A, in dem ich eine eingebettete Ansicht B habe. Ich fülle Ansicht B per Dialogbox mit Dokumenten, diese beinhalten Eurowerte. Danach aktualisiere ich dann die Ansicht B und das Dokument A, da im Dokument A in einem berechneten Feld die Summe der Eurowerte berechnet wird.

Klappt einwandfrei, kann ich alles per Script aktualisieren und durchrechnen.


Nun hab ich aber das Problem, dass man bei geöffnetem Dokument A die eingebetteten Dokumente in Ansicht B ja auch per Doppelklick aufrufen und ändern kann. Ich schaffe es die eingebettete Ansicht zu aktualiseren, aber nicht, das Dokument A zu aktualisieren. Ich komm einfach nicht drauf, wie und wo ich mir dieses hole, bzw. wo ich die Aktualisierung dann anstoße.

Vielleicht denk ich mal wieder zu verquert ...?  :-:
Thomas von der IuK

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Dokument mit eingebetteter Ansicht aktualisieren
« Antwort #1 am: 10.05.10 - 15:38:53 »
Du kannst in der eingebetteten UI-View über workspace.currentDocument.document auf das aktuell geöffnete Dokument zugreifen.
Oder dir im geöffneten Unterdokument das übergeordnete Dokument per Lookup nach der Kategorie holen.

Allerdings gibt das immer schöne Nebeneffekte wenn man das Dokument im Hintergrund aktualisiert und speichert.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: Dokument mit eingebetteter Ansicht aktualisieren
« Antwort #2 am: 10.05.10 - 15:54:05 »
Hallo Roland,

den ersten Teil kapiere ich leider nicht so ganz ... kannst du das bitte noch mit 2-3 weiteren Sätzen erklären?

Teil 2 ist soweit klar, das bekomme ich auch hin.

Thomas
Thomas von der IuK

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Dokument mit eingebetteter Ansicht aktualisieren
« Antwort #3 am: 10.05.10 - 16:10:28 »
Wenn du eine Aktionsschaltfläche/Event IN der eingebetteten Ansicht hast, kannst du mit workspace.currentDocument auf das "um die Ansicht rum" liegende UI-Document und dessen Backend-Document zugreifen und da deine Summen ändern und einen UI-Save / Backend-Save ausführen.

wenn du in der embedded Ansicht ein anderes Dokument per Doppelklick öffnest, sollte
workspace.currentDocument im initialize der UI-Form des gerade angeklickten Dokuments auf das UI-Doc zeigen das deine Ansicht enthält und du aktualisieren willst. Dies könntest du dir im initialize merken (im QueryOpen ist es schon zu spät glaube ich) und dann im PostSave mit aktualisieren.
Aber vorsicht: Das UI-Dok kann inzwischen wer geschlossen haben. Entsprechende Prüfungen einbauen.
Ggf. musst du dir das Dok dann nochmal direkt aus der DB holen.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: Dokument mit eingebetteter Ansicht aktualisieren
« Antwort #4 am: 10.05.10 - 16:20:42 »
Danke für die weiteren Ergänzungen, das probiere ich gleich mal aus.

 :knuddel:
Thomas von der IuK

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: Dokument mit eingebetteter Ansicht aktualisieren
« Antwort #5 am: 11.05.10 - 11:16:02 »
Jetzt bin ichs doch nochmal ...

wie meinst du das, dass ich mir das Dokument im initialize 'merken' soll? Mir fällt nur eine Lösung über die notes.ini ein, aber das scheint mir nicht unbedingt die beste zu sein.

Gibt es sonst noch eine Lösung, wie ich das Dokument vom initialize ins PostSave übergebe? Bin leider im Script noch nicht so firm. Meine bisherigen Versuche erstellen nur immer ein zweites, identisches Dokument A, aber im Original tut sich nix  :P
Thomas von der IuK

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Dokument mit eingebetteter Ansicht aktualisieren
« Antwort #6 am: 11.05.10 - 12:01:53 »
Ich hab mir das so gedacht:
In der Form folgendes machen:

globals:

Dim parentUIdoc as NotesUIDocument
Dim parentUNID as String

sub initialize
 dim ws as new NotesUIWorkspace
 set parentUIdoc = ws.currentDocument
 parentUNID = ws.currentDocument.universalID
end sub

sub postSave(...)
 if parentUIDoc is nothing then 
   ... jemand hat das UIDoc geschlossen-> Sonderbehandlung: Dokument holen und im Backend speichern
   set doc = db.getDocumentByUNID(parentUNID)
   doc.summe=calcSum()
   calld doc.save(false, false)
 else
   parentUIdoc.document.summe=calcSum()
   parentUIdoc.save()
 end if
end sub



Das alles ist aber UNGETESTET!

Gruß
Roland


 
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: Dokument mit eingebetteter Ansicht aktualisieren
« Antwort #7 am: 11.05.10 - 13:54:53 »
Hallo Roland,

vielen Dank, jetzt hat's geklappt. Das mit den globalen Variablen war mir nicht geläufig, bin halt doch noch immer ein Script-Dummie  ;) Das wird mir auch in anderen Codes helfen.

 ^-^

Thomas von der IuK

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz