Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: feel_x am 11.04.03 - 13:01:28
-
ich brauche eine Formel, die beim abspeichern eises Antwortdokumentes das dazugehörige Hauptdokument öffnet, aktualisiert und wieder schließt.
Wer hat einen Tipp für mich?
;)
-
in dem $Ref Feld eines Antwort-dokumentes befindet sich die DocID des 'Mutter'dokumentes...
also per getdocumentbykey sich das doc holen, und wie du sagtest oeffnen, speichern und schliessen...
gruss
-
... wenn es nur einzelne felder sind, dann kann man das auch mit @SetDocField...
ata
-
... wenn es nur einzelne felder sind, dann kann man das auch mit @SetDocField...
ata
ich finde einfach die richtige Kombination aus den Funktionen nicht:
zwischen den Funktionen "speichern" und "schließen" eines Buttons nutze ich im Moment die Formel:
@SetDocField($Ref; "FreiePlaetze";
@If(@IsError(@DbLookup("":"NoCache";"":"";"(Seminartitel-liste)";Seminartitel;1));0;
@Elements(@Text(@DbLookup("":"NoCache";"":"";"(Seminartitel-liste)";Seminartitel;1)))))
Das heißt, die Formel soll nach dem Speichern und vor dem Schließen des neuen Dokumentes in dessen Hauptdokument in das Feld "Freie Plätze" die Anzahl der Dokumente schreiben, die mit dem Seminartitel des aktuellen Dokumentes übereinstimmen.
die Formel selber funktioniert. (ohne das setdocfield)
???
ich muss echt mal richtig Notes lernen :)
Schönes Wochenende!
-
... nimm noch einen @Text um $REF... vielleicht klappt es dann...
ata :-\
-
Danke, klappt schon so halb:
als Aktion im "Dokument schließen" funktionierts nicht,
aber ich hab die Formel jetzt in einen manuellen Agenten zum testen gebaut.
Jetzt funktionierts bis auf ein Fehlerchen:
Wenn es Null Antwortdokumente gibt, wird "1" ausgegeben,
bei einem Antwortdokument wird auch "1" ausgegeben,
ab zwei Antwortdokumenten ist die Zahl immer korrekt.
ist das ein Bug oder ein Feature?
:)
Die Ansicht "Seminartitelliste" zeigt nur Antwortdokumente an.
@SetDocField((@Text ($Ref)); "FreiePlaetze";
@If(@IsError(@Text(@DbLookup("":"NoCache";"":"";"Seminartitelliste";Seminartitel;1)));0;
@Elements(@Text(@DbLookup("":"NoCache";"":"";"Seminartitelliste";Seminartitel;1)))))
oder gäbe es eine andere Lösung, die ich besser verwenden sollte?
felix
-
... überprüfe mal, ob du überhaupt mehrere Werte bekommst, isoliere mal die @DBLookup...
ata
-
Ja, ist kein Problem.
Bei einem einzelnen Feld mit "Mehrfachwerte anzeigen" bekomme ich die Dokumente angezeigt bei dieser Formel:
@DbLookup("":"NoCache";"":"";"Seminartitelliste";Seminartitel;1)
bzw. @Elements(@Text(@DbLookup("":"NoCache";"":"";"Seminartitelliste";Seminartitel;1)))
bei Null Dokumenten gibts dann bei beiden einen Error.
Ist ja OK.
Jetzt bau ich die Formel zusammen:
@If(@IsError(@DbLookup("":"NoCache";"":"";"Seminartitelliste";Seminartitel;1)));0;
@Elements(@Text(@DbLookup("":"NoCache";"":"";"Seminartitelliste";Seminartitel;1)))
und es kommt bei Null Dokumenten immer "1" raus.
Da ist doch irgendwo der Wurm drin.
;)
-
... das muß ich mir nochmal in Ruhe reinziehen und deine Formel etwas strukturieren - so sieht man auf die schnelle den Wald vor Bäumen nicht...
ata