Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Problembeschreibung

Wenn Sie eine berichtigte Rechnung erstellen und Preise inc. MwSt. -Feld geändert wurde, sind die Einheit Preis Werte falsch Ungarisch Version von Microsoft Dynamics NAV 2009 R2. Folgen Sie den Schritten im Abschnitt ändert sich dieses Problem lösen. Dieses Problem tritt in den folgenden Produkten auf:

  • Ungarisch Version von Microsoft Dynamics NAV 2009 R2

Problemlösung

Hotfix-Informationen

Ein unterstützter Hotfix ist inzwischen von Microsoft erhältlich. Allerdings ist es lediglich zur Behebung dieses Problems. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird möglicherweise noch getestet. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir, dass Sie warten auf das nächste Servicepack für Microsoft Dynamics NAV 2009 oder die nächste Microsoft Dynamics NAV-Version, die diesen Hotfix enthält.

Hinweis In besonderen Fällen bestimmt Gebühren fallen normalerweise Support aufrufen Wenn Experte Support für Microsoft Dynamics und zugehörige Produkte storniert werden können, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren.

Informationen zur Installation

Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supporttechniker helfen der Erläuterung der Funktionalität bestimmter Prozeduren. Allerdings werden sie diese Beispiele nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren erstellen, die Ihren spezifischen Bedürfnisse erfüllen.

Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Microsoft Dynamics NAV-Clientbenutzer vom System abgemeldet werden. Hierzu gehören Dienste Microsoft Dynamics NAV Application Server (NAS). Sie sollte nur-Client-Benutzers, der angemeldet ist, wenn Sie diesen Hotfix installieren.

Muss eine Entwicklerlizenz verfügen, um diesen Hotfix installieren können.

Es wird empfohlen, das Benutzerkonto im Fenster Windows-Benutzernamen oder im Fenster Datenbank-Anmeldenamen "SUPER" Rollen-ID zugewiesen werden Wenn das Benutzerkonto die Rollen-ID "SUPER" nicht zugeordnet werden kann, müssen Sie sicherstellen, dass das Benutzerkonto die folgenden Berechtigungen verfügt:

  • Änderungsberechtigung für das Objekt, das Sie ändern.

  • Ausführungsberechtigung für System Object ID 5210 und System Object ID 9015

    Objekt.

Hinweis Sie müssen keine Rechte für die Datenspeicher haben, es sei denn, Sie müssen eine Datenreparatur durchführen.

Ändern von Code

