8. September 2010 08:14
Hallo,
habe da ein Problem bei einer Datenbank in der Version 4.03 wo auch Lohn und Gehalt mit drin ist.
Das Problem tritt nur mit der Kundenlizenz auf.
Der Kunde will in der Tabelle 5200 Employee ein neues Feld mit der Feldnr. 50000 anlegen.
Wenn er die Tabelle schließen und speichern will, kommt folgende Fehlermeldung:
Sie haben keine Berechtigung zum Einfügen von Daten in die Tabelle Payroll Message.
Dies ist die Tabelle 5001044.
Diese Tabelle 5001044 Payroll Error Message, kann ich allerdings mit der Kundenlizenz mit Run im Objektdesigner aufrufen, ebenso kann ich in dieser Tabelle auch neue Felder, mit der Kundenlizenz, erstellen.
Mit dem Debugger komme ich hier nicht weiter, auch wenn ich die grosse Firmenlizenz von uns nehme.
Kann mir da jemand einen Tip geben, in welcher Codeunit oder sonst das abgefangen wird, das ich in dieser Tabelle 5200 keine Felder anlegen darf, wenn das Modul Lohn und Gehalt mit in der Datenbank ist?
Oder muss man hier in irgendeinem Bereich eine "simple" Einrichtung vornehmen?
In einer Standarddatenbank, also ohne Lohn und Gehalt, lassen sich auch ohne Probleme, mit der Kundenlizenz, Felder in dem Bereich 50000 bis 99999 einfügen.
8. September 2010 10:21
Hallo,
kann es sein, das der Kunde de Tabelle 5200 gar nicht lizensiert hat? (gehört glaube ich zum Employee- Portal?)
Die Meldung deutet ja auch nicht auf ein Design-Problem, sondern auf ein Daten- Problem hin.
Gruß, Fiddi
8. September 2010 10:37
Nein, er hat diese Tabelle 5200 auch in der Lizenz mit drin.
Wenn er das Lohn und Gehalts Modul hat, ist ja diese Tabelle auch mit dabei.
Ebenso sind auch beide Tabellen, 5200 und 5001044, mit Daten aus der Anwendung gefüllt und im Objektdesigner kann ich sie beide mit Design und Run aufrufen, was ja nicht der Fall wäre, wären sie nicht lizenziert.
Was ich halt auch nicht verstehe ist, ich will in der Tabelle 5200 ein neues Feld einfügen und bekomme eine Meldung, das ich keine Daten in die Tabelle 5001044 einfügen darf.
Da muss doch irgendwo etwas programmiert sein, wo da irgendwie etwas passiert.
10. September 2010 07:44
Hallo, keiner eine Idee was das sein kann?
Finde hier absolut nirgends etwas, was zu dieser Fehlermeldung führen kann.
13. September 2010 13:03
Habe die Kundenlizenz auch in einer Datenbank 4.03 ohne Lohn & Gehalt getestet.
Dann lassen sich auch ohne Probleme mit dieser Lizenz, Felder einfügen. Nur sobald Lohn & Gehalt dabei ist, geht nichts mehr
Also an der Lizenz kann es absolut nicht liegen.
14. September 2010 15:03
Hallo Harley,
das Problem wird daran liegen, dass in der Tabelle "Employee" über die Permissions Insert-Rechte auf die Tabelle 5001044 hat. Auf diese Tabelle wiederum hat dein Kunde mit seiner Lizenz keine Schreibrechte (irgendeine Postentabelle??).
Gruß Jan
15. September 2010 08:40
Jan hat geschrieben:Hallo Harley,
das Problem wird daran liegen, dass in der Tabelle "Employee" über die Permissions Insert-Rechte auf die Tabelle 5001044 hat. Auf diese Tabelle wiederum hat dein Kunde mit seiner Lizenz keine Schreibrechte (irgendeine Postentabelle??).
Gruß Jan
Hallo,
nein das mit den Permission
kann nicht sein, die sehen folgendermassen aus:
Tabelle 5200: TableDate Payroll Error Message = rimd
Tabelle 5001044: TableData Employee = rimd
Angemeldet mit den Benutzerrechten SUPER
Postentabellen werden ja nicht angemeckert, sondern nur die Tabelle 5001044.
Die Tabelle 5200 lässt sich ja mit der Kundenlizenz anpassen, wenn
KEIN Lohn & Gehalt dabei ist.
Ich kann ja sogar weitere Felder in der Tabelle 5001044 mit der Kundenlizenz anlegen, also im Lohn & Gehalt Objekt, nur eben in dieser Kombinantion zusammen, läßt sich in der Tabelle 5200 kein neues Feld, 50010 Testfeld_Neu Text 30, anlegen.
Und das versteh ich nicht warum.
15. September 2010 08:44
Hallo Harley,
es geht ja auch um die TableData...versuche mal mit der Kundenlizenz in der Tabelle einen Datensatz anzulegen, das wird nicht gehen. Das ist einfach unsauber programmiert, normalerweise legt man die entsprechenden Funktionen in eine CU und vergibt an diese die entsprechenden Permissions. Damit vermeidet man eben genau die Probleme auf die du nun stößt.
Gruß Jan
15. September 2010 10:09
Jan hat geschrieben:Hallo Harley,
es geht ja auch um die TableData...versuche mal mit der Kundenlizenz in der Tabelle einen Datensatz anzulegen, das wird nicht gehen. Das ist einfach unsauber programmiert, normalerweise legt man die entsprechenden Funktionen in eine CU und vergibt an diese die entsprechenden Permissions. Damit vermeidet man eben genau die Probleme auf die du nun stößt.
Gruß Jan
Ok, habe ich getestet, und in die Tabelle 5001044 lassen sich tatsächlich keine Daten einfügen. Auch sehe ich keine leere Zeile am Ende.
Zusätzlich Programmiert ist aber in diesem Bereich gar nichts, ist bis jetzt alles Standard Navision oder eben von Lohn & Gehalt.
Ist dies nun ein Standardfehler von Lohn & Gehalt?
Der Kunde hat ja eine Lizenz mit dem Designer, muss man hier eventuell nur noch etwas zusätzlich freischalten, sprich die Lizenz erweitern?
15. September 2010 13:27
Streng genommen ist das tatsächlich ein Fehler, ja. Durch die Art und Weise der Rechte-Vergabe wird dem Kunden in diesem Fall ja tatsächlich Funktion weg genommen (auch wenn viele Entwickler sowas machen).
Gruß Jan
17. September 2010 08:58
Jan hat geschrieben:Streng genommen ist das tatsächlich ein Fehler, ja. Durch die Art und Weise der Rechte-Vergabe wird dem Kunden in diesem Fall ja tatsächlich Funktion weg genommen (auch wenn viele Entwickler sowas machen).
Gruß Jan
Gibt es eine Möglichkeit diesen Fehler über die Programmierung zu beheben und wie?
Oder muss die Lizenz anegpasst werden und in welchen Bereichen?
Ich finde einfach nichts, um dem Kunden hier die Möglichkeit zu geben, über irgendwelche Permissons oder so, neue Felder in der Tabelle 5200 erstellen zu lassen.
17. September 2010 09:52
Das ist nicht so ganz einfach. Wahrscheinlich wird es irgendwelche Funktionen oder sonstige Code-Stellen (zum Beispiel in irgendwelchen Triggern u.ä.) geben die Datensätze in der anderen Tabelle modifizieren. Diese müsste man dann in eine CU auslagern und diese CU erhält dann wiederum die Permissions auf die Tabelle während selbige aus der 5200 entfernt werden. Hierdurch hat dein Kunde dann auch wieder die Möglichkeit seine Änderungen vorzunehmen. Ein Beispiel wie man es machen soll kannst du dir in der Form 30 Customer Ledger Entries anschauen. Hier wird im OnModifyRecord-Trigger eine Codeunit aufgerufen die dann entscheidet ob die aktuelle Änderung erlaubt ist oder nicht (zum Beispiel "Beschreibung" Ok, Buchungsdatum nicht OK). Sowas müsstest du dann also nachbauen.
Problem hierbei ist allerdings dass gerade im L&G Bereich ständig irgendelche Updates/Hotfixes etc. kommen, du müsstest deine Änderungen also ggf. jedesmal wieder implementieren. Ich weiß ja jetzt nicht welches L&G Produkt ihr einsetzt, ich würde das aber an den Anbieter übergeben.
Gruß Jan
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.