This is an odd problem we're seeing at a clients.
Normally if someone makes a mistake receiving goods you can just enter history/posted receipts and use Function / Undo receipt. This cancels out the deliver receipt and allows the user to reenter the details and reregister the delivery receipt.
In the case of this client we can't unregister the delivery note because the job no. column contains a value... though this is something quite normal.
In CU5813 -> CheckPurchRcptLine there is a line
TESTFIELD("Job No.",'');
which is blocking the undo.
My question is: Why on earth is this here. Why would you be able to register a purchase order against a job but not cancel back a delivery. I was pretty sure I had demoed this on varios occacions teaching people, but the code is pretty simple and it looks impossible to purchase things against a job and then cancel the delivery note. ... which makes no sense. Maybe I've always demo'ed without filling in a job No.
Anyone else seen this?
Ian
Comments
Yes have seen the same thing and similar issue if receipt is related to a back to back sales order. I think the test is there becuase the Undo is not sophisticated enough to back out/undo the related transactions/actions handled on the original receipt.
It has been there since version 4 SP3 at least
Ger
Simply Dynamics Ltd
skype: gf.simplydynamics
Web: www.simplydynamics.ie
This is on earth and specifically in NAV because you expense out the cost of ur material against the job (which u mention on line) the moment u receive it , means u do not hold inventory against the job. The moment u post the receipt it posts a -ve line in ILE simultaneously. So to check that user does not go to posted receipt ---> undo receipt and create -ve inventory this testfield code is there. In nutshell to avoid the mess.
There is big diff b/w receiving material with job no. on line and without it. And i think i am watching this since 3.7 at least (if i still remember #-o as i have spent 1 and a half year in Ax implementations ).
Whats a '-ve' line? And whats 'ILE' as well?
the mechanism it uses is to copy each of the lines in the Sales Invoice Line table related to the posted shipment receipt but changing the quantities to negative. It also modifies the shipped quantities in the original document.
You can create a credit memo with products and specify a job number. This does nothing more than post a negative quantity against the project and client. Cancelling a delivery note should do the same, no? You just post new lines against the client and the job with the quantities in negative.
Now thinking about it a possible reason occurs to me. The routines to post to jobs all work from unposted journal lines (sales lines table). In this case the undo shipment routine is adding lines directly to the sales invoice line table. They would also have to add lines directly to the job ledger entry table, client ledger entry and probably varios others.... all because they are not starting with a Sales Line..... so it was probably considered too much work.
thanks
Ian
I realize that if you receive goods on a PO, and they are coded to a job, that the system recevies them into inventory, and then expenses them to the job right away. But it could have been received in error.
So what is the best way to undo this receipt ?