Domino 9 und frühere Versionen > ND7: Entwicklung

Anzahl Tage von einem bestimmten Zeitraum bis heute in Ansicht anzeigen

(1/6) > >>

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