Ta članek velja za Microsoft Dynamics NAV za vse države in vse jezikovne območne nastavitve.
Razmislite o tem scenariju v aplikaciji Microsoft Dynamics NAV 5.0:
- Imate smetnjak, v katerem je element, ki uporablja drugačno mersko enoto (UoM).
- Obstaja pretvorba med obema UoM.
- Element premaknete iz koša v drug smetnjak.
- V gibanju je potrebna pretvorba UoM.
- Funkcijo premikanja skladišča zaženete v pogovornem oknu Premiki delovnih listov za izdelek.
V tem scenariju so vrstice pretvorbe UmM nepravilno ustvarjene v predlogu premika skladišča.
Znaki
Informacije o sprotnem popravku
Podprt sprotni popravek je zdaj na voljo pri Microsoftu. Vendar pa je namenjen le odpravljanju težave, ki je opisana v tem članku. Uporabite ga samo za sisteme, ki imajo to težavo. Ta sprotni popravek bo morda dodatno preučen. Če vas ta težava ne prizadene, priporočamo, da počakate na naslednji servisni paket za Microsoft Dynamics NAV 2009 ali naslednjo različico storitve Microsoft Dynamics NAV, ki vsebuje ta sprotni popravek.
Opomba V posebnih primerih se lahko stroški, ki običajno nastanejo za klice podpore, prekličejo, če strokovnjak za tehnično podporo za Microsoft Dynamics in sorodne izdelke ugotovi, da bo določena posodobitev odpravila vašo težavo. Običajni stroški podpore bodo veljali za dodatna vprašanja o podpori in težave, ki ne izpolnjujejo pogojev za določeno zadevno posodobitev.
Rešitev
Informacije o namestitvi
Microsoft ponuja primere programiranja samo za ponazoritev, brez izrecnega ali implicitnega jamstva. To vključuje, vendar ni omejeno na, implicitna jamstva primernosti za prodajo ali primernost za določen namen. V tem članku je predvideno, da ste seznanjeni s programskim jezikom, ki je prikazan, in z orodji, ki se uporabljajo za ustvarjanje in odpravljanje napak v postopkih. Microsoftovi inženirji za podporo vam lahko pomagajo razložiti funkcionalnost določenega postopka, vendar teh primerov ne bodo spremenili, da bi zagotovili dodano funkcionalnost ali ustvarili postopke, ki ustrezajo vašim posebnim zahtevam.
Opomba Preden namestite ta sprotni popravek, preverite, ali so vsi uporabniki odjemalca Microsoft Navision odjavljeni iz sistema. To vključuje uporabnike odjemalcev Microsoft Navision Application Services (NAS). Pri uvedbi tega sprotnega popravka bi morali biti edini uporabnik odjemalca, ki je prijavljen.
Če želite izvesti ta sprotni popravek, morate imeti licenco za razvijalce.
Priporočamo, da se uporabniškemu računu v oknu »Prijave v sistem Windows« ali v oknu »Prijave v zbirko podatkov« dodeli ID vloge »SUPER«. Če uporabniškemu računu ni mogoče dodeliti ID-ja vloge »SUPER«, morate preveriti, ali ima uporabniški račun ta dovoljenja:
- Dovoljenje »Spremeni« za predmet, ki ga boste spremenili.
- Dovoljenje za izvajanje za predmet ID sistemskega objekta 5210 in za predmet ID sistemskega objekta 9015.
Opomba Ni vam treba imeti pravic do shramb podatkov, razen če morate opraviti popravilo podatkov.
Spremembe kode
Opomba Popravke kode vedno preskusite v nadzorovanem okolju, preden jih uporabite v proizvodnih računalnikih.
Če želite odpraviti to težavo, sledite tem korakom:
Spremenite kodo v funkciji CreateTempLine2 v kodni enoti »Ustvari izbiro« (7312), kot sledi:
Obstoječa koda 1... IF QtytoPick > 0 THEN BEGIN QtytoPick := QtytoPick - ROUND( CalcPickQtyAssigned( //Delete the following line. LocationCode,ItemNo,VariantCode,'',TempWhseItemTrkgLine) ...Nadomestna koda 1
... IF QtytoPick > 0 THEN BEGIN QtytoPick := QtytoPick - ROUND( CalcPickQtyAssigned( //Add the following line. LocationCode,ItemNo,VariantCode,UnitofMeasureCode,'',TempWhseItemTrkgLine) ...Obstoječa koda 2
... IF QtytoPick > 0 THEN BEGIN QtytoPick := QtytoPick - ROUND( CalcPickQtyAssigned( //Delete the following line. LocationCode,ItemNo,VariantCode,'',TempWhseItemTrkgLine) ...Nadomestna koda 2
... IF QtytoPick > 0 THEN BEGIN QtytoPick := QtytoPick - ROUND( CalcPickQtyAssigned( //Add the following line. LocationCode,ItemNo,VariantCode,UnitofMeasureCode,'',TempWhseItemTrkgLine) ...Obstoječa koda 3
... QtyPerUnitofMeasure,0.00001); QtytoPickBase := QtytoPickBase - CalcPickQtyAssigned( //Delete the following line. LocationCode,ItemNo,VariantCode,'',TempWhseItemTrkgLine); ...Nadomestna koda 3
... QtyPerUnitofMeasure,0.00001); QtytoPickBase := QtytoPickBase - CalcPickQtyAssigned( //Add the following line. LocationCode,ItemNo,VariantCode,UnitofMeasureCode,'',TempWhseItemTrkgLine); ...Spremenite kodo v funkciji InsertTmpActLnFromMovWkshLine v kodni enoti »Ustvari izbiro« (7312), kot sledi:
Obstoječa koda... LocationCode,FromBinCode,ItemNo,VariantCode,WhseWkshLine."From Unit of Measure Code"); FromBinContent.CALCFIELDS(Quantity,"Pick Qty.","Neg. Adjmt. Qty."); PickQtyAssigned := ROUND( CalcPickQtyAssigned( //Delete the following line. LocationCode,ItemNo,VariantCode,WhseWkshLine."From Bin Code",TempWhseItemTrkgLine) ...Nadomestna koda
... LocationCode,FromBinCode,ItemNo,VariantCode,WhseWkshLine."From Unit of Measure Code"); FromBinContent.CALCFIELDS(Quantity,"Pick Qty.","Neg. Adjmt. Qty."); PickQtyAssigned := ROUND( CalcPickQtyAssigned( //Add the following lines. LocationCode,ItemNo,VariantCode, WhseWkshLine."From Unit of Measure Code", WhseWkshLine."From Bin Code",TempWhseItemTrkgLine) //End of the lines. ...Spremenite kodo v funkciji FindBWPickBin v kodni enoti »Ustvari izbiranje« (7312), kot sledi:
Obstoječa koda... IF QtyToPickBase > 0 THEN BEGIN QtyToPickBase := QtyToPickBase - ROUND( CalcPickQtyAssigned( //Delete the following line. LocationCode,ItemNo,VariantCode,"Bin Code",TempWhseItemTrkgLine) ...Nadomestna koda
... IF QtyToPickBase > 0 THEN BEGIN QtyToPickBase := QtyToPickBase - ROUND( CalcPickQtyAssigned( //Add the following lines. LocationCode,ItemNo,VariantCode,"Bin Code","Unit of Measure Code", TempWhseItemTrkgLine) //End of the lines. ...Dodajte novo lokalno spremenljivko v funkcijo CalcPickQtyAssigned v kodni enoti »Ustvari izbiranje« (7312) in določite spremenljivko, kot sledi:
- Ime: UOMCode@1004
- Podatkovni tip: Koda
- Dolžina: 10
Spremenite kodo v funkciji CalcPickQtyAssigned v kodni enoti »Ustvari izbiranje« (7312) na to:
... END ELSE BEGIN SETRANGE("Action Type","Action Type"::" "); SETRANGE("Bin Code",''); END; SETRANGE("Variant Code",VariantCode); //Add the following lines. IF UOMCode <> '' THEN SETRANGE("Unit of Measure Code",UOMCode); //End of the lines. ...Kodo v funkciji CalcTotalAvailQtyToPick v kodni enoti »Ustvari izbiranje« (7312) spremenite na naslednji način:
Obstoječa koda... QtyAssignedPick := //Delete the following line. CalcPickQtyAssigned(LocationCode,ItemNo,VariantCode,'',TempWhseItemTrkgLine2);Nadomestna koda
... QtyAssignedPick := //Add the following line. CalcPickQtyAssigned(LocationCode,ItemNo,VariantCode,'','',TempWhseItemTrkgLine2);
Pogoji
Če želite uporabiti ta sprotni popravek, morate imeti nameščen Microsoft Dynamics NAV 5.0.
Podatki o odstranitvi
Tega sprotnega popravka ne morete odstraniti.
Microsoft je potrdil, da gre za težavo v Microsoftovih izdelkih, ki so navedeni v razdelku »Velja za«.
Stanje
Opomba To je članek »FAST PUBLISH«, ustvarjen neposredno v Microsoftovi organizaciji za podporo. Informacije, ki jih vsebuje ta dokument, so na voljo kot odgovor na nastajajoča vprašanja. Zaradi hitrosti dajanja na voljo lahko gradivo vsebuje tipografske napake in jih je mogoče kadar koli brez predhodnega obvestila revidirati. Za druge pomisleke glejte Pogoje uporabe .