Hinweis Testen Sie Programmcodeverbesserungen generell erst in einem Testsytem, bevor Sie sie im Produktionssystem verwenden.

Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:

  1. Ändern Sie den Code in UpdateVATAmounts Funktion in der Tabelle Verkaufszeile Korrektur (14536) wie folgt:
    Vorhandener code

    ...Amount * (1 - SalesHeader."VAT Base Discount %" / 100),
    Currency."Amount Rounding Precision");
    "Amount Including VAT" :=
    ROUND(
    Amount * (1 - SalesHeader."VAT Base Discount %" / 100) * "VAT %" / 100,
    Currency."Amount Rounding Precision",Currency.VATRoundingDirection);
    END;
    "VAT Calculation Type"::"Full VAT":
    BEGIN
    ...

    Neuer code

    ...Amount * (1 - SalesHeader."VAT Base Discount %" / 100),
    Currency."Amount Rounding Precision");
    "Amount Including VAT" :=

    // Add the following line.
    Amount +
    // End of the added line.

    ROUND(
    Amount * (1 - SalesHeader."VAT Base Discount %" / 100) * "VAT %" / 100,
    Currency."Amount Rounding Precision",Currency.VATRoundingDirection);
    END;
    "VAT Calculation Type"::"Full VAT":
    BEGIN
    ...
  2. Ändern Sie den Code in CheckLineAmount Funktion in der Tabelle Verkaufszeile Korrektur (14536) wie folgt:
    Vorhandener Code 1

    ..."Unit Price Incl. Discount" := "Unit Price" - "Unit Price" * "Line Discount %" / 100;
    END;

    // Delete the following line.
    PROCEDURE CheckLineAmount@1360000();
    // End of the deleted line.

    BEGIN
    // PS16433.begin
    IF "Before/ After correction" = "Before/ After correction"::After THEN BEGIN
    ...

    Neuer Code 1

    ..."Unit Price Incl. Discount" := "Unit Price" - "Unit Price" * "Line Discount %" / 100;
    END;

    // Add the following lines.
    PROCEDURE CheckLineAmount@1170219();
    VAR
    SalesinvHeader@1170001 : Record 112;
    // End of the added lines.

    BEGIN
    // PS16433.begin
    IF "Before/ After correction" = "Before/ After correction"::After THEN BEGIN
    ...

    Vorhandener Code 2

    ...// PS16433.begin
    IF "Before/ After correction" = "Before/ After correction"::After THEN BEGIN
    SalesCorrLine.GET("Document Type","Document No.","Correction Line No.","Before/ After correction"::Before);
    GetCorrType;
    IF (SalesCorrLine."Line Amount" > "Line Amount") AND
    ("Document Type" = "Document Type"::Invoice) AND
    (SalesCorrectionType."Correction Type" = SalesCorrectionType."Correction Type"::"Quantity and Value")
    THEN
    ...

    Neuer Code 2

    ... // PS16433.begin
    IF "Before/ After correction" = "Before/ After correction"::After THEN BEGIN
    SalesCorrLine.GET("Document Type","Document No.","Correction Line No.","Before/ After correction"::Before);

    // Add the following line.
    SalesinvHeader.GET(SalesHeader."Corr. Document No.");
    // End of the added line.

    GetCorrType;
    IF (SalesCorrLine."Line Amount" > "Line Amount") AND

    // Add the following line.
    (SalesHeader."Prices Including VAT" = SalesinvHeader."Prices Including VAT") AND
    // End of the added line.

    ("Document Type" = "Document Type"::Invoice) AND
    (SalesCorrectionType."Correction Type" = SalesCorrectionType."Correction Type"::"Quantity and Value")
    THEN
    ...
  3. Ändern Sie den Code in Daten Element Nummer 5 im Verkauf - Rechnung (HU) Bericht (14516) wie folgt:
    Vorhandener code

    ...DataItemTable=Table14537;
    DataItemTableView=SORTING(Document No.,Correction Line No.,Before/ After correction,Document Type)
    WHERE(Before/ After correction=FILTER(Before),
    Document Type=CONST(Posted Invoice));
    DataItemVarName=PostedSalesCorrLineBefore;
    DataItemLinkReference=Sales Invoice Header;
    DataItemLink=Document No.=FIELD(No.);
    }
    SECTIONS
    {
    ...

    Neuer code

    ...DataItemTable=Table14537;
    DataItemTableView=SORTING(Document No.,Correction Line No.,Before/ After correction,Document Type)
    WHERE(Before/ After correction=FILTER(Before),
    Document Type=CONST(Posted Invoice));
    DataItemVarName=PostedSalesCorrLineBefore;

    // Add the following lines.
    OnAfterGetRecord=BEGIN
    IF SalesInvHeader.GET("Sales Invoice Header"."Corr. Document No.") THEN
    IF SalesInvHeader."Prices Including VAT" <> "Sales Invoice Header"."Prices Including VAT" THEN
    "Unit Price Incl. Discount" := "VAT Base Amount" / Quantity;
    END;

    // End of the added lines.

    DataItemLinkReference=Sales Invoice Header;
    DataItemLink=Document No.=FIELD(No.);
    }
    SECTIONS
    {
    ...
  4. Ändern Sie den Code in Daten Element Nummer 6 im Verkauf - Rechnung (HU) Bericht (14516) wie folgt:
    Vorhandener code

    ...DataItemTable=Table14537;
    DataItemTableView=SORTING(Document No.,Correction Line No.,Before/ After correction,Document Type)
    WHERE(Before/ After correction=FILTER(After),
    Document Type=CONST(Posted Invoice));
    DataItemVarName=PostedSalesCorrLineAfter;
    DataItemLinkReference=PostedSalesCorrLineBefore;
    DataItemLink=Document No.=FIELD(Document No.),
    Correction Line No.=FIELD(Correction Line No.);
    }
    SECTIONS
    ...

    Neuer code

    ...DataItemTable=Table14537;
    DataItemTableView=SORTING(Document No.,Correction Line No.,Before/ After correction,Document Type)
    WHERE(Before/ After correction=FILTER(After),
    Document Type=CONST(Posted Invoice));
    DataItemVarName=PostedSalesCorrLineAfter;

    // Add the following lines.
    OnAfterGetRecord=BEGIN
    IF SalesInvHeader."Prices Including VAT" <> "Sales Invoice Header"."Prices Including VAT" THEN
    "Unit Price Incl. Discount" := "VAT Base Amount" / Quantity;
    END;

    // End of the added lines.

    DataItemLinkReference=PostedSalesCorrLineBefore;
    DataItemLink=Document No.=FIELD(Document No.),
    Correction Line No.=FIELD(Correction Line No.);
    }
    SECTIONS
    ...
  5. Ändern Sie den Code in globalen Variablen im Verkauf - Rechnung (HU) Bericht (14516) wie folgt:
    Vorhandener code

    ...VALExchRate@1360016 : Text[50];
    Text14530@1360017 : TextConst 'ENU=%1/%2;HUN=%1/%2';
    GroupVATText@13600018 : Text[30];
    CorrInvText@1360018 : TextConst 'ENU=C O R R E C T I V E I N V O I C E;HUN=H E L Y E S B Ö T Š S Z µ M L A';
    LogInteractionEnable@19003940 : Boolean INDATASET;

    PROCEDURE InitLogInteraction@1360000();
    BEGIN
    LogInteraction := SegManagement.FindInteractTmplCode(4) <> '';
    END;
    ...

    Neuer code

    ...VALExchRate@1360016 : Text[50];
    Text14530@1360017 : TextConst 'ENU=%1/%2;HUN=%1/%2';
    GroupVATText@13600018 : Text[30];
    CorrInvText@1360018 : TextConst 'ENU=C O R R E C T I V E I N V O I C E;HUN=H E L Y E S B Ö T Š S Z µ M L A';
    LogInteractionEnable@19003940 : Boolean INDATASET;

    // Add the following line.
    SalesInvHeader@13600019 : Record 112;
    // End of the added line.

    PROCEDURE InitLogInteraction@1360000();
    BEGIN
    LogInteraction := SegManagement.FindInteractTmplCode(4) <> '';
    END;
    ...
  6. Ändern Sie den Code in InitSalesLineOnCharge -Funktion in der Codeunit "VATCorrectionManagement" (14535) wie folgt:
    Vorhandener Code 1

    ...SalesLine.INSERT;
    CopyDim(SalesLine,SalesCorrLine);
    END;

    PROCEDURE InitSalesLineOnCharge@1360001(VAR SalesLine@1360000 : Record 37;SalesCorrLine@1360001 : Record 14536;QtyOnSalesLine@1360002 : Decimal);
    BEGIN
    InitSalesLine(SalesCorrLine,SalesLine);
    SalesLine.Type := SalesLine.Type::"Charge (Item)";
    SalesLine."No." := SalesCorrType."Item Charge Code";
    SalesLine.VALIDATE("Unit of Measure Code",'');
    ...

    Neuer Code 1

    ...SalesLine.INSERT;
    CopyDim(SalesLine,SalesCorrLine);
    END;

    PROCEDURE InitSalesLineOnCharge@1360001(VAR SalesLine@1360000 : Record 37;SalesCorrLine@1360001 : Record 14536;QtyOnSalesLine@1360002 : Decimal);

    // Add the following lines.
    VAR
    SalesInvHeader@1360003 : Record 112;
    // End of the added lines.

    BEGIN
    InitSalesLine(SalesCorrLine,SalesLine);
    SalesLine.Type := SalesLine.Type::"Charge (Item)";
    SalesLine."No." := SalesCorrType."Item Charge Code";
    SalesLine.VALIDATE("Unit of Measure Code",'');
    ...

    Vorhandener Code 2

    ...InitSalesLine(SalesCorrLine,SalesLine);
    SalesLine.Type := SalesLine.Type::"Charge (Item)";
    SalesLine."No." := SalesCorrType."Item Charge Code";
    SalesLine.VALIDATE("Unit of Measure Code",'');
    SalesLine.VALIDATE(Quantity,QtyOnSalesLine);
    SalesLine.VALIDATE("Unit Price",SalesCorrLine."Unit Price");
    IF SalesLine.Quantity <> 0 THEN
    SalesLine.VALIDATE("Line Discount %",SalesCorrLine."Line Discount %");
    SalesLine.UpdateAmounts;
    SalesLine.VALIDATE("Unit Cost (LCY)",0);
    ...

    Neuer Code 2

    ...InitSalesLine(SalesCorrLine,SalesLine);
    SalesLine.Type := SalesLine.Type::"Charge (Item)";
    SalesLine."No." := SalesCorrType."Item Charge Code";
    SalesLine.VALIDATE("Unit of Measure Code",'');
    SalesLine.VALIDATE(Quantity,QtyOnSalesLine);

    // Add the following lines.
    IF (SalesCorrLine."Before/ After correction" = SalesCorrLine."Before/ After correction"::Before) AND
    (SalesInvHeader.GET(SalesCorrLine."Source Document No.")) AND
    (SalesHeader."Prices Including VAT" <> SalesInvHeader."Prices Including VAT")
    THEN BEGIN
    IF SalesHeader."Prices Including VAT" THEN
    SalesLine.VALIDATE("Unit Price",SalesCorrLine."Amount Including VAT" / SalesCorrLine.Quantity)
    ELSE
    SalesLine.VALIDATE("Unit Price",SalesCorrLine."VAT Base Amount" / SalesCorrLine.Quantity);
    END ELSE
    // End of the added lines.

    SalesLine.VALIDATE("Unit Price",SalesCorrLine."Unit Price");
    IF SalesLine.Quantity <> 0 THEN
    SalesLine.VALIDATE("Line Discount %",SalesCorrLine."Line Discount %");
    SalesLine.UpdateAmounts;
    SalesLine.VALIDATE("Unit Cost (LCY)",0);
    ...


Voraussetzungen

Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:

  • Ungarisch Version von Microsoft Dynamics NAV 2009 R2

Informationen zur Deinstallation

Dieser Hotfix kann nicht entfernt werden.

Status

Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Hinweis Dies ist ein im Schnellverfahren veröffentlichter Artikel, der direkt in der Microsoft Support-Organisation erstellt wurde. Die hierin enthaltenen Informationen werden ohne Mängelgewähr in Reaktion auf neue Probleme bereitgestellt. Aufgrund der schnellen Bereitstellung kann das Material möglicherweise typografische Fehler enthalten und jederzeit ohne vorherige Ankündigung geändert werden. Weitere Hinweise finden Sie unter Geschäftsbedingungen.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×