Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Jeff am 06.02.03 - 08:53:33
-
hallo forum,
kann mir jemand sagen wie ich einen agent erstellen kann, der in regelmäßigen Abstände (3 x täglich) alle dokumenten in einer ansicht (im hintergrund) öffnet und abspeichert.
vielen dank
jeff
-
hallo klaussal,
Ich habe schon so was probiert, abe es funzt nicht!
Sub Initialize
Dim session As New notessession
Dim db As notesdatabase
Dim doc As notesdocument
Dim view As notesview
Set db = session.currentdatabase
Set view = db.getview("Kunden")
Set doc = view.GetFirstDocument
While Not(doc Is Nothing)
Call doc.save(False,False)
Set doc = view.GetNextDocument(doc)
Wend
End Sub
was mache ich falsch?
-
du machst nichts falsch wenn du dir die eigenschaften der dokumente mal anschaust, aber : das speichern im backend laesst das dok nicht neu berechnen, sprich keine berechneten felder werden neu berechnet und ich denke, dass ist das was du haben willst...
ich hatte das gleiche probleme habe es folgendermassen geloest :
habe mir eine ansicht gebasetlt, die die doks mir richtig sortiert, dann in einen hotspot wars glaub ich
@Command([OpenView];"RefreshView");
@Command([ToolsRefreshAllDocs]);
@Command([FileCloseWindow]);
ps:mit script kannst du es leider vergessen !
gruss
-
Hi,
es geht auch mit Script.
Dazu gibt es in der NotesDocument-Klasse die Methode ComputeWithForm.
Axel
-
hi, axel
.....kannst du mit bitte ein bespiel senden?
vielen dank
-
Hi,
natürlich. Hier ist dein Code, entsprechend erweitert.
Sub Initialize
Dim session As New notessession
Dim db As notesdatabase
Dim doc As notesdocument
Dim view As notesview
Set db = session.currentdatabase
Set view = db.getview("Kunden")
Set doc = view.GetFirstDocument
While Not(doc Is Nothing)
Call doc.ComputeWithForm(False,False)
Call doc.save(False,False)
Set doc = view.GetNextDocument(doc)
Wend
End Sub
Axel
-
@axel -> leider berechnet diese methode keine computed-fields !!!!
war somit fuer mich nicht zu gebrauchen / ist (denk ich) somit auch fuer Jeff nicht zu gebrauchen
gruss
-
.. aber sicher doch.
agenten erstellen, der diese ansicht durchkaspert ( set view = "deine ansicht", getfirstdocument... getnextdocument, usw.) doc in edit-modus und wieder doc.save
näheres dazu findes du in der designer-hilfe ;D
Scheduled Agent (Server) mit editmode und ui... njet!
-
@Till_21
@axel -> leider berechnet diese methode keine computed-fields !!!!
war somit fuer mich nicht zu gebrauchen / ist (denk ich) somit auch fuer Jeff nicht zu gebrauchen
Ich hab's mal probiert, er berechnet sehr wohl die berechneten Felder.
Axel
-
Ich hab's mal probiert, er berechnet sehr wohl die berechneten Felder.
Axel
nope, macht er leider nicht :
Validates a document by executing the default value, translation, and validation formulas, if any are defined in the document form.
gruss
-
nope, macht er leider nicht :
Validates a document by executing the default value, translation, and validation formulas, if any are defined in the document form.
gruss
Yoo, das steht in der Hilfe. Aber hast du es mal probiert ? Er aktualisiert auch berechnete Felder. Problematisch sind allerdings Felder mit @DBLookup bzw. @DBColumn - Formel.
Axel
-
hab es x-mal probiert, berechnete felder wurden genau keinmal neu berechnet, deshalb musste ich ja auf die trix-loesung zurueckgreifen
gruss
-
Hi,
das liegt dann wahrscheinlich an den Formeln die in den berechneten Feldern stehen. Ich hatte bisher nie Probleme damit.
Ich hab mal ein bisschen recherchiert und rausgefunden, dass berechnete Felder mit aktualisiert werden, aber es gibt Probleme mit @DBLookup und @DBColumn.
Fazit: Man muß genau prüfen mit welcher Methode man zum Ziel kommt.
Axel
-
hi *all,
zuerst vielen Dank an Till, Axel und wflamme für die unterstützung. ... , es hat mir sehr viel geholfen, ;D also danke danke, danke
mit diesem script (Problem berechneten Feldern) hatte ich auch überhaupt keine Probleme . alle felder wurden sauber und richtig aktualisiert. :o DANKE AXEL ;D
Einen schönen Tag
Jeff
-------------------------------------------------------------------------------------------------------------------
Sub Initialize
Dim session As New notessession
Dim db As notesdatabase
Dim doc As notesdocument
Dim view As notesview
Set db = session.currentdatabase
Set view = db.getview("Kunden")
Set doc = view.GetFirstDocument
While Not(doc Is Nothing)
Call doc.ComputeWithForm(False,False)
Call doc.save(False,False)
Set doc = view.GetNextDocument(doc)
Wend
End Sub
-
@axel:
das wars, hinter meinen "berechnungen" waren ausschliesslich @dblookups...
danke fuer die info
gruss