Autor Thema: Löschen mit ENTF unterbinden  (Gelesen 8990 mal)

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Ich krieg die Krise
« Antwort #20 am: 06.03.07 - 15:22:08 »
Also so langsam zweifel ich wirklich an mir. Ich habe den Code  nun so abgeändert, weil ich ja auf die Sache mit dem "x" verzichten kann und im Backend die markierten Dokumente lösche:

        Dim session As New NotesSession
   Dim db As Notesdatabase
   Dim collMarked As NotesDocumentCollection
   Dim docToChange As NotesDocument
   Dim docTemp As NotesDocument
   Set db=session.CurrentDatabase
   
   Set collMarked = db.UnprocessedDocuments
   Set docToChange = collMarked.GetFirstDocument
   
   While Not (docToChange Is Nothing)
      Set docTemp = collMarked.GetNextDocument (docToChange)
      Call docToChange.Remove( True)
      Set docToChange = docTemp
   Wend


Ich markiere in meiner Ansicht die zu löschenden Dokumente - klicke auf den Aktionsknopf mit dem obigen Agenten - Die Dokumente werden gelöscht. Juchhei.

Aber :

Das funktioniert ein, zwei mal, dann plötzlich nicht mehr. Was mir aufgefallen ist: Ich habe ein Dokument in der DB einfach mit STRG-C und STRG-V mehrmals kopiert um das Löschen zu testen. Nachdem ich den Löschagenten habe laufen lassen, wollte ich mit STRG wieder das letzte, übrige Dokument kopieren, doch dann kam eine Meldung, dass dieses schon gelöscht wäre. Wenn ich aus der Ansicht raus und wieder rein gehe, dann klappts wieder. Wenn die Fehlermeldung kommt, kann ich  noch kurz erkennen dass im Hintergrund eine Meldung aufgeht, in der angemeckert wird, dass xy Dokumente in die Zwischenablage kopiert werden müssen.

Ich hab mir gedacht, vielleicht muss man einfach die Ansicht aktualisieren, aber daran scheint es nicht zu liegen.

Ich bin so langsam am Ende ... kann das denn sooo schwer sein mit dem Script?
 :-[
Thomas von der IuK

Offline Fedaykin

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • Geschlecht: Männlich
  • Ya Hya Chouhada!
Re: Löschen mit ENTF unterbinden
« Antwort #21 am: 06.03.07 - 17:00:51 »
Hi

Hilft Dir zwar nicht gross weiter, aber konnte in der Test-DB die ich gemacht habe keinen Fehler feststellen. Klappt vorzüglich. Sogar die etwas waghalsigen Aktionen mit gelöschten Dokumente einfügen aus Zwischenablage. Verwende übrigens (7.02) also vielleicht sollte mal jemand mit alter Version versuchen ob Dein Problem reproduzierbar ist.

Gruss
Remo
Ich sage Euch: "Man muss noch Chaos in sich haben, um einen tanzenden Stern gebären zu können."

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: Löschen mit ENTF unterbinden
« Antwort #22 am: 07.03.07 - 15:29:25 »
Tja, ich  hab nun nochmal ein wenig rumprobiert. Was mir aufgefallen ist, dass die Dokumente nach dem Löschen mal automatisch aus der Ansicht verschwanden, dann mal wieder drinblieben und erst nach F9 verschwanden. Das habe ich nun mit einem Viewrefresh in den Griff bekommen.

Was mich aber immer noch stört ist die Tatsache, dass nach dem Löschen der Dokumente das Kopieren eines vorhandenen Dokuments in der gleichen Ansicht mit der Bemerkung "Das Dokument wurde gelöscht" quittiert wird. Erst wenn ich  aus der Ansicht rausgehe und wieder reingehe funktioniert das wieder.

Nun gut, es kommt wahrscheinlich nicht oft vor, dass jemand nach dem Löschen dann noch ein Dokument kopiert, aber irgendwie sagt mir mein Laienhafter Scriptverstand, dass da wohl  irgendwie noch was fehlt. Muss nach dem Code noch irgendwie ein abschliessender Befehl kommen, oder was soll diese Reaktion?

Ich habs jetzt halt mal mit einem Viewrebuild behoben, bin mir aber nicht sicher ob das die "richtige" elegante Lösung ist.

Was meinen die Profis?
Thomas von der IuK

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Löschen mit ENTF unterbinden
« Antwort #23 am: 07.03.07 - 15:35:51 »
Deinem Code fehlt da nichts mehr. Ansichtsindexinformationen werden gecached. Und dann kommst Du mit einem Dokument, dass ja eine UNID wie eines der gerade gelöschten Dokumente hat ... Da ist das Notes beleidigt und denkst, Du willst es verklapsen.

Bernhard

PS: In der Praxis wird sowas ja eher seltener vorkommen  ;D

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: Löschen mit ENTF unterbinden
« Antwort #24 am: 07.03.07 - 15:54:56 »
Bist du sicher dass ein kopiertes Dokument die gleiche UNID hat?
Wenn es sich um die ID handelt, die man in den Dokumenteigenschaften beim Propellerhütchen ablesen kann, dann ist die aber bei jedem Dokument eine andere, auch bei den kopierten. Und das o.g. Verhalten kommt auch beim Löschen von nicht kopierten Dokumenten. Mit dem Viewrebuild ist es aber unterbunden.
Thomas von der IuK

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Löschen mit ENTF unterbinden
« Antwort #25 am: 07.03.07 - 16:10:55 »
War Dummfug, was ich geschrieben habe. Das Dokument bekommt eine neue UNID. Mea culpa.

Bernhard
« Letzte Änderung: 07.03.07 - 16:36:57 von koehlerbv »

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: Löschen mit ENTF unterbinden
« Antwort #26 am: 07.03.07 - 16:33:37 »
Passt schon, das muntert mich auf wenn ich auch mal was weiss
 :)

Aber ich kanns mir einfach nicht verkneifen zu deiner vorhergehenden Antwort ...

Zitat
Mit der Einstellung wirst Du irgendwann furchtbar auf die Nase fallen. Merke: Was schiefgehen kann, geht auch schief. Irgendwann ...

 :knuddel:
Thomas von der IuK

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz