Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Silver am 26.10.05 - 11:24:46

Titel: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: Silver am 26.10.05 - 11:24:46
Hallo!

Ich habe eine Ansicht, in der mir alle Mitarbeiter eines Unternehmens angezeigt werden. Das Mitarbeiterdokument ist zugleich auch das Hauptdokument auf das verschiedene Antworten bestehen können. Nun habe ich eine Schalftläche in der Ansicht, über der ich den Mitarbeiter löschen kann. Das mach ich über ein Feld "Status" auf Wert "2" (augeschieden).
Nun will ich aber noch eine Prüfung vorab machen, ob auch kein Antwortdokument mehr besteht, dass im Status "offen" ist, denn dann soll eine Meldung kommen, dass erst noch das ausstehende Dok. "geschlossen" werden soll.
Kann ich das vorher noch abprüfen? Irgendwie mit ResponseDoc o. ä.?  ???
Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: koehlerbv am 26.10.05 - 11:35:32
Formel oder Script ?

Bernhard
Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: Axel am 26.10.05 - 11:36:02
Dazu brauchst du die Eigenschaft Responses. Die liefert dir eine Collection mit allen Antworten zu dem entsprechenden Dokument. Die musst du dann durchlaufen und das Statusfeld prüfen.

Axel

Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: Silver am 26.10.05 - 11:38:54
Bitte am besten kein script sondern Formel! Iss das machba?  :-\
Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: Gandhi am 26.10.05 - 11:40:10
Durchlaufen muss er die eigentlich nicht - wenn collection.count>0 ist ist seine Abbruchbedingung erfüllt.

Eleganter und Komfortabler für den User wäre allerdings im Querydocumentdelete der Datenbank die Antwortdokumente (nach Rückfrage oder auch nicht) gleich mitzulöschen.

mit Formula: @Responses abfragen (returniert die Anzahl der Antworten).
Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: Gandhi am 26.10.05 - 11:40:50
Ach ja: Formula aber bitte kein Script hat was von 'Wasch mich aber mach mich nicht nass'...
Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: Silver am 26.10.05 - 11:59:07
Sorry... bin noch en ziemlich Anfänger.
Ab mit @Responses komm ich auch nicht weiter. Habe in meiner Ansicht nicht nur Antwortdokumente, die "offen" sind, sondern auch schon geschlossene - und @Responses liefert mir da nur die Gesamtzahl der Antwortdokumente.
Muss hier irgendwie noch ne Abfrage des jeweiliegen Status reinbekommen. Wenn einmal noch "offen", dann Löschen erstmal nicht möglich, bis das Antwortdok. geschl. wurde.
 :-[
Noch eine Idee?
Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: Axel am 26.10.05 - 12:02:18
Durchlaufen muss er die eigentlich nicht - wenn collection.count>0 ist ist seine Abbruchbedingung erfüllt.

Eigentlich aber doch, das ja das Löschen vom Status der Antworten abhängig ist.


Axel
 
Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: Axel am 26.10.05 - 12:06:16
Sorry... bin noch en ziemlich Anfänger.
Ab mit @Responses komm ich auch nicht weiter. Habe in meiner Ansicht nicht nur Antwortdokumente, die "offen" sind, sondern auch schon geschlossene - und @Responses liefert mir da nur die Gesamtzahl der Antwortdokumente.

Lies mal die Designer-Hilfe zu @Responses. Da steht, dass diese Funktion nur innerhalb einer Ansichtenspalte verwendet werden kann.

Eine saubere Lösung bekommst du m.E. nur mit Script hin.


Axel
Titel: Re: Hauptdokument nur unter best. Bedingung löschen!
Beitrag von: koehlerbv am 26.10.05 - 12:11:26
Man bräuchte eine Ansicht, die nur alle in Frage kommenden Responses anzeigt
In der ersten Spalte (sortiert) steht die UNID des ParentDocs (@text ($Ref)), in Spalte 2 der jeweilige Status.

Nun kann man mit @Text (@DocumentUniqueID) ein @dbLookup auf diese Ansicht durchführen und sich die Spalte 2 zurückgeben lassen.
Ist das Ergebnis @Error - keine Responses. Wenn es doch Responses gibt, kann man das @dbLookup-Ergebnis mit @IsMember auf den nicht zulässigen Status prüfen.

Bernhard