Wrong Quantity Consumed with Backflush

A manufactured Item ABC has a component XYZ. 1 Unit of ABC requires 0.0061 of XYZ. A Production Order is created for 1000 Units of ABC, this should consume 6.1 UNITS of XYZ. The Rounding Precision is set to 1 on the Item XYZ and XYZ can only be issued in complete UNITS. The Consumption Journal issues 6 Bars instead of 7 Bars, is this because Navision rounds to the nearest 1 so gets 6.0 instead of 7. Is there someway around this so that Navision always issues the higher quantity? The version is 4.0 SP1 on native database. Thanks

I am not a developer but this is listed for you under article 905473.

quote:

SYMPTOMS If a rounding precision is defined and the backward flushing method in an item card in Microsoft Business Solutions - Navision 4.0 is used, the consumption process for a production order may post the wrong amount.

quote:

RESOLUTION Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. To resolve this problem, modify the GetNeededQty function in Table 5407. Existing code
IF IncludePreviousPosting THEN BEGIN IF Status IN [Status::Released,Status::Finished] THEN CALCFIELDS("Act. Consumption (Qty)"); EXIT( ROUND( ((CompQtyBase - "Act. Consumption (Qty)") / "Qty. per Unit of Measure"), Item."Rounding Precision")) END ELSE EXIT(ROUND(CompQtyBase / "Qty. per Unit of Measure",Item."Rounding Precision")); 

quote:

Replacement code
IF IncludePreviousPosting THEN BEGIN IF Status IN [Status::Released,Status::Finished] THEN CALCFIELDS("Act. Consumption (Qty)"); EXIT( ROUND( ((CompQtyBase - "Act. Consumption (Qty)") / "Qty. per Unit of Measure"), Item."Rounding Precision",'>')) // add direction parameter '>' END ELSE EXIT(ROUND(CompQtyBase / "Qty. per Unit of Measure",Item."Rounding Precision",'>')); // add direction parameter '>'

quote:

STATUS Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the “Applies to” section. This problem is scheduled to be corrected in Microsoft Navision 4.0 Service Pack 2.

Thanks for that.