Die Stornobuchungen werden nicht im monatlichen Bericht oder Bericht gruppiert erwartungsgemäß beim Drucken und exportieren die Einträge in der italienischen Version von Microsoft Dynamics NAV


Dieser Artikel bezieht sich auf Microsoft Dynamics NAV für das Gebietsschema Italienisch (it).

Problembeschreibung


Beim Drucken und Exportieren von Stornobuchungen waren (kein Service Zusammenhang) in der italienischen Version von Microsoft Dynamics NAV die Berichte und die Dateien werden nicht gruppiert, in monatlichen Bericht oder Quartalsbericht wie erwartet.
Dieses Problem tritt in den folgenden Produkten auf:
  • Die italienische Version von Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Die italienische Version von Microsoft Dynamics NAV 2009 R2
  • Die italienische Version von Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

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-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 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 im Trigger "OnAfterGetRecord" im Intrastat Buch.-Blattzeile im Bericht (501) wie folgt:
    Vorhandener Code 1
    ...        SupplUnits := "Intrastat Jnl. Line".Quantity;

    // Delete the following lines.
    { "Intra - form Buffer".RESET;
    IF "Intra - form Buffer".GET(
    "Intrastat Jnl. Line"."VAT Registration No.","Intrastat Jnl. Line"."Transaction Type",
    "Intrastat Jnl. Line"."Tariff No.","Intrastat Jnl. Line"."Group Code","Intrastat Jnl. Line"."Transport Method",
    "Intrastat Jnl. Line"."Transaction Specification",CountryOriginCode,"Intrastat Jnl. Line".Area,
    "Intrastat Jnl. Line"."Corrective entry")
    THEN BEGIN
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
    "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
    "Intrastat Jnl. Line"."Statistical Value";
    "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
    "Intra - form Buffer".MODIFY;
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer".INSERT;
    END; }
    // End of the deleted lines.

    END ELSE BEGIN // Corrective Entry
    ...
    Neuer Code 1
    ...  SupplUnits := "Intrastat Jnl. Line".Quantity;

    END ELSE BEGIN // Corrective Entry
    ...
    Vorhandener Code 2
    ...       LineNo := LineNo +1;

    // Delete the following lines.
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."No." := LineNo;
    "Intra - form Buffer".INSERT;
    END
    // End of the deleted lines.

    END;
    ...
    Neuer Code 2
    ...     LineNo := LineNo +1;

    // Add the following lines.
    END;
    GroupIntraJnlLineIntoBuffer;
    // End of the added lines.

    END;
    ...
  2. Klicken Sie im Bericht (501) Ansicht Menü im C/AL Globals, fügen Sie die folgende Funktion in der Registerkarte Funktion: GroupIntraJnlLineIntoBuffer. Dann fügen Sie Code wie folgt in die erstellte Funktion GroupIntraJnlLineIntoBuffer :
    "Intra - form Buffer".RESET;IF "Intra - form Buffer".GET(
    "Intrastat Jnl. Line"."VAT Registration No.","Intrastat Jnl. Line"."Transaction Type",
    "Intrastat Jnl. Line"."Tariff No.","Intrastat Jnl. Line"."Group Code","Intrastat Jnl. Line"."Transport Method",
    "Intrastat Jnl. Line"."Transaction Specification",CountryOriginCode,"Intrastat Jnl. Line".Area,
    "Intrastat Jnl. Line"."Corrective entry",0,"Intrastat Jnl. Line"."Service Tariff No.")
    THEN BEGIN
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
    "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
    "Intrastat Jnl. Line"."Statistical Value";
    "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
    "Intra - form Buffer".MODIFY;
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer".INSERT;
    END;

  3. Ändern Sie den Code im Trigger "OnAfterGetRecord" im Intrastat Buch.-Blattzeile im Bericht (593) wie folgt:
    Vorhandener Code 1
    ...     SupplUnits := "Intrastat Jnl. Line".Quantity;

    // Delete the following lines.
    {"Intra - form Buffer".RESET;
    IF "Intra - form Buffer".GET("Intrastat Jnl. Line"."VAT Registration No.",
    "Intrastat Jnl. Line"."Transaction Type", "Intrastat Jnl. Line"."Tariff No.",
    "Intrastat Jnl. Line"."Group Code", "Intrastat Jnl. Line"."Transport Method",
    "Intrastat Jnl. Line"."Transaction Specification", CountryOriginCode,
    "Intrastat Jnl. Line".Area,"Intrastat Jnl. Line"."Corrective entry")
    THEN BEGIN
    //"Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;//old line
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + ROUND("Intrastat Jnl. Line".Amount,1);//new line
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
    "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
    //"Intrastat Jnl. Line"."Statistical Value"; //old line
    ROUND("Intrastat Jnl. Line"."Statistical Value",1); //new line
    "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
    "Intra - form Buffer".MODIFY;
    //TotalAmount += ABS(ROUND(Amount,1));//old line
    TotalAmount += ROUND(Amount,1); //new line
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);//new line
    "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1); //new line
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer".INSERT;
    //TotalAmount += ABS(ROUND(Amount,1));//old line
    TotalAmount += ROUND(Amount,1); //new line
    TotalRecords += 1;
    END;}
    // End of the deleted lines.

    END ELSE BEGIN //Corrective E ntry
    IF STRLEN("Reference Period") <> 4 THEN
    ...
    Neuer Code 1
    ...      SupplUnits := "Intrastat Jnl. Line".Quantity;
    END ELSE BEGIN //Corrective Entry
    IF STRLEN("Reference Period") <> 4 THEN
    ...
    Vorhandener Code 2
    ...     CheckCorrectiveStatPeriod;

    // Delete the following lines.
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);//new line
    "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1);
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer".INSERT;
    TotalAmount += ROUND(Amount,1);
    TotalRecords += 1;
    OldReferencePeriod := "Reference Period";
    //END
    // End of the deleted lines.

    END;
    ...
    Neuer Code 2
    ...    CheckCorrectiveStatPeriod;

    // Add the following lines.
    END;
    GroupIntraJnlLineIntoBuffer;
    // End of the added lines.

    END;
    ...
  4. Klicken Sie im Bericht (593) Ansicht Menü im C/AL Globals, fügen Sie die folgende Funktion in der Registerkarte Funktion: GroupIntraJnlLineIntoBuffer. Dann fügen Sie Code wie folgt in die erstellte Funktion GroupIntraJnlLineIntoBuffer :
    "Intra - form Buffer".RESET;IF "Intra - form Buffer".GET("Intrastat Jnl. Line"."VAT Registration No.",
    "Intrastat Jnl. Line"."Transaction Type", "Intrastat Jnl. Line"."Tariff No.",
    "Intrastat Jnl. Line"."Group Code", "Intrastat Jnl. Line"."Transport Method",
    "Intrastat Jnl. Line"."Transaction Specification", CountryOriginCode,
    "Intrastat Jnl. Line".Area,"Intrastat Jnl. Line"."Corrective entry",0,"Intrastat Jnl. Line"."Service Tariff No.")
    THEN BEGIN
    "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + ROUND("Intrastat Jnl. Line".Amount,1);
    "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" +
    "Intrastat Jnl. Line"."Source Currency Amount";
    "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight";
    "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" +
    ROUND("Intrastat Jnl. Line"."Statistical Value",1);
    "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits;
    "Intra - form Buffer".MODIFY;
    TotalAmount +=ROUND("Intrastat Jnl. Line".Amount,1);
    END ELSE BEGIN
    "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line");
    "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode;
    "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);
    "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1);
    "Intra - form Buffer".Quantity := SupplUnits;
    "Intra - form Buffer"."User ID" := USERID;
    "Intra - form Buffer"."No." := 0;
    "Intra - form Buffer".INSERT;
    TotalAmount += ROUND("Intrastat Jnl. Line".Amount,1);
    TotalRecords += 1;
    END;


Voraussetzungen

Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:
  • Die italienische Version von Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Die italienische Version von Microsoft Dynamics NAV 2009 R2
  • Die italienische Version von Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)


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.

Referenzen


VSTF DynamicsNAV SE: 237988, 237989
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 .