Autor Thema: Inbox Recover  (Gelesen 5362 mal)

Offline meichhorner

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 616
  • Geschlecht: Männlich
    • Webseite von Martin Eichhorner
Inbox Recover
« am: 17.10.03 - 10:53:56 »
Hallo,

einige von euch hatten ja schon mal Probleme das nach irgendwelchen Aktionen die Inbox leer war und diese Dokumente nun nur noch in der Ansicht Alle Dokumente vorhanden waren.

Hier ein Script das Abhilfe schaffen sollte (habe es selber noch nicht ausprobiert) ;)

Code
Sub Click (Source As Button)

'**********************************************************************
' This script builds an array of documents that are included in a 
'folder. It then compares each document in the All Documents view to 
'each document in the array. If it finds one, it breaks out and 
'continues onto the next document. If it reaches the end of the array,
'then it hasn't found a match and the document is moved to the Inbox 
'folder.
'**********************************************************************

Dim s As New notessession
Dim db As notesdatabase
Dim fDoc As NotesDocument ' Document in folder
Dim ad As notesview ' All Documents view
Dim aDoc As notesdocument ' document in All Docs view
Dim fUNID() As String ' array of UNID's of docs in folders
Dim i As Integer ' UNID array index
Dim deldate As notesitem
Dim Chair1 As notesitem

i =0
Set db = s.CurrentDatabase

' Build UNID array by looping through folders, then their documents
Forall view In db.views
     If view.IsFolder And Not view.Name=("($All)") Then
           Set fDoc = view.GetFirstDocument
           While Not fDoc Is Nothing
                 Redim Preserve fUNID(i)
                 fUNID(i) = fDoc.UniversalID
                 i=i+1
                 Set fDoc = view.GetNextDocument(fDoc)
           Wend
     End If
End Forall

' Loop through docs in the All Documents view and compare UNIDs to each 
doc
in the array
Set ad = db.GetView("($All)")
Set aDoc = ad.GetFirstDocument
While Not aDoc Is Nothing
     i = 0
     Do While i <= Ubound(fUNID)
           If fUNID(i) = aDoc.UniversalID Then
                 Exit Do
           End If
           i = i + 1
     Loop
     Set deldate = adoc.getfirstitem("delivereddate")
     Set Chair1 = adoc.getfirstitem("CHAIR")
     If i > Ubound(fUNID) And Not deldate Is Nothing And Chair1 Is
Nothing Then
           Call adoc.PutInFolder( "($Inbox)")

      End If
     Set aDoc = ad.GetNextDocument(adoc)
Wend
End Sub

« Letzte Änderung: 17.10.03 - 10:56:11 von meichhorner »
Martin Eichhorner
Schulungen zu Lotus Notes Domino 5 & 6 z.B. Westösterreich(A), Ostschweiz(CH), Bodenseeraum(D)
Tip´s, Trick´s, Tools und eine große Linksammlung findest du unter
http://www.eimsolution.net

Glombi

  • Gast
Re:Inbox Recover
« Antwort #1 am: 17.10.03 - 11:29:35 »
Von der Logik sieht es ok aus. Wegen der Performance: Das würde ich dann mal vor dem Mittagessen anstoßen und ein 5-Gang-Menü einnehmen.

Danke für das Script - könnte mal ganz nützlich sein.

Andreas
« Letzte Änderung: 17.10.03 - 11:30:00 von Glombi »

Offline meichhorner

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 616
  • Geschlecht: Männlich
    • Webseite von Martin Eichhorner
Re:Inbox Recover
« Antwort #2 am: 17.10.03 - 11:49:12 »
So, hab es jetzt gerade mal getestet ;D

MailDB - 300 MB
Dokumente gesamt 555 davon in der Inbox 105

Script-Laufzeit : ca. 5 Minuten



Martin Eichhorner
Schulungen zu Lotus Notes Domino 5 & 6 z.B. Westösterreich(A), Ostschweiz(CH), Bodenseeraum(D)
Tip´s, Trick´s, Tools und eine große Linksammlung findest du unter
http://www.eimsolution.net

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Inbox Recover
« Antwort #3 am: 17.10.03 - 11:55:20 »
... abgesehen davon, das ist ja schliesslich ein Flickwerkzeug, ist doch egal, wenn das Ding ein 5GangMenu braucht, lieber das als ein 5-Gang-Auto, das lässt sich nicht aufessen :-)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Glombi

  • Gast
