Autor Thema: Dokument Refresh weil sich im Backend Felder geändert haben  (Gelesen 1991 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Hi,

ein User öffnet ein neues oder bestehendes Dok im Bearbeitungsmodus.

Dort gibt es einen Button: dadurch wird u.a. uiws.pickliststrings ausgeführt. Das Ergebnis wird über
doc.FeldA = szLinkerWert
doc.TEST1 = szRechterWert

in berechnete Felder geschrieben.

Ein anschließendes
Call doc.Save(False,True)
Call uidoc.Reload

zeigt dann auch die Werte wie gewünscht in den Feldern an.

Problem:
Ist dies ein neues Dok, wird es ja durch doc.save gespeichert. Es soll aber erst wirklich gespeichert werden, wenn der User den Button "Speichern" bestätigt.

Mein Versuch:
 - uidoc vorher schließen
 - dann Felder füllen, speichern.
 - uidoc wieder öffnen
 - Backend-Dokument (doc) löschen
Aber Fehlermeldung: "cannot remove NotesDocument when instantiated by NotesUIDocument"

2. Versuch:
Backend speichern und schließen, und uidoc neu öffnen
   Call doc.save(False, False)
   Call uidoc.close   
   Set uidocReopen = uiws.editDocument(False, doc)   
   Call doc.remove(True) 'Das Backend löschen
   uidocReopen.EditMode = True

Und wieder Fehlermeldung: "cannot remove NotesDocument when instantiated by NotesUIDocument". Auch wenn ich uidoc.close schon vorher platziere....

Hat wer ne Idee was man da noch machen könnte?

Matthias
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Dokument Refresh weil sich im Backend Felder geändert haben
« Antwort #1 am: 31.01.04 - 21:59:27 »
Das ist mir jetzt aber etwas wirr ...
Call uidoc.Refresh tut auch das gewünschte.
Eines der berechneten Felder als Schlüsselwortfeld definieren (tut ja nicht weh ;-) und dann in den Field Properties einstellen "Felder nach Schlüsselwortänderung neu berechnen" tut auch Wunder.

Die Fehlermeldungen, die Du bisher erhalten hast, sind ansonsten sehr brav. Notes tut, was es tun muss ...

Matthias, sag' bitte an, wenn ich was falsch verstanden haben sollte.

Herzliche Grüsse - wie immer - von "Ober.." nach "Nieder.."

Bernhard
« Letzte Änderung: 31.01.04 - 22:05:40 von koehlerbv »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Dokument Refresh weil sich im Backend Felder geändert haben
« Antwort #2 am: 31.01.04 - 22:08:08 »
Noch genauer: Wenn Frontend, dann Frontend: Statt doc.Feld = konsequent im FrontEnd arbeiten: FrontendDocument.FieldSetText ...

Bernhard

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Dokument Refresh weil sich im Backend Felder geändert haben
« Antwort #3 am: 31.01.04 - 22:11:11 »
Hi Bernhard,

Du hast mich indirekt auf die Lösung gebracht :-)

Das Call doc.Save(False,True) hätte ich weglassen sollen, ohne dem gehts wunderbar :-)

Als Refresh mach ich nun folgendes:
   Call uidoc.Reload 'Damit die Backend-Doc-Änderung angezeigt wird
   Call uidoc.Refresh 'Damit auch berechnete Felder neu berechnet werden

Ich hätte ja schon fast mein Auto verwettet, dass ein doc.save hier sein muss, damit man die Änderungen vom Backend sieht, aber dem ist nicht so.

Also vielen Dank !

Matthias
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:Dokument Refresh weil sich im Backend Felder geändert haben
« Antwort #4 am: 31.01.04 - 22:13:00 »
Noch genauer: Wenn Frontend, dann Frontend: Statt doc.Feld = konsequent im FrontEnd arbeiten: FrontendDocument.FieldSetText ...

Hmm, geht aber afaik nicht bei berechneten Feldern, oder täusche ich mich da jetzt? Daher bin ich gleich ins Backend ausgewichen...

Matthias
Matthias

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


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Dokument Refresh weil sich im Backend Felder geändert haben
« Antwort #5 am: 31.01.04 - 22:18:51 »
Zitat
Du hast mich indirekt auf die Lösung gebracht :-)
Ist das nicht wieder das berühmte "Zwei-Hirne-Prinzip" ? Man muss das Problem nur jemanden Schildern (und derjenige dann irgendwas halbwegs passendes zum Thema brabbeln), und auf einmal kommt man selber auf die Lösung ;-)

Also: Gut, dass wir darüber gesprochen haben ;-))

Backend / Frontend, Refresh etc. - und dabei RTFs berücksichtigen: Das wäre wieder ein sauberes, überschaubares Kapitel für "Best Practices" ! Denke ich mal ...

Herzlichst,
Bernhard (der Yeti, oder wie die Menschen im Schnee sonst so heissen ;-)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Dokument Refresh weil sich im Backend Felder geändert haben
« Antwort #6 am: 31.01.04 - 22:25:18 »
Ist das nicht wieder das berühmte "Zwei-Hirne-Prinzip" ? Man muss das Problem nur jemanden Schildern (und derjenige dann irgendwas halbwegs passendes zum Thema brabbeln), und auf einmal kommt man selber auf die Lösung ;-)

Genau :-)
Mein Auto darf ich jetzt ja zum Glück behalten, weil ich es nicht verwettet habe.

Backend / Frontend, Refresh etc. - und dabei RTFs berücksichtigen: Das wäre wieder ein sauberes, überschaubares Kapitel für "Best Practices" ! Denke ich mal ...
Wäre sinnvoll. Ich war mir hier ja sicher, dass ich das Backend speichern muss, und dem ist in diesem Fall nicht so.

Matthias
Matthias

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


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz