Domino 9 und frühere Versionen > ND7: Entwicklung
Anzahl Tage von einem bestimmten Zeitraum bis heute in Ansicht anzeigen
Schorschi353:
Hey Leutz,
ich möchte in einer Ansicht die Anzahl der Tage anzeigen lassen, die vergangen sind, seid ein Dokument erstellt wurde.
Man soll also sehen, wieviele Tage es her ist, dass das Dokument erstellt wurde.
Ist sowas möglich? Wenn ja wie? ???
In der Suche hab ich dazu leider nix gefunden..
Danke euch schonmal vielmals!!
Marius
koehlerbv:
Ich bin zwar nicht "Leutz", aber: @Today und @Created sollten in den DesignerHelp studiert werden. Weiters: Ansichten mit Bezug auf das aktuelle Datum können bei entsprechender Dokumentenzahl ein Performacekiller allererster Güte werden!
Bernhard
Schorschi353:
Danke Bernhard für deine schnelle Antwort!
Ich habs jetzt so gelöst:
@Abs((@Today - @Created) / 86400)
Natürlich ist mir bewusst, dass die Performance leiden kann, wenn die Dokumentenanzahl zunimmt, das muss ich dann einfach im Auge behalten und ggf die Formel in der Ansicht wieder rausnehmen.
Sankedön! :)
Marius
koehlerbv:
Hallo Marius,
erwartest Du Einträge aus der Zukunft? Steht Euer Domino mit der Enterprise in Verbindung? ;D Das @Abs macht ja sonst eher weniger Sinn ;)
Bernhard
jo@chim:
Hallo MariusZ...
... so schnell kannst Du gar nicht schauen, wie Deine Performance im Produktivbetrieb in den Keller gehen wird. Und dann gibts eins aufs Auge (von den Anwendern) ;)
Um das Problem zu umgehen, habe ich mir einen Agenten gebastelt, der mir jede Nacht in den Spalten- und Selektions-Formeln aller Ansichten die Variable "_varAct" sucht und diese mit dem aktuellen Datumswert belegt (Code siehe unten - Importiere das LS einfach in einen zeitgesteuerten Agenten, Ziel alle Dokumente, den Du täglich ablaufen lassen kannst).
Wenn Du dann in einer Spalte das Alter eines Dokuments in Tagen anzeigen willst, schreibe folgende Spaltenformel:
--- Code: ---_varAct:=@ToTime("24.04.2008");
@ToNumber(_varAct-@created)/86400
--- Ende Code ---
Hier @Abs zu nehmen ist natürlich @absoluter Unsinn, wie Bernhard schon richtig bemerkt hat ;D
Die erste Zeile mit der Variable bitte genau so in die Spalten- oder Selektionsformel schreiben!
Hier also der Code für den Agenten:
--- Code: ---Option Public
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
'Name der Variablen für den Datumswert in den Views
varActStr$="_varAct"
datStrStart%=Len(varActStr$)+12
k=0
m=0
Set db = session.CurrentDatabase
views = db.Views
On Error Resume Next
Forall v In views
Print "Lese " & v.Name & " - Selection Formula"
org_formula$=v.SelectionFormula
If Left(org_formula$, Len(varActStr$)) = varActStr$ Then
k=k+1
Print "Aktualisiere " & v.Name & " - Selection Formula"
org_formula$=v.SelectionFormula
org_dat$= Mid(org_formula$,datStrStart%,10)
new_dat$=Format(Now(),"dd.mm.yyyy")
new_formula$=Replace(org_formula$,org_dat$,new_dat$)
v.SelectionFormula=new_formula$
End If
i=0
Forall vc In v.Columns
i=i+1
Print "Lese " & v.Name & " - Spalte Nr. " & Cstr(i)
org_formula$=vc.Formula
If Left(org_formula$, Len(varActStr$)) = varActStr$ Then
m=m+1
Print "Aktualisiere " & v.Name & " - Spalte Nr. " & Cstr(i)
org_formula$=vc.Formula
org_dat$= Mid(org_formula$,datStrStart%,10)
new_dat$=Format(Now(),"dd.mm.yyyy")
new_formula$=Replace(org_formula$,org_dat$,new_dat$)
vc.Formula=new_formula$
End If
End Forall
End Forall
Print Cstr(k) & " Selection Formulas, " & Cstr(m) & " Column Formulas aktualisiert"
End Sub
--- Ende Code ---
Viel Glück :D
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln