Domino 9 und frühere Versionen > ND7: Entwicklung

Nur bis zu 11.149 Dokumente in einem Ordner?

(1/3) > >>

Bruce Willis:
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

koehlerbv:
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.

Bruce Willis:

--- Zitat von: koehlerbv am 17.10.09 - 00:50:08 ---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

--- Ende Zitat ---

Hallo Bernhard,

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


--- Zitat von: koehlerbv am 17.10.09 - 00:50:08 ---Ein "Ordner" mit 11.149 Do kumenten ist kein Ordner, sondern ein Un-Ordner. Sowas wäre bestenfalls ein Fall für eine Ansicht.

--- Ende Zitat ---

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
--- Ende Code ---

WildVirus:
Hallo Leo,

--- Zitat von: Bruce Willis am 18.10.09 - 21:48:39 ---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...

--- Ende Zitat ---
Schulung des Anwenders veranlassen über effektiven Umgang mit Technik

--- Zitat von: Bruce Willis am 18.10.09 - 21:48:39 ---Er hätte nichts dagegen, wenn alle älteren als 60 Tage Emails aus der Inbox in einen anderen Ordner automatisch verschoben würden.

--- Ende Zitat ---
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

koehlerbv:
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.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln