Domino 9 und frühere Versionen > Entwicklung

script: Doks in Ansicht nach Bedingung löschen

(1/2) > >>

bob:
Hi,

ich steh grad auf'm Schlauch, wie setzte ich das in Script um:
 - nimm alle Dokumente der Ansicht "blabla"
 - lösche jedes Dokument, in dem das Feld "ABC" leer ist

Die Methode, alle Doks zu löschen kenn ich ja:

Dim nvc As NotesViewEntryCollection
Dim workspace As New NotesUIWorkspace
Set view =db.GetView("DelEmAll")
Set nvc = view.AllEntries
Call nvc.removeAll (True)


Er soll aber nur die Doks nehmen, deren Feldinhalt leer ist....

Bob

Rob Green:
bau dir eine Ansicht mit SELECT Feld_ABC="", dann klappt Dein Script.

Oder Du läßt Deine Ansicht und wanderst durch jedes Doc der View und checksed einzeln ab, ob feld leer.

bob:
Danke @Rob!!!

Die Lösung kannte ich selber auch schon, also mit der Behelfsansicht, aber man steht manchmal wirklich daneben, also dank nochmal!

Die Performance ist nun allerdings eher mies.... Zwar nur lokal getestet, aber auf'm Server kotzen wohl die Anwender....

Welche Methodik nutzt Du, um die bestehende Ansicht durchzuwandetn und abzuchekcen ob Feld KSt_KSt leer oder nicht um das Dok dann zu löschen?

Bye,
Bob

bob:
P.S.
Dies ist ein Workaround zum Excel-Import - Thread, bei dem der Agent eine voregebene Anzahl Doks importiert, inkl. leerer Zeilen.....

Hier nochmal der komplette Code, diesmal als .txt, um den Thread nicht aufzublasen.


Bob

Rob Green:
das kann man nur allgemein beantworten, denn es gibt verschiedene Lösungen:

will man keine Behelfsansicht, nimm eben db.search (was bei vielen Docs nicht das schnellste sein wird). Allerdings verstehe ich n.n. ganz bei Dir, ob die User nun etwas löschen oder ein zyklischer Agent, sprich also ein Automatismus. Dann würde ein Serveragent um einen ruhige Uhrzeit reichen, oder? Nur wie gesagt, ich kenne die "Umgebung" nicht.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln