Šis straipsnis taikomas "„Microsoft“ Dynamics NAV" visų kalbų lokalėms:
Požymiai
Kai bandote užregistruoti perkėlimo užsakymo eilutę, kurioje yra nustatytas siuntos prekės sekimas „Microsoft“ Dynamics NAV, gaunate tokį klaidos pranešimą:
Pastaba
Apdorotinas kiekis (pagrindas) prekės nr. Prekės Nr., Serijos Nr.: Serijos Nr., Partijos Nr.: Partijos Nr. šiuo metu yra 1 kiekis. Jis turi būti 2 kiekis.
Ši problema kyla šiuose produktuose:
- "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketas (SP1)
- „„Microsoft“ Dynamics NAV 2009 R2‟
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 kodą funkcijoje SynchronizeItemTrkgTransfer lauke codeunit (6500) tokiu būdu:
Sukurkite šį vietinį kintamąjį:
- Pavadinimas: TempReservEntry
- Duomenų tipas: LAIKINAS įrašas (337)
Esamas kodas
...
FromReservEntry.COPY(ToReservEntry);
FromReservEntry.SETRANGE("Source Subtype",0);
// Delete the following lines.
IF ToReservEntry.FINDSET(TRUE) THEN
REPEAT
FromReservEntry.SETRANGE("Lot No.",ToReservEntry."Lot No.");
FromReservEntry.SETRANGE("Serial No.",ToReservEntry."Serial No.");
IF FromReservEntry.FIND('-') THEN
REPEAT
QtyToHandleBase += FromReservEntry."Qty. to Handle (Base)";
QtyToInvoiceBase += FromReservEntry."Qty. to Invoice (Base)";
UNTIL FromReservEntry.NEXT = 0;
IF ABS(QtyToHandleBase) <> ABS(ToReservEntry."Qty. to Handle (Base)") THEN BEGIN
ToReservEntry."Qty. to Handle (Base)" := -QtyToHandleBase;
ToReservEntry."Qty. to Invoice (Base)" := -QtyToInvoiceBase;
ToReservEntry.MODIFY;
END;
UNTIL ToReservEntry.NEXT = 0;
// End of the deleted lines.
...
Pakeitimo kodas
...
FromReservEntry.COPY(ToReservEntry);
FromReservEntry.SETRANGE("Source Subtype",0);
// Add the following lines.
IF ToReservEntry.FINDSET THEN
REPEAT
TempReservEntry := ToReservEntry;
TempReservEntry.INSERT;
UNTIL ToReservEntry.NEXT = 0;
TempReservEntry.SETCURRENTKEY(
"Item No.","Variant Code","Location Code","Item Tracking","Reservation Status","Lot No.","Serial No.");
IF TempReservEntry.FIND('-') THEN
REPEAT
FromReservEntry.SETRANGE("Lot No.",TempReservEntry."Lot No.");
FromReservEntry.SETRANGE("Serial No.",TempReservEntry."Serial No.");
QtyToHandleBase := 0;
QtyToInvoiceBase := 0;
IF FromReservEntry.FIND('-') THEN
REPEAT
QtyToHandleBase += FromReservEntry."Qty. to Handle (Base)";
QtyToInvoiceBase += FromReservEntry."Qty. to Invoice (Base)";
UNTIL FromReservEntry.NEXT = 0;
TempReservEntry.SETRANGE("Lot No.",TempReservEntry."Lot No.");
TempReservEntry.SETRANGE("Serial No.",TempReservEntry."Serial No.");
REPEAT
// remove already synchronized qty (can be more)
QtyToHandleBase += TempReservEntry."Qty. to Handle (Base)";
QtyToInvoiceBase += TempReservEntry."Qty. to Invoice (Base)";
TempReservEntry.DELETE;
UNTIL TempReservEntry.NEXT = 0;
TempReservEntry.SETRANGE("Lot No.");
TempReservEntry.SETRANGE("Serial No.");
IF QtyToHandleBase <> 0 THEN BEGIN
// remaining qty will be added to the last record
ToReservEntry := TempReservEntry;
ToReservEntry."Qty. to Handle (Base)" := -QtyToHandleBase;
ToReservEntry."Qty. to Invoice (Base)" := -QtyToInvoiceBase;
ToReservEntry.MODIFY;
END;
UNTIL TempReservEntry.NEXT = 0;
// End of the added lines.
...
Būtinosios sąlygos
Norėdami taikyti šią karštąją pataisą, turite įdiegti vieną iš šių produktų:
- "„Microsoft“ Dynamics NAV 2009" 1 pakeitimų paketas (SP1)
- „„Microsoft“ Dynamics NAV 2009 R2‟
Be to, norint taikyti šią karštąją pataisą, reikia įdiegti karštųjų pataisų 2495989.
Jei norite gauti daugiau informacijos apie karštąsias pataisas 2495989, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:
2495989 klaidos pranešimas "Bazinis gautinas kiekis turi būti 0", kai bandote registruoti perkėlimo užsakymo sandėlio kvitą programoje "„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: 240737
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 .