Re:Inbox Recover
« Antwort #4 am: 17.10.03 - 15:30:23 »
Die Performance hängt nicht nur von der Anzahl der Dokumente ab , sondern auch von der Anzahl der Folder in der Datenbank.

Auf Deiner Maschine braucht das Script ca. 0,55 Sek pro Dok.
Für ein 5-Gang-Menü braucht man schätzungsweise 2 Std = 7200 Sek.

Also, wenn ich ca. 13000 Dokumente habe, klappts auch mit dem Essen  ;)

Maaaahlzeit!
Andreas

Offline ghost

  • Aktives Mitglied
  • ***
  • Beiträge: 174
  • Geschlecht: Männlich
  • Notes ist gut!
Re:Inbox Recover
« Antwort #5 am: 17.10.03 - 16:22:23 »
Gerade eben rief mich eine Kollegin an, die sich irgendwie den Inbox-Folder gelöscht hatte.

Da kam das Script von meichhorner gerade richtig. Hat perfekt funktioniert.

Vielen Dank und viele Grüße
ghost

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Inbox Recover
« Antwort #6 am: 17.10.03 - 16:43:19 »
 :) meichhorner, der ghost-writer ..... :D
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline meichhorner

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 616
  • Geschlecht: Männlich
    • Webseite von Martin Eichhorner
Re:Inbox Recover
« Antwort #7 am: 17.10.03 - 17:06:12 »
Danke, danke, danke, .....  ;D ;D ;D
Martin Eichhorner
Schulungen zu Lotus Notes Domino 5 & 6 z.B. Westösterreich(A), Ostschweiz(CH), Bodenseeraum(D)
Tip´s, Trick´s, Tools und eine große Linksammlung findest du unter
http://www.eimsolution.net

Offline stefanst

  • Frischling
  • *
  • Beiträge: 20
  • Ich liebe dieses Forum!
Re:Inbox Recover
« Antwort #8 am: 23.10.03 - 16:21:15 »
blöde Frage.......
wo muss ich das Script einfügen, bzw. aus welche Ansicht heraus rufe ich es auf.... ?

Danke

Gruß
Stefan

Offline ghost

  • Aktives Mitglied
  • ***
  • Beiträge: 174
  • Geschlecht: Männlich
  • Notes ist gut!
Re:Inbox Recover
« Antwort #9 am: 23.10.03 - 17:48:51 »
Hallo Stefan,

ich habe das Script in einen Agenten gepackt und den Agenten auf 'Run Once' gestellt.

Viele Grüße
ghost

Offline meichhorner

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 616
  • Geschlecht: Männlich
    • Webseite von Martin Eichhorner
Re:Inbox Recover
« Antwort #10 am: 24.10.03 - 08:45:51 »
Hy,

also das Script könnt ihr hinpacken wo ihr wollt ;D

Mail, Button, Agenten etc.

Das Script ist so geschriebeen das es sowieso immer die Ansicht $All verwendet. ;)

Cu
Martin
Martin Eichhorner
Schulungen zu Lotus Notes Domino 5 & 6 z.B. Westösterreich(A), Ostschweiz(CH), Bodenseeraum(D)
Tip´s, Trick´s, Tools und eine große Linksammlung findest du unter
http://www.eimsolution.net

Offline Jörg P.

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 720
  • Ich liebe dieses Forum!
Re:Inbox Recover
« Antwort #11 am: 24.10.03 - 11:29:54 »
Hi,

Cooles Script. Danke für den Tip.

Zur (möglicherweise schlechten) Performance:

Könnte ich nicht zuerst die Anzahl der Dokumente bestimmen und das Array fUNID gleich passend Dimensionieren. Somit kann ich das Redim sparen, was bei einer grossen Anzahl von Dokumenten recht Zeitfressend sein kann, oder?
A programming error was found but will not be corrected. It will be a permanent restriction.  ::)

Offline meichhorner

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 616
  • Geschlecht: Männlich
    • Webseite von Martin Eichhorner
Re:Inbox Recover
« Antwort #12 am: 24.10.03 - 11:33:45 »
Hy,

kannst es ja mal austesten und uns Bescheid geben ob sich ein Performancevorteil daraus ergibt ;)

Cu
Martin
Martin Eichhorner
Schulungen zu Lotus Notes Domino 5 & 6 z.B. Westösterreich(A), Ostschweiz(CH), Bodenseeraum(D)
Tip´s, Trick´s, Tools und eine große Linksammlung findest du unter
http://www.eimsolution.net

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz