Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Den här artikeln gäller för Microsoft Dynamics NAV för alla länder och språkversioner.

Symptom

Du kan skapa en intern dist.lager artikelinförsel för ett objekt med en felaktig kvantitet som inte är tillgängliga i Microsoft Dynamics NAV. Det här problemet uppstår i följande produkter:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 servicepack 1


Lösning

Information om snabbkorrigeringen

En snabbkorrigering är nu tillgänglig från Microsoft. Den är endast avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack-versionen för Microsoft Dynamics NAV 2009 eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen.

Obs! I särskilda fall, de avgifter som är normalt för support vara avgiftsfri om en supporttekniker för Microsoft Dynamics och relaterade produkter som bestämmer att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.



Installationsinformation

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till med att förklara funktionen hos en viss procedur, men kan inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.

Obs! Innan du installerar den här snabbkorrigeringen måste du kontrollera att alla användare av Microsoft Navision-klient har loggat ut. Detta inkluderar Microsoft Navision Application Services (NAS) klientanvändare. Du ska endast klientanvändare som är inloggad när du implementerar den här snabbkorrigeringen.

Om du vill genomföra den här snabbkorrigeringen måste du ha en utvecklarlicens.

Vi rekommenderar att tilldelas användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar "SUPER" roll-ID. Om användarkontot inte kan tilldelas "SUPER" roll-ID måste du kontrollera att användarkontot har följande behörigheter:

  • Ändra behörighet för objektet ändras.

  • Körbehörighet för systemet objektet ID 5210 objektet och objektet System objektet ID 9015 .



Obs! Du har inte behörighet för datalager inte data reparation.

Kod ändras

Obs! Alltid åtgärdas testa koden i en kontrollerad miljö innan du installerar korrigeringar för produktionsdatorer.
Lös problemet så här:

  1. Ändra koden i avsnittet fält i "dist.lag. Interna artikelinförselraden"tabell (7332) enligt följande:
    Befintlig kod 1

    ...CALCFIELDS("Put-away Qty.");
    IF Quantity < "Qty. Put Away" + "Put-away Qty." THEN
    FIELDERROR(Quantity,STRSUBSTNO(Text001,"Qty. Put Away" + "Put-away Qty."));

    // Delete the following lines.
    IF CurrFieldNo = FIELDNO(Quantity) THEN
    CheckBinContentQty;
    VALIDATE("Qty. Outstanding",(Quantity - "Qty. Put Away"));
    "Qty. (Base)" := CalcBaseQty(Quantity);
    Status := CalcStatusPutAwayLine;
    // End of the lines.

    IF Status <> xRec.Status THEN BEGIN
    GetInternalPutAwayHeader("No.");
    DocStatus := WhseInternalPutAwayHeader.GetDocumentStatus(0);
    ...

    Ersättningskod 1

    ...CALCFIELDS("Put-away Qty.");
    IF Quantity < "Qty. Put Away" + "Put-away Qty." THEN
    FIELDERROR(Quantity,STRSUBSTNO(Text001,"Qty. Put Away" + "Put-away Qty."));

    // Add the following lines.
    "Qty. (Base)" := CalcBaseQty(Quantity);
    IF CurrFieldNo = FIELDNO(Quantity) THEN
    CheckBinContentQty;
    VALIDATE("Qty. Outstanding",(Quantity - "Qty. Put Away"));
    Status := CalcStatusPutAwayLine;
    // End of the lines.

    IF Status <> xRec.Status THEN BEGIN
    GetInternalPutAwayHeader("No.");
    DocStatus := WhseInternalPutAwayHeader.GetDocumentStatus(0);
    ...

    Befintlig kod 2

    ...OnLookup=BEGIN
    SelectLookUp(FIELDNO("Unit of Measure Code"));
    END;

    // Delete the following line.
    }

    { 30 ; ;Qty. per Unit of Measure;Decimal ;InitValue=1;
    DecimalPlaces=0:5;
    Editable=No }
    { 31 ; ;Variant Code ;Code10 ;TableRelation="Item Variant".Code WHERE (Item No.=FIELD(Item No.));
    ...

    Ersättningskod 2

    ...OnLookup=BEGIN
    SelectLookUp(FIELDNO("Unit of Measure Code"));
    END;

    // Add the following line.
    Editable=No }

    { 30 ; ;Qty. per Unit of Measure;Decimal ;InitValue=1;
    DecimalPlaces=0:5;
    Editable=No }
    { 31 ; ;Variant Code ;Code10 ;TableRelation="Item Variant".Code WHERE (Item No.=FIELD(Item No.));
    ...
  2. Ändra koden i funktionen CheckCurrentLineQty i "dist.lag. Interna artikelinförselraden"tabell (7332) enligt följande:
    Befintlig kod

    ...WhseItemTrackingForm.SetSource(TempWhseWorksheetLine,DATABASE::"Whse. Internal Put-away Line");
    WhseItemTrackingForm.InsertItemTrackingLine(TempWhseWorksheetLine,SerialNo,LotNo,ExpirationDate,QtyToEmpty);
    END;
    BEGIN
    END.
    }
    }
    ...

    Ersättningskod

    ...WhseItemTrackingForm.SetSource(TempWhseWorksheetLine,DATABASE::"Whse. Internal Put-away Line");
    WhseItemTrackingForm.InsertItemTrackingLine(TempWhseWorksheetLine,SerialNo,LotNo,ExpirationDate,QtyToEmpty);
    END;

    // Add the following lines.
    PROCEDURE CheckCurrentLineQty@25();
    VAR
    BinContent@1000 : Record 7302;
    AvailQtyBase@1001 : Decimal;
    BEGIN
    GetLocation("Location Code");
    IF Location."Bin Mandatory" AND
    ("Location Code" <> '') AND ("From Bin Code" <> '') AND
    ("Item No." <> '') AND ("Unit of Measure Code" <> '')
    THEN BEGIN
    IF Location."Directed Put-away and Pick" THEN
    CheckBlocking(BinContent);
    AvailQtyBase := BinContent.CalcQtyAvailToPick(0);
    IF AvailQtyBase < "Qty. (Base)" THEN
    FIELDERROR(
    "Qty. (Base)",
    STRSUBSTNO(Text002,AvailQtyBase));
    END;
    END;
    // End of the lines.

    BEGIN
    END.
    }
    }
    ...
  3. Ändra koden i Data objekt nummer 5 i den "dist.lager-ursprung - skapa dok" rapport (7305) enligt följande:
    Befintlig kod

    ...BinContent."Block Movement"::Outbound,BinContent."Block Movement"::All]
    THEN
    BinContent.FIELDERROR("Block Movement");
    END;
    WhseWkshLine.SETRANGE("Whse. Document Line No.","Line No.");
    IF NOT WhseWkshLine.FIND('-') THEN BEGIN
    TESTFIELD("Qty. per Unit of Measure");
    ...

    Ersättningskod

    ...BinContent."Block Movement"::Outbound,BinContent."Block Movement"::All]
    THEN
    BinContent.FIELDERROR("Block Movement");
    END;

    // Add the following line.
    CheckCurrentLineQty;

    WhseWkshLine.SETRANGE("Whse. Document Line No.","Line No.");
    IF NOT WhseWkshLine.FIND('-') THEN BEGIN
    TESTFIELD("Qty. per Unit of Measure");
    ...


Förutsättningar

Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 servicepack 1

Information om borttagning

Du kan inte ta bort den här snabbkorrigeringen.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Obs! Detta är en "SNABBPUBLICERING"-artikel skapad direkt från Microsoft support-organisationen. Informationen häri tillhandahålls i befintligt skick som svar på nya problem. Till följd av hastigheten för att göra det tillgängligt kan materialet innehålla typografiska fel och kan ändras när som helst utan föregående meddelande. Se Villkoren för användning för andra överväganden.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×