[gelöst] Daten in Tabelle 110 (Verkauflieferkopf) ändern

29. Juli 2013 11:27

Hallo an alle.
Folgende Situation.
Wir haben den Bericht 208 (Lieferschein) erweitert um eine Funktion für die Übergabe von Daten an EASY Log. Ein Teil der Funktion ändert den Wert eines neuen Feldes 50006 EasyLog Exported (Boolean) in Tabelle 110 (Verkaufslieferkopf).
Das Problem ist wenn ich nun den Lieferschein mit unserer Entwicklerlizenz drucke ist alles gut. Wenn ich mit der Kundenlizenz drucke, erhalte ich die Meldung. "Sie haben keine Berechtigung zum Ändern von Datensätzen in der Tabelle Verkaufslieferkopf.

Das sind die Codezeilen die das Problem verursachen.
Rec."EasyLog exported" := TRUE;
Rec.MODIFY;
COMMIT;

Ist das ein Lizenzproblem?
Das wir noch recht neu sind die Frage. Werden auch neue Felder in vorhandenen Tabellen über die lizenzierten Objekt IDs lizenziert?

vielen Dank für eure Hilfe.

Vit
Zuletzt geändert von vitrine am 29. Juli 2013 14:00, insgesamt 1-mal geändert.

Re: Daten in Tabelle 110 (Verkauflieferkopf) ändern Liz-Prob

29. Juli 2013 11:36

Du kannst einem Report auch Rechte auf Tabellen erteilen.

Re: Daten in Tabelle 110 (Verkauflieferkopf) ändern Liz-Prob

29. Juli 2013 11:38

Da ein gebuchter Lieferschein ein Dokument ist, darf er nicht so einfach geändert werden.
Aber in den Reports kann man ja explizit sagen, dieser Report darf auch mit "normaler" Lizenz ausgeführt werden.

Re: Daten in Tabelle 110 (Verkauflieferkopf) ändern Liz-Prob

29. Juli 2013 11:39

Hängt euch in den Standard - dieser sieht keine direkten Änderungen an Tabelle 110 vor, sondern schickt den - vorläufig - geänderten Record an Codeunit "Shipment Header - Edit", wie z.B. ersichtlich in Form oder Page 130.

Statt also Rec.MODIFY; auszuführen, schreibe:
Code:
CODEUNIT.RUN(CODEUNIT::"Shipment Header - Edit",Rec);

- und passe die genannte Codeunit an, sodass die Änderung in Feld "EasyLog exported" nicht wieder zurück gesetzt wird.


Markus' Vorschlag birgt die große Gefahr, dass der Kunde schon mit einer kleinen Designlizenz den Report beliebig erweitern darf und nun - da er das indirekte Recht innerhalb des Reports von euch erhalten hat - jedes beliebige (!) 110-Tabellenfeld mit Hilfe dieses Reports ändern könnte.
Die o.g. Codeunit verwendet zwar auch das indirekte Recht, aber der Kunde kann die Codeunit nicht bearbeiten.

Re: Daten in Tabelle 110 (Verkauflieferkopf) ändern Liz-Prob

29. Juli 2013 11:48

Natalie hat geschrieben:Markus' Vorschlag birgt die große Gefahr, dass der Kunde schon mit einer kleinen Designlizenz den Report beliebig erweitern darf und nun - da er das indirekte Recht innerhalb des Reports von euch erhalten hat - jedes beliebige (!) 110-Tabellenfeld mit Hilfe dieses Reports ändern könnte.
Die o.g. Codeunit verwendet zwar auch das indirekte Recht, aber der Kunde kann die Codeunit nicht bearbeiten.

Nicht ganz korrekt:
Hätte der Report die entsprechende Permission für die Tabelle 110, dann könnte er zwar alle Felder dieser Tabelle ändern, jedoch kann der Kunde den Report dann nicht mehr verändern, da ihm die Berechtigung fehlt.
Sobald ein Objekt Permissions besitzt, und die aktuelle Lizenz keine vollständigen Rechte auf die in den Permission genannten Tabellen hat, kann das Objekt nicht mehr verändert werden.

Aus dem Grund solltet ihr unbedingt den Weg über die Codeunit aus dem NAV-Standard gehen, damit der Kunde auch weiterhin noch kleinere Anpassungen im Rahmen seiner Lizenz an dem Report vornehmen kann.

Re: Daten in Tabelle 110 (Verkauflieferkopf) ändern Liz-Prob

29. Juli 2013 11:54

Super vielen Dank für eure Hilfe.
Ich versuche das jetzt mal umzusetzen.
Vit

Re: Daten in Tabelle 110 (Verkauflieferkopf) ändern Liz-Prob

29. Juli 2013 12:52

So ich habe vorgeschlagenen die Änderungen jetzt umgesetzt.
Ich habe den relevanten Teil im Report 208 so geändert.

Rec."EasyLog exported" := TRUE;
CODEUNIT.RUN(CODEUNIT::"Shipment Header - Edit",Rec);

Die CU391 habe ich mit dieser Zeile erweitert.
SalesShptHeader."EasyLog exported" := "EasyLog exported";

Das scheint zu funktionieren.

Hat jemand noch Einwände?

vielen Dank
Vit

Re: Daten in Tabelle 110 (Verkauflieferkopf) ändern Liz-Prob

29. Juli 2013 13:28

vitrine hat geschrieben:Hat jemand noch Einwände?

Ich zumindest nicht, denn so hätte ich es auch umgesetzt ;-)

Re: Daten in Tabelle 110 (Verkauflieferkopf) ändern Liz-Prob

29. Juli 2013 13:59

Hallo,
nochmal vielen Dank für eure Hilfe.

lieben Gruß
Vit