Autor Thema: Feld Berechnet beim Anlegen zurücksetzen  (Gelesen 1946 mal)

Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Feld Berechnet beim Anlegen zurücksetzen
« am: 15.01.15 - 10:27:12 »
Hallo zusammen,

habe ein Feld in das ich bei Auswahl eines Optionsfeldes den Username schreiben lasse:

@If(Facility = "erledigt"; @SetField("Facility_Unterzeichner";@Name([CN];@UserName));"")

Dieses Feld Facility_Unterzeichner ist mit dem Wert "Berechnet beim Anlegen" verschlüsselt.

Problem:kann ich dieses Feld mit irgendeinem Code zurücksetzen?  Wenn dieses Feld von erledigt auf offen gesetzt werden muss, dann darf der Name nicht mehr erscheinen. Also muss ich es irgendwie auf Status Quo zurücksetzen. Geht das?

PS: Wert "Berechnet" ist keine Option, da verschiedene MAs an diesem Dokument arbeiten und grundsätzlich beim Speichern der Wert im Feld Facility_Unterzeichner nicht mehr verändert werden darf.




Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Re: Feld Berechnet beim Anlegen zurücksetzen
« Antwort #1 am: 15.01.15 - 10:33:50 »
Nachtrag:

"Berechnet beim Anlegen" kann man vergessen. Gerade eben getestet, hab zu früh geschrieben. Sorry !

Habe folgende Situation:

Habe ein Feld namens Facility - Optionsfeld mit der Auswahl offen / erledigt / nicht notwendig
In einem zweiten Feld zeichne ich auf, wer dieses Feld auf "erledigt" gesetzt hat. Das Feld heißt Facility_Unterzeichner

@If(Facility = "erledigt"; @SetField("Facility_Unterzeichner";@Name([CN];@UserName));"")

Nun das Problem:

In dieser Teilmaske arbeiten verschiedene Mitarbeiter. D.h. setze ich 10 Felder auf "erledigt", geh dann auf Speichern, schreibt er mir perfekt meinen Namen in das jeweilige Facility_Unterzeichner Feld.
Wenn ein anderer Mitarbeiter nun ein weiteres Feld auf "erledigt" setzt und Speichern klickt, dann überschreibt sein Name all meine 10 zuvor gesetzten Felder.

Wie kann ich es erreichen, dass die bereits gesetzten Namen im Feld Facility Unterzeichner nicht mehr überschrieben werden? Geht das überhaupt?

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Feld Berechnet beim Anlegen zurücksetzen
« Antwort #2 am: 15.01.15 - 11:14:21 »
Berechnet beim Anlegen ist genau die richtige Art, denn die Felder sind dann berechnet (also nicht editierbar) und berechnen sich selbst nur ein einziges Mal, nämlich beim Anlegen.

In Notes ändern sich keine Feldinhalte von alleine, da musst Du irgendetwas gebaut haben, was das macht. Vermutlich sind Deine Unterzeichner-Felder berechnet und berechnen sich anhand der von Dir angegebenen Formel, wobei ich dann nicht verstehe, wozu Du @Setfield im aktuellen Feld verwendest.

Wenn Du es allerdings unbedingt mit berechneten Feldern machen willst, empfehle ich die Berechnungsformel im Feld Facility_Unterzeichner so zu ändern:

@If (Facility = "erledigt"; @If (Facility_Unterzeichner = ""; @Name ([CN]; @Username); Facility_Unterzeichner); "")

Wenn Facility erledigt ist UND noch kein Unterzeichner gesetzt ist, schreibst Du den Namen, sonst bleibt alles beim Alten. Um es allgemeingültiger zu machen (Du hast ja viele Felder dieser Art), kannst Du auch mit @ThisValue arbeiten

@If (Facility = "erledigt"; @If (@ThisValue = ""; @Name ([CN]; @Username); @ThisValue); "")

Mir persönlich würde aber ein Berechnet beim Anlegen besser gefallen, und dann eine zentrale Stelle (Querysave, Postrecalc o.ä.), in der dann alle Felder entsprechend gesetzt werden. Aber das ist Geschmacksache.

Offline Kaljamam

  • Aktives Mitglied
  • ***
  • Beiträge: 234
  • Geschlecht: Männlich
Re: Feld Berechnet beim Anlegen zurücksetzen
« Antwort #3 am: 16.01.15 - 09:46:24 »
Super vielen Dank, habe es jetzt umgesetzt bekommen dank der Tipps! DANKE!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz