Hi - Since the latest minor update from Microsoft to our Business Central environment, we have come across an issue when attempting to post consumption for a production order with the production journal.
This is happening sporadically, with different items at different times and so far no noticeable pattern.
Scenario -
We are posting partial consumption for an item i.e. Qty picked = 5.25 units but we want to post 0.75 units at a time.
Process followed is to open the production journal, click on item line, navigate to item tracking lines, change qty to 0.75 units and then change qty in Production journal line to match. When attempting to post we get an error message I have never seen before - Item Tracking signed wrongly.
What I have noticed is that BC does not seem to be keeping up with consumption and there is then a mismatch in the quantities somewhere.
e.g for the above example,
We have picked 5.25 units
We have consumed 2.25 units in total in the following entries
Logic states that 5.25 - 2.25 = 3 units remaining, however on our components line we have a remaining qty of 3.074, which is the exact qty of the most recent consumption.
It therefore seems quite clear that the system has not quite registered the most recent consumption in some places but it has in others.
Has anyone else come across this before?
We attempted to debug and got the following;
RemQtyToPost = 0.7
RemQtyToPostThisLine = 3.704
if RemQtyToPostThisLine > RemQtyToPost then
RemQtyToPostThisLine := RemQtyToPost
RemQtyToPostThisLine = 0.7
QtyToPost := RemQtyToPostThisLine;
QtyToPost := 0.7
NewRemainingQty := ProdOrderComp."Expected Qty. (Base)" - ProdOrderComp."Act. Consumption (Qty)" - QtyToPost;
NewRemainingQty := 5.25 - 2.25 - 0.7
NewRemainingQty := 2.3
QtyToPost := ProdOrderComp."Remaining Qty. (Base)" - NewRemainingQty
QtyToPost := 3.704 - 2.3
QtyToPost := 1.404
ProdOrderComp."Remaining Qty. (Base)" := NewRemainingQty;
ProdOrderComp."Remaining Qty. (Base)" := 2.3
if QtyToPost <> 0 then
  RemQtyToPost := RemQtyToPost - QtyToPost;
RemQtyToPost := 0.7 - 1.404
RemQtyToPost := -0.704
RemQtyToPostThisLine := ProdOrderComp."Remaining Qty. (Base)";
RemQtyToPostThisLine := 2.3
if RemQtyToPostThisLine * RemQtyToPost < 0 then
  Error(Text001);
if 2.3 * -0.704 < 0 then ERROR
Additional points that may be important.
- BC Version =25.5.30849.32457
- Location uses Directed Pick Putaway
- All items have item tracking using Lot numbers.
Any help would be appreciated!