Süsteem teeb müügitellimuse konteerimisel mõlema rea viitvõla, kuigi ainult ühel real on Microsoft Dynamics NAV 2009 rootsi versioonis määratud perioodilise malli koodi väärtus.

Rakenduskoht
Dynamics NAV 2009

See artikkel kehtib Microsoft Dynamics NAV rootsi keele (se) keele lokaadi kohta.

Sümptomid

Oletame, et installida kiirparanduse 2664429 Microsoft Dynamics NAV 2009 R2 rootsi versiooni ja Microsoft Dynamics NAV 2009 Service Pack 1 (SP1). Konteerite müügitellimuse, mis sisaldab kahte müügitellimuse rida. Sellisel juhul teeb süsteem mõlema rea viitvõla, kuigi ainult ühel real on määratud perioodilise malli koodi väärtus.
  Kiirparanduste 2664429 kohta lisateabe saamiseks klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit:

2664429 Konteeritud müügiarves on viitvõla sisestamine vale, kui konteerite microsoft Dynamics NAV 2009 rootsikeelses versioonis müügitellimuse

Lahendus

Kiirparanduse teave

Microsoftilt on nüüd saadaval toetatud kiirparandus. Siiski on see mõeldud ainult selles artiklis kirjeldatud probleemi lahendamiseks. Rakendage see ainult süsteemidele, kus esineb see konkreetne probleem. See kiirparandus võib saada täiendavaid katseid. Seega, kui see probleem ei mõjuta teid tõsiselt, soovitame oodata järgmist Microsoft Dynamics NAV 2009 hoolduspaketti või järgmist Microsoft Dynamics NAV versiooni, mis sisaldab seda kiirparandust.

Märkus. Erijuhtudel võidakse tavaliselt tugiteenuse kõnede eest tehtud tasud tühistada, kui Microsoft Dynamicsi ja seotud toodete tehniline tugitöötaja leiab, et konkreetne värskendus lahendab teie probleemi. Tavapärased toetuskulud kehtivad täiendavatele tugiteenustega seotud küsimustele ja probleemidele, mis ei vasta kõnealuse värskenduse tingimustele.

          

Installiteave

Microsoft pakub programmeerimise näiteid ainult illustreerimiseks, ilma et garantii oleks väljendatud või kaudselt. See hõlmab kaubastatavuse või kindlaks otstarbeks sobivuse kaudseid garantiisid, kuid mitte ainult. Selles artiklis eeldatakse, et olete tuttav kuvatava programmeerimiskeelega ja tööriistadega, mida kasutatakse protseduuride loomiseks ja silumiseks. Microsofti tugiteenuste insenerid saavad aidata selgitada konkreetse toimingu funktsionaalsust. Kuid need näited ei muuda neid näiteid, et pakkuda teie vajadustele vastavaid lisafunktsioone või koostada protseduure.

Märkus. Enne selle kiirparanduse installimist veenduge, et kõik Microsoft Navisioni klientrakenduse kasutajad oleksid süsteemist välja logitud. See hõlmab ka Microsoft Navision Application Servicesi (NAS) klientkasutajaid. Peaksite olema ainus klientkasutaja, kes on sisse logitud, kui rakendate selle kiirparanduse.

Selle kiirparanduse rakendamiseks peab teil olema arendaja litsents.

Soovitame, et aknas Windowsi sisselogimised või aknas Andmebaasi sisselogimised olevale kasutajakontole määrataks "SUPER" rolli ID. Kui kasutajakontole ei saa superrolli ID-d määrata, peate kontrollima, kas kasutajakontol on järgmised õigused.

  • Muudetava objekti muutmisõigus.
  • Süsteemiobjekti ID 5210 ja süsteemiobjekti ID 9015 täitmisõigus.

                
Märkus. Teil pole andmesalvede jaoks õigusi, kui te ei pea tegema andmete parandamist.

Koodi muudatused

