Autor Thema: Nur bis zu 11.149 Dokumente in einem Ordner?  (Gelesen 3489 mal)

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Nur bis zu 11.149 Dokumente in einem Ordner?
« am: 16.10.09 - 18:53:54 »
Hallo,

wenn ich per Agenten oder auch manuell versuche, einige Emails (z.B. aus der Inbox) in einen Ordner zu verschieben, wo schon 11149 Emails drin sind, landen diese Emails nicht mehr im Ordner sondern sind dann nur in der Ansicht "Alle Dokumente" zu finden.

Kennt jemand diese Begrenzung?

Gruß
Leo
« Letzte Änderung: 20.10.09 - 19:10:14 von Bruce Willis »
nobody is perfect but i'm pretty close 

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #1 am: 17.10.09 - 00:50:08 »
Servus Leo,

ich habe eben mal ein Agentileinchen geschrieben, der massenweise Dokumente in einen Ordner verschiebt. Selbiges habe ich dann manuell nachvollzogen (copy & paste).
Vulgo: Mir ist da eine Begrenzung im Bereich realistischer Zahlen für Dokumente in Ordnern nichts bekannt (entsprechend des Boards nachvollzogen mit 7.0.2 und 7.0.4).
Abgesehen davon: Ein "Ordner" mit 11.149 Do kumenten ist kein Ordner, sondern ein Un-Ordner. Sowas wäre bestenfalls ein Fall für eine Ansicht.

Bernhard

/EDIT: Screenshot auf Wunsch von Leo entfernt.
« Letzte Änderung: 19.10.09 - 20:24:42 von koehlerbv »

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #2 am: 18.10.09 - 21:48:39 »
ich habe eben mal ein Agentileinchen geschrieben, der massenweise Dokumente in einen Ordner verschiebt. Selbiges habe ich dann manuell nachvollzogen (copy & paste). Im Bild siehst Du das Ergebnis. Vulgo: Mir ist da eine Begrenzung im Bereich realistischer Zahlen für Dokumente in Ordnern nichts bekannt

Hallo Bernhard,

vielen Dank für Deine super schnelle und begründete Antwort!

Ein "Ordner" mit 11.149 Do kumenten ist kein Ordner, sondern ein Un-Ordner. Sowas wäre bestenfalls ein Fall für eine Ansicht.

Leider müssen wir anscheinend beim Ordner bleiben:

Ein Benutzer hatte bis vor Kurzem etwa 140.000 Emails in seiner Maildatei - und alle in der Inbox...
Einige Emails wurden inzwischen gelöscht, jetzt hat er dort etwa 60.000 Emails auf welche er nicht verzichten will...
Er hätte nichts dagegen, wenn alle älteren als 60 Tage Emails aus der Inbox in einen anderen Ordner automatisch verschoben würden.
Ich habe eine Kopie seiner Maildatei erstellt und beim Testen des Agenten das o.g. Problem festgestellt.
Egal was ich ändere, bleibt das Problem mit den 11.149 Dokumenten erhalten... :(

Gruß
Leo

Code
Sub Initialize
	
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim view As NotesView
	Dim days As Integer
	
	Set db = s.CurrentDatabase
	Set view = db.GetView("($Inbox)")
	Set doc = view.GetLastDocument
	
	For i = 1 To 1980	'bis zu 990 Stück Emails werden verschoben (bei mehr kommt Fehler "Overflow")
	days =  Date - doc.Created		
	If days > 60 Then
	Call doc.PutInFolder("Alte Mails") 
	Call doc.RemoveFromFolder("($Inbox)")
	z=z+1
	End If
		
	Set doc = view.GetPrevDocument(doc)
	i=i+1
	Next 
	Print z	'Anzahl der verschobenen Emails wird angezeigt
End Sub
« Letzte Änderung: 18.10.09 - 21:58:14 von Bruce Willis »
nobody is perfect but i'm pretty close 

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #3 am: 18.10.09 - 23:31:27 »
Hallo Leo,
Leider müssen wir anscheinend beim Ordner bleiben:

Ein Benutzer hatte bis vor Kurzem etwa 140.000 Emails in seiner Maildatei - und alle in der Inbox...
Schulung des Anwenders veranlassen über effektiven Umgang mit Technik
Er hätte nichts dagegen, wenn alle älteren als 60 Tage Emails aus der Inbox in einen anderen Ordner automatisch verschoben würden.
Raus aus dem Eingang und eine Ansicht machen, die sie z.B. pro Monat anzeigt. Außerdem hat er doch die Ansicht "Alle Dokumente", wo alle drin sind. Wozu noch den Ordner ? Klingt wie der Behördenchef, der seiner Sekretärin 10 Ordner zur Vernichtung gibt "Aber machen Sie vorher zur Sicherheit noch zwei Kopien" :-)

