Domino 9 und frühere Versionen > ND7: Entwicklung

notesViewColumn.Formula per scheduled Agent

(1/2) > >>

jo@chim:
In einigen Ansichten einer Anwendung habe ich bisher in Spaltenformeln @today-Bezüge zur Berechnung von Fälligkeitstagen verwendet - was die Aktualisierungszeiten inzwischen nicht mehr tolerierbar in die Höhe treibt.

Um das zu umgehen habe ich mir überlegt, per scheduled Agent mit notesViewColumn.Formula täglich das aktuelle Datum hardcoded in die Spaltenformeln der Views zu schreiben.

Spricht da was dagegen?

eknori:
Nein, dagegen spricht nichts. Ist sogar Best-Practice.

jo@chim:
Danke & schöne Fest noch, eknori (an alle anderen hier natürlich auch!)  :)

jo@chim:
P.S. - Hier noch der Code des Agenten der Datum-Strings in Auswahl- oder Spaltenformeln durch das aktuelle Datum ersetzt:


--- Code: ---Option Public


Sub Initialize
'Selection-Formel ersetzen
'Integer = Beginn des Datum-Strings in der Form DD.MM.YYYY
viewStr$="view1"
retStr$=replaceSelectionFormula(viewStr$,21)
Print "Selection Formula für '" & viewStr$ & "' aktualisiert auf:" & Chr$(10) & retStr$ & Chr$(10

'Spalten-Formel ersetzen
'Integer Nr. 1 = Spalten-Nr.
'Integer Nr. 2 = Beginn des Datum-Strings
viewStr$="view2"
retStr$=replaceColumnFormula(viewStr$,0,52)
Print "Column Formula für '" & viewStr$ & "' aktualisiert auf:" & Chr$(10) & retStr$ & Chr$(10)



End Sub

Function replaceSelectionFormula(viewStr As String,lStr As Integer) As String
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Set db = session.CurrentDatabase
Set view = db.GetView(viewStr)
org_formula$=view.SelectionFormula
org_dat$= Mid(view.SelectionFormula,lStr,10)
new_dat$=Format(Now(),"dd.mm.yyyy")
new_formula$=Replace(org_formula$,org_dat$,new_dat$)
view.SelectionFormula=new_formula$
replaceSelectionFormula=new_formula$
End Function

Function replaceColumnFormula(viewStr As String,colNr As Integer, lStr As Integer) As String
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim vc As NotesViewColumn
Set db = session.CurrentDatabase
Set view = db.GetView(viewStr)
Set vc = view.Columns(colNr)
org_formula$=vc.Formula
org_dat$= Mid(vc.Formula,lStr,10)
new_dat$=Format(Now(),"dd.mm.yyyy")
new_formula$=Replace(org_formula$,org_dat$,new_dat$)
vc.Formula=new_formula$
replaceColumnFormula=new_formula$
End Function

--- Ende Code ---

ata:
... man kann das auch über die Notes.ini machen...

Toni

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln