Ta članek velja za Microsoft Dynamics NAV za grške jezike (grščina).
Znaki
Če v grški različici Microsoft Dynamics NAV potrdite polji » Samodejno knjiženje stroškov « in » Knjiženje pričakovanih stroškov«, nepravilni vnosi v glavno knjigo, ki jih ustvari znesek pričakovanih stroškov, niso odpravljeni. Zato se rezultat v poročilu »Trial Balance« (16702) razlikuje od rezultata v poročilu »Warehouse Card« (16785).
Do te težave pride pri teh izdelkih:
- Grška različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009
- Grška različica servisnega paketa SP1 za Microsoft Dynamics NAV 5.0
Vzrok
Do te težave pride, ker so stroški elementa v glavni knjigi izračunani dvakrat. Strošek je izračunan kot pričakovani strošek enkrat in strošek kot dejanski strošek drugič.
Rešitev
Informacije o sprotnih popravkih
Microsoft zdaj ponuja podprt sprotni popravek. Vendar pa je njegov namen le odpraviti težavo, ki je opisana v tem članku. Uporabite ga samo v sistemih, v katerih se je spopadalo s to določeno težavo. Ta sprotni popravek bo morda dodatno pretestiran. Če ta težava ne vpliva resno, priporočamo, da počakate na naslednji servisni paket za Microsoft Dynamics NAV 2009 ali naslednjo različico Microsoft Dynamics NAV, ki vsebuje ta hitri popravek.
Opomba V posebnih primerih so klici za podporo, v katere so običajno vključeni stroški, lahko brezplačni, če strokovnjak za tehnično podporo za Microsoft Dynamics in sorodne izdelke ugotovi, da neka posodobitev lahko odpravi vašo težavo. Običajni stroški podpore veljajo za dodatna vprašanja o podpori in težavah, ki niso povezana z določeno posodobitvijo.
Informacije o namestitvi
Microsoft ponuja primere programiranja samo za ponazoritev, brez izrecnega ali naznačenega jamstva. To vključuje, vendar ni omejeno na, naznačena jamstva glede primernosti za prodajo ali določen namen. V tem članku predvidevamo, da poznate programski jezik, ki je predstavljen, in orodja, ki se uporabljajo za ustvarjanje postopkov in njihovo odpravljanje napak. Microsoftovi inženirji za podporo vam lahko pomagajo razložiti delovanje določenega postopka, vendar teh primerov ne bodo spremenili, da bi zagotovili dodatno funkcionalnost ali ustvarili postopke, ki izpolnjujejo vaše določene zahteve.
Opomba Preden namestite ta hitri popravek, preverite, ali so vsi uporabniki odjemalca Microsoft Navision odjavljeni iz sistema. To vključuje uporabnike odjemalskih storitev Microsoft Navision Application Services (NAS). Ko uvedete ta sprotni popravek, morate biti edini odjemalski uporabnik, ki je prijavljen.
Če želite uvesti ta sprotni popravek, morate imeti licenco za razvijalce.
Priporočamo, da uporabniškemu računu v oknu »Prijave v Windows« ali »Prijave v zbirko podatkov« dodelite ID vloge »SUPER«. Če uporabniškemu računu ni mogoče dodeliti ID-ja vloge »SUPER«, morate preveriti, ali ima uporabniški račun ta dovoljenja:
- Dovoljenje »Spremeni« za predmet, ki ga boste spreminjali.
- Dovoljenje za izvajanje za predmet »Sistemski predmet z ID-jem 5210« in za predmet »Sistemski predmet z ID-jem 9015«.
Opomba: Če morate popraviti podatke, vam ni treba imeti pravic do podatkovnih shramb.
Spremembe kode
Opomba: Popravke kode vedno preskusite v nadzorovanem okolju, preden jih uporabite v produkcijskih računalnikih.
To težavo odpravite tako:
Spremenite kodo v funkciji »BufferInvtPosting« v kodni enoti knjiženja zaloge v glavno transakcijo (5802) na naslednji način:
Obstoječa koda... // Dionisis Calculate Cost Differently for Manufacturing Entries. IF "Expected Cost" THEN BEGIN CalcCostToPost( ValueEntry,ExpCostToPost,CostExpected,"Expected Cost Posted to G/L",PostToGL,"Expected Cost",FALSE, "Posted Cost Component 1","Posted Cost Component 2","Posted Cost Component 3","Posted Cost Component 4", "Posted Cost Component 5"); CalcCostToPost( ValueEntry,ExpCostToPostACY,"Cost Amount (Expected) (ACY)","Exp. Cost Posted to G/L (ACY)",PostToGL,"Expected Cost",TRUE, PostedCost1ACY,PostedCost2ACY,PostedCost3ACY,PostedCost4ACY,PostedCost5ACY); END ELSE BEGIN CalcCostToPost( ValueEntry,CostToPost,CostActual,"Cost Posted to G/L",PostToGL,"Expected Cost",FALSE, "Posted Cost Component 1","Posted Cost Component 2","Posted Cost Component 3","Posted Cost Component 4", "Posted Cost Component 5"); CalcCostToPost( ValueEntry,CostToPostACY,"Cost Amount (Actual) (ACY)","Cost Posted to G/L (ACY)",PostToGL,"Expected Cost",TRUE, PostedCost1ACY,PostedCost2ACY,PostedCost3ACY,PostedCost4ACY,PostedCost5ACY); END; ...Nadomestna koda
... // Dionisis Calculate Cost Differently for Manufacturing Entries. //Add the following lines. // IF "Expected Cost" THEN BEGIN IF "Expected Cost" OR InvtSetup."Expected Cost Posting to G/L" THEN BEGIN //End of the lines. CalcCostToPost( ValueEntry,ExpCostToPost,CostExpected,"Expected Cost Posted to G/L",PostToGL,"Expected Cost",FALSE, "Posted Cost Component 1","Posted Cost Component 2","Posted Cost Component 3","Posted Cost Component 4", "Posted Cost Component 5"); CalcCostToPost( ValueEntry,ExpCostToPostACY,"Cost Amount (Expected) (ACY)","Exp. Cost Posted to G/L (ACY)",PostToGL,"Expected Cost",TRUE, PostedCost1ACY,PostedCost2ACY,PostedCost3ACY,PostedCost4ACY,PostedCost5ACY); //Add the following lines. // END ELSE BEGIN END; IF NOT "Expected Cost" THEN BEGIN //End of the lines. CalcCostToPost( ValueEntry,CostToPost,CostActual,"Cost Posted to G/L",PostToGL,"Expected Cost",FALSE, "Posted Cost Component 1","Posted Cost Component 2","Posted Cost Component 3","Posted Cost Component 4", "Posted Cost Component 5"); CalcCostToPost( ValueEntry,CostToPostACY,"Cost Amount (Actual) (ACY)","Cost Posted to G/L (ACY)",PostToGL,"Expected Cost",TRUE, PostedCost1ACY,PostedCost2ACY,PostedCost3ACY,PostedCost4ACY,PostedCost5ACY); END; ...Spremenite kodo v funkciji »BufferInvtPosting« v enoti kode knjiženja zalog za KG (5802) na to:
… // Find Actual Cost // Dionisis changed with valuation cost // CASE "Item Ledger Entry Type" OF // "Item Ledger Entry Type"::Purchase: // // GR0010.begin // // CostActual := "Entry Valuation Cost"; // "Cost Amount (Actual)"; // GR004 // CostActual := "Cost Amount (Actual)"; // // GR0010.end // "Item Ledger Entry Type"::Sale, // "Item Ledger Entry Type"::"Positive Adjmt.", // "Item Ledger Entry Type"::"Negative Adjmt.", // "Item Ledger Entry Type"::Transfer, // "Item Ledger Entry Type"::Consumption, // "Item Ledger Entry Type"::Output: // // GR0010.begin // // CostActual := "Entry Valuation Cost"; // CostActual := "Cost Amount (Actual)"; // // GR0010.end // END; // Find Expected Cost // Dionisis changed with valuation cost // CASE "Item Ledger Entry Type" OF // "Item Ledger Entry Type"::Purchase: // // GR0010.begin // //CostExpected := "Valuation Expected Cost"; // "Cost Amount (Expected)"; // GR0004 // CostExpected := "Cost Amount (Expected)"; // // GR0010.end // "Item Ledger Entry Type"::Sale: // // GR0010.begin // // CostExpected := "Valuation Expected Cost"; // CostExpected := "Cost Amount (Expected)"; // // GR0010 end // "Item Ledger Entry Type"::"Positive Adjmt.", // "Item Ledger Entry Type"::"Negative Adjmt.", // "Item Ledger Entry Type"::Transfer, // "Item Ledger Entry Type"::Consumption, // "Item Ledger Entry Type"::Output: // // GR0010.begin // //CostExpected := "Entry Valuation Cost"; //CostExpected := "Invoiced Quantity" * "Valuation Cost Per Unit"; // CostExpected := "Cost Amount (Actual)"; // // GR0010.end // END; CostActual := "Cost Amount (Actual)"; CostExpected := "Cost Amount (Expected)"; …Spremenite kodo v funkciji CalcExpCost v enoti kode knjiženja zalog v KG (5802) na naslednji način:
Obstoječa koda... QtyNotInv := Quantity - QtyNotInv; AdjdCost := ROUND(AdjdCost * QtyNotInv / Quantity,RoundPrecision); ...Nadomestna koda
... QtyNotInv := Quantity - QtyNotInv; //Add the following line. IF QtyNotInv <> 0 THEN AdjdCost := ROUND(AdjdCost * QtyNotInv / Quantity,RoundPrecision); ...Spremenite kodo v funkciji CalcPeriodAverageCost v enoti kode za upravljanje vrednotenja (16783) tako:
Obstoječa koda... WITH Item DO BEGIN SETRANGE("Date Filter",InventoryPeriod."Starting Date",InventoryPeriod."Ending Date"); SETFILTER("Location Filter",LocationFilter); CALCFIELDS("Valuation Purchases Qty","Valuation Purchases (LCY)","Valuation Expd. Cost (Purch.)", "Valuation Output Cost","Output Qty","Assembled Qty","Valuation Assembly Cost", "Valuation Transfers Qty","Valuation Transfers (LCY)"); CurrPeriodCost := "Valuation Purchases (LCY)" + "Valuation Expd. Cost (Purch.)" + "Valuation Output Cost" + "Valuation Assembly Cost" + "Valuation Transfers (LCY)"; CurrPeriodQty := "Valuation Purchases Qty" + "Output Qty" + "Assembled Qty" + "Valuation Transfers Qty"; IF "Production Method" <> "Production Method"::" " THEN CalcCostPerCostComp; END; CalcValuationCostPerUnit; ...Nadomestna koda
... WITH Item DO BEGIN SETRANGE("Date Filter",InventoryPeriod."Starting Date",InventoryPeriod."Ending Date"); SETFILTER("Location Filter",LocationFilter); //Add the following lines. //CALCFIELDS("Valuation Purchases Qty","Valuation Purchases (LCY)","Valuation Expd. Cost (Purch.)", // "Valuation Output Cost","Output Qty","Assembled Qty","Valuation Assembly Cost", // "Valuation Transfers Qty","Valuation Transfers (LCY)"); // CurrPeriodCost := "Valuation Purchases (LCY)" + "Valuation Expd. Cost (Purch.)" + "Valuation Output Cost" + // "Valuation Assembly Cost" + "Valuation Transfers (LCY)"; // CurrPeriodQty := "Valuation Purchases Qty" + "Output Qty" + "Assembled Qty" + "Valuation Transfers Qty"; CALCFIELDS("Valuation Purchases Qty","Valuation Purchases (LCY)","Valuation Expd. Cost (Purch.)", "Valuation Output Cost","Output Qty","Assembled Qty","Valuation Assembly Cost", "Inbound Transfer Qty","Inbound Transfers (LCY)"); IF IsAvgCostCalcTypeItem THEN BEGIN CurrPeriodCost := "Valuation Purchases (LCY)" + "Valuation Expd. Cost (Purch.)" + "Valuation Output Cost" + "Valuation Assembly Cost"; CurrPeriodQty := "Valuation Purchases Qty" + "Output Qty" + "Assembled Qty"; END ELSE BEGIN CurrPeriodCost := "Valuation Purchases (LCY)" + "Valuation Expd. Cost (Purch.)" + "Valuation Output Cost" + "Valuation Assembly Cost" + "Inbound Transfers (LCY)"; CurrPeriodQty := "Valuation Purchases Qty" + "Output Qty" + "Assembled Qty" + "Inbound Transfer Qty"; END; //End of the lines. IF "Production Method" <> "Production Method"::" " THEN CalcCostPerCostComp; END; CalcValuationCostPerUnit; ...
Pogoji
Če želite uporabiti ta sprotni popravek, morate imeti nameščenega enega od teh izdelkov:
- Grška različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009
- Grška različica servisnega paketa SP1 za Microsoft Dynamics NAV 5.0
Informacije o odstranitvi
Tega sprotnega popravka ne morete odstraniti.
Stanje
Microsoft je potrdil, da gre za težavo v Microsoftovih izdelkih, ki so navedeni v razdelku »Velja za«.
Opomba: To je članek »FAST PUBLISH«, ki je bil ustvarjen neposredno v organizaciji za Microsoftovo podporo. Informacije v tem dokumentu so na voljo takšne, kot odgovor na nastajajoče težave. Zaradi hitrosti njihove razpoložljivosti lahko gradivo vsebuje tipkarske napake in jih je mogoče kadarkoli pregledati brez obvestila. Za druga priporočila si oglejte Pogoje uporabe .