Hello everybody,
we have NAV 5.0 CH (Switzerland) localization.
We are trying to make a reverse transaction (button: functions -> reverse transaction) from form 20 - General Ledger Entries but we always have the error "You do not have the permssion to read the Payroll Setup Table".
This happen for EVERY reverse transaction operation also if not concerning Payroll.
Same operations with partner (NFR) license are allowed, and with the customer license are not allowed not even giving the permission to read the table Payroll Setup Table in roles.
I want to know your opinion in this.
I also examined code and saw that ALWAYS is tried to make a PayRollSetup.GET after pressing the button.
<add id="CH2200" dev="SRYSER" request="CH-START-400" date="2004-09-15" area="PY"
releaseversion="CH4.00">
Error, when try to reverse Posting Payroll entries</add>
...
<Control63> - OnPush()
CLEAR(ReversalEntry);
IF Reversed THEN
ReversalEntry.AlreadyReversedEntry(TABLECAPTION,"Entry No.");
IF "Journal Batch Name" = '' THEN
ReversalEntry.TestFieldError;
// CH2200.begin
IF PayrollSetup.GET THEN
IF PayrollSetup."Source Code Payroll to G/L" = "Document No." THEN
ReversalEntry.TestFieldError;
// CH2200.end
TESTFIELD("Transaction No.");
ReversalEntry.ReverseTransaction("Transaction No.")
...
Thank you
0
Comments
I do hope you didn't try to post the journal in the live system using a partner license.
You should NEVER use a partner license in a live system. This can create transactions that then can only be reversed by the Partner and would cause the error message you are getting.
Do you think that the problem is that original GL Posting were done with partner license and now the reverse entries are with customer license?
I don't think that.
Thank you
With best regards
Jens
Yes but Andy does not believe this.
Looking to the code that I pasted there is no condition to choose if try reading or not PayrollSetup table.
There is always a simple Payrollsetup.GET after press the button Reverse Transaction....
But why? I am not reversing a Payroll registration !!!
// CH2200.begin
IF PayrollSetup.GET THEN
IF PayrollSetup."Source Code Payroll to G/L" = "Document No." THEN
ReversalEntry.TestFieldError;
// CH2200.end
If I comment this part all the reverse transaction is good and right posted...
Thank you
that's something pretty odd/old: if you access a table (through get() at least) which you don't have access to, and the table is empty, then you will not get an error. If somehow that part of the database gets filled with data (different license), you will get the error with your license.
with best regards
Jens
|To-Increase|
I will try that.
Thank you
Andy if you are so adamant that no one used a developer license in the live system, then how did this record get in the live database. It means you must have payroll permission in your license. Therefor you will be able to delete the record using the normal user license.
As I said in my first post I believe that someone has done something in your system using a developers license, if you don't want to believe that, then its going to be damn hard to help you, because I just feel like I am banging my head against a wall.
What Andy didn't believe was This because he focused on the "transaction" part of your statement. While you meant a database transaction in this case the insert of the payroll setup table.
It's a simple misunderstanding. So stop banging your head against the wall. reserve that for a real blockhead.
|To-Increase|