Autor Thema: Anzahl der zum Löschen markierten Dokumente ermitteln  (Gelesen 3296 mal)

Glombi

  • Gast
Ist es möglich herauszufinden, wie viele Dokumente in einer Datenbank aktuell zum Löschen markiert sind?

Hintergrund der Frage: Ich möchte, dass ein Anwender maximal 1 Dokument löschen kann, wenn er F9 drückt.
Im QueryDocumentDelete Event der Datenbank kann ich nur abfragen, wie viele Dokumente aktuell im Auswahlrand markiert sind, wenn man <Entf> klickt.
Dabei zählen aber nicht die bereits vorher zur Löschung markierten Dokumente. Auf diese Weise kann man also von Dokument zu Dokument hüpfen und bspw. alle Dokumente einzeln löschen.

In der Statusbar sagt Notes einem ja, wie viele Dokumente man zum Löschen markiert hat. Nur finde ich dazu keine Property in einer Scriptklasse. Da gilt sogar für Dokumente, die ein anderer gelöscht hat.

Danke für jeden Hinweis.
Andreas

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Anzahl der zum Löschen markierten Dokumente ermitteln
« Antwort #1 am: 16.10.14 - 11:20:54 »
Also im "PostDocumentDelete"- Event der Datenbank hast Du den Count in Source.Documents.

Problem: Das Event hat kein "Continue = False". Wenn man irgendwie die "Source.Documents" Property manipulieren könnte, dann könnte es vielleicht gehen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Anzahl der zum Löschen markierten Dokumente ermitteln
« Antwort #2 am: 20.10.14 - 10:53:17 »
PostDocumentDelete ist sicherlich zu spät. Nach dem Tod das Sterben zu verhindern erscheint mir recht schwierig.

Du könntest aber im QueryDocumentDelete ein Continue = False eintragen, dann kann kein Dokument zum Löschen markiert werden.

Das Löschen selbst erledigst Du dann über einen Agenten, dort hast Du alles in der Hand, Anzahl der zu löschenden Dokumente, den Inhalt der Dokumente vor dem Löschen usw.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Anzahl der zum Löschen markierten Dokumente ermitteln
« Antwort #3 am: 20.10.14 - 11:02:09 »
@Peter: Laut DOKU ist PostdocumentDelete zu spät, aber die Doku ist hier falsch. Denn: PostDocumentDelete wird mitnichten erst ausgeführt, wenn die Dokumente schon gelöscht wurden, sondern in diesem Event besteht noch voller Zugriff auf die Dokumente. Man könnte diese z.B. in eine andere Datenbank kopieren, und hätte alle Items noch... Aber nichtsdestotrotz ist natürlich der Ansatz der falsche, da zu spät. Im Endeffekt würde ich es auch wie IBM in der resrcX.ntf machen: Löschen per QueryDocumentDelete verbieten und nur über einen Button zulassen... Also so wie Du es auch vorschlägst.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Glombi

  • Gast
Re: Anzahl der zum Löschen markierten Dokumente ermitteln
« Antwort #4 am: 20.10.14 - 13:25:58 »
So werde ich es wohl machen müssen.

Ich hatte es auch mit einer $Trash Ansicht versucht, die nur gelöscht Dokumente anzeigt. Witzigerweise kann man aber nur dann auf Dokumente dort zugreifen, wenn der Debugger an ist....das war jedenfalls bei meinem Test so.

Mit dem QueryDocumentDelete lasse ich also nur das löschen/ausschneiden zu, falls nur ein Dokument markiert wurde. Andernfalls Continue = false.
Wenn dann also jemand nacheinander hunderttausend Dokument markiert und mit <Entf> löscht, soll er das halt mühsam machen.

Danke für Euren Input!
Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz