Fehlermeldung beim Buchen einer vorauszahlungsrechnung in Microsoft Dynamics NAV 2009 "Betrag muss positiv sein in Fibu Journal Line"

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 2893954
Dieser Artikel gilt für Microsoft Dynamics NAV für alle Länder und alle Gebietsschemas.
Problembeschreibung
Angenommen Sie, dass Preise inkl. MwSt. und Vorauszahlung fakturiert werden in Microsoft Dynamics NAV 2009 nicht komprimiert. Beim Buchen einer vorauszahlungsrechnung erhalten Sie folgende Fehlermeldung:
Menge muss positiv Fibu Journal Line.
Dieses Problem tritt in den folgenden Produkten auf:
  • Microsoft Dynamics NAV 2009 Servicepack 1 (SP1)
  • Microsoft Dynamics NAV 2009 R2
Lö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-Supportmitarbeiter können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, sie werden jedoch diese Beispiele nicht verändern um eine erweiterte Funktionalität aufzuzeigen oder Prozeduren entwickeln, die Ihren Anforderungen entsprechen.

Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Microsoft Navision-Clientbenutzer vom System abgemeldet werden. Dies gilt auch für Clientbenutzer der Microsoft Navision Application Services (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 keinen Datenspeicher Rechte nur Daten zu reparieren.

Ä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 der Funktion AdjustPrepmtAmountLCY Vertrieb-Beitrag Codeuint (80) wie folgt:
    Vorhandener Code 1
    ...TotalPrepmtAmount@1002 : ARRAY [2] OF Decimal;      BEGIN...
    Neuer Code 1
    ...TotalPrepmtAmount@1002 : ARRAY [2] OF Decimal;// Add the following line.       PricesInclVATRoundingAmount@1170000000 : ARRAY [2] OF Decimal;// End of the added line.      BEGIN...
    Vorhandener Code 2
    ...TotalPrepmtAmount[1] += "Prepmt. Amount Inv. (LCY)";...
    Neuer Code 2
    ...// Add the following lines.IF SalesHeader."Prices Including VAT" THEN                 IF (("Prepayment %" <> 100) OR IsFinalInvoice) AND (DeductionFactor = 1) THEN BEGIN                   PricesInclVATRoundingAmount[1] := TotalRoundingAmount[1];                   PricesInclVATRoundingAmount[2] := TotalRoundingAmount[2];                 END;// End of the added lines.                 TotalPrepmtAmount[1] += "Prepmt. Amount Inv. (LCY)";...
    Vorhandenen Code 3
    ...UpdatePrepmtSalesLineWithRound(// Delete the following line.           PrepmtSalesLine,TotalRoundingAmount,TotalPrepmtAmount,TempPrepmtDeductLCYSalesLine.IsFinalInvoice);// End of the deleted line.        END;...
    Neuer Code 3
    ...UpdatePrepmtSalesLineWithRound(// Add the following lines.           PrepmtSalesLine,TotalRoundingAmount,TotalPrepmtAmount,           TempPrepmtDeductLCYSalesLine.IsFinalInvoice,PricesInclVATRoundingAmount);// End of the added lines.        END;...
  2. Ändern Sie den Code in der FunktionUpdatePrepmtSalesLineWithRound Post TheSales Codeuint (80) wie folgt:
    Vorhandener Code 1
    ...// Delete the following line.LOCAL PROCEDURE UpdatePrepmtSalesLineWithRound@89(VAR PrepmtSalesLine@1002 : Record 37;TotalRoundingAmount@1001 : ARRAY [2] OF Decimal;TotalPrepmtAmount@1000 : ARRAY [2] OF Decimal;FinalInvoice@1170000000 : Boolean);// End of the deleted line.      VAR...
    Neuer Code 1
    ...// Add the following line.LOCAL PROCEDURE UpdatePrepmtSalesLineWithRound@89(VAR PrepmtSalesLine@1002 : Record 37;TotalRoundingAmount@1001 : ARRAY [2] OF Decimal;TotalPrepmtAmount@1000 : ARRAY [2] OF Decimal;FinalInvoice@1170000000 : Boolean;PricesInclVATRoundingAmount@1170000001 : ARRAY [2] OF Decimal);// End of the added line.      VAR...
    Vorhandener Code 2
    ...// Delete the following line.IF (ABS(TotalRoundingAmount[2]) <= GLSetup."Amount Rounding Precision") OR FinalInvoice THEN BEGIN// End of the deleted line.            IF ("Prepayment %" = 100) AND ("Prepmt. Amount Inv. (LCY)" = 0) THEN...
    Neuer Code 2
    ...// Add the following lines.IF (PricesInclVATRoundingAmount[1] <> 0) AND (TotalRoundingAmount[1] = 0) THEN BEGIN           Prepmt100PctVATRoundingAmt := 0;           PricesInclVATRoundingAmount[1] := 0;         END;          IF (ABS(TotalRoundingAmount[2]) <= GLSetup."Amount Rounding Precision") OR            (FinalInvoice AND (TotalRoundingAmount[1] = 0))         THEN BEGIN// End of the added lines.            IF ("Prepayment %" = 100) AND ("Prepmt. Amount Inv. (LCY)" = 0) THEN...
    Vorhandenen Code 3
    ...END;// Delete the following lines.         "Prepmt. VAT Amount Inv. (LCY)" := TotalRoundingAmount[2] + Prepmt100PctVATRoundingAmt;         NewAmountIncludingVAT := Amount + TotalPrepmtAmount[2] + TotalRoundingAmount[2];         Increment(TotalSalesLineLCY."Amount Including VAT","Amount Including VAT" - NewAmountIncludingVAT - Prepmt100PctVATRoundingAmt);// End of the deleted lines.          IF "Currency Code" = '' THEN...
    Neuer Code 3
    ...END;// Add the following lines.          IF (PricesInclVATRoundingAmount[2] <> 0) AND (TotalRoundingAmount[2] = 0) THEN BEGIN           Prepmt100PctVATRoundingAmt := 0;           PricesInclVATRoundingAmount[2] := 0;         END;          "Prepmt. VAT Amount Inv. (LCY)" := TotalRoundingAmount[2] + Prepmt100PctVATRoundingAmt;         NewAmountIncludingVAT := Amount + TotalPrepmtAmount[2] + TotalRoundingAmount[2];         IF (PricesInclVATRoundingAmount[1] = 0) AND (PricesInclVATRoundingAmount[2] = 0) THEN           Increment(TotalSalesLineLCY."Amount Including VAT","Amount Including VAT" - NewAmountIncludingVAT - Prepmt100PctVATRoundingAmt       );// End of the added lines.          IF "Currency Code" = '' THEN...
  3. Ändern Sie den Code in der Funktion AdjustPrepmtAmountLCY in Purch.-Post Codeunit (90) wie folgt:
    Vorhandener Code 1
    ...TotalPrepmtAmount@1003 : ARRAY [2] OF Decimal;      BEGIN...
    Neuer Code 1
    ...TotalPrepmtAmount@1003 : ARRAY [2] OF Decimal;// Add the following line.       PricesInclVATRoundingAmount@1170000000 : ARRAY [2] OF Decimal;// End of the added line.      BEGIN...
    Vorhandener Code 2
    ...TotalPrepmtAmount[1] += "Prepmt. Amount Inv. (LCY)";...
    Neuer Code 2
    ...// Add the following lines.               IF PurchHeader."Prices Including VAT" THEN                 IF (("Prepayment %" <> 100) OR IsFinalInvoice) AND (DeductionFactor = 1) THEN BEGIN                   PricesInclVATRoundingAmount[1] := TotalRoundingAmount[1];                   PricesInclVATRoundingAmount[2] := TotalRoundingAmount[2];                 END;// End of the added lines.                 TotalPrepmtAmount[1] += "Prepmt. Amount Inv. (LCY)";...
    Vorhandenen Code 3
    ...// Delete the following line.UpdatePrepmtPurchLineWithRound(PrepmtPurchLine,TotalRoundingAmount,TotalPrepmtAmount);// End of the deleted line.        END;...
    Neuer Code 3
    ...// Add the following lines.UpdatePrepmtPurchLineWithRound(           PrepmtPurchLine,TotalRoundingAmount,TotalPrepmtAmount,           TempPrepmtDeductLCYPurchLine.IsFinalInvoice,PricesInclVATRoundingAmount);// End of the added lines.        END;...
  4. Ändern Sie den Code in der FunktionUpdatePrepmtPurchLineWithRound in ThePurch.-Post Codeunit (90) wie folgt:
    Vorhandener Code 1
    ...// Delete the following line.LOCAL PROCEDURE UpdatePrepmtPurchLineWithRound@89(VAR PrepmtPurchLine@1002 : Record 39;TotalRoundingAmount@1001 : ARRAY [2] OF Decimal;TotalPrepmtAmount@1000 : ARRAY [2] OF Decimal);// End of the deleted line.      VAR...
    Neuer Code 1
    ...// Add the following line.LOCAL PROCEDURE UpdatePrepmtPurchLineWithRound@89(VAR PrepmtPurchLine@1002 : Record 39;TotalRoundingAmount@1001 : ARRAY [2] OF Decimal;TotalPrepmtAmount@1000 : ARRAY [2] OF Decimal;FinalInvoice@1170000001 : Boolean;PricesInclVATRoundingAmount@1170000000 : ARRAY [2] OF Decimal);// End of the added line.      VAR...
    Vorhandener Code 2
    ...// Delete the following line.IF ABS(TotalRoundingAmount[2]) <= GLSetup."Amount Rounding Precision" THEN BEGIN// End of the deleted line.            IF ("Prepayment %" = 100) AND ("Prepmt. Amount Inv. (LCY)" = 0) THEN...
    Neuer Code 2
    ...// Add the following lines.         IF (PricesInclVATRoundingAmount[1] <> 0) AND (TotalRoundingAmount[1] = 0) THEN BEGIN           Prepmt100PctVATRoundingAmt := 0;           PricesInclVATRoundingAmount[1] := 0;         END;          IF (ABS(TotalRoundingAmount[2]) <= GLSetup."Amount Rounding Precision") OR            (FinalInvoice AND (TotalRoundingAmount[1] = 0))         THEN BEGIN// End of the added lines.            IF ("Prepayment %" = 100) AND ("Prepmt. Amount Inv. (LCY)" = 0) THEN...
    Vorhandenen Code 3
    ...END;// Delete the following lines.         "Prepmt. VAT Amount Inv. (LCY)" := -(TotalRoundingAmount[2] + Prepmt100PctVATRoundingAmt);         NewAmountIncludingVAT := Amount - (TotalPrepmtAmount[2] + TotalRoundingAmount[2]);         Increment(           TotalPurchLineLCY."Amount Including VAT",-("Amount Including VAT" - NewAmountIncludingVAT + Prepmt100PctVATRoundingAmt));// End of the deleted lines.          IF "Currency Code" = '' THEN...
    Neuer Code 3
    ...END;// Add the following lines.         IF (PricesInclVATRoundingAmount[2] <> 0) AND (TotalRoundingAmount[2] = 0) THEN BEGIN           Prepmt100PctVATRoundingAmt := 0;           PricesInclVATRoundingAmount[2] := 0;         END;          "Prepmt. VAT Amount Inv. (LCY)" := -(TotalRoundingAmount[2] + Prepmt100PctVATRoundingAmt);         NewAmountIncludingVAT := Amount - (TotalPrepmtAmount[2] + TotalRoundingAmount[2]);         IF (PricesInclVATRoundingAmount[1] = 0) AND (PricesInclVATRoundingAmount[2] = 0) THEN           Increment(             TotalPurchLineLCY."Amount Including VAT",-("Amount Including VAT" - NewAmountIncludingVAT + Prepmt100PctVATRoundingAmt));// End of the added lnies.          IF "Currency Code" = '' THEN...

Voraussetzungen

Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:
  • Microsoft Dynamics NAV 2009 Servicepack 1 (SP1)
  • 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. Siehe Rechtliche Hinweise für andere Faktoren.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 2893954 – Letzte Überarbeitung: 08/09/2016 05:23:00 – Revision: 2.0

Microsoft Dynamics NAV 2009

  • kbqfe kbmbsmigrate kbmbscodefix kbsurveynew kberrmsg kbmt KB2893954 KbMtde
Feedback