Za vnos v knjigo postavk v aplikaciji Microsoft Dynamics NAV je ustvarjenih več količin

Velja za
Dynamics NAV 2009

Hitro objavljeni članki zagotavljajo informacije neposredno iz Microsoftove organizacije za podporo. Informacije, ki jih vsebuje ta dokument, so ustvarjene kot odziv na nastajajoče ali edinstvene teme ali pa so namenjene dopolnitvi drugih informacij iz zbirke znanja.
 Microsoft Business Solutions-Navision 4.0 in Microsoft Navision 4.0 sta zdaj del Microsoft Dynamics NAV 4.0. Vsa sklicevanja na Microsoft Business Solutions-Navision ali Microsoft Navision 4.0 se nanašajo na Microsoft Dynamics NAV.

Ta članek velja za Microsoft Dynamics NAV za vse regije.

Znaki

Oglejte si ta scenarij:

  • V pogovornem oknu Vrstice za sledenje elementom ustvarite dve vrstici za sledenje elementom, ki imata serijske številke, določene za element SNALL.
  • Serijsko številko v vrstici spremenite tako, da je enaka serijski številki v drugi vrstici.
  • Pogovorno okno Vrstice za sledenje elementu zaprete, ne da bi zapustili polje Serijska številka.

V tem primeru Microsoft Dynamics NAV sprejme podvojeno serijsko številko, količina serijske številke pa se spremeni v dve. Zato se za vnos v knjigo postavk ustvari več količin.

Ta težava se pojavi v teh izdelkih:

  • Servisni paket SP1 za Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 5.0 s servisnim paketom SP1
  • Servisni paket SP3 za Microsoft Dynamics NAV 4.0 (servisni paket SP3)

Rešitev

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 ali naslednjo različico sistema 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.

            
          

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 v servisnem paketu SP1 za Microsoft Dynamics NAV 2009, spremenite kodo na sprožilcu OnModifyRecord v obrazcu Vrstice za sledenje elementom (6510) in na strani Vrstice za sledenje elementom (6510), kot sledi:

Obstoječa koda

...
// Delete the following line.
                     IF NOT TestTempSpecificationExists THEN

                       MODIFY;

                     IF (xRec."Lot No." <> "Lot No.") OR (xRec."Serial No." <> "Serial No.") THEN BEGIN
                       xTempTrackingSpec := xRec;
                       ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                         xTempTrackingSpec,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,2);
                     END;

                     IF TempItemTrackLineModify.GET("Entry No.") THEN
                       TempItemTrackLineModify.DELETE;
                     IF TempItemTrackLineInsert.GET("Entry No.") THEN BEGIN
                       TempItemTrackLineInsert.TRANSFERFIELDS(Rec);
                       TempItemTrackLineInsert.MODIFY;
                       ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                         TempItemTrackLineInsert,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,1);
                     END ELSE BEGIN
                       TempItemTrackLineModify.TRANSFERFIELDS(Rec);
                       TempItemTrackLineModify.INSERT;
                       ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                         TempItemTrackLineModify,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,1);
                     END;
                     CalculateSums;
...

Nadomestna koda

...
// Add the following line.
                     IF NOT TestTempSpecificationExists THEN BEGIN          

                       MODIFY;

                       IF (xRec."Lot No." <> "Lot No.") OR (xRec."Serial No." <> "Serial No.") THEN BEGIN
                         xTempTrackingSpec := xRec;
                         ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                           xTempTrackingSpec,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,2);
                       END;

                       IF TempItemTrackLineModify.GET("Entry No.") THEN
                         TempItemTrackLineModify.DELETE;
                       IF TempItemTrackLineInsert.GET("Entry No.") THEN BEGIN
                         TempItemTrackLineInsert.TRANSFERFIELDS(Rec);
                         TempItemTrackLineInsert.MODIFY;
                         ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                           TempItemTrackLineInsert,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,1);
                       END ELSE BEGIN
                         TempItemTrackLineModify.TRANSFERFIELDS(Rec);
                         TempItemTrackLineModify.INSERT;
                         ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                           TempItemTrackLineModify,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,1);
                       END;

// Add the following line.
                     END;                                                                                                 

// Tab over two space to the left for the following line.
                     CalculateSums; 
...

Če želite odpraviti to težavo v servisnem paketu SP1 za Microsoft Dynamics NAV 5.0, spremenite kodo v sprožilcu OnModifyRecord v obrazcu Vrstice za sledenje elementom (6510) na naslednji način:

Obstoječa koda

...
// Delete the following line.
                     IF NOT TestTempSpecificationExists THEN

                       MODIFY;

                     IF (xRec."Lot No." <> "Lot No.") OR (xRec."Serial No." <> "Serial No.") THEN BEGIN
                       xTempTrackingSpec := xRec;
                       ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                         xTempTrackingSpec,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,2);
                     END;

                     IF TempItemTrackLineModify.GET("Entry No.") THEN
                       TempItemTrackLineModify.DELETE;
                     IF TempItemTrackLineInsert.GET("Entry No.") THEN BEGIN
                       TempItemTrackLineInsert.TRANSFERFIELDS(Rec);
                       TempItemTrackLineInsert.MODIFY;
                       ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                         TempItemTrackLineInsert,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,1);
                     END ELSE BEGIN
                       TempItemTrackLineModify.TRANSFERFIELDS(Rec);
                       TempItemTrackLineModify.INSERT;
                       ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                         TempItemTrackLineModify,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,1);
                     END;
                     CalculateSums;
...

Nadomestna koda

...
// Add the following line.
                     IF NOT TestTempSpecificationExists THEN BEGIN          

                       MODIFY;

                       IF (xRec."Lot No." <> "Lot No.") OR (xRec."Serial No." <> "Serial No.") THEN BEGIN
                         xTempTrackingSpec := xRec;
                         ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                           xTempTrackingSpec,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,2);
                       END;

                       IF TempItemTrackLineModify.GET("Entry No.") THEN
                         TempItemTrackLineModify.DELETE;
                       IF TempItemTrackLineInsert.GET("Entry No.") THEN BEGIN
                         TempItemTrackLineInsert.TRANSFERFIELDS(Rec);
                         TempItemTrackLineInsert.MODIFY;
                         ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                           TempItemTrackLineInsert,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,1);
                       END ELSE BEGIN
                         TempItemTrackLineModify.TRANSFERFIELDS(Rec);
                         TempItemTrackLineModify.INSERT;
                         ItemTrackingDataCollection.UpdateLotSNDataSetWithChange(
                           TempItemTrackLineModify,CurrentSignFactor * SourceQuantityArray[1] < 0,CurrentSignFactor,1);
                       END;

// Add the following line.
                     END;                                                                                                 

// Tab over two space to the left for the following line.
                     CalculateSums;    
...

Če želite odpraviti to težavo v servisnem paketu SP3 za Microsoft Dynamics NAV 4.0, spremenite kodo v sprožilcu OnModifyRecord v obrazcu Vrstice za sledenje elementom (6510), kot sledi:

Obstoječa koda

...
// Delete the following line.
IF NOT TestTempSpecificationExists THEN

    TempTrackingSpec.MODIFY;

IF TempItemTrackLineModify.GET(TempTrackingSpec."Entry No.") THEN
  TempItemTrackLineModify.DELETE;
IF TempItemTrackLineInsert.GET(TempTrackingSpec."Entry No.") THEN BEGIN
  TempItemTrackLineInsert.TRANSFERFIELDS(TempTrackingSpec);
  TempItemTrackLineInsert.MODIFY;
END ELSE BEGIN
  TempItemTrackLineModify.TRANSFERFIELDS(TempTrackingSpec);
  TempItemTrackLineModify.INSERT;
END;

CalculateSums;
...

Nadomestna koda

...
// Add the following line.
IF NOT TestTempSpecificationExists THEN BEGIN

    TempTrackingSpec.MODIFY;

// Tab over two spaces for the following lines.
  IF TempItemTrackLineModify.GET(TempTrackingSpec."Entry No.") THEN
    TempItemTrackLineModify.DELETE;
  IF TempItemTrackLineInsert.GET(TempTrackingSpec."Entry No.") THEN BEGIN
    TempItemTrackLineInsert.TRANSFERFIELDS(TempTrackingSpec);
    TempItemTrackLineInsert.MODIFY;
  END ELSE BEGIN
    TempItemTrackLineModify.TRANSFERFIELDS(TempTrackingSpec);
    TempItemTrackLineModify.INSERT;
  END;
// End of the lines.

// Add the following line.
END;

CalculateSums;
...

Pogoji

Če želite uporabiti ta sprotni popravek, morate imeti nameščenega enega od teh izdelkov:

  • Servisni paket SP1 za Microsoft Dynamics NAV 2009
  • Servisni paket SP1 za Microsoft Dynamics NAV 5.0
  • Servisni paket SP3 za Microsoft Dynamics NAV 4.0

              

Podatki o odstranitvi

Tega sprotnega popravka ne morete odstraniti.

Stanje

Microsoft je potrdil, da gre za težavo v Microsoftovih izdelkih, ki so navedeni v razdelku »Velja za«.

MICROSOFT IN/ALI NJEGOVI DOBAVITELJI NE DAJEJO NOBENIH ZAGOTOVIL ALI JAMSTEV GLEDE PRIMERNOSTI, ZANESLJIVOSTI ALI TOČNOSTI INFORMACIJ, KI SO VSEBOVANE V DOKUMENTIH IN POVEZANIH GRAFIKAH, OBJAVLJENIH NA TEM SPLETNEM MESTU (»GRADIVO«), ZA KAKRŠEN KOLI NAMEN.

GRADIVO LAHKO VSEBUJE TEHNIČNE NETOČNOSTI ALI TIPOGRAFSKE NAPAKE IN JIH JE MOGOČE KADAR KOLI PREGLEDATI BREZ PREDHODNEGA OBVESTILA. V NAJVEČJEM OBSEGU, KI GA DOVOLJUJE UPOŠTEVNA ZAKONODAJA, MICROSOFT IN/ALI NJEGOVI DOBAVITELJI ZAVRAČAJO IN IZKLJUČUJEJO VSA ZAGOTOVILA, JAMSTVA IN POGOJE, IZRECNE, IMPLICITNE ALI ZAKONSKE, VKLJUČNO Z ZAGOTOVILI, JAMSTVI ALI POGOJI LASTNIŠTVA, NEKRŠITVE, ZADOVOLJIVEGA STANJA ALI KAKOVOSTI, PRIMERNOSTI ZA PRODAJO IN PRIMERNOSTI ZA DOLOČEN NAMEN V ZVEZI Z GRADIVI, VENDAR NE OMEJENO NANJE.