Dann zu Deinem Code:

es ist offensichtlich, dass der ohne Option Declare geschrieben wurde, denn weder i noch z sind deklariert. Außerdem ist z ein "ungeschickter" Variablenname.

Außerdem ist die Zeile    i=i+1  Blödsinn, denn Notes kann das selber.

Wenn Du schon mit einer numerischen Schleife arbeitest, dann spar Dir das For i = 1 to schießmichtot, dann kannst Du mit while not doc is nothing besser agieren

Warum nimmst Du nicht eine ViewEntryCollection ? Einfach einmal durchlaufen, Entry für Entry prüfen und verschieben

Einfach ein paar Gedanken beim Lesen - hope it help's

Good Night
Axel

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #4 am: 18.10.09 - 23:55:39 »
Date ist auch nicht deklariert, ergo in diesem Kontext 0.

0 - NotesDocument.Created

ergibt für alle Werte in NotesDocument.Created > 16.09.1989 einen Wert, der +/- 32767 überschreitet, also nicht mehr in Integer passt (Overflow!!). Days wurde aber als Integer deklariert ...

Wenn schon, dann
Dim Date As Variant
Date = Today

Dann passt das wieder - wenn Du keine eMails aus den Zeiten Herodes mehr in der Mail-DB hast  ;D

Bernhard

PS: In würde das unübersichtliche Geraffel aber nach wie vor nicht in einen Ordner verschieben - die Unordnung in der Ansicht "Alle Dokumente" ist schon nahezu identisch. Notfalls baue eine Ansicht für alle empfangenen Mails.

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #5 am: 19.10.09 - 09:55:50 »
Hallo Leo,

Dein Code-Schnipsel kann nach m.M. nicht sauber funktionieren (ich wundere mich sogar, dass überhaupt mehr als ein Dokument in den Ordner verschoben wird).

   Set view = db.GetView("($Inbox)")
   Set doc = view.GetLastDocument
' Du willst also die Dokumente in der View "$Inbox" von hinten nach
' vorn abarbeiten   

   For i = 1 To
   ...
   If days > 60 Then
   ...
' OK, ein Dok gefunden, dass zu alt ist,
' wird jetzt aus dem Ordner $Inbox entfernt
   Call doc.RemoveFromFolder("($Inbox)")
   End If
      
   Set doc = view.GetPrevDocument(doc)
' Du sucht jetzt das nächste (vorhergehende) Dokument zu doc
' in der View $Inbox
' doc hast Du aber gerade aus dem Ordner $Inbox entfernt
' ??? was ist der Vorgänger eines Dokumentes, das nicht mehr in der View
' existent ist ???



Thomas

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #6 am: 19.10.09 - 19:37:42 »
Hallo Axel,

vielen Dank für Deine Bemerkungen!

Wenn Du schon mit einer numerischen Schleife arbeitest, dann spar Dir das For i = 1 to schießmichtot, dann kannst Du mit while not doc is nothing besser agieren

Ich habe heute die folgende Version erstellt, sieht aber so aus, dass der Agent nicht jedes Dokument, sondern nur jedes zweite nimmt... :(

Gruß
Leo

Code
Sub Initialize
	
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim view As NotesView
	Dim days As Variant	'kein Integer !
	
	Set db = s.CurrentDatabase
	Set view = db.GetView("($Inbox)")
	Set doc = view.GetfirstDocument
	
	Do Until doc Is Nothing
		days =  Date - doc.Created
		Print days
		If days > 60 Then  
			'Call doc.PutInFolder("Alt")
			Call doc.RemoveFromFolder("($Inbox)")
		End If
		
		Set doc = view.GetNextDocument(doc)  'anscheinend dadurch wird nicht jedes sondern nur jedes zweite Dokument verschoben... :(
		
	Loop
	
End Sub
« Letzte Änderung: 19.10.09 - 19:41:58 von Bruce Willis »
nobody is perfect but i'm pretty close 

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #7 am: 19.10.09 - 19:48:17 »
Hallo Bernhard,

...also nicht mehr in Integer passt (Overflow!!). Days wurde aber als Integer deklariert ...

Wenn schon, dann
Dim Date As Variant
Date = Today

Vielen Dank!!!
Das war mein krasses Problem!

In würde das unübersichtliche Geraffel aber nach wie vor nicht in einen Ordner verschieben - die Unordnung in der Ansicht "Alle Dokumente" ist schon nahezu identisch. Notfalls baue eine Ansicht für alle empfangenen Mails.

Danke für die Idee.
So werde ich machen.

Gruß
Leo

P.S. Würdest Du bitte oben das Screenshot löschen?... ;)
nobody is perfect but i'm pretty close 

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #8 am: 19.10.09 - 20:26:08 »
Schirmschuss ist entfernt, Leo.

Bernhard

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #9 am: 19.10.09 - 21:20:00 »
Hallo Thomas,

Du willst also die Dokumente in der View "$Inbox" von hinten nach vorn abarbeiten

Ja, da als ich in meiner allerersten Variante von oben angefangen hatte, war sofort der Fehler "Overflow" gekommen.
Ich wusste damals nicht, dass dies an der Variable liegt...

... Du sucht jetzt das nächste (vorhergehende) Dokument zu doc in der View $Inbox
doc hast Du aber gerade aus dem Ordner $Inbox entfernt
??? was ist der Vorgänger eines Dokumentes, das nicht mehr in der View
existent ist ???

Vielen Dank für Deine Anmerkungen!
Jetzt ist mir klarer, warum ich in der Bedingung der Schleife die doppelte Zahl der zu verschiebenen Emails angeben musste...

Code
'For i = 1 To 1980	'bis zu 990 Stück Emails werden verschoben (bei mehr kommt Fehler "Overflow")

Gruß
Leo
nobody is perfect but i'm pretty close 

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #10 am: 19.10.09 - 21:25:02 »
Schirmschuss ist entfernt, Leo.

Danke, Bernhard.
War mir zu persönlich... :)

Wenn Du noch etwas zu meinem letzten Problem von "Heute um 19:37:42" beitragen könntest, wäre ich restlos glücklich...
;)
nobody is perfect but i'm pretty close 

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #11 am: 19.10.09 - 21:44:51 »
Lies Dir nochmal Thomas' Post durch. Dein Problem macht er dort offensichtlich, und daraus ergibt sich die Lösung. Begriff für die Forumssuche: "adt argument"

Bernhard

PS: Mit dem Schirmschuss hattest Du natürlich vollkommen Recht. Sorry, Leo.

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Nur bis zu 11.149 Dokumente in einem Ordner?
« Antwort #12 am: 20.10.09 - 19:09:54 »
Lies Dir nochmal Thomas' Post durch. Dein Problem macht er dort offensichtlich, und daraus ergibt sich die Lösung. Begriff für die Forumssuche: "adt argument"

Danke, Bernhard.
Ich habe das Topic gefunden http://atnotes.de/index.php/topic,41612.20.html
In dem Posting von Glombi stehen sehr gute Hinweise.
Jetzt funktioniert der Agent einwandfrei.

VIELEN DANK AN ALLE BETEILIGTEN !!!

 :knuddel:

Code
Sub Initialize
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim docNext As NotesDocument
	Dim view As NotesView
	Dim days As Variant	
	Dim k As Variant
	
	Set db = s.CurrentDatabase
	Set view = db.GetView("($Inbox)")
	Set doc = view.GetfirstDocument
	k = 0
	
	Do Until doc Is Nothing
		Set docNext = view.GetNextDocument(doc)
		days =  Date - doc.Created
		Print days	'falls Agent manuell gestartet wird...
		If days > 60 Then
			Call doc.RemoveFromFolder("($Inbox)")
			k=k+1
		End If
		Set  doc = docNext
		Call view.Refresh  	'ohne Refresh würde nicht jedes sondern nur jedes zweite Dok verschoben !
	Loop
	Print k & " Emails verschoben"	'Anzahl der verschobenen Emails wird angezeigt
	
End Sub
nobody is perfect but i'm pretty close 

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz