Autor Thema: Maskenänderung in History schreiben  (Gelesen 3389 mal)

Offline seal

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
Maskenänderung in History schreiben
« am: 27.12.11 - 12:14:19 »
Hallo zusammen,

ich hab jetzt hier im Forum schon eine ganze weile gesucht und konnte leider nichts zu meinem Problem finden, deswegen habe ich jetzt einen neuen Thread geöffnet, obwohl ich mir eigentlich nicht vorstellen kann, das nicht ein anderer das Problem schon mal hatte.

Also ich möchte eigentlich folgendes: Ich will beim Speichern eines Dokumentes schauen, ob ein Feld bzw. Item in meinen Dokument geändert wurde und dann den Namen des Feldes in meine History schreiben. Also Auf die Art 16.12.2011 Hans Maulwurf: Änderung der Felder Prozent_1, Prozent_4, etc.

Jetzt ist meine Frage, wie frag ich ab, ob ein Item geändert wurde? Kann ich einfach durch die Items des Dokuments durch iterieren und gibt es dann sowas wie eine Funktion oder parameter changed, updated oder modified? Oder muss ich mir beim Öffnen des Dokumentes alle Itemvalues merken und beim Speichern dann mit dehnen vergleichen? Und wenn ja wie mach ich das?

Kann mir hier jemand ein Best Practise Tipp geben?

Vielen Dank im Vorraus,
Seal
Warum passieren mir ständig Dinge, die nur dämlichen Menschen passieren - Homer J. Simpson

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Maskenänderung in History schreiben
« Antwort #1 am: 27.12.11 - 12:34:01 »
Ich würde mir global in der Maske ein Notesdokument deklarieren und das im Postopen als neues Dokument der Datenbank initialisieren. Anschließend alle Items des aktuellen Dokuments hineinkopieren, dann hast Du im Querysave ein Referenzdokument, mit dem Du das aktuelle Dokument vergleichen kannst (Item für Item). Natürlich speicherst Du niemals das Referenzdokument.

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Christian Weiß

  • Junior Mitglied
  • **
  • Beiträge: 61
  • Geschlecht: Männlich
Re: Maskenänderung in History schreiben
« Antwort #3 am: 27.12.11 - 13:20:40 »
Ich würde vielleicht in der Maske ein Multivalue Textfeld anlegen. In diesem Multivalue-Feld werden die Namen der Felder angegeben, die überwacht werden sollen und zusätzlich noch die Information zu dem Feld selber. Das kann dann z. B. so aussehen: "numCostCenter~~~Kostenstelle":"nmeEditor~~~Bearbeiter"
Im Postopen-Event der Maske wird dann auf das Feld zugegriffen und der Wert des Feldes wird dann in ein weiteres Multivalue-Feld der Maske geschrieben.
Im QuerySave-Event werden die Felder dann erneut geprüft und die Werte werden dann dort mit den alten Werten verglichen. Wenn es dann einen Unterschied gibt, dann kannst Du das dann in die Historie schreiben, wobei dann der zweite Teil des Multivalue-Feldes zum Einsatz kommt (im Beispiel z. B. dann Kostenstelle).
Du kannst dann übrigens auch den alten Wert und den neuen Wert angegeben.
Gruß

Christian

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Maskenänderung in History schreiben
« Antwort #4 am: 27.12.11 - 13:50:01 »
Also ich würde auf keinen Fall die Vergleichswerte im Dokument speichern, dazu gibt es auch keinen Grund. Die Dokumente werden dadurch unnötig groß, das muss alles durch die Leitung transportiert werden. Ausserdem verwaltet Notes diese Felder auch noch intern in den Ansichtsindizes. Bei Dokumenten mit großen Textfeldern erreichst Du viel schneller die 32 k-Grenze, und dann hast Du richtig Spaß.

Offline seal

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
Re: Maskenänderung in History schreiben
« Antwort #5 am: 27.12.11 - 14:14:49 »
Hallo zusammen,

vielen Dank für die Tips. Ich hab jetzt einfach das Script von sw-guide.de angepasst und eingebunden.
Sollte es tun. Hoffe nicht, das ich in die Probleme komme, das es zu viele Änderungen kommt und das Textfeld überläuft.

Viele Grüße,
seal
Warum passieren mir ständig Dinge, die nur dämlichen Menschen passieren - Homer J. Simpson

Offline Günther Rupitz

  • Senior Mitglied
  • ****
  • Beiträge: 362
  • Geschlecht: Männlich
Re: Maskenänderung in History schreiben
« Antwort #6 am: 05.01.12 - 12:59:52 »
Assono hat sein Framework zur verfügung gestellt.
Das kann History, Validation,....

Und vorallem haben die im Framework eine saubere Trennung zwischen Frontend und Backend.

http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&documentId=FDE3F70E2544D822862576550038F0BA

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz