[Gelöst] einzelne Formular-Felder sperren

4. August 2008 09:00

Guten Morgen,

hab mal wieder ne brennende Frage :-D . Hab in meinem Formular eine Funktion geschrieben, die je nach Status des Auftrags einzelne Felder des Formulars zur Eingabe sperrt bzw freigibt (mit CurrForm.Feldname.Editable(...); ).

Wenn ich die Funktion über nen Button aufrufe klappt die ganze Sache auch ganz hervorragend. Mein Problem ist nur, dass man ja in Navision die einzelnen Datensätze auch über die Pfeile oben navigieren kann. Wenn ich also den nächsten Datensatz anwähle, hab ich noch die "Berechtigungen" des vorherigen DS.

Habe gedacht, ich könnte vielleicht meine Funktion beim "Übergang" zum nächsten DS aufrufen, aber wenn ich sie im OnAfterGetRecord-Trigger aufrufe kommt eine Fehlermeldung, dass meine Tabelle nicht in diesem Formular verändert werden kann. Ich vermute mal, dass hier die Funktion schon die Felder sperrt, bevor die Daten aus der Datenbank ins Formular eingetragen werden.

Hätte jemand ne Lösung für mein Problem? Gibt`s vielleicht noch nen Trigger, der erst ausgelöst wird, wenn der komplette DS bereits aus der Tabelle ins Form eingetragen wurde?
Oder gibts irgendwelche anderen Ansätze/Lösungsideen/Formulare in denen ähnliches schonmal gebastelt wurde?

Grüße
enno
Zuletzt geändert von enno am 4. August 2008 09:37, insgesamt 1-mal geändert.

Re: einzelne Formular-Felder sperren

4. August 2008 09:03

Das Setzen von Editable verfrachte am besten in eigene Funktion.
Diese Funktion solltest du im Form-Trigger OnAfterGetCurrRecord aufrufen.

Re: einzelne Formular-Felder sperren

4. August 2008 09:36

Jetzt wollt ich gerade schreiben, dass dabei der selbe Fehler auftritt, da ich den Aufruf in diesem Trigger auch schon getestet hab ...
Allerdings hab ichs nochmal mit ner neuen Funktion getestet, die erstmal nur ein Feld sperrt und prompt geht es natürlich ...

Tschuldigung für meine Frage ... da scheint wohl der Fehler in meiner Funktion zu liegen ... erstmal auskommentieren und dann zeilenweise wieder ausprobieren ...

Danke Natalie