Options

NAV7 Costing bug: families in manufacturing

mdraskovicmdraskovic Member Posts: 24
While a lot of redesigning was done in NAV7 regarding costing engine,
some issues arise, as we implement NAV7 and manufacturing module.

This time : let's talk about family functionality :)
For families routing is common and multiple items are produced.
It's really nice feature for chemical, food and process industries !

Scenario:
- we have families (many outputs on one production order). Family consist of two items: Item1 and Item2, ration Item1 vs. Item2 60:40.
- items are on FIFO
- we have capacity ledger entries with some unit cost on WC/MC cards (example WC1 "Direct Unit Cost"=1).

- release Prod.Order for 100. You get two prod. order lines for 60 and 40.
- Click on "Statistics" (F7). Look Capacity cost. Huh ? Doubled.
- post Production Journal. Post 6hrs on Item1, 4hrs on Item2, also output.
- Click on "Statistics" (F7). Look Capacity cost. Huh ? Doubled.
- Change status to Finished.
- Cost adjusting. Look for CostAmtActual on Outputs !!! No good.

Where is the trick ? In programmer, who is technically superb, but doesn't know much about functionality, i'm afraid.

CU 5896, CalcShareOfCapCost (the "new one" :roll: ):

CalcShareOfCapCost(InvtAdjmtEntryOrder : Record "Inventory Adjmt. Entry (Order)") ShareOfCapCost : Decimal
IF InvtAdjmtEntryOrder."Order Type" = InvtAdjmtEntryOrder."Order Type"::Assembly THEN
  EXIT(1);

WITH CapLedgEntry DO BEGIN
  SETCURRENTKEY("Order Type","Order No.");
  SETRANGE("Order Type",InvtAdjmtEntryOrder."Order Type");
  SETRANGE("Order No.",InvtAdjmtEntryOrder."Order No.");
  SETRANGE("Order Line No.",InvtAdjmtEntryOrder."Order Line No.");
  SETRANGE("Routing No.",InvtAdjmtEntryOrder."Routing No.");
  SETRANGE("Routing Reference No.",InvtAdjmtEntryOrder."Routing Reference No.");
  CALCSUMS("Output Quantity");
  ShareOfCapCost := "Output Quantity";

  IF InvtAdjmtEntryOrder."Order Type" = InvtAdjmtEntryOrder."Order Type"::Production THEN
    SETRANGE("Order Line No.",InvtAdjmtEntryOrder."Order Line No.");

  CALCSUMS("Output Quantity");
  IF "Output Quantity" <> 0 THEN
    ShareOfCapCost := ShareOfCapCost / "Output Quantity";
END;


Shall we rather call this function IAlwaysReturnOne ?? :wink:

The catch is in last
SETRANGE("Order Line No.",InvtAdjmtEntryOrder."Order Line No.");
(it just must be cleared). That's it, NAV dev guys.

I'm just afraid, that there are more issues like this due to redesign of inv.costing engine...
Beer.

Answers

  • Options
    mdraskovicmdraskovic Member Posts: 24
    Solved.

    Cc: MSSolve Case Email;

    Hello,

    The following solution has been provided to resolve your issue: wrong production order cost when creating multiline production order with Source Type=Family. A summary of the solution is detailed below.

    • Symptom – Actual labor costs are doubled on Family production order statistics
    • Cause - bad code
    Resolution – in Update Rollup 2 - Fix ID 346288
    • More Information -

    ArticleID: 2843305.
    Update Rollup 2 for Microsoft Dynamics NAV 2013 (Build 34688)
    https://mbs2.microsoft.com/knowledgebas ... US;2843305

    Here the specific fix (ID 346288):

    Change Log 23. April 2013
    Lenny
  • Options
    henrikohmhenrikohm Member Posts: 30
    Thanks for the solution :-) I was experiencing the same issue.
    Best regards
    Henrik Ohm
Sign In or Register to comment.