Applies ToDynamics NAV 2009

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

Symptom

Anta att du bokför en överföringsutleveransen i överföringsprocessen i Microsoft Dynamics NAV 2009. Det Ă€r endast tillgĂ€ngligt lager frĂ„n en Ångra-försĂ€ndelse. I det hĂ€r fallet, nĂ€r du bokför Överföringsinleverans, visas följande felmeddelande:

Post artikeltrans.löpnr 'nummer' finns inte.

Överföringsutleveransen ska inte bokföras eftersom det finns faktiskt inget fysiska varor. Om du bokför en överföringsutleveransen bör du fĂ„ ett felmeddelande av följande slag:

Numret Àr inte i lager.

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 att förklara funktionen hos en viss procedur. De kommer 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. LÀgg till den globala variabeln (textkonstant) i TransferOrder Bokför utleverans kodmodul (5704):

    Text009@1042 : TextConst 'ENU=Item number %1 is not in inventory.';
  2. Ändra koden i utlösaren OnRun i TransferOrder Bokför utleverans kodmodul (5704) enligt följande:Befintlig kod

    ...                TransLine.SETFILTER(Quantity,'<>0');                TransLine.SETFILTER("Qty. to Ship",'<>0');                IF NOT TransLine.FIND('-') THEN                  ERROR(Text001);                WhseShip := TempWhseShptHeader.FIND('-');                InvtPickPutaway := WhseReference <> 0;                IF NOT (WhseShip OR InvtPickPutaway) THEN                  CheckWarehouse(TransLine);...

    ErsÀttningskod

    ...                TransLine.SETFILTER(Quantity,'<>0');                TransLine.SETFILTER("Qty. to Ship",'<>0');                IF NOT TransLine.FIND('-') THEN                  ERROR(Text001);               // Add the following line.                CheckItemAvailability(TransLine);                     WhseShip := TempWhseShptHeader.FIND('-');                InvtPickPutaway := WhseReference <> 0;                IF NOT (WhseShip OR InvtPickPutaway) THEN                  CheckWarehouse(TransLine);...
  3. LÀgg till funktionen CheckItemAvailability lokal i TransferOrder Bokför utleverans kodmodul (5704) enligt följande:

    LOCAL PROCEDURE CheckItemAvailability@1043(TransLine@1000 : Record 5741);VAR  Item@1001 : Record 27;BEGIN  WITH Item DO BEGIN    GET(TransLine."Item No.");    SETFILTER("Variant Filter",TransLine."Variant Code");    SETFILTER("Location Filter",TransLine."Transfer-from Code");    CALCFIELDS(Inventory);    IF Inventory <= 0 THEN    ERROR(Text009,TransLine."Item No.");  END;END;

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.