Mall: CPR - Navision koden Fix mall

PROGRAMFEL #: 186310 (Innehållsunderhåll)

Den här artikeln gäller för Microsoft Dynamics NAV för portugisiska (pt) språk.

Symptom

Om flera rader registreras refererar till olika lagerbokföringsmallar och olika förluster eller vinster konto i inventeringsjournalen i den portugisiska versionen av Microsoft Dynamics NAV 2009, har kostnadsjustering bokförts till felaktiga förluster eller vinster i redovisningen.

Det här problemet uppstår i följande produkter:

  • Den portugisiska versionen av Microsoft Dynamics NAV 2009 R2

  • Den portugisiska versionen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)


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.

Om den här snabbkorrigeringen inte har bokförts för offentlig hämtning (vilket innebär att en offentlig URL för den här snabbkorrigeringen inte är tillgänglig i den här artikeln), distribution kräver tekniskt ansvarig, eskalering gruppmedlem eller godkännande av projektledaren och följande information gäller:

  • För att erhålla snabbkorrigeringen måste kunden ha drabbats programfel som beskrivs i avsnittet "Symptom".

  • Du måste följa de kunder du skickar korrigeringen till och förse dem med nästa service Pack-versionen när den blir tillgänglig (om ett service pack släpps).

Den här snabbkorrigeringen kommer att ingå i ett service pack för Microsoft Dynamics NAV.

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 i Microsoft Dynamics NAV-klienten har loggat ut. Detta omfattar tjänster för Microsoft Dynamics NAV Application Server (NAS). 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 objekt och System objektet ID 9015

    objektet.

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 genom att ändra koden i funktionen GetPhysicalInv i objektet konc.int.-Bokför rad kodmodul (22) enligt följande:

Befintlig kod 1

...VAR
PhysInvLedgEntry@1110002 : Record 281;
IsPhysInventory@1110003 : Boolean;
PrevAdjAcc@1110004 : Text[20];
GLEntry@1110005 : Record 17;
BEGIN
WITH ValueEntry DO BEGIN
IsPhysInventory := FALSE;
PhysInvLedgEntry.SETCURRENTKEY("Document No.","Posting Date");
PhysInvLedgEntry.SETRANGE(PhysInvLedgEntry."Document No.","Document No.");
...

Ersättningskod 1

...VAR
PhysInvLedgEntry@1110002 : Record 281;
IsPhysInventory@1110003 : Boolean;
PrevAdjAcc@1110004 : Text[20];
GLEntry@1110005 : Record 17;

// Add the following line.
GLItemLedgRelation@1110006 : Record 5823;
// End of the added line.

BEGIN
WITH ValueEntry DO BEGIN
IsPhysInventory := FALSE;
PhysInvLedgEntry.SETCURRENTKEY("Document No.","Posting Date");
PhysInvLedgEntry.SETRANGE(PhysInvLedgEntry."Document No.","Document No.");
...

Befintlig kod 2

...IsPhysInventory := FALSE;
PhysInvLedgEntry.SETCURRENTKEY("Document No.","Posting Date");
PhysInvLedgEntry.SETRANGE(PhysInvLedgEntry."Document No.","Document No.");
IF PhysInvLedgEntry.FINDSET THEN BEGIN
IsPhysInventory := TRUE;

// Delete the following lines.
GLEntry.SETCURRENTKEY("Document No.","Posting Date");
GLEntry.SETRANGE(GLEntry."Document No.","Document No.");
IF GLEntry.FINDSET THEN BEGIN
GLEntry.FINDLAST;
IF CalledFromAdjustment THEN
PrevAdjAcc := GLEntry."G/L Account No.";
END;
// End of the deleted lines.

END;

IF (("Item Ledger Entry Type" IN ["Item Ledger Entry Type"::"Negative Adjmt.","Item Ledger Entry Type"::"Positive Adjmt."]) AND
("Entry Type" = "Entry Type"::"Direct Cost") AND Adjustment AND IsPhysInventory) OR ItemJnlLine."Phys. Inventory" THEN
InvtPost.GetPhysicalInventory(TRUE,ItemJnlLine."Location Code",ItemJnlLine."Inventory Posting Group",PrevAdjAcc)
...

Ersättningskod 2

...IsPhysInventory := FALSE;
PhysInvLedgEntry.SETCURRENTKEY("Document No.","Posting Date");
PhysInvLedgEntry.SETRANGE(PhysInvLedgEntry."Document No.","Document No.");
IF PhysInvLedgEntry.FINDSET THEN BEGIN
IsPhysInventory := TRUE;

// Add the following lines.
IF CalledFromAdjustment THEN BEGIN
GLItemLedgRelation.SETCURRENTKEY("Value Entry No.");
GLItemLedgRelation.SETRANGE("Value Entry No.",ItemJnlLine."Applies-to Value Entry");
IF GLItemLedgRelation.FINDLAST THEN BEGIN
GLEntry.GET(GLItemLedgRelation."G/L Entry No.");
PrevAdjAcc := GLEntry."G/L Account No.";
END;
END;
// End of the added lines.

END;

IF (("Item Ledger Entry Type" IN ["Item Ledger Entry Type"::"Negative Adjmt.","Item Ledger Entry Type"::"Positive Adjmt."]) AND
("Entry Type" = "Entry Type"::"Direct Cost") AND Adjustment AND IsPhysInventory) OR ItemJnlLine."Phys. Inventory" THEN
InvtPost.GetPhysicalInventory(TRUE,ItemJnlLine."Location Code",ItemJnlLine."Inventory Posting Group",PrevAdjAcc)
...

Förutsättningar

Du måste ha någon av följande produkter som har installerats och om du vill installera den här snabbkorrigeringen används följande snabbkorrigering:

  • Den portugisiska versionen av Microsoft Dynamics NAV 2009 R2

  • Den portugisiska versionen av Microsoft Dynamics NAV 2009 Service Pack 1

Dessutom måste du ha snabbkorrigering 2845151 installerat för att kunna installera den här snabbkorrigeringen. För mer information om snabbkorrigeringen 2845151 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2845151 förluster i lagret inte beaktas i den portugisiska versionen av Microsoft Dynamics NAV 2009

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".

Referenser

VSFT-DynamicsNAVSE: 326877

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ändningför andra överväganden.

Författare: hholmin
Writer: v-six
Tech Reviewer: hholmin
Editor:

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Hur nöjd är du med översättningskvaliteten?

Vad påverkade din upplevelse?

Har du ytterligare feedback? (Valfritt)

Tack för din feedback!

×