Debitor anlegen, aber bestimmte Felder nicht ändern CC

16. Juni 2015 17:21

Hallo zusammen,

ich möchte Mitarbeitern die Möglichkeit geben, neue Debitoren anzulegen (als verschiedene Felder der Debitorenkarte füllen), wenn diese aber einmal angelegt sind sollen sie bestimmte Felder nicht mehr ändern können.

Hierzu habe ich im User Setup den Usern "Rechte" gegeben, die ich entsprechend beim Abfragen ändern kann.

Mein Problem ist aber, wie kann ich erkennen, ob der Datensatz gerade in der Neuanlage ist, oder ob es eine Änderung ist.

Vielen Dank schon mal für Eure Hilfe

Catalano

Re: Debitor anlegen, aber bestimmte Felder nicht ändern CC

17. Juni 2015 07:39

Hallo Catalano,

im NAV-Standard geht das nicht.
Alternativ gäbe es die Variante, dass die Anwender statt Debitoren Kontakte anlegen und pflegen und dann über die Standardfunktionalität aus den Kontakten Debitoren erstellen.
Dadurch könntest du einem Teil der Anwender erlauben, z.B. Adress- und Kommunikationsdaten in den Kontakten einzugeben bzw. zu pflegen und diejenigen, die dann für die (Debitoren-)buchhaltung zuständig sind, können aus den Kontakten Debitoren (ggf. mit Debitorenvorlagen) erstellen.

Re: Debitor anlegen, aber bestimmte Felder nicht ändern CC

17. Juni 2015 08:24

Catalano hat geschrieben:Hallo zusammen,

ich möchte Mitarbeitern die Möglichkeit geben, neue Debitoren anzulegen (als verschiedene Felder der Debitorenkarte füllen), wenn diese aber einmal angelegt sind sollen sie bestimmte Felder nicht mehr ändern können.

Hierzu habe ich im User Setup den Usern "Rechte" gegeben, die ich entsprechend beim Abfragen ändern kann.

Mein Problem ist aber, wie kann ich erkennen, ob der Datensatz gerade in der Neuanlage ist, oder ob es eine Änderung ist.

Vielen Dank schon mal für Eure Hilfe

Catalano

Am Besten verwendest du einen Status analog zu den Fertigungsstücklisten und Arbeitsplänen. Diesen Status verknüpfst du mit dem Feld "Gesperrt". Heißt wenn ein Debitor auf Status neu steht kann er in Belegen nicht verwendet werden. Ist er dann einmal "zertifiziert", wird er entsperrt. Diesen Status kannst du dann beim ändern prüfen, wer das jetzt darf und wer nicht.

Re: Debitor anlegen, aber bestimmte Felder nicht ändern CC

17. Juni 2015 11:10

Vielen Dank schon mal. Ich hab in der Tabelle ein Statusfeld eingefügt.

Nun versuche ich beim Verlassen der Form den Status im OnNextRecord Trigger zu ändern, so wie es hier im Forum auch schon mal beschrieben worden ist:

Code:
IF Status = Status :: Neu THEN BEGIN
  Rec.Status := Status :: alt;
  CurrForm.SAVERECORD;
  EXIT(Rec.NEXT(Steps));
END ELSE BEGIN
  EXIT(Rec.NEXT(Steps));
END;


Ich bekomme die Fehlermeldung "Debitor kann in diesem Formular nicht geändert werden", bzw. wenn ich ein Modify vervende "Sie können keine Änderung in der Datenbank vornehmen, bevor eine Transaktion gestartet wurde".

Was mach ich da falsch?

Gruß
Catalano