Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: just.do.it am 30.10.07 - 10:44:52

Titel: Antwortdokument per Script zum Löschen markieren
Beitrag von: just.do.it am 30.10.07 - 10:44:52
Hallo zusammen,

ich habe folgende Fragestellen.

Ich möchte erreichen, daß wenn ein Anwender in einer Ansicht ein Dokumenbt zum Löschen markiert (Entf.-Taste) alle evtl. vorhandenen Antwortdokumente auch markiert werden.

Mein Ansatz war nun ein wenig Code im Querydocumentdelete-Event. Soweit so gut. Das Script prüft über die Responses-Eigenschaft, ob es Antworten gibt und fragt beim Anwender nach, ob er tatsächlich löschen will.

Nun möchte ich aber irgendwie die Antworten zum Löschen markieren, wenn der Anwender mit "Ja" antwortet. Ich habe weder in der Noteshilfe noch hier im Forum eine funktionieren Lösung gefunden.

Ich bin zwar über einen alten Thread gestolpert, der mit einem Feld "ispDeletionFlag" gearbeitet hat. Das sagt mir nichts und hat bei mir auch nicht funktioniert. (http://atnotes.de/index.php?topic=14693.0)

Hat jemand einen heißen Tip für mich?

Gruß
dirk
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: koehlerbv am 30.10.07 - 10:50:07
ispDeletionFlag bezieht sich auf (irgend)eine spezielle Datenbank und nützt hier nichts.

Ich sehe keine Chance, dass Du Dokumente zum Löschen markieren kannst. Aber wozu auch: Warum löschst Du die Responses nicht gleich selbst im QueryDocumentDelete, wenn der User die Abfrage mit "Ja" beantwortet?

Bernhard
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: just.do.it am 30.10.07 - 10:57:56
Ah, ok. Das macht dann bei mir keinen Sinn.

Ich wollte die Dokumente nicht direkt löschen, da ja auch der Parent der Antwortdokumente erstmal nur zum Löschen markiert wird. Damit wäre das Verhalten der Anwendung konsistenter.

Die Markierung kann ja wieder aufgehoben werden. Das macht aber dann keinen Sinn mehr, wenn die Antworten bereits gelöscht sind.

Gruß
Dirk
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: Andrew Harder am 30.10.07 - 11:39:05
Welches Feld setzt Du denn, damit das Parentdokument als gelöscht angesehen wird?
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: just.do.it am 30.10.07 - 12:25:53
Welches Feld setzt Du denn, damit das Parentdokument als gelöscht angesehen wird?


Gar keins. Der Anwender wählt ein Dokument in der Ansicht und drückt dann die Entf.-Taste.

Gruß
Dirk
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: Axel am 30.10.07 - 12:34:09
Dann pack doch den Code zum Löschen der Antwortdokumente in das PostDocumentDelete-Event des Datenbank-Scriptes. Damit werden zwar die Antwortdokumente zwar nicht markiert, aber erst dann gelöscht, wenn der User die Ansicht aktualisiert.


Axel
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: koehlerbv am 30.10.07 - 12:43:25
Das kann aber unübersichtlich werden, wenn mehrere Dokumente zum Löschen markiert sind, Axel.
Ich plädiere weiterhin für QueryDocumentDelete  ;) Und ich weiss nach wie vor keine Methode, die Dokumente zum Löschen markiert ...

Bernhard
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: just.do.it am 30.10.07 - 12:56:51
Hallo zusammen,

ich habe jetzt zumindest einen Workaround:

Code
		Set uidoc = ws.EditDocument(False, CurrentDoc)
		Call uidoc.DeleteDocument
      
Es gibt wohl diese DeleteDocument-Methode in der NotesUIDocument-Klasse. Das hat allerdings den Nachteil, daß sich für jedes Dokument einmal ein Fenster öffnet und gleich wieder schließt.

Aber es funktioniert scheinbar.

Edit: Zumindest beim Löschen geht es. Für's Undelete gibt es scheinbar rein gar nichts.  ::) Immer diese halbherzig implementierten Klassen.  :-\

Gruß
Dirk
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: flaite am 30.10.07 - 13:14:04
Dann pack doch den Code zum Löschen der Antwortdokumente in das PostDocumentDelete-Event des Datenbank-Scriptes. Damit werden zwar die Antwortdokumente zwar nicht markiert, aber erst dann gelöscht, wenn der User die Ansicht aktualisiert.
So mach ich das auch immer.
Das Problem bei dem QueryDocumentDelete seh ich in diesem Fall auch darin, dass  eventuell Antwortdokumente gelöscht werden, obwohl der Anwender das parent-Doc letztlich nicht gelöscht hat.
Eine Alternative wäre auch ein zeitgesteuerter Agent, der per  FTSearch die Dokumente mit der  Maske der Antwortdokumente sucht und die löscht, für  die es kein parentDoc  mehr gibt. Dann werden zwar die Antwortdoks möglicherweise ein bischen nach dem Hauptdokument gelöscht. Das schadet aber meist nicht.
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: koehlerbv am 30.10.07 - 13:39:54
Axel, ich hätte im QueryDocumentDelete natürlich auch gleich das Main Document mit gelöscht.
Aber Dirk hat ja nun einen für ihn praktikablen Weg gefunden.

Bernhard
Titel: Re: Antwortdokument per Script zum Löschen markieren
Beitrag von: just.do.it am 30.10.07 - 15:44:59
Hallo zusammen,

danke für den Input. Ich werde mir die Vor- und Nachteile nochmal durch den Kopf gehen lassen. Insbesondere ist es mit meiner oben skizierten Lösung noch möglich bei Antwortdokumenten die Markierung zum Löschen wieder aufzuheben bevor man dann F9 drückt. Es können also doch Leichen entstehen.

Ich werde wohl zur Sicherheit noch ein bißchen Code im PostDocumentDelete-Event hinterlegen, der evtl. vorhandene Antwortdokumente noch mitlöscht.

Gruß
Dirk