Märkus. Enne paranduste rakendamist tööarvutitele testige koodiparandusi alati kontrollitud keskkonnas.
Probleemi lahendamiseks tehke järgmist.

  1. Lisage arve konteerimise aknas uus väli. Puhvertabel (49) ja seejärel määrake väli järgmiselt:

    • Lubatud: jah
    • Välja nr: 11203
    • Välja nimi: KM baassumma (EEK)
    • Andmetüüp: kümnendarv
  2. Muutke arve konteerimise funktsiooni Kood koodi. Puhvertabel (49) järgmiselt:
    Olemasolev kood

    ...
    IF "Currency Code" = '' THEN BEGIN
    Currency.InitRoundingPrecision;
    "Amount (LCY)" := Amount;
    "VAT Amount (LCY)" := "VAT Amount";
    "VAT Base Amount (LCY)" := "VAT Base Amount";
    END ELSE BEGIN
    ...
    
    

    Asenduskood

    ...
    IF "Currency Code" = '' THEN BEGIN
    Currency.InitRoundingPrecision;
    "Amount (LCY)" := Amount;
    "VAT Amount (LCY)" := "VAT Amount";
    
    // Add the following line.
    IF GenJnlLine."Periodic Template Code" = '' THEN
    
    "VAT Base Amount (LCY)" := "VAT Base Amount";
    END ELSE BEGIN
    ...
    
    
  3. Muutke müügijärgse koodiploki (80) päästikul OnRun olevat koodi järgmiselt.
    Olemasolev kood

    ...
    GenJnlLine."Periodic Starting Date" := InvPostingBuffer[1]."Periodic Starting Date";
    //NTR End
    GenJnlLine."IC Partner Code" := "Sell-to IC Partner Code";
    ...
    
    

    Asenduskood

    ...
    GenJnlLine."Periodic Starting Date" := InvPostingBuffer[1]."Periodic Starting Date";
    //NTR End
    
    // Add the following lines.
    IF GenJnlLine."Periodic Template Code" <> '' THEN
    GenJnlLine."VAT Base Amount (LCY)" := InvPostingBuffer[1]."VAT Base Amount (LCY)";
    // End of the lines.
    
    GenJnlLine."IC Partner Code" := "Sell-to IC Partner Code";
    ...
    
    
  4. Muutke müügijärgse koodiploki (80) funktsiooni FillInvPostingBuffer koodi järgmiselt.
    Olemasolev kood

    ...
    //NTR Start
    InvPostingBuffer[1]."Auto. Acc. Group" := SalesLine."Auto. Acc. Group";
    InvPostingBuffer[1]."Periodic Template Code" := SalesLine."Periodic Template Code";
    InvPostingBuffer[1]."Periodic Starting Date" := SalesLine."Periodic Starting Date";
    //NTR End
    UpdInvPostingBuffer;
    ...
    
    

    Asenduskood

    ...
    //NTR Start
    InvPostingBuffer[1]."Auto. Acc. Group" := SalesLine."Auto. Acc. Group";
    InvPostingBuffer[1]."Periodic Template Code" := SalesLine."Periodic Template Code";
    InvPostingBuffer[1]."Periodic Starting Date" := SalesLine."Periodic Starting Date";
    
    // Add the following lines.
    IF SalesLine."Periodic Template Code" <> '' THEN
    InvPostingBuffer[1]."VAT Base Amount (LCY)" := SalesLine.Amount;
    // End of the lines.
    
    //NTR End
    UpdInvPostingBuffer;
    ...
    
    
  5. Muutke müügijärgse koodiploki (80) funktsiooni UpdInvPostingBuffer koodi järgmiselt.
    Olemasolev kood

    ...
    InvPostingBuffer[2].Quantity + InvPostingBuffer[1].Quantity;
    IF NOT InvPostingBuffer[1]."System-Created Entry" THEN
    InvPostingBuffer[2]."System-Created Entry" := FALSE;
    InvPostingBuffer[2].MODIFY;
    END ELSE
    InvPostingBuffer[1].INSERT;
    ...
    
    

    Asenduskood

    ...
    InvPostingBuffer[2].Quantity + InvPostingBuffer[1].Quantity;
    
    // Add the following lines.
    InvPostingBuffer[2]."VAT Base Amount (LCY)" :=
    InvPostingBuffer[2]."VAT Base Amount (LCY)" + InvPostingBuffer[1]."VAT Base Amount (LCY)";
    // End of the lines.
    
    IF NOT InvPostingBuffer[1]."System-Created Entry" THEN
    InvPostingBuffer[2]."System-Created Entry" := FALSE;
    InvPostingBuffer[2].MODIFY;
    END ELSE
    InvPostingBuffer[1].INSERT;
    ...
    
    
  6. Muutke koodi Purch.-Post koodiplokis (90) OnRuni päästikul järgmiselt.
    Olemasolev kood

    ...
    //NTR End
    RunGenJnlPostLine(GenJnlLine,InvPostingBuffer[1]."Dimension Entry No.");
    UNTIL InvPostingBuffer[1].NEXT(-1) = 0;
    ...
    
    

    Asenduskood

    ...
    //NTR End
    
    // Add the following lines.
    IF GenJnlLine."Periodic Template Code" <> '' THEN
    GenJnlLine."VAT Base Amount (LCY)" := InvPostingBuffer[1]."VAT Base Amount (LCY)";
    // End of the lines.
    
    RunGenJnlPostLine(GenJnlLine,InvPostingBuffer[1]."Dimension Entry No.");
    UNTIL InvPostingBuffer[1].NEXT(-1) = 0;
    ...
    
    
  7. Muutke koodi funktsiooni FillInvPostingBuffer purch.-Post koodiplokis (90) järgmiselt.
    Olemasolev kood

    ...
    //NTR Start
    InvPostingBuffer[1]."Auto. Acc. Group" := PurchLine."Auto. Acc. Group";
    InvPostingBuffer[1]."Periodic Template Code" := PurchLine."Periodic Template Code";
    InvPostingBuffer[1]."Periodic Starting Date" := PurchLine."Periodic Starting Date";
    //NTR End
    UpdInvPostingBuffer;
    ...
    
    

    Asenduskood

    ...
    //NTR Start
    InvPostingBuffer[1]."Auto. Acc. Group" := PurchLine."Auto. Acc. Group";
    InvPostingBuffer[1]."Periodic Template Code" := PurchLine."Periodic Template Code";
    InvPostingBuffer[1]."Periodic Starting Date" := PurchLine."Periodic Starting Date";
    
    // Add the following lines.
    IF PurchLine."Periodic Template Code" <> '' THEN
    InvPostingBuffer[1]."VAT Base Amount (LCY)" := PurchLine.Amount;
    // End of the lines.
    
    //NTR End
    UpdInvPostingBuffer;
    ...
    
    
  8. Muutke koodi funktsiooni UpdInvPostingBuffer purch.-Post koodiplokis (90) järgmiselt.
    Olemasolev kood

    ...
    InvPostingBuffer[2].Quantity + InvPostingBuffer[1].Quantity;
    IF NOT InvPostingBuffer[1]."System-Created Entry" THEN
    InvPostingBuffer[2]."System-Created Entry" := FALSE;
    InvPostingBuffer[2].MODIFY;
    END ELSE
    InvPostingBuffer[1].INSERT;
    ...
    
    

    Asenduskood

    ...
    InvPostingBuffer[2].Quantity + InvPostingBuffer[1].Quantity;
    
    // Add the following lines.
    InvPostingBuffer[2]."VAT Base Amount (LCY)" :=
    InvPostingBuffer[2]."VAT Base Amount (LCY)" + InvPostingBuffer[1]."VAT Base Amount (LCY)";
    // End of the lines.
    
    IF NOT InvPostingBuffer[1]."System-Created Entry" THEN
    InvPostingBuffer[2]."System-Created Entry" := FALSE;
    InvPostingBuffer[2].MODIFY;
    END ELSE
    InvPostingBuffer[1].INSERT;
    ...
    
    

Eeltingimused

Selle kiirparanduse rakendamiseks peab teil olema installitud üks järgmistest toodetest:

  • Microsoft Dynamics NAV 2009 R2 rootsikeelne versioon
  • Microsoft Dynamics NAV 2009 Service Pack 1 rootsikeelne versioon

Lisaks peate selle kiirparanduse rakendamiseks olema kiirparanduse 2664429 installitud.

Eemaldamisteave

Seda kiirparandust ei saa eemaldada.

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Märkus. See on otse Microsofti tugiteenuste organisatsioonist loodud FAST PUBLISH-artikkel. Käesolevas artiklis sisalduv teave on esitatud kujul, mis on seotud tekkivate küsimustega. Materjali kättesaadavaks tegemise kiiruse tõttu võivad materjalid sisaldada kirjavigu ja neid võib igal ajal ette teatamata läbi vaadata. Muid kaalutlusi leiate teemast Kasutustingimused .