[Gelöst] Nummernserie darf für 1 User nicht gelöscht werden

27. Januar 2010 18:47

Hallo!

Ich habe vom Kunden die Anfrage bekommen, dass er einem User mit Super-User-Rechten das Löschen von Nummernserien verbieten möchte.
Ich bekomme die Abfrage aber scheinbar nicht richtig hin...

Probiert hatte ich es so:
1) In der Table Table 308 (No. Series) im Design-View ein freies Feld ausgewählt und dort in den Source-Code gewechselt.
2) Im OnDelete-Trigger eine Abfrage auf den Usernamen durchgeführt mit abschließendem Exit
Das sieht also jetzt so aus:


Code:
OnDelete()
IF USERID = 'MAG' THEN
  EXIT;

NoSeriesLine.SETRANGE("Series Code",Code);
NoSeriesLine.DELETEALL;

NoSeriesRelationship.SETRANGE(Code,Code);
NoSeriesRelationship.DELETEALL;
NoSeriesRelationship.SETRANGE(Code);

NoSeriesRelationship.SETRANGE("Series Code",Code);
NoSeriesRelationship.DELETEALL;
NoSeriesRelationship.SETRANGE("Series Code");


Er läuft in den Code rein und bricht ab, die Zeile wird dennoch gelöscht.
Bin ich hier an der falschen Stelle? Wo müsste ich das sonst implementieren?

Edit:
Abfrage musste nicht mit Exit, sondern mit einem ERROR beendet werden:
Code:
IF USERID = 'MAG' THEN
  ERROR('Nummernserie kann nicht gelöscht werden. Zugriff verweigert!');


Schönen Dank!
Thalon
Zuletzt geändert von Thalon am 27. Januar 2010 18:57, insgesamt 1-mal geändert.

Re: Nummernserie darf für 1 Benutzer nicht gelöscht werden

27. Januar 2010 18:55

Hallo Thalon,

mach mal aus dem exit ein Error('')

Gruß, Fiddi

Re: [Gelöst] Nummernserie darf für 1 User nicht gelöscht werden

27. Januar 2010 18:58

Danke!

Bin zeitgleich drauf gekommen :roll:

Thalon