Berechnetes Feld in Hauptdokument automatisch aktualisieren bei neuem Antwortdok.

  • Hallo,
    Ich möchte ein berechnetes Feld im Hauptdokument automatisch aktualisieren wenn ein neues Antwortdok. dazukommt. Das Feld beinhaltet die Formel:


    @Elements(@DbLookup("":"NoCache";"";"Ansicht1";id;2;[FailSilent]))


    Ziel: ich möchte in der Ansicht mit der anzahl der antwortdok. rechnen. (Zahl in Feld des Hauptdok. minus der Anzahl der Antworten)


    Wie kann ich das Hauptdok. aktualisieren beim Speichern der Antwort?
    Vielen Dank im voraus
    bobby

  • Per Script holen und dann per ComputeWithForm neuberechnen.


    Aber warum verwendest du nicht einfach die Formeln @DocChildren bzw @DocDescendants um die Zahlen live in der Ansicht und im Dokument zur Anzeige zu berechnen ?

  • mit @DocChildren bzw @DocDescendants kann man nicht rechnen, das ergebnis dieser formeln ist ja ein Wert den man nicht in eine Zahl umwandeln kann. Gibt es da vielleicht einen anderen Weg?

  • Hallo Bobby,


    brauchst du wirklich nur die Anzahl der Antwort-Dokumente im Hauptdokument, mit der du rechnen kannst?


    Wie oft ändert sich diese Anzahl?
    Ist die Datenbank auf mehreren Server repliziert?


    Wenn nicht sehr oft und es gibt keine Repliken, dann würde ich folgendes machen.


    1. Statt einem berechneten Feld mit DbLookup ein "berechnet beim Anlegen" Feld "XY" vom Typ Zahl mit dem Wert 0 erstellen.


    2. Nach dem Speichern von Antwort-Dokument einen Script (Beispiel s. unten) laufen lassen, der das Parentdoc zu diesem Antwort-doc sucht.


    3. Parentdoc.XY = Parentdoc.Responses.Count


    4. Parentdoc speichern


    Fertig!


    P.S. Nicht vergessen, die direkte Löschung von Dokumenten sollte man dann im Datenbankscript verbieten. Statt dessen einen Button "Löschen" anbieten, der einen Agent ausführt, der unter anderem auch den Parentdoc sucht und nach der Löschung vom Antwort-doc das Feld XY aktualisiert.


    Viel Erfolg!


  • Noch eine Ergänzung zu Lauras Post:


    Im Dokument würde dann nur die Anzahl der direkten Antworten stehen, Antworten auf Antworten wären damit nicht berücksichtigt.
    Dazu müsste man das ganze rekursiv durchgehen

  • Vielen Dank an Euch beide, ja ich habe nur eine Antwortebene und die Lösung von Laura funkt. prima.
    Noch eine Frage: Wie kann ich nun das manuelle Löschen den Usern verbieten (sind Autoren)
    lg
    Bobby