Autor Thema: Agent: Dokumente speichern  (Gelesen 1615 mal)

Offline Vigeli

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
Agent: Dokumente speichern
« am: 22.11.05 - 11:38:18 »
Hallo zusammen,

ich habe eine Ansicht (lssave), in der Dokumente angezeigt werden. Ein periodischer Agent soll nun alle Dokumente in deiser Ansicht im Hintergrund öffnen und speichern.

Dies funktioniert aber nicht richtig. Was ist hier falsch?
Mein Agent sieht so aus:

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("lssave")
   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

klaussal

  • Gast
Re: Agent: Dokumente speichern
« Antwort #1 am: 22.11.05 - 11:43:40 »
Zitat
Dies funktioniert aber nicht richtig.

Was heisst das im Klartext ?

Offline Vigeli

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
Re: Agent: Dokumente speichern
« Antwort #2 am: 22.11.05 - 11:55:54 »
...es handelt sich um eine maske mit berechneten felder (@DbLookup). beim öffnen eines Formulares werden ein berechnetes feld und andere normale Textfelder mit eerten gefüllt. wenn ich nun nichts ändere und auf speichern klicke, dann wird der wert des berechneten feldes richtig gespeichert.

mit @Command([ToolsRefreshAllDocs]) funktioniert dies auch einwandfrei.

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Agent: Dokumente speichern
« Antwort #3 am: 22.11.05 - 15:25:30 »
Das könnte daran liegen das RefreshAllDocs und ComputeWithForm nicht ganz die gleiche Funktionalität bieten.
Aus der Hilfe
Zitat
Validates a document by executing the default value, translation, and validation formulas, if any are defined in the document form
Zitat
Refreshes the fields of all the documents in a view or folder.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agent: Dokumente speichern
« Antwort #4 am: 22.11.05 - 20:00:37 »
Das könnte daran liegen das RefreshAllDocs und ComputeWithForm nicht ganz die gleiche Funktionalität bieten.

Daran liegt es auch.

Versuch doch mal, ob @Command([ToolsRefreshAllDocs]) auch in periodischen Agenten funktioniert. Ich bin mir da nicht sicher, ob's geht.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Vigeli

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
Re: Agent: Dokumente speichern
« Antwort #5 am: 23.11.05 - 12:51:46 »
habs probiert, funktion "@Command([ToolsRefreshAllDocs])" funktioniert nicht bei periodischen agenten  >:(

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agent: Dokumente speichern
« Antwort #6 am: 23.11.05 - 19:57:06 »
Das habe ich befürchtet. Im Backend wirst du da schlechte Karten haben. Im Moment habe ich leider keine gute Idee, wie man das lösen könnte.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: Agent: Dokumente speichern
« Antwort #7 am: 23.11.05 - 21:23:19 »
Hallo!

Ich verwende den ComputeWithForm im Backend nie. Da hier auch oft seltsamste Ergebnisse entstehen, nach meiner Erfahrung.

Wenn ich es mir einfach machen will mit berechneten Feldern, gehe ich so vor, dass ich die Formel via Evaluate auch in das Script einfüge. (OK, dann hat man das Problem, dass die gleiche Logik an verschieden stellen ist, aber manchmal ist das die beste Lösung...)

Das sieht dann so aus:

doc.zBerechnetesFeld = Evaluate(|
@DBLookup( ..... )
|,doc)

Wenn du nur wenige (eine hand voll?) Felder hast, kannst du es ja mal damit probieren.

Gruß
Smoki

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agent: Dokumente speichern
« Antwort #8 am: 24.11.05 - 10:14:02 »
Wenn ich es mir einfach machen will mit berechneten Feldern, gehe ich so vor, dass ich die Formel via Evaluate auch in das Script einfüge. (OK, dann hat man das Problem, dass die gleiche Logik an verschieden stellen ist, aber manchmal ist das die beste Lösung...)

Das funktioniert aber auch nur, wenn du keine aufwändige Formel hast. Sonst stösst du hier sehr schnell an Grenzen.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz