Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Cerberus09 am 08.04.09 - 12:04:54
-
Hallo,
ich bin neu hier und hatte einen Crash Kurs in der Notes Entwicklung.
Normalerweise versuche ich mich durch die Notes Hilfe durchzubeißen aber mit einer Sache komme ich nicht weiter...
ich habe eine relativ simple Datenbank, wo aktuelle Geschehnisse bekanntgegeben werden. In den Repliziereinstellungen steht dass alle Dokumente nach 6 Monaten gelöscht werden.
In diese Datenbank werden aber auch Störungen eingetragen. Diese sollen aber nur ein paar Tage in der einzigen Ansicht angezeigt werden(zwecks besserer Übersicht).
Ich habe erst versucht alles in einer Maske abzuwickeln. Ein Optionsfeld mit den Werten Info und Störungsmeldung eingefügt. Als ich damit nicht weiter kam habe ich eine zweite fast identische Maske erstellt...
doch wie kann ich in einer Ansicht sagen....wenn das Feld "Info" ist- immer anzeigen, wenn es eine "Störungsmeldung" ist, dann nur 3 Tage z.B nach Erstelldatum. Oder eben wenn Maske A dann alle und immer, wenn Maske B, dann X Tage ab Erstelldatum. Eine zweite Ansicht für Störungen soll es nicht geben.
ich hoffe ihr könnt mir helfen!
Danke im Voraus
-
am besten, einen Agenten nachts laufen lassen, der auf die abgelaufenen Dokumente einen Flag setzt, und die Dokumente dann ausfiltern in der Ansicht.
Das Erstellungsdatum mit dem aktuellen Datum in der Ansichtsauswahl zu vergleichen geht zu sehr auf die Performance.
Grüsse
Dau-in
-
Ich habe erst versucht alles in einer Maske abzuwickeln. Ein Optionsfeld mit den Werten Info und Störungsmeldung eingefügt. Als ich damit nicht weiter kam habe ich eine zweite fast identische Maske erstellt...
Wo bist du denn gescheitert?
Wenn es nur eine Ansicht geben soll, ist es das einfachste nur mit einer Maske zu arbeiten. Ein Zeitabfrage ist in einer Ansicht nicht unbedingt die beste Alternative.
Eine gute Alternative wäre ein Agent der täglich überprüft, ob es sich um eine Störungsmeldung handelt und ob sie älter als drei Tage ist. Wenn ja das setzt du ein verstecktes Feld, z.B. auf "1". In der Select-Formel der Ansicht wertest du dann das Feld aus. es werden nur Dokumente angezeigt bei denen dieses Feld den Wert "0" hat.
Die Formel kann z.B. so aussehen.
SELECT Form = "NamederMaske" & NamesdesverstecktenFeldes = "0"
Axel
-
Wo bist du denn gescheitert?
Ich habe damit angefangen in der Maske mit solchen Formeln zu werkeln um das Gültigkeitsdatum bzw. Tage zwischen heute und Erstelldatum auszurechnen. Das habe ich auch hingekriegt, aber ich konnte es in der Ansicht nicht anwenden. Da tuhe ich mich mit der Syntax immer sehr schwer.
@Adjust(@ToTime(Datum);0;0;3;0;0;0)
oder (@Today - Datum) /86400
Dann werd ich das mit einem zeitgesteuertem Agenten ausprobieren. Danke sehr!
Wobei... wisst ihr ob es generelle servereinstellungen gibt die z.B zeitgesteuerte Agenten nicht ausführen? Hab schon mal in anderen Datenbanken aktive Agenten gesehen, die aber trotzdem nicht ausgeführt werden. Unser Admin konnte mir dazu nichts sagen.
-
Indexing options and @Today performance (http://www-10.lotus.com/ldd/bpmpblog.nsf/dx/Indexing-options-and-Today)
Performance basics for IBM Lotus Notes developers (http://www.ibm.com/developerworks/lotus/documentation/d-ls-notesperformance/)
Warum ein zeitgesteuerter Agent nicht läuft kann viele Gründe haben. Falsch konfiguriert, falsche Rechte, falsch programmiert, ... Aber genau da sollte Dir der Admin zumindest sagen können, woran es liegt (schwere Programmierfehler sieht er im Log, die Konfiguration kann er kontrollieren).
-
Hi
wenn du das mit den Ansichtenauswahl ausprobieren willst kannst du doch Abfragen
Select Form = XY" & (@Today < @Adjust(CreateDate;0;0;3;0;0;0))
CreateDate kann ein Feld sein..
nur als Beispiel
Gruß
Michael
-
Hi
wenn du das mit den Ansichtenauswahl ausprobieren willst kannst du doch Abfragen
Select Form = XY" & (@Today < @Adjust(CreateDate;0;0;3;0;0;0))
CreateDate kann ein Feld sein..
nur als Beispiel
Gruß
Michael
@Today sollte in Ansichtenformeln aus bekannten Gründen eben nicht eingesetzt werden.
Axel
-
Hallo Cerberus,
wenn man mit den "Platzsparern" der Repllizierparameter arbeitet, sollte man in die Dokumente, die man keinesfalls aus der Datenbank herauslöschen möchte (Schlüsselwort- und Konfigurationsdokumente u.ä.) ein Feld mit dem Namen $NoPurge mit dem Wert "1" (textuelle Eins) einfügen.
Gruß
Norbert
-
Hallo Cerberus,
wenn man mit den "Platzsparern" der Repllizierparameter arbeitet, sollte man in die Dokumente, die man keinesfalls aus der Datenbank herauslöschen möchte (Schlüsselwort- und Konfigurationsdokumente u.ä.) ein Feld mit dem Namen $NoPurge mit dem Wert "1" (textuelle Eins) einfügen.
Gruß
Norbert
???