Autor Thema: In NotesDocument schreiben und aktualisieren  (Gelesen 2070 mal)

Offline MrXYZ

  • Aktives Mitglied
  • ***
  • Beiträge: 100
  • never touch a running system!
In NotesDocument schreiben und aktualisieren
« am: 29.09.03 - 22:46:28 »
Hi @ALL

Per Knopfdruck (Lotus Skript) setze ich in ein Feld eines Dokumentes, das ich vorher per UNID als NotesDocument definiere einen bestimmten Wert. Das klappt wunderbar, ebenfalls die Speicherung. Jedoch werden die restlichen Felder nicht aktualisiert. Wie bekomme ich einen Refresh auf das Dok hin ?

Set minutes = db.GetDocumentByUNID(docid)
Call minutes.ReplaceItemvalue("testfeld",1)
Call minutes.Save(True,True)

 ???

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:In NotesDocument schreiben und aktualisieren
« Antwort #1 am: 29.09.03 - 22:55:16 »
Call uidoc.Refresh

Gruss,
TMC

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline MrXYZ

  • Aktives Mitglied
  • ***
  • Beiträge: 100
  • never touch a running system!
Re:In NotesDocument schreiben und aktualisieren
« Antwort #2 am: 29.09.03 - 22:58:10 »
ich befinde mich ja nicht im Uidoc, sondern setze von einem speziell erzeugten Dokument (das ist das uidoc) per Knopfdruck das Feld in einem anderen Dokument. Das andere Dokument möchte ich gerne aktualisieren.

Im speziellen Fall klappt das Setzen des Feldes, aber ich muss dann rein theoretisch nochmals ins Dokument klicken und F9 drücken um einen Refresh hinzubekommen.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:In NotesDocument schreiben und aktualisieren
« Antwort #3 am: 29.09.03 - 23:04:58 »
ups, hab zu schnell gelesen....

Ich bin mir nicht sicher ob da gleich ein reopen nötig ist, aber damit geht es dann mit Sicherheit.

Ich glaube ata hatte da mal was auf seiner Homepage wegen "reopen".
http://www.anton-tauscher.de/LotusScript/startdyn.htm

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:In NotesDocument schreiben und aktualisieren
« Antwort #4 am: 29.09.03 - 23:08:36 »
und noch was fällt mir ein.
Ich bin wirklich kein Profi in Script und selber grad beim erlernen, aber evtl.

 - das Backend Doc nach Deinen Aktionen zu UIDoc deklarieren
 - dann einen Refresh

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:In NotesDocument schreiben und aktualisieren
« Antwort #5 am: 30.09.03 - 00:05:41 »
Also, das andere Doc ist ein reines Backend-Dokument - Richtig?

Dann hat es aber auch keine Events. Und das Berechnen erfolgt ja alles in der Maske drin, also in UI-Events. Das hat mit dem (Windows-)EventDriven Modell zu tun (8tung, das ist nicht zu verwechseln mit Object-Modell, wie das häufig gemacht wird).

Da gibt es aber ein Hintertürchen:

Bedingung: Im Dokument muss ein Feld namens "Form" beinhalten, in dem dier Name der zu benutzenden Maske/Formular drin steht.

Gibt es das Feld, dann kann man die Methode "ComputeWithForm" aufrufen, um das Dokument mit den Events des Formulars berechnen zu lassen. Also etwa:

Doc.Form="DasZuVerwendendeFormular"
If Doc.ComputeWithForm(False,False) Then
   ' arbeite weiter
Else
   ' Fehlermeldung, die Berechnung hat nicht geklappt
End If



Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:In NotesDocument schreiben und aktualisieren
« Antwort #6 am: 30.09.03 - 00:09:42 »
bezieht sich das auf das komplette Neuberechnen im Backend, wo normalerweise computewithform lediglich
"Validates a document by executing the default value, translation, and validation formulas, if any are defined in the document form" und damit keine berechneten Felder neu kalkuliert? Heißt, durch Nutzung eines Feldes namens Form kann man dennoch per computewithform einen kompletten Refresh auslösen im Backend?
Auf default values, translation formulas, validation formulas und computed formulas? Wäre absolut cool!
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:In NotesDocument schreiben und aktualisieren
« Antwort #7 am: 30.09.03 - 00:15:00 »
Du fragst mich jetzt etwas, bisher hat mir das Ding eigentlich immer das gemacht, was ich erwartet habe, aber vielleicht hab ich mich schon dran gewöhnt, dass ich fast nur Validierungen und so drin habe, könnte sein, meistens mach ich Berechnungen eh über Script und hinterlege hinter das Formular ein entsprechendes Custom-Objekt. So hab ichs sowieso viel einfacher, meine Berechnungen auch ausserhalb des UI auszulösen, die gesamte Logig ist in der Custom-Klasse hinterlegt, und wenn die sauber aufgebaut ist, lässt sich das eben auch ausserhalb des Forms verwenden. Hat sich schon häufig bewährt und ich habe gerade eben meine Vortragsvorschläge für die Lotusphere 04 abgeschickt, die sich vorwiegend genau mit diesem Thema beschäftigt. Hoffe sehr, dass mindestens einer meiner Vorschläge auch einschlägt :-)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:In NotesDocument schreiben und aktualisieren
« Antwort #8 am: 30.09.03 - 00:33:04 »
ok, verstehe, wie Du das meinst (reine Script Nutzung). Diese Frage wird spätestens strategisch wichtig beim Neuentdecken der mächtigen R6 Formelsprache. Da wird man schnell verleitet, Formeln zu nutzen, nur um evtl. zu spät erkennen zu müssen, daß man im Backend Neuberechnungen anstellen muß, leider die Form aus zu vielen Bestandteilen besteht, um es über einen kleinen Miniagent quasi halb händisch zu erledigen. Konsequenz (mehr interne Ohrenmarke für mich): vorher genau überlegen, ob man ein computewithform benötigen wird und wenn es um eine komplette Neukalkulation geht, um wie viele Felder. Wenn sehr viele, dann Nutzung von Formeln ausschließen, insofern es User GUI zuläßt. Sonst gleich parallel ein kurzes Scriptmodul aufbauen, das die Neuberechnungen dynamisch über geschickte Feldnamensbezeichnungen ausführt.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:In NotesDocument schreiben und aktualisieren
« Antwort #9 am: 30.09.03 - 06:38:39 »
Ja, zum Beispiel, und Evaluate nutzen, um @Formeln via Script zu nutzen, seit etwa 5.0.6 hat Evaluate richtig an Nutzen gewonnen (Rückgabe von Werten und die Möglichkeit, ein Dokument mit auf den Weg zu geben)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz