Domino 9 und frühere Versionen > ND8: Entwicklung

Aktualisierung von Werten im Parent Document

(1/4) > >>

buzi:
Hallo zusammen,

wer kann mir helfen die Lösung für mein folgendes Problemchen zu finden???

Es gibt in meiner DB Dokumente vom Typ A. Zu jedem A gibt es mehrere Antwortdokumente namens B. In A möchte ich berechnete Anteile aus den B-Dokumenten anzeigen. Mein Algorithmus ist:

FORALL (B)
  A.Feld1 += B.Feld1

Ich gehe so vor, dass ich beim Speichern eines Dokuments B das Parent-Doc A suche und darin alle Antwort-Dokumente durchlaufe.

Problem: Die Felder in Dokument A werden nicht aktualisiert.

Hier die relevanten Code-Teile:

   Dim produktDocID As String
   Dim produktDoc As NotesDocument
        Dim zutatDoc As NotesUIDocument 'ist Parameter aus der Querysave-Methode

   produktDocID = zutatDoc.Document.Parentdocumentunid
   Set produktDoc = session.Currentdatabase.GetdocumentbyUnid(produktDocID)

   Set responseDoc = produktDoc.Responses.GetFirstDocument()
      
   For i=0 To produktDoc.Responses.Count-1
      Call produktDoc.ReplaceItemValue("anteilGK", anteilGK+anteilZutat)
      Set responseDoc = produktDoc.Responses.GetNextDocument(responseDoc)
   Next

Mir ist klar, dass es sich um eine teilweise Vermengung von Front- und Backend-Funktionalität handelt. Allerdings benutze ich das Frontend nur lesend und arbeite auf den Feldern (bzw. Items) dann im Backend.

Danke für eure Gedanken!!

ascabg:
Hallo,

Nur mal so ganz einfach gefragt.

Speicherst Du auch irgendwann das produktDoc? (ich nehme aus Deinen Code-Schnipseln heraus an, dass es sich hierbei um das Haupt-Dokument handelt)


Andreas

Axel:
Mal so ne Idee auf die Schnelle.

Das mit dem Ermittlen und Durchlaufen der Antwortdokumente ist soweit schon richtig. Ich würde aber die Werte aus den Antwortdoks in einer Variable aufsummieren und erst wenn alle Antwortdoks durchlaufen sind den Wert dann ins entsprechende Feld im Hauptdokument übernehmen.

... und dsann natürlich das Speichern nicht vergessen.

Axel

Peter Klett:

--- Zitat von: Axel am 05.06.13 - 11:54:03 ---... Ich würde aber die Werte aus den Antwortdoks in einer Variable aufsummieren und erst wenn alle Antwortdoks durchlaufen sind den Wert dann ins entsprechende Feld im Hauptdokument übernehmen...
--- Ende Zitat ---
Genau, und natürlich nur dann, wenn sich der Wert der Variablen vom Wert im Hauptdokument unterscheidet.

Stichwort: Unnötiges Speichern vermeiden

buzi:

...Oh nein!!! Tatsächlich war es nur der fehlende Save-Befehl.
 :o :o :o

Und, klar - die Summierung macht Sinn! Danke für den Tip

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln