Autor Thema: notesViewColumn.Formula per scheduled Agent  (Gelesen 2633 mal)

Offline jo@chim

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
notesViewColumn.Formula per scheduled Agent
« am: 22.03.08 - 13:41:47 »
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?
Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: notesViewColumn.Formula per scheduled Agent
« Antwort #1 am: 22.03.08 - 14:06:53 »
Nein, dagegen spricht nichts. Ist sogar Best-Practice.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline jo@chim

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
Re: notesViewColumn.Formula per scheduled Agent
« Antwort #2 am: 22.03.08 - 14:13:11 »
Danke & schöne Fest noch, eknori (an alle anderen hier natürlich auch!)  :)
Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7

Offline jo@chim

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
Re: notesViewColumn.Formula per scheduled Agent
« Antwort #3 am: 22.03.08 - 15:55:32 »
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
Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: notesViewColumn.Formula per scheduled Agent
« Antwort #4 am: 23.03.08 - 09:12:28 »
... man kann das auch über die Notes.ini machen...

Toni
Grüßle Toni :)

Offline jo@chim

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
Re: notesViewColumn.Formula per scheduled Agent
« Antwort #5 am: 23.03.08 - 10:16:01 »
Notes.ini - eine lokale Variable für eine (serverbasierte) Ansicht ???
Zitat von: LN7 Benutzerhilfe
@Environment kann nicht in Spalten- oder Auswahlformeln verwendet werden
Aber ich tu Dich sicher missverstehn?
Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: notesViewColumn.Formula per scheduled Agent
« Antwort #6 am: 23.03.08 - 21:03:21 »
Zitat
(serverbasierte)

... sorry - hab ich nicht gelesen - geht nur bei lokalen Datenbanken - daher ist der geschilderte Weg dann schon der Richtige...

Toni
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz