Denne artikkelen gjelder for Microsoft Dynamics NAV for alle land og alle språkinnstillingene.

Symptomer

Anta at du har en prosjektkladd som har mer enn én Varesporingslinjer for et element i Microsoft Dynamics NAV 2009. Når du posterer varen i prosjektkladden til en hylle, oppdateres bare lagerposter med siste varesporingslinjen som er angitt. Det er derfor en ubalanse for varen mellom lageret og varepostene.
Dette problemet oppstår i følgende produkter:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)


Oppløsning

Informasjon om hurtigreparasjon

En støttet hurtigreparasjon er nå tilgjengelig fra Microsoft. Det er imidlertid bare ment å løse problemet som er beskrevet i denne artikkelen. Bruk den bare på systemer som har dette bestemte problemet. Denne hurtigreparasjonen kan gjennomgå ytterligere testing. Hvis du ikke er alvorlig påvirket av dette problemet, anbefaler vi derfor at du venter på neste oppdateringspakke for Microsoft Dynamics NAV eller den neste versjonen av Microsoft Dynamics NAV som inneholder denne hurtigreparasjonen.

Obs! I spesielle tilfeller avgifter som vanligvis påløper for støtte samtaler kan avbrytes hvis en kundestøttemedarbeider for Microsoft Dynamics og beslektede produkter avgjør at en bestemt oppdatering løser problemet. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av den gjeldende oppdateringen.



Installasjonsinformasjon

Microsoft bruker ment som eksempler, uten garanti, verken direkte eller indirekte. Dette inkluderer, men er ikke begrenset til, eventuelle stilltiende garantier om salgbarhet eller anvendelighet for særskilte formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket som anvendes, og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt prosedyre, men de endrer ikke disse eksemplene for å lage forbedret funksjonalitet eller lage prosedyrer som dekker dine spesifikke behov.

Obs! Før du installerer denne hurtigreparasjonen, må du kontrollere at alle brukere av Microsoft Navision-klienten er logget av systemet. Dette inkluderer Microsoft Navision Application tjenester (NAS) client-brukere. Du skal bare klient-brukeren som er logget på når du implementerer denne hurtigreparasjonen.

Hvis du vil implementere denne hurtigreparasjonen, må du ha en utviklerlisens.

Vi anbefaler at kontoen i vinduet Windows-pålogging eller i vinduet Database-pålogging være tildelt "SUPER" rolle-ID. Hvis brukerkontoen ikke kan tilordnes "SUPER" rolle-IDen, må du kontrollere at brukerkontoen har følgende tillatelser:

  • Endre-tillatelse for objektet du vil endre.

  • Tilgangsnivået for systemet objekt-IDen til 5210 objektet og systemet objekt-ID-9015 -objekt.



Obs! Du har ikke tilgangsrettigheter til datalagre med mindre du har til å utføre data reparasjon.

Kodeendringer

Obs! Alltid løser teste koden i et kontrollert miljø før du installerer hurtigreparasjoner til produksjonsdatamaskiner for.
Hvis du vil løse dette problemet, følger du denne fremgangsmåten: opprette følgende lokale variabler:

  1. Legge til en ny global variabel i tabellen Prosjektkladdelinje (210), og deretter angi variabelen som følger:

    • Navn: WMSManagement

    • DataType: kodeenhet

    • Undertype: WMS Management (7302)

  2. Slett følgende kode i egenskapen TableRelation til Hylle-kode -feltet (5403) i tabellen Prosjektkladdelinje (210):

    Bin.Code WHERE (Location Code=FIELD(Location Code));
  3. Endre koden i OnValidate -utløser til hylle-kode-feltet (5403) i tabellen Prosjektkladdelinje (210) som følger:
    Eksisterende kode

    ...// Delete the following lines.
    TESTFIELD("Location Code");
    CheckItemAvailable;
    // End of the lines.
    ...

    Ny kode

    ...// Add the following lines.
    TESTFIELD("Location Code");
    IF "Bin Code" <> '' THEN BEGIN
    GetLocation("Location Code");
    Location.TESTFIELD("Bin Mandatory");
    END;
    TESTFIELD(Type,Type::Item);
    CheckItemAvailable;
    WMSManagement.FindBinContent("Location Code","Bin Code","No.","Variant Code",'')
    // End of the lines.
    ...
  4. Legge til en ny lokal variabel i Hyllekode - OnLookup triggerin tabellen Prosjektkladdelinje (210), og deretter angi variabelen som følger:

    • Navn: BinCode

    • DataType: - kode

    • Lengde: 20

  5. Legg til følgende kode i Hyllekode - OnLookup utløser i tabellen Prosjektkladdelinje (210):

    TESTFIELD("Location Code");TESTFIELD(Type,Type::Item);
    BinCode := WMSManagement.BinContentLookUp("Location Code","No.","Variant Code",'',"Bin Code");
    IF BinCode <> '' THEN
    VALIDATE("Bin Code",BinCode);
  6. Endre verdien for egenskapen OptionString i feltet Kildedokumentet (25) i tabellen lagerkladdelinjen (7311) til følgende:
    OptionString=, S. ordre, faktura S., S. kreditnotaen, S. ordreretur, bestilling P., P. faktura, Salgskr.nota, Salgskr.nota, Ordreretur, bestilling, Salgsfakt. Overføre Outb. Overføring, Produksjonsforbruk. Forbruk, vare opps., Vareutvalg for vareopptelling åpnes. Opps., Reklass.kladdemaler. Opps., forbruk opps., opps., Stykkliste opps., tjeneste utleveringsordre, jobb opps.

  7. Endre verdien for egenskapen OptionString i feltet Referansedokument (60) i tabellen lagerkladdelinjen (7311) til følgende:
    OptionString= , bokført varemottak, bokført P. avrund.presisjon, faktura(NOK), bokført fakt.nr. varemottak, bokført P., kreditnota, bokført følgeseddel, bokført S. avrund.presisjon, faktura(NOK), bokført fakt.nr. følgeseddel, bokført S., kreditnota, bokført T. mottak, bokført følgeseddel T., vare Journal, Bokføringsgruppe, plassering, plukking, flytting, Stykklistekladd og prosjektkladden

  8. Endre verdien for egenskapen OptionString i feltet kildedokumentet (25) i tabellen Lagerpost (7312) til følgende:
    OptionString=, S. ordre, faktura S., S. kreditnotaen, S. ordreretur, bestilling P., P. faktura, Salgskr.nota, Salgskr.nota, Ordreretur, bestilling, Salgsfakt. Overføre Outb. Overføring, Produksjonsforbruk. Forbruk, vare opps., Vareutvalg for vareopptelling åpnes. Opps., Reklass.kladdemaler. Opps., forbruk opps., opps., Stykkliste opps., Serv. utleveringsordre, jobb opps.

  9. Endre verdien for egenskapen OptionString i feltet referansedokument (60) i tabellen Lagerpost (7312) til følgende:
    OptionString= , bokført varemottak, bokført P. avrund.presisjon, faktura(NOK), bokført fakt.nr. varemottak, bokført P., kreditnota, bokført følgeseddel, bokført S. avrund.presisjon, faktura(NOK), bokført fakt.nr. følgeseddel, bokført S., kreditnota, bokført T. mottak, bokført følgeseddel T., vare Journal, Bokføringsgruppe, plassering, plukking, flytting, Stykklistekladd og prosjektkladden

  10. Endre egenskapen Visible for lokasjonskoden kontrollen (60) i skjemaet prosjektkladden (201) som følger:
    Eksisterende kode

    Visible = Yes

    Ny kode

    Visible = No
  11. Legg til feltet Hyllekode mellom Lokasjonskode -feltet og feltet Arbeidstypekode i prosjektkladden-skjemaet (201), og deretter angir du feltet som følger:

    ...{ 61 ;Label ;0 ;0 ;0 ;0 ;ParentControl=60;
    InColumnHeading=Yes }

    // Add the following lines.
    { 102 ;TextBox ;35507;1650 ;1700 ;440 ;ParentControl=1;
    InColumn=Yes;
    SourceExpr="Bin Code" }
    { 103 ;Label ;0 ;0 ;0 ;0 ;ParentControl=102;
    InColumnHeading=Yes }
    // End of the lines.

    { 48 ;TextBox ;11430;2530 ;1650 ;440 ;ParentControl=1;
    ...
  12. Legge til en ny global variabel i jobben varekld.-poster linje kodeenhet (1012), og deretter angi variabelen slik:

    • Navn: plassering

    • DataType: post

    • Undertype: plassering (14)

  13. Opprette en ny funksjon i GetLocation i jobben opps.-poster linje kodeenhet (1012) som følger:

    LOCAL PROCEDURE GetLocation@25(LocationCode@1000 : Code[10]);
  14. Legg til følgende kode i GetLocation -funksjonen i jobben varekld.-poster linje kodeenhet (1012):

    IF LocationCode = '' THENCLEAR(Location)
    ELSE
    IF Location.Code <> LocationCode THEN
    Location.GET(LocationCode);
  15. Opprette en ny funksjon i PostWhseJnlLine i jobben opps.-poster linje kodeenhet (1012) som følger:

    LOCAL PROCEDURE PostWhseJnlLine@24(ItemJnlLine@1000 : Record 83;OriginalQuantity@1001 : Decimal;OriginalQuantityBase@1002 : Decimal;VAR TempTrackingSpecification@1003 : TEMPORARY Record 336);
  16. Opprett følgende lokale variabler i PostWhseJnlLine -funksjonen i jobben opps.-poster linje kodeenhet (1012):

    1. Legge til en lokal variabel i PostWhseJnlLine -funksjonen i jobben varekld.-poster linje kodeenhet (1012), og deretter angi variabelen slik:

      • Navn: WarehouseJournalLine

      • DataType: post

      • Undertype: lagerkladdelinjen (7311)

    2. Legge til en lokal variabel i PostWhseJnlLine -funksjonen i jobben varekld.-poster linje kodeenhet (1012), og deretter angi variabelen slik:

      • Navn: TempWarehouseJournalLine

      • DataType: midlertidig post

      • Undertype: lagerkladdelinjen (7311)

    3. Legge til en lokal variabel i PostWhseJnlLine -funksjonen i jobben varekld.-poster linje kodeenhet (1012), og deretter angi variabelen slik:

      • Navn: ItemTrackingManagement

      • DataType: kodeenhet

      • Undertype: Varesporing Management (6500)

    4. Legge til en lokal variabel i PostWhseJnlLine -funksjonen i jobben varekld.-poster linje kodeenhet (1012), og deretter angi variabelen slik:

      • Navn: WMSManagement

      • DataType: kodeenhet

      • Undertype: WMS Management (7302)

    5. Legge til en lokal variabel i PostWhseJnlLine -funksjonen i jobben varekld.-poster linje kodeenhet (1012), og deretter angi variabelen slik:

      • Navn: WhseJnlRegisterLine

      • DataType: kodeenhet

      • Undertype: lagermottak. Opps-registrere linjen (7301)

  17. Legg til følgende kode i PostWhseJnlLine -funksjonen i jobben varekld.-poster linje kodeenhet (1012) som følger:

    WITH ItemJnlLine DO BEGINIF "Entry Type" IN ["Entry Type"::Consumption,"Entry Type"::Output] THEN
    EXIT;
    Quantity := OriginalQuantity;
    "Quantity (Base)" := OriginalQuantityBase;
    GetLocation("Location Code");
    IF Location."Bin Mandatory" THEN
    IF WMSManagement.CreateWhseJnlLine(ItemJnlLine,0,WarehouseJournalLine,FALSE,FALSE) THEN BEGIN
    TempTrackingSpecification.MODIFYALL("Source Type",DATABASE::"Job Journal Line");
    ItemTrackingManagement.SplitWhseJnlLine(WarehouseJournalLine,TempWarehouseJournalLine,TempTrackingSpecification,FALSE);
    IF TempWarehouseJournalLine.FIND('-') THEN
    REPEAT
    WMSManagement.CheckWhseJnlLine(TempWarehouseJournalLine,1,0,FALSE);
    WhseJnlRegisterLine.RUN(TempWarehouseJournalLine);
    UNTIL TempWarehouseJournalLine.NEXT = 0;
    END;
    END;
  18. Legge til en ny lokal variabel i kode -funksjonen i jobben varekld.-poster linje kodeenhet (1012), og deretter angi variabelen slik:

    • Navn: TempTrackingSpecification

    • DataType: midlertidig post

    • Undertype: Sporingsspesifikasjon (336)

  19. Legge til en ny lokal variabel i kode -funksjonen i jobben varekld.-poster linje kodeenhet (1012), og deretter angi variabelen slik:

    • Navn: ItemJnlLine2

    • DataType: post

    • Undertype: linje (83)

  20. Endre kode i kode -funksjonen i jobben varekld.-poster linje kodeenhet (1012) som følger:
    Eksisterende kode 1

    ...ItemJnlLine.INIT;
    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Ny kode 1

    ...ItemJnlLine.INIT;

    // Add the following line.
    ItemJnlLine."Line No." := "Line No.";

    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Eksisterende kode 2

    ...ItemLedgEntry.LOCKTABLE;
    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);
    END;
    ...

    Ny kode 2

    ...ItemLedgEntry.LOCKTABLE;

    // Add the following line.
    ItemJnlLine2 := ItemJnlLine;

    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);

    // Add the following lines.
    ItemJnlPostLine.CollectTrackingSpecification(TempTrackingSpecification);
    PostWhseJnlLine(ItemJnlLine2,ItemJnlLine2.Quantity,ItemJnlLine2."Quantity (Base)",TempTrackingSpecification);
    // End of the lines.
    ...
  21. Endre verdien for egenskapen OptionString i parameteren referansedokument i GetSourceDocument -funksjonen i lageropptellingskladden. Kodeenheten for Management (5775) til følgende:
    OptionString=, S. ordre, faktura S., S. kreditnotaen, S. ordreretur, bestilling P., P. faktura, Salgskr.nota, Salgskr.nota, Ordreretur, bestilling, Salgsfakt. Overføre Outb. Overføring, Produksjonsforbruk. Forbruk, vare opps., Vareutvalg for vareopptelling åpnes. Opps., Reklass.kladdemaler. Opps., forbruk opps., opps., Stykkliste opps., Serv. utleveringsordre, jobb opps.

  22. Endre koden i GetSourceDocument -funksjonen i lageropptellingskladden. Kodeenheten for Management (5775) som følger:
    Eksisterende kode

    ...EXIT;
    END;
    END;
    ERROR(Text000);
    ...

    Ny kode

    ...EXIT;
    END;

    // Add the following lines.
    DATABASE::"Job Journal Line":
    BEGIN
    SourceDocument := SourceDocument::"Job Jnl.";
    EXIT;
    END;
    // End of the lines.

    END;
    ERROR(Text000);
    ...
  23. Endre koden i CreateWhseJnlLine -funksjonen i kodeenheten WMS Management (7302) som følger:
    Eksisterende kode

    ...WhseJnlLine."Source Line No." := "Line No.";
    END;
    WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Delete the following line.
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal";

    WhseJnlLine."Reference No." := "Document No.";
    ...

    Ny kode

    ...WhseJnlLine."Source Line No." := "Line No.";

    // Add the following lines.
    END ELSE
    IF "Job No." <> '' THEN BEGIN
    WhseJnlLine."Source Type" := DATABASE::"Job Journal Line";
    WhseJnlLine."Source Subtype" := ItemJnlTemplateType;
    WhseMgt.GetSourceDocument(WhseJnlLine."Source Document",WhseJnlLine."Source Type",WhseJnlLine."Source Subtype");
    WhseJnlLine."Source No." := "Document No.";
    WhseJnlLine."Source Line No." := "Line No.";
    // End of the lines.
    END;WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...ine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...

Forutsetninger

Du må ha én av de følgende programmene installert for å bruke denne hurtigreparasjonen:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Informasjon om fjerning

Du kan ikke fjerne denne hurtigreparasjonen.

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Obs! Dette er en "RASKT PUBLISERE" artikkel opprettet direkte fra innenfor organisasjonen Microsoft Kundestøtte. Informasjonen i dette dokumentet tilbys som-er som svar på nye problemer. Som et resultat av hastigheten i å gjøre den tilgjengelig materialene kan inkludere typografiske feil, og den kunne bli revidert når som helst uten varsel. Se Vilkårene for Bruk for andre hensyn.

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Insiders

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×