Sistema atlieka abiejų eilučių kaupimą, kai registruojate pardavimo užsakymą, nors tik vienoje eilutėje yra periodinio šablono kodo vertė, nurodyta švediškoje "„Microsoft“ Dynamics NAV 2009" versijoje

Taikoma
Dynamics NAV 2009

Šis straipsnis taikomas "„Microsoft“ Dynamics NAV", skirtai švedų (SE) kalbos lokalei.

Požymiai

Tarkime, kad įdiegėte karštųjų pataisų 2664429 švedų kalbos "„Microsoft“ Dynamics NAV 2009 R2" ir "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketo (SP1) versijoje. Registruojate pardavimo užsakymą, kuriame yra dvi pardavimo užsakymo eilutės. Tokiu atveju sistema atlieka abiejų eilučių kaupimą, net jei tik vienoje eilutėje yra nurodyta periodinio šablono kodo reikšmė.
  Jei norite gauti daugiau informacijos apie karštųjų pataisų 2664429, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

2664429 Užregistruotoje pardavimo SF kaupimo registravimas yra neteisingas, kai registruojate pardavimo užsakymą švedų kalba "„Microsoft“ Dynamics NAV 2009" versija

Sprendimas

Karštųjų pataisų informacija

Dabar palaikomas karštąsias pataisas galima gauti iš "„Microsoft“". Tačiau juo siekiama tik išspręsti šiame straipsnyje aprašytą problemą. Taikyti ją tik sistemoms, kuriose kilo ši konkreti problema. Ši karštoji pataisa gali būti papildomai patikrinta. Todėl, jei ši problema jūsų rimtai nepaveikė, rekomenduojame palaukti kito "„Microsoft“ Dynamics NAV 2009" pakeitimų paketo arba kitos "„Microsoft“ Dynamics NAV" versijos, kurioje yra ši karštoji pataisa.

Pastaba Ypatingais atvejais mokesčiai, kurie paprastai taikomi už palaikymo skambučius, gali būti atšaukti, jei "„Microsoft“ Dynamics" ir susijusių produktų techninio palaikymo specialistas nustato, kad konkretus naujinimas išspręs jūsų problemą. Įprastos palaikymo išlaidos bus taikomos papildomiems palaikymo klausimams ir problemoms, kurios neatitinka atitinkamo konkretaus naujinimo reikalavimų.

          

Diegimo informacija

"„Microsoft“" pateikia programavimo pavyzdžių tik iliustracijai, be išreikštų ar numanomų garantijų. Tai apima, bet neapsiriboja, numanomas tinkamumo parduoti arba tinkamumo konkrečiam tikslui garantijas. Straipsnyje laikomasi nuomonės, kad esate susipažinę su demonstruojama programavimo kalba ir įrankiais, naudojamais kuriant ir derinant procedūras. "„Microsoft“" palaikymo inžinieriai gali padėti paaiškinti konkrečios procedūros funkcionalumą. Tačiau jie nemodifikuos šių pavyzdžių, kad suteiktų papildomų funkcinių galimybių, arba nesukurs procedūrų, atitinkančių jūsų konkrečius reikalavimus.

Pastaba Prieš diegdami šią karštąją pataisą patikrinkite, ar visi "„Microsoft“ Navision" kliento vartotojai yra atsijungę nuo sistemos. Tai apima "„Microsoft“ Navision" programų tarnybų (NAS) kliento vartotojus. Turite būti vienintelis kliento vartotojas, kuris yra prisijungęs, kai įdiegiate šią karštąją pataisą.

Norėdami įdiegti šią karštąją pataisą, privalote turėti kūrėjo licenciją.

Rekomenduojame vartotojo paskyrai "Windows" prisijungimų lange arba duomenų bazės prisijungimų lange priskirti "SUPER" vaidmens ID. Jei vartotojo paskyrai negalima priskirti "SUPER" vaidmens ID, turite patikrinti, ar vartotojo paskyra turi šias teises:

  • Objekto, kurį keisite, modifikavimo teisė.
  • Sistemos objekto ID 5210 ir sistemos objekto ID 9015 objekto vykdymo teisės.

                
Pastaba: neturite turėti teisių į duomenų saugyklas, nebent turite atlikti duomenų taisymą.

Kodo keitimai

Pastaba Visada išbandykite kodo pataisas kontroliuojamoje aplinkoje prieš taikydami jas gamybos kompiuteriuose.
Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:

  1. Įtraukite naują lauką į SF įrašą. Buferinė lentelė (49), tada nurodykite lauką taip:

    • Įgalinta: Taip
    • Lauko Nr.: 11203
    • Lauko pavadinimas: PVM bazinė suma (viet.val.)
    • Duomenų tipas: Dešimtainis
  2. Pakeiskite kodą SF pašto funkcijoje Kodas. Buferinė lentelė (49):
    Esamas kodas

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

    Pakeitimo kodas

    ...
    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. Pakeiskite OnRun paleidiklio kodą, esantį pardavimų pašto kodo vienete (80), tokiu būdu:
    Esamas kodas

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

    Pakeitimo kodas

    ...
    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. Pakeiskite funkcijos FillInvPostingBuffer, esančio pardavimo pašto kodo vienete (80), kodą tokiu būdu:
    Esamas kodas

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

    Pakeitimo kodas

    ...
    //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. Pakeiskite funkcijos UpdInvPostingBuffer, esančio pardavimo pašto kodo vienete (80), kodą tokiu būdu:
    Esamas kodas

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

    Pakeitimo kodas

    ...
    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. Pakeiskite kodą OnRun paleidiklyje Purch.-Post codeunit (90) tokiu būdu:
    Esamas kodas

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

    Pakeitimo kodas

    ...
    //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. Pakeiskite funkcijos FillInvPostingBuffer, esančio Pirkimo-Post kodo vienete (90), kodą tokiu būdu:
    Esamas kodas

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

    Pakeitimo kodas

    ...
    //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. Pakeiskite funkcijos UpdInvPostingBuffer kodą Pirkimo-Post kodo vienete (90) tokiu būdu:
    Esamas kodas

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

    Pakeitimo kodas

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

Būtinosios sąlygos

Norėdami taikyti šią karštąją pataisą, turite įdiegti vieną iš šių produktų:

  • "„Microsoft“ Dynamics NAV 2009 R2" švediška versija
  • "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketo švedų kalba

Be to, norint taikyti šią karštąją pataisą, reikia įdiegti karštųjų pataisų 2664429.

Pašalinimo informacija

Šios karštosios pataisos pašalinti negalite.

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.

Pastaba: tai "SPARČIOJO PUBLIKAVIMO" straipsnis, sukurtas tiesiogiai iš "„Microsoft“" palaikymo organizacijos. Čia pateikta informacija pateikiama tokia, kokia yra, reaguojant į kylančias problemas. Dėl greito jos pateikimo medžiagoje gali būti spausdinimo klaidų ir ji gali būti peržiūrėta bet kuriuo metu be išankstinio įspėjimo. Dėl kitų aplinkybių žr. Naudojimo sąlygas .