[gelöst] Keine Objektlizenz. Tabelle dennoch in LicensePerm.

Bild Microsoft Dynamics NAV 2016

[gelöst] Keine Objektlizenz. Tabelle dennoch in LicensePerm.

Beitragvon Raik Zobel » 4. März 2020 11:07

Hi,

ich habe einen Kunden, welcher Objektanpassungen im Standardbereich durch eine Archivlösung hat. In den OnAfterGetRecord-Triggern wird die Lizenz für die Archivlösungsobjekte mittels Tabelle "License Permission" geprüft. Dabei wird auf eine Tabelle der Archivlösung gefiltert. Bei Positiver Prüfung (Tabelle ist vorhanden/lizenziert) wird eine Page oder auch Codeunit der Archivlösung angesteuert.

Nun möchte ich aber auch mit unserer Programmierlizenz im Testsystem arbeiten und stoße auf ein seltsames Problem. Die Programmierlizenz enthält keinerlei lizenzierte Objekte für die Archivlösung. Ich erwarte daher, dass die Lizenzprüfung der Archivierungslösungstabelle auf FALSE läuft und daher nicht auf die Archivcodeunits/-Pages zugegriffen wird. Dem ist aber seltsamerweise nicht so. Die Lizenzprüfung der besagten Tabelle ist weiterhin positiv und die Programmierung möchte daher dann auf die Codeunits/Pages zugreifen, was dann aber scheitert. Ich kann also keine Standardpages mehr mit unserer Programmierlizenz öffnen, da dies dann mit der Fehlermeldung "Sie verfügen nicht die Zugriffsrechte für..." endet.

Wenn ich die Prüfung über die "License Permission" Tabelle direkt auf die jeweilige Codeunit oder Page ändere, dann wird zuverlässig erkannt, dass diese Objekte nicht lizenziert sind. Wie kann das sein?
Zuletzt geändert von Raik Zobel am 17. März 2020 14:27, insgesamt 1-mal geändert.
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016

Re: Keine Objektlizenz. Tabelle dennoch in LicensePerm. vorh

Beitragvon Kowa » 4. März 2020 12:53

Seit dem Jahr 2016 sind in Entwicklerlizenzen sowohl Standardobjekte als auch Module anderer Partner freigeschaltet. Grund waren Probleme bei Mergen und Updates. Vorher konnte man z.B. neue Felder im Standardbereich und neue Standardobjekte nur per Fob und nicht per Txt anlegen, das wurde damals aufgehoben.
GruĂź, Kai

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, Messenger oder Telefon! DafĂĽr ist dieses Forum da.

Download: Dynamics NAV Object Text Explorer (Alternativlink). MVP Alumni
Benutzeravatar
Kowa
Moderator
Moderator
 
Beiträge: 7835
Registriert: 17. Juni 2005 17:32
Wohnort: Bremen
Realer Name: Kai Kowalewski
Arbeitsort: Osterholz-Scharmbeck
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC, NAV 2018 bis Navision 2.01

Re: Keine Objektlizenz. Tabelle dennoch in LicensePerm. vorh

Beitragvon Timo Lässer » 4. März 2020 16:47

@Kowa:
Du meinst mit "Entwicklerlizenz" sicherlich die "Partnerlizenz", denn auch wir (als End-Anwender) haben eine "Lizenz zum töten" (Application-Builder und Solution-Developer).
Leider scheint es aber noch Microsoft Dynamics Partner (gold certified ERP) zu geben, die mit ihrer Lizenz zwar Objekte und Felder im W1-Bereich anlegen dĂĽrfen, jedoch keinen Zugriff auf Module von anderen Partnern haben.

@vandyke:
Wird bei der LizenzprĂĽfung eventuell auf die Berechtigung einer bestimmten Tabelle (oder gar TableData) abgeprĂĽft und darauf basierend dann eine Codeunit gestartet?
Ich habe es leider schon des Ă–fteren gesehen, dass der Partner auf die Insert-Permission ihrer Setup-Tabelle geprĂĽft hat, um anschlieĂźend eine Codeunit, ... aufzurufen.
Richtig wäre, die Execute-Permission des aufzurufenden Objektes (also Codeunit) abzufragen.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Keine Objektlizenz. Tabelle dennoch in LicensePerm. vorh

Beitragvon enh » 4. März 2020 19:58

Ich kann mit meiner Partner-Lizenz Felder in geschützten Nummernbereichen anlegen, ich kann aber nicht in geschützte Partner-Objekte rein wenn der andere Partner die mir nicht freigeschaltet hat. Wie Kowa schon schreibt kann ich damit mergen und updaten aber nicht Partner-Code ändern (oder sehen) wenn der mir das nicht erlaubt. Finde ich auch richtig so.
enh
 
Beiträge: 2330
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Keine Objektlizenz. Tabelle dennoch in LicensePerm. vorh

Beitragvon Timo Lässer » 5. März 2020 10:03

Ich bin immer noch der Meinung, dass Microsoft den "Certified Microsoft Partner" die Execute-Berechtigung auf alle Objekte, sowie die RIMD-Berechtigung auf alle TableData geben sollte.
Das würde schon vollkommen ausreichen und immer noch verhindern, dass die Partner Änderungen an den Objekten vornehmen können.

Code: Alles auswählen
TableData                      0 RIMD
Table                          0     X
Table                 1..999 999 RIMDX
Table     99 000 000..99 999 999 RIMDX
Report                         0     X
Codeunit                       0     X
Page                           0     X
Query                          0     X
System                         0     X
Field                          0     X
Field                 1..999 999 RIMDX
Field     99 000 000..99 999 999 RIMDX
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Keine Objektlizenz. Tabelle dennoch in LicensePerm. vorh

Beitragvon Raik Zobel » 5. März 2020 11:25

Hallo und vielen Dank erstmal an alle. Dieses Verhalten war mir bisher nicht bekannt.

Timo Lässer hat geschrieben:@Kowa:
[...] Wird bei der LizenzprĂĽfung eventuell auf die Berechtigung einer bestimmten Tabelle (oder gar TableData) abgeprĂĽft und darauf basierend dann eine Codeunit gestartet?
[...]


Genauso ist es, leider.
Edit: Ein "Object Type" ist ja nicht mal angegeben.

Code: Alles auswählen
  LicensePermissionLoc.RESET;
  LicensePermissionLoc.SETRANGE("Object Number",xxxxxxx);
  LicensePermissionLoc.SETRANGE("Read Permission",LicensePermissionLoc."Read Permission"::Yes);
  IF LicensePermissionLoc.FINDFIRST THEN
    CurrPage.DropAreaFactBox.PAGE.SetFilter(DocType,"No.",TRUE);


Ich habe mich an den Support gewandt und selbst schon gemeint, Sie mĂĽssen die PrĂĽfung auf das auszufĂĽhrende Objekt machen.

Edit:
Habe jetzt per Text Export, Suchen & Ersetzen und Text Import ein zusätzliches SETRANGE auf LicensePermissionLoc."Object Type"::Codeunit gemacht, da es auch eine Codeunit mit der angegebenen "Object Number" gibt.
Benutzeravatar
Raik Zobel
 
Beiträge: 279
Registriert: 4. März 2013 13:43
Realer Name: Raik Zobel
Arbeitsort: Leipzig
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.00SP3, 2013R2, 2016

Re: Keine Objektlizenz. Tabelle dennoch in LicensePerm. vorh

Beitragvon enh » 5. März 2020 16:32

Dann war's ja nur ein Programmierfehler. Es bringt mich nicht weiter wenn ich die Lizenz fĂĽr Tabelle 50000 prĂĽfe, dann aber Codeunit 50000 ausfĂĽhren will...
enh
 
Beiträge: 2330
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Keine Objektlizenz. Tabelle dennoch in LicensePerm. vorh

Beitragvon Timo Lässer » 6. März 2020 09:30

enh hat geschrieben:Es bringt mich nicht weiter wenn ich die Lizenz fĂĽr Tabelle 50000 prĂĽfe, dann aber Codeunit 50000 ausfĂĽhren will...

Wo sollte da auch der Sinn liegen? Wenn ich die Codeunit 50000 ausfĂĽhren will, dann muss ich schon die Execute-Permission der Codeunit 50000 abfragen und nicht eine andere Permission und/oder ein anderes Objekt.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21


ZurĂĽck zu NAV 2016

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast