Autor Thema: kleine Fragen zu Teilmasken und Änderungsdatum  (Gelesen 2364 mal)

Offline wuuhooo

  • Frischling
  • *
  • Beiträge: 16
kleine Fragen zu Teilmasken und Änderungsdatum
« am: 26.10.09 - 13:56:13 »
Hallo,
ich habe heute ganze Zeit ein wenig gebastelt und auch über die Suchfunktion schon haufen Dinge nachgelesen aber nichts scheint das zu treffen was ich suche.

Das Problem:
ich habe eine Maske in dieser bekommen Mitarbeiter per Rolle z.B "Buchhaltung" eine Teilmaske eingeblendet in dieser befinden sich nur 2 Felder ( 1x Status, 1xBemerkungen) ich möchte das einfach in der Teilmaske noch angezeigt wird welcher Mitarbeiter wann zuletzt etwas in dieser Teilmaske geändert hat. Dabei ist nicht wichtig was sondern nur Mitarbeiter Name und die Zeit.

Mein Problem ist, benutze ich z.b: in der Teilmaske : @Modified, $UpdatedBy dann wird auch der Ersteller oder jeder andere der das Dokument ändert oder speichert dort eingetragen obwohl dieser andere benutzer eigentlich ja die Teilmaske nicht angezeigt bekommt.

Hat jemand einen Tipp welche Formel mir helfen kann oder ggf einen anderen Geistesblitz als ich?

Grüße
Dirk

BigWim

  • Gast
Re: kleine Fragen zu Teilmasken und Änderungsdatum
« Antwort #1 am: 26.10.09 - 14:06:36 »
Hallo Dirk,

formeltechnisch wüßte ich da nichts, weil, wie Du schon erfahren hast, die Teilmaske in der Maske "aufgeht".

Spontan würde ich das so lösen: Den aktuellen Wert in einem nicht angezeigten Feld zwischenzuspeichern und beim Speichern auf Gleichheit der Felder prüfen. Sind die Werte unterschiedlich hat der aktuelle Benutzer die Werte geändert und das wird protokolliert.

Markus

Driri

  • Gast
Re: kleine Fragen zu Teilmasken und Änderungsdatum
« Antwort #2 am: 26.10.09 - 14:37:07 »
Du müßtest schon die beiden Felder überwachen und bei Veränderung der Werte entsprechend reagieren. Ob man das sinnvoll mit Formelsprache hinbekommt, würde ich jetzt erst einmal bezweifeln, lasse mich aber auch gerne eines Besseren belehren.

Du könntest die Felder z.B. mit der History-Klasse von Michael Wöhrer überwachen lassen, allerdings solltest Du für die Implementierung der Klasse schon Script-Kenntnisse mitbringen.

http://sw-guide.de/lotus-notes-domino/lotusscript-history/


Edit : Ich habe gerade gesehen, daß Du die Klasse ja scheinbar schon kennst. Wo ist dann das Problem ? Oder liegt es an einem Verständnisproblem bei der Beziehung von Masken/Teilmasken und Dokumenten ?
« Letzte Änderung: 26.10.09 - 14:39:17 von Driri »

Offline wuuhooo

  • Frischling
  • *
  • Beiträge: 16
Re: kleine Fragen zu Teilmasken und Änderungsdatum
« Antwort #3 am: 26.10.09 - 14:53:58 »
Hallo, danke für die Antworten.

die Klasse von Michael Wöhrer funktioniert ohne Probleme nur kann ich diese nur in der Gesamten Maske verwenden, sie funktioniert leider nicht in Teilmasken :(!
Da in dieser Maske später mal 5 Teilmasken enthalten sein sollen wird es dann ggf schwer für den Mitarbeiter aus dem HistoryLog zu sehen wann wer was geändert hat aufgrund der masse von Änderungen.
Deshalb wollte ich einfach nur für jede Teilmaske ein kleines Feld haben wer der letzte Bearbeiter war und wann er diese Teilmaske bearbeitet hat.

Die Idee von BigWim gefällt mir sehr gut ist die in Formelsprache umzusetzen?! Mir reicht ein ja oder nein dann probiere und suche ich mich nicht tot :)!

Dann wird es wohl ohne Lotus Script keine Lösung für mein Problem geben?


Grüße
Dirk

BigWim

  • Gast
Re: kleine Fragen zu Teilmasken und Änderungsdatum
« Antwort #4 am: 26.10.09 - 15:26:07 »
Entweder im Postopen der Maske (dann für alle Felder) oder jeweils im Postopen der Teilmaske per @SetField den aktuellen Wert des Feldes in ein temporäres Feld schreiben.

Im QuerySave prüfen, ob die Werte sich verändert haben. Wenn ja, History schreiben.

Sorry, bin momentan etwas weit weg von der Programmierung. Darf zur Zeit andere Aufgaben lösen. Aber als Anhaltspunkt sinngemäß so:

PostOpen:
_Feldname := "MeinFeld";
@SetField ("tmp" + _Feldname;_Feldname);

QuerySave:
_FeldnameNeu := "MeinFeld";
_FeldnameAlt := "tmp" + _FeldnameNeu;


@if(_FeldnameNeu = _FeldnameAlt;@Return("");"");
@SetField ("History", "geändert von " + @Username + " am " + @Text(@Now;"S0"));



Viel Erfolg
Markus

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz