Tulokset ovat erilaiset Varastokortti-raportissa (16785) ja Kokeilusaldo-raportissa (16702) Microsoft Dynamics NAV:n kreikankielisessä versiossa.

Käytetään kohteeseen
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

Tämä artikkeli koskee Microsoft Dynamics NAV -ohjelmaa kreikan (gr) kielikielellä.

Ongelman ilmenemistapa

Jos valitset sekä Automaattinen kustannusten kirjaus -valintaruudun että Odotetun kustannusten kirjaamisen -valintaruudun Microsoft Dynamics NAV:n kreikkalaisessa versiossa, odotettuun kustannussummaan luotuja virheellisiä kirjanpitomerkintöjä ei peruuteta. Tämän vuoksi Trial Balance -raportin (16702) tulos eroaa Varastokortti-raportin (16785) tuloksesta. 
Tämä ongelma ilmenee seuraavissa tuotteissa:

  • Microsoft Dynamics NAV 2009 Service Pack 1:n kreikkalainen versio (SP1)
  • Microsoft Dynamics NAV 5.0 Service Pack 1:n kreikkalainen versio (SP1)

Syy

Tämä ongelma ilmenee, koska nimikekustannukset lasketaan kaksi kertaa pääkirjanpidon merkinnöissä. Kustannus lasketaan odotettuna kustannuksena kerran, ja kustannukset lasketaan toteutuneet kustannukset toisen kerran.

Ratkaisu

Hotfix-tiedot

Tuettu hotfix-korjaus on nyt saatavilla Microsoftilta. Sen tarkoituksena on kuitenkin korjata vain tässä artikkelissa kuvattu ongelma. Käytä sitä vain järjestelmissä, joissa on tämä ongelma. Tämä hotfix-korjaus voi saada lisätestejä. Jos ongelma ei siis vaikuta sinuun vakavasti, suosittelemme odottamaan seuraavaa Microsoft Dynamics NAV 2009 Service Pack -pakettia tai seuraavaa Microsoft Dynamics NAV -versiota, joka sisältää tämän hotfix-korjauksen.

Huomautus Erityistapauksissa tukipuheluista tavallisesti aiheutuvat maksut voidaan peruuttaa, jos Microsoft Dynamicsin ja siihen liittyvien tuotteiden teknisen tuen asiantuntija määrittää, että tietty päivitys ratkaisee ongelmasi. Tavanomaiset tukikustannukset koskevat muita tukikysymyksiä ja -ongelmia, jotka eivät ole oikeutettuja kyseiseen päivitykseen.

            
          

Asennustiedot

Microsoft tarjoaa ohjelmointiesimerkkejä vain havainnollistamista varten ilman ilmaistua tai oletettua takuuta. Tämä sisältää muun muassa oletetut takuut soveltuvuudesta kaupankäynnin kohteeksi tai sopivuudesta tiettyyn tarkoitukseen. Tässä artikkelissa oletetaan, että tunnet ohjelmointikielen, jota esitellään, sekä työkalut, joita käytetään toimintosarjojen luomiseen ja virheenkorjaukseen. Microsoftin tukihenkilöt voivat auttaa selittämään tietyn menettelyn toiminnallisuuden, mutta he eivät muokkaa näitä esimerkkejä niin, että ne tarjoaisivat lisätoimintoja tai laativat menetelmiä erityisvaatimusten täyttämiseksi.

Huomautus Varmista ennen tämän hotfix-korjauksen asentamista, että kaikki Microsoft Navision -asiakasohjelman käyttäjät ovat kirjautuneet ulos järjestelmästä. Tämä koskee myös Microsoft Navision Application Services (NAS) -asiakaskäyttäjiä. Sinun pitäisi olla ainoa asiakaskäyttäjä, joka on kirjautunut sisään, kun otat tämän hotfix-korjauksen käyttöön.

Jotta voit ottaa tämän hotfix-korjauksen käyttöön, sinulla on oltava kehittäjän käyttöoikeus.

Suosittelemme, että käyttäjätilille, joka on Windowsin kirjautumisikkunassa tai Tietokannan kirjautumiset -ikkunassa, määritetään "SUPER"-roolitunnus. Jos käyttäjätilille ei voi määrittää "SUPER"-roolitunnusta, sinun on varmistettava, että käyttäjätilillä on seuraavat käyttöoikeudet:

  • Muutettavan objektin Muokkaa-käyttöoikeus.
  • System Object ID 5210 -objektin ja System Object ID 9015 -objektin Suoritus-oikeus.

                
Huomautus Sinulla ei tarvitse olla oikeuksia tietosäilöihin, ellei sinun tarvitse korjata tietoja.

Koodin muutokset

Huomautus Testaa koodikorjaukset aina valvotussa ympäristössä, ennen kuin otat korjaukset käyttöön tuotantotietokoneissasi.
Voit ratkaista tämän ongelman seuraavasti:

  1. Muuta BufferInvtPosting-funktion koodi varaston kirjaus G/L-koodiin (5802) seuraavasti:
    Aiemmin luotu koodi

    ...
    // 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;
    ...
    

    Korvaava koodi

    ...
    // 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;
    ...
    
  2. Muuta BufferInvtPosting-funktion koodi varaston kirjaus G/L-koodiin (5802) seuraavasti:

    …
    
    // 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)";
    …
    
  3. Muuta CalcExpCost-funktion koodi varaston kirjaus G/L-koodiin (5802) seuraavasti:
    Aiemmin luotu koodi

    ...
    QtyNotInv := Quantity - QtyNotInv;
    AdjdCost := ROUND(AdjdCost * QtyNotInv / Quantity,RoundPrecision);
    ...
    

    Korvaava koodi

    ...
    QtyNotInv := Quantity - QtyNotInv;
    
    //Add the following line.
    IF QtyNotInv <> 0 THEN
    
    AdjdCost := ROUND(AdjdCost * QtyNotInv / Quantity,RoundPrecision);
    ...
    
  4. Muuta CalcPeriodAverageCost-funktion koodia Arvonmäärityksen koontinumerossa (16783) seuraavasti:
    Aiemmin luotu koodi

    ...
    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;
    ...
    

    Korvaava koodi

    ...
    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;
    ...
    

            
          

Edellytykset

Sinulla on oltava asennettuna jokin seuraavista tuotteista, jotta voit käyttää tätä hotfix-korjausta:

  • Microsoft Dynamics NAV 2009 Service Pack 1:n kreikkalainen versio (SP1)
  • Microsoft Dynamics NAV 5.0 Service Pack 1:n kreikkalainen versio (SP1)

Poistotiedot

Et voi poistaa tätä hotfix-korjausta.

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.

Huomautus Tämä on FAST PUBLISH -artikkeli, joka on luotu suoraan Microsoftin tukiorganisaatiosta. Tässä annetut tiedot annetaan sellaisenaan vastauksena uusiin ongelmiin. Koska materiaalit ovat nopeasti käytettävissä, ne voivat sisältää typografisia virheitä, ja niitä voidaan muuttaa milloin tahansa ilman ennakkoilmoitusta. Lisätietoja on ohjeaiheessa Käyttöehdot .