Autor Thema: Dokument wird per Script nicht verändert  (Gelesen 2152 mal)

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Dokument wird per Script nicht verändert
« am: 05.12.05 - 13:46:16 »
Hallo,

in einem gerade geöffneten Dokument wird ein Agent gestartet, der ein Dokument verändern soll. Jedoch ist nach schließen das Dokument wieder im Ursprungszustand. Es werden über den Agenten verschiedene Felder im Backend gesetzt und dann auch im Backend gespeichert. Lasse ich mir im Agenten noch die betroffenen Felder nach und vor dem Speichern anzeigen, so ist alles in Ordnung...  :-: Ich verstehe das nicht. Den gleichen Effekt habe ich, wenn ich die selben Aktionen per Formelsprache ausführe...  ???
« Letzte Änderung: 06.12.05 - 12:10:06 von MadMetzger »

klaussal

  • Gast
Re: Dokument wird per Script nicht verändert
« Antwort #1 am: 05.12.05 - 13:52:19 »
Könnte es sein, dass das Frontend-Doc das Backend-Doc wieder überschreibt ?

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Dokument wird per Script nicht verändert
« Antwort #2 am: 05.12.05 - 13:53:49 »
Woran kann ich das erkennen, hört sich zumindest plausibel an. Wie könnte ich das Ganze verhindern?

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Dokument wird per Script nicht verändert
« Antwort #3 am: 05.12.05 - 14:15:22 »
Mit solchen Problemen hatte ich auch oft zu kämpfen.
So bin ich mit der Zeit zu einem fanatischen Anhänger der Trennung von Daten und Präsentation geworden.

Die einfachsten Möglichkeiten sind:
- Felder im UIDoc setzen (problematisch, wenn diese Felder bei der Berechnung andere Felder anziehen).
Falls nach der Aktion Dokument eh geschlossen wird:
- Flag setzen und die Agentenoperationen im QuerySave in Anghängigkeit des flags abfackeln. Flag als globale Variable der Maske.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Dokument wird per Script nicht verändert
« Antwort #4 am: 05.12.05 - 14:54:05 »
Danke Axel, werde deinen Vorschlag mal beherzigen... mal schauen ob das was hilft. Die Anwendung in der das Prob auftaucht ist eh mal fällig für eine grundsätzliche Überprüfung. Aber leider dieses Jahr keine Zeit mehr dafür. Könnte was für meine Vordiplomsarbeit werden...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument wird per Script nicht verändert
« Antwort #5 am: 05.12.05 - 23:42:39 »
Ich befürchte, dass Du das Backend-Dokument änderst, während das FrontEnd-Dokument noch offen ist und damit geneigt, auch noch Änderungen aus dem FrontEnd entgegen zu nehmen. Da das FrontEnd-Dok nach wie vor "in-memory" ist, überschreibt es beim Speichern natürlich die gerade im Backend gemachte Änderung (so, wie es ja auch sein soll).

Workarounds (eine kleine Auswahl):
- Wenn die Änderung im Backend die entscheidende ist: Vorher Frontend-Doc schliessen ohne speichern oder erst Frontend speichern / schliessen und dann Backend-Änderung machen.
- Wenn im Frontend nach Backend-Änderung noch gedreht werden darf / soll: Nach Backend-Änderung zwingend Frontend reloaden / refreshen.

Ansonsten: Mehr Input, mehr Output  ;)

Bernhard

PS: Eine Lösung wird sich generell finden. Frage: Besonders "aggressiv" reagieren RT-Items - sind die bei Dir auch involviert ?

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Dokument wird per Script nicht verändert
« Antwort #6 am: 05.12.05 - 23:51:07 »
Also in der ursprünglichen Fassung war es so, dass im BackEnd geändert und gespeichert wurde, nachdem ich die gesamten Aktionen von Formel auf Skript umgestellt habe. Das Verhalten war vorher nahezu gleich... Zum Glück sind keine RT-Items involviert. Momentan habe ich einen Weg gefunden, dass es (zumindest hier bei mir) funktioniert. Meine Kollegen werden das morgen im Büro austesten, da ich eigentlich zu Hause sitze und Überstunden abfeiere...

Aber der Vorschlag, das FrontEndDokument sofort zu schließen, und dann erst die Änderungen durchzuführen, scheint mir etwas einfacher als die Variante von Axel.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument wird per Script nicht verändert
« Antwort #7 am: 05.12.05 - 23:57:38 »
Aber der Vorschlag, das FrontEndDokument sofort zu schließen, und dann erst die Änderungen durchzuführen, scheint mir etwas einfacher als die Variante von Axel.

Schliessen (aber das kann ja "gnadenlos" sein  ;D) oder eben eben ein Reload / Refresh nach der Backend-Änderung, Markus. Eigentlich geht das problemlos (vor allem, da keine RTIs involviert sind, da müsste man anders ggf. herangehen).

Viel Erfolg,
Bernhard

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Dokument wird per Script nicht verändert
« Antwort #8 am: 06.12.05 - 00:00:06 »
Ich schaue es mir morgen nochmal an, jetzt bin ich doch ein wenig zu müde, mich da noch einmal darauf zu konzentrieren, bzw. wird es mir dann zu spät heute... schreibe morgen hier mal mein Ergebnis rein... Als dann gute Nacht allen noch anwesenden...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokument wird per Script nicht verändert
« Antwort #9 am: 06.12.05 - 00:05:26 »
Sag' an, wenn es noch klemmen sollte. Hier kann Dir wirklich geholfen werden. Ist so ein Standard-Problem. Ggf. bräuchten wir aber mehr Code / Infos ...

Auch eine gute Nacht wünscht
Bernhard

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Dokument wird per Script nicht verändert
« Antwort #10 am: 06.12.05 - 12:06:47 »
Großes Danke an alle Beteiligten...  ;D der Tipp von Bernhard hat letztendlich den Ausschlag gegeben. Es war tatsächlich so, dass das Backend-Dok durch diverse Aktionen im QueryClose wieder überschrieben wurde und somit die Änderungen wieder weg waren. Der Einfall hierzu kam mir noch gestern abend und jetzt sitze ich im Büro und habe meine Lösung implementiert!

Zu meiner Lösung:
=> Über das aktuelle UiDoc hole ich mir aus dem Backenddok due Unid
=> Danach schließe ich das UiDoc und verliere damit auch das Backenddok aus dem Zugriff
=> Über Session.CurrentDatabas.GetDocumentByUnid hole ich mir das Dokument zurück
=> Alle Aktionen können danach ohne Probleme mit Backend-Frontend-Geschichten im Backend ausgeführt werden

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz