Felmeddelande när du bokför en inköpsorder i Microsoft Dynamics AX 2009: ”Det går inte att skapa en post i inköpsorderrubriken - uppdatera register (PurchParmSubTable)”

Axapta Codefix Template

BUG #: 103700 (Content Maintenance)BUG #: 2997 (AXSE)

Den här artikeln gäller för Microsoft Dynamics AX för alla regioner.

Symptom

När du bokför en inköpsorder i Microsoft Dynamics AX 2009 visas följande felmeddelande:

Det går inte att skapa en post i inköpsorderrubriken - uppdatera register (PurchParmSubTable).

Det här problemet uppstår om någon av följande förutsättningar föreligger:

  • Du aktiverar inställningen ”Biovetenskap elektronisk signatur inställning av redovisningsspårning” för alla tabeller.

  • Du skapar en post för den vanliga tabellen.

  • Du kan ställa in registret PurchParmTable i databasloggen.

Det här problemet uppstår när du bokför en inköpsorder, en inleveranslista, en följesedel och en faktura. Det här problemet uppstår i följande produkter:

  • Microsoft Dynamics AX 2009 Service Pack 1

  • Microsoft Dynamics AX 2009

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 AX 2009 eller nästa 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. Normala supportavgifter tas ut för ytterligare supportfrågor och problem som inte gäller den aktuella uppdateringen.

This hotfix is not scheduled to be included with Service Pack for Microsoft Dynamics AX 2009.

Installationsinformation

Innan du installerar den här snabbkorrigeringen måste du kontrollera att Microsoft Dynamics AX-klientens användare loggas ut. 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.Obs! Vi rekommenderar att användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar är medlem i gruppen Administratörer i Microsoft Dynamics AX.

Kod ändras

Microsoft tillhandahåller programmeringsexempel enbart i förklarande syfte och gör inga utfästelser, varken uttryckligen eller underförstått. Detta omfattar men begränsas inte till underförstådd garanti för säljbarhet eller lämplighet för ett visst syfte. I denna artikel förutsätts att du känner till det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan förklara hur en viss procedur fungerar, men de ändrar inte exemplen för att utöka funktionerna och konstruera procedurer som motsvarar dina behov. Alltid åtgärdas testa koden i en kontrollerad miljö innan du installerar korrigeringar för produktionsdatorer.Följ dessa stegen för att lösa problemet:

  1. Skriva över koden i metoden Infoga i tabellen PurchParmSubTable på följande sätt:

    public void insert(){    PurchParmSubTable tempPurchParmSubTable;    ;    select tempPurchParmSubTable where        tempPurchParmSubTable.ParmId == this.ParmId        && tempPurchParmSubTable.TableRefId == this.TableRefId        && tempPurchParmSubTable.OrigPurchId == this.OrigPurchId;    if(tempPurchParmSubTable.RecId == 0)    {        super();    }}
  2. Skriva över koden i metoden createFromPurchParmTable i tabellen PurchParmSubTable på följande sätt:

    static PurchParmSubTable createFromPurchParmTable(PurchParmTable _purchParmTable, boolean _insert = true){    PurchParmSubTable   purchParmSubTable;    systemSequence systemSequence;    ;    ttsbegin;    purchParmSubTable.clear();    purchParmSubTable.initValue();    purchParmSubTable.initFromPurchParmTable(_purchParmTable);    if (_insert)    {        systemSequence = new systemSequence();        purchParmSubTable.RecId = systemSequence.reserveValues(1, tablenum(PurchParmSubTable));        purchParmSubTable.insert();    }    ttscommit;    return purchParmSubTable;}
  3. Skriva över koden i metoden Infoga i tabellen SalesParmSubTable på följande sätt:

    public void insert(){    SalesParmSubTable tempSalesParmSubTable;    ;    select tempSalesParmSubTable where        tempSalesParmSubTable.ParmId == this.ParmId        && tempSalesParmSubTable.TableRefId == this.TableRefId        && tempSalesParmSubTable.OrigSalesId == this.OrigSalesId        && tempSalesParmSubTable.subId == this.subId;    if(tempSalesParmSubTable.RecId == 0)    {        super();    }}

Obs! Du måste koppla alla befintliga anpassningar i dessa metoder.

Förutsättningar

Det finns inga förutsättningar.

Krav på omstart

Du behöver inte starta om datorn när du har installerat den här snabbkorrigeringen.

Status

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

Author: mansourm
Writer: v-brialu
Tech Reviewer: mansourm
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?

Tack för din feedback!

×