Klaidos pranešimas "RECORDREF kintamasis neinicijuotas", kai keičiate dviejų iš eilės einančių PVM sumas dialogo lange Pirkimo SF statistika ispanų kalbos versijoje „Microsoft“ Dynamics NAV 2009

Taikoma
Dynamics NAV 2009

Šis straipsnis taikomas "„Microsoft“ Dynamics NAV", skirtai ispanų (es) kalbos lokalei.

Požymiai

Apsvarstykime šį scenarijų ispanų kalbos "„Microsoft“ Dynamics NAV 2009 R2" ir "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketo (SP1) versijose:

  • Įgalinkite parametrą Leisti PVM skirtumą .
  • Įgalinate 39 lentelės parametrą Pakeitimų žurnalas aktyvintas .
  • Pridėtinės vertės mokesčio (PVM) sumos keičiamos dviejose iš eilės einančiose eilutėse dialogo lange Pirkimo SF statistika .
  • Sukuriate pirkimo SF, kurioje yra daugiau nei viena eilutė ir kurioje kiekvienai eilutei naudojamos skirtingos produkto PVM registravimo grupės.

Pagal šį scenarijų gausite tokį klaidos pranešimą:

Pastaba

RECORDREF kintamasis neinicijuotas.

Be to, negalite išeiti iš „Microsoft“ Dynamics NAV. Jūs turite nužudyti procesą.

Priežastis

Ši problema kyla todėl, kad pakeitimų žurnalo funkcija neveikia taip, kaip tikėtasi.

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ą, pakeiskite funkcijos UpdateVATOnLines kodą pirkimo eilutės lentelėje (39) tokiu būdu:

Esamas kodas

...
          LOCKTABLE;
          IF FINDSET THEN
            REPEAT
              IF NOT ZeroAmountLine(QtyType) THEN BEGIN
                VATAmountLine.GET("VAT Identifier","VAT Calculation Type","Tax Group Code","Use Tax","Line Amount" >= 0);

// Delete the following lines.
                 IF VATAmountLine.Modified THEN BEGIN
                   xRecRef.GETTABLE(PurchLine);
                   IF NOT TempVATAmountLineRemainder.GET(
                        "VAT Identifier","VAT Calculation Type","Tax Group Code","Use Tax","Line Amount" >= 0)
                   THEN BEGIN
                     TempVATAmountLineRemainder := VATAmountLine;
                     TempVATAmountLineRemainder.INIT;
                     TempVATAmountLineRemainder.INSERT;
-                 END;
// End of the lines.

                  IF QtyType = QtyType::General THEN
                    LineAmountToInvoice := "Line Amount"
                  ELSE
                    LineAmountToInvoice :=
                      ROUND("Line Amount" * "Qty. to Invoice" / Quantity,Currency."Amount Rounding Precision");
...

Pakeitimo kodas

...
          LOCKTABLE;
          IF FINDSET THEN
            REPEAT
              IF NOT ZeroAmountLine(QtyType) THEN BEGIN
                VATAmountLine.GET("VAT Identifier","VAT Calculation Type","Tax Group Code","Use Tax","Line Amount" >= 0);

// Add the following lines.
                  xRecRef.GETTABLE(PurchLine);
                  IF NOT TempVATAmountLineRemainder.GET(
                       "VAT Identifier","VAT Calculation Type","Tax Group Code","Use Tax","Line Amount" >= 0)
                  THEN BEGIN
                    TempVATAmountLineRemainder := VATAmountLine;
                    TempVATAmountLineRemainder.INIT;
                    TempVATAmountLineRemainder.INSERT;
                  END;

                  IF VATAmountLine.Modified THEN BEGIN
// End of the lines.

                  IF QtyType = QtyType::General THEN
                    LineAmountToInvoice := "Line Amount"
                  ELSE
                    LineAmountToInvoice :=
                      ROUND("Line Amount" * "Qty. to Invoice" / Quantity,Currency."Amount Rounding Precision");
...

Būtinosios sąlygos

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

  • "„Microsoft“ Dynamics NAV 2009 R2" ispanų kalbos versija
  • "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketo versija ispanų kalba

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 .