Šis straipsnis taikomas visoms lokalėms „Microsoft“ Dynamics NAV.
Požymiai
Klientui sukuriate priminimą arba delspinigių pažymą naudodami "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketą (SP1). Tada sukuriamas apvalinimo SF įrašas. Tačiau kai bandote sukurti antrą priminimo pažymą arba delspinigių pažymą klientui, gaunate vieną iš šių klaidų pranešimų:
Pastaba
Delspinigių pažymos eilutė jau yra
Pastaba
Priminimo pažymos eilutė jau yra
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 jūsų rimtai neveikia ši problema, rekomenduojame palaukti kito "„Microsoft“ Dynamics NAV 5.0" 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:
Pakeiskite priminimo pažymos antraštės lentelės (295) funkcijos InsertLines kodą taip:
Esamas kodas... ReminderLevel."Reminder Terms Code",ReminderLevel."No.","Currency Code") ELSE CurrencyForReminderLevelFound := FALSE; // Delete the following lines. IF (NOT CurrencyForReminderLevelFound AND (ReminderLevel."Additional Fee (LCY)" <> 0)) OR (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <> 0)) THEN BEGIN ReminderLine.RESET; ReminderLine.SETRANGE("Reminder No.","No."); ReminderLine.SETRANGE("Line Type",ReminderLine."Line Type"::ReminderLine); ReminderLine."Reminder No." := "No."; IF ReminderLine.FIND('+') THEN NextLineNo := ReminderLine."Line No." ELSE NextLineNo := 0; ReminderLine.SETRANGE("Line Type"); ReminderLine2 := ReminderLine; ReminderLine2.COPYFILTERS(ReminderLine); IF ReminderLine2.NEXT <> 0 THEN BEGIN LineSpacing := (ReminderLine2."Line No." - ReminderLine."Line No.") DIV 3; END ELSE LineSpacing := 10000; InsertBlankLine(ReminderLine."Line Type"::"Additional Fee"); // End of the deleted lines. NextLineNo := NextLineNo + LineSpacing; ReminderLine.INIT; ReminderLine."Line No." := NextLineNo; ...Pakeitimo kodas
... ReminderLevel."Reminder Terms Code",ReminderLevel."No.","Currency Code") ELSE CurrencyForReminderLevelFound := FALSE; // Add the following lines. IF (NOT CurrencyForReminderLevelFound) OR (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <>0)) THEN BEGIN ReminderLine.RESET; ReminderLine.SETRANGE("Reminder No.","No."); ReminderLine.SETRANGE("Line Type",ReminderLine."Line Type"::ReminderLine); ReminderLine."Reminder No." := "No."; IF ReminderLine.FIND('+') THEN NextLineNo := ReminderLine."Line No." ELSE NextLineNo := 0; ReminderLine.SETRANGE("Line Type"); ReminderLine2 := ReminderLine; ReminderLine2.COPYFILTERS(ReminderLine); IF ReminderLine2.NEXT <> 0 THEN BEGIN LineSpacing := (ReminderLine2."Line No." - ReminderLine."Line No.") DIV 3; END ELSE LineSpacing := 10000; InsertBlankLine(ReminderLine."Line Type"::"Additional Fee"); END; IF (NOT CurrencyForReminderLevelFound AND (ReminderLevel."Additional Fee (LCY)" <>0)) OR (CurrencyForReminderLevelFound AND (CurrencyForReminderLevel."Additional Fee" <> 0)) THEN BEGIN // End of the added lines. NextLineNo := NextLineNo + LineSpacing; ReminderLine.INIT; ReminderLine."Line No." := NextLineNo; ...Pakeiskite delspinigių pažymos antraštės lentelės (302) funkcijos InsertLines kodą tokiu būdu:
Esamas kodas... BEGIN TESTFIELD("Fin. Charge Terms Code"); FinChrgTerms.GET("Fin. Charge Terms Code"); // Delete the following lines. IF FinChrgTerms."Additional Fee (LCY)" <> 0 THEN BEGIN FinChrgMemoLine.RESET; FinChrgMemoLine.SETRANGE("Finance Charge Memo No.","No."); FinChrgMemoLine."Finance Charge Memo No." := "No."; IF FinChrgMemoLine.FIND('+') THEN NextLineNo := FinChrgMemoLine."Line No." ELSE NextLineNo := 0; IF (FinChrgMemoLine.Type <>FinChrgMemoLine.Type::" ") OR (FinChrgMemoLine.Description <> '') THEN BEGIN LineSpacing := 10000; InsertBlankLine(FinChrgMemoLine."Line Type"::"Finance Charge Memo Line"); END; // End of the deleted lines. NextLineNo := NextLineNo + 10000; FinChrgMemoLine.INIT; FinChrgMemoLine."Line No." := NextLineNo; ...Pakeitimo kodas
... BEGIN TESTFIELD("Fin. Charge Terms Code"); FinChrgTerms.GET("Fin. Charge Terms Code"); // Add the following lines. FinChrgMemoLine.RESET; FinChrgMemoLine.SETRANGE("Finance Charge Memo No.","No."); FinChrgMemoLine."Finance Charge Memo No." := "No."; IF FinChrgMemoLine.FIND('+') THEN NextLineNo := FinChrgMemoLine."Line No." ELSE NextLineNo := 0; IF (FinChrgMemoLine.Type <> FinChrgMemoLine.Type::" ") OR (FinChrgMemoLine.Description <>'') THEN BEGIN LineSpacing := 10000; InsertBlankLine(FinChrgMemoLine."Line Type"::"Finance Charge Memo Line"); END; IF FinChrgTerms."Additional Fee (LCY)" <> 0 THEN BEGIN // End of the added lines. NextLineNo := NextLineNo + 10000; FinChrgMemoLine.INIT; FinChrgMemoLine."Line No." := NextLineNo; ...
Būtinosios sąlygos
Norėdami taikyti šią karštąją pataisą, turite įdiegti "„Microsoft“ Dynamics NAV 2009 SP1".
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: 212317
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 .