Šis straipsnis taikomas "„Microsoft“ Dynamics NAV", skirtai rusų (ru) kalbos lokalei.
Požymiai
"„Microsoft“ Dynamics NAV 2009 R2" su 1 funkcijų paketu rusiškoje versijoje, jei PVM įrašo lentelėje (254) yra PVM paskirstymo pakeitimų operacijos, bandydami atšaukti registravimą formoje Tiekėjo knygos įrašai, gaunate šį klaidos pranešimą:
Pastaba
Prekės Nr. Item_No. neegzistuoja.
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ą, bet jie nemodifikuos šių pavyzdžių, kad suteiktų papildomų funkcinių galimybių, ir 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:
Pastaba Norėdami sukurti lauką (12490), naudokite šį .fob failą.
| Failo vardas | Failo versija | Failo dydis | Data | Laikas | Platforma |
|---|---|---|---|---|---|
| Vstf260227.fob | Netaikoma | 169,340 | 03-Bir-2011 | 10:08 | Netaikoma |
Šį failą galima atsisiųsti iš "„Microsoft“ Dynamics File Exchange Server":
https://mbs2.microsoft.com/fileexchange/?fileID=5f52394d-7020-4d24-98b4-909002c45cfe Leidimo data: 2014 m. balandžio 2 d.
"„Microsoft“" patikrino, ar šiame faile nėra virusų. "„Microsoft“" naudojo naujausią virusų aptikimo programinę įrangą, turimą failo paskelbimo metu. Failas laikomas sustiprintos saugos serveriuose, padedančiuose apsaugoti failus nuo neleistinų pakeitimų.
Pakeiskite kodą atšaukimo įrašo lentelėje (179) taip:
Įtraukti šį lauką: { 12490; ; PVM paskirstymas ; Bulio logika }
Pakeiskite funkcijos InsertReversalEntry kodą taip:
Esamas kodas... ReversalEntry."Bal. Account Type" := GLEntry."Bal. Account Type"; ReversalEntry."Bal. Account No." := GLEntry."Bal. Account No."; ReversalEntry."Line No." := NextLineNo; NextLineNo := NextLineNo + 1; ReversalEntry.INSERT; IF GLEntry.Amount > 0 THEN BEGIN GLItemLedgRelation.RESET; GLItemLedgRelation.SETRANGE("G/L Entry No.",GLEntry."Entry No."); ...Pakeitimo kodas
... ReversalEntry."Bal. Account Type" := GLEntry."Bal. Account Type"; ReversalEntry."Bal. Account No." := GLEntry."Bal. Account No."; ReversalEntry."Line No." := NextLineNo; // Add the following line. ReversalEntry."VAT Allocation" := VATAllocOnCost; // End of the added line. NextLineNo := NextLineNo + 1; ReversalEntry.INSERT; IF GLEntry.Amount >0 THEN BEGIN GLItemLedgRelation.RESET; GLItemLedgRelation.SETRANGE("G/L Entry No.",GLEntry."Entry No."); ...Pakeiskite funkcijos CheckEntries kodą taip:
Esamas kodas 1... PROCEDURE CheckEntries@14(); ...Pakeitimo kodas 1
... PROCEDURE CheckEntries@14(IsVATAllocOnCost@1000000000 : Boolean); ...Esamas kodas 2
... MaxPostingDate := 0D; IF NOT GLEntry.FIND('-') THEN ERROR(Text009,GLEntry.TABLECAPTION,GLAcc.TABLECAPTION); // Delete the following line. VATAllocOnCost := VATAllocationExist(VATEntry); // End of the deleted line. IF GLEntry.FIND('-') THEN BEGIN // Delete the following line. IF (GLEntry."Journal Batch Name" = '') AND NOT VATAllocOnCost THEN // End of the deleted line. TestFieldError; REPEAT CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount); UNTIL GLEntry.NEXT = 0; END; ...Pakeitimo kodas 2
... MaxPostingDate := 0D; IF NOT GLEntry.FIND('-') THEN ERROR(Text009,GLEntry.TABLECAPTION,GLAcc.TABLECAPTION); IF GLEntry.FIND('-') THEN BEGIN // Add the following line. IF (GLEntry."Journal Batch Name" = '') AND NOT IsVATAllocOnCost THEN // End of the added line. TestFieldError; REPEAT CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount); UNTIL GLEntry.NEXT = 0; END; ...Esamas kodas 3
... IF VATEntry.FIND('-') THEN REPEAT CheckVAT(VATEntry); UNTIL VATEntry.NEXT = 0; // Delete the following line. IF VATAllocOnCost THEN // End of the deleted line. IF ValueEntry.FIND('-') THEN REPEAT CheckItem(ValueEntry); UNTIL ValueEntry.NEXT = 0; ...3 pakeitimo kodas
... IF VATEntry.FIND('-') THEN REPEAT CheckVAT(VATEntry); UNTIL VATEntry.NEXT = 0; // Add the following line. IF IsVATAllocOnCost THEN // End of the added line. IF ValueEntry.FIND('-') THEN REPEAT CheckItem(ValueEntry); UNTIL ValueEntry.NEXT = 0; ...Pakeiskite funkcijos "SetReverseFilter" kodą taip:
Esamas kodas 1... TaxDiffEntry.SETRANGE("Transaction No.",Number); END ELSE BEGIN GLReg.GET(Number); ...Pakeitimo kodas 1
... TaxDiffEntry.SETRANGE("Transaction No.",Number); // Add the following line. ValueEntry.SETRANGE("Entry No.",0); // End of the added line. END ELSE BEGIN GLReg.GET(Number); ...Esamas kodas 2
... VATEntry.SETRANGE("Entry No.",GLReg."From VAT Entry No.",GLReg."To VAT Entry No."); GLItemLedgRelation.SETCURRENTKEY(GLItemLedgRelation."G/L Register No."); GLItemLedgRelation.SETRANGE("G/L Register No.",GLReg."No."); IF GLItemLedgRelation.FINDFIRST THEN FromValueEntryNo := GLItemLedgRelation."Value Entry No."; IF GLItemLedgRelation.FINDLAST THEN ToValueEntryNo := GLItemLedgRelation."Value Entry No."; ValueEntry.SETRANGE("Entry No.",FromValueEntryNo,ToValueEntryNo); ...Pakeitimo kodas 2
... VATEntry.SETRANGE("Entry No.",GLReg."From VAT Entry No.",GLReg."To VAT Entry No."); // Add the following lines. FromValueEntryNo := 0; ToValueEntryNo := 0; IF VATAllocOnCost THEN BEGIN // End of the added lines. GLItemLedgRelation.SETCURRENTKEY(GLItemLedgRelation."G/L Register No."); GLItemLedgRelation.SETRANGE("G/L Register No.",GLReg."No."); IF GLItemLedgRelation.FINDFIRST THEN FromValueEntryNo := GLItemLedgRelation."Value Entry No."; IF GLItemLedgRelation.FINDLAST THEN ToValueEntryNo := GLItemLedgRelation."Value Entry No."; // Add the following line. END; // End of the added line. ValueEntry.SETRANGE("Entry No.",FromValueEntryNo,ToValueEntryNo); ...Pakeiskite funkcijos VATAllocationExist kodą taip:
Esamas kodas... // Delete the following line. VATEntry2.COPYFILTERS(VATEntry2); // End of the deleted line. VATEntry2.SETRANGE("VAT Allocation Type",VATEntry2."VAT Allocation Type"::Charge); EXIT(NOT VATEntry2.ISEMPTY); ...Pakeitimo kodas
... // Add the following line. VATEntry2.COPYFILTERS(VATEntry); // End of the added line. VATEntry2.SETRANGE("VAT Allocation Type",VATEntry2."VAT Allocation Type"::Charge); EXIT(NOT VATEntry2.ISEMPTY); ...
Pakeiskite funkcijos Post kodą atvirkštinių įrašų formoje (179) taip:
Įtraukite šį vietinį kintamąjį:- Pavadinimas: VATAllocOnCost
- Duomenų tipas: Bulio logika
Esamas kodas 1
... IF TempGLReg.FINDSET THEN REPEAT ReversalEntry2.SetReverseFilter(TempGLReg."No.","Reversal Type"); // Delete the following line. ReversalEntry2.CheckEntries; // End of the deleted line. GET(1); IF "Reversal Type" = "Reversal Type"::Register THEN Number := TempGLReg."No." ELSE Number := "Transaction No."; ...Pakeitimo kodas 1
... IF TempGLReg.FINDSET THEN REPEAT // Add the following lines. SETRANGE("G/L Register No.",TempGLReg."No."); SETRANGE("VAT Allocation",TRUE); VATAllocOnCost := NOT ISEMPTY; // End of the added lines. ReversalEntry2.SetReverseFilter(TempGLReg."No.","Reversal Type"); // Add the following line. ReversalEntry2.CheckEntries(VATAllocOnCost); // End of the added line. GET(1); IF "Reversal Type" = "Reversal Type"::Register THEN Number := TempGLReg."No." ELSE Number := "Transaction No."; ...Esamas kodas 2
... UNTIL TempGLReg.NEXT = 0; END ELSE BEGIN ReversalEntry2.SetReverseFilter("Transaction No.","Reversal Type"); // Delete the following line. ReversalEntry2.CheckEntries; // End of the deleted line. GET(1); IF "Reversal Type" = "Reversal Type"::Register THEN Number := "G/L Register No." ...Pakeitimo kodas 2
... UNTIL TempGLReg.NEXT = 0; END ELSE BEGIN // Add the following lines. SETRANGE("G/L Register No.",TempGLReg."No."); SETRANGE("VAT Allocation",TRUE); VATAllocOnCost := NOT ISEMPTY; // End of the added lines. ReversalEntry2.SetReverseFilter("Transaction No.","Reversal Type"); // Add the following line. ReversalEntry2.CheckEntries(VATAllocOnCost); // End of the added line. GET(1); IF "Reversal Type" = "Reversal Type"::Register THEN Number := "G/L Register No." ...
Būtinosios sąlygos
Norėdami taikyti šią karštąją pataisą, turite įdiegti "„Microsoft“ Dynamics NAV 2009 R2" rusišką versiją su 1 funkcijų paketu.
Pašalinimo informacija
Šios karštosios pataisos pašalinti negalite.
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.
Nuorodos
VSTF DynamicsNAV SE: 260227
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 .