Stapelbuchen im Verkauf R296

4. Januar 2008 17:38

Hallo,

in dem Report 296 werden Aufträge im Stapel gebucht.
Hat der Benutzer keine Super-Rechte (z.b. Super (Daten)), so liefert der Funktionsauftruf "SalesPost" FALSE zurück, obwohl gebucht wird und keine Fehlermeldung erscheint.
Das hat zur Folge, dass die Zählvariable "CounterOK" nicht weitergezählt wird:
....
IF SalesPost.RUN("Sales Header") THEN BEGIN
CounterOK := CounterOK + 1;
...

Danach behauptet das Stapelbuchen nicht gebuchts zu haben, obwhl gebucht worden ist.

Das ist irgendwie ein Rechteproblem.
Ich weiß nicht welches Recht nun genau fehlt.
Eigentlich fehlt keines, da ja gebucht wird.

Das Problem tritt auch an anderer Stelle auf. Bein Aufruf der Funktion C81 in einem eigenen Formular. Diese Funktion liefert auch FALSE zurück, wenn der User die Rolle "Super(Daten)" nicht hat.
Aber buchen tut die Funktion ohne Meckermeldung.

Was ist hier faul?

4. Januar 2008 17:53

Hat der Benutzer keine Super-Rechte (z.b. Super (Daten)) ...
.
.
.
Das ist irgendwie ein Rechteproblem.
Ich weiß nicht welches Recht nun genau fehlt.
Eigentlich fehlt keines, da ja gebucht wird.


Kann denn der Benutzer ohne SUPER-Rechte über F11 buchen? Schau Dir die Standard-Rollen <>SUPER* an und trage bei diesem Benutzer die fehlenden Rollen nach.

4. Januar 2008 17:57

Tja, das ist die Folge von zuviel COMMITs in Codeunit 80.
Tritt ein Fehler auf, so wird nur Änderungen seit dem letzten Commit zurück genommen.

Verdächtig ist dieses hier in CU80:
Code:
  IF NOT InvtPickPutaway THEN
    COMMIT;

denn dies kommt sehr spät.
Tritt Besserung ein, wenn du dieses Commit auskommentierst?