Das Feld "Verkauf seit Jahresbeginn (MW)" auf Kunden Statistiken Infobox (9082) enthält Rechnungen, die in den letzten Jahren in Microsoft Dynamics NAV 2009 gebucht werden


Dieser Artikel gilt für Microsoft Dynamics NAV für alle Länder und alle Gebietsschemas.

Problembeschreibung


Beim Ausführen der Kunde Statistiken Infobox-Seite (9082) in Microsoft Dynamics NAV 2009 enthält den Umsatz seit Jahresbeginn ( MW) auf der Seite Rechnungen, die in den letzten Jahren gebucht werden. Die Seite sollte jedoch nur zeigt den Wert der Rechnungen, die gebucht werden Jahr bis Datum (Jahr bis dato) im Feld Verkauf seit Jahresbeginn (MW) .
Dieses Problem tritt in den folgenden Produkten auf:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Servicepack 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 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. Fügen Sie eine neue Funktion in der Tabelle Buchhaltungsperiode (50) wie folgt:
    PROCEDURE GetFiscalYearEndtDate@9(ReferenceDate@1000 : Date) : Date;VAR
    AccountingPeriod@1001 : Record 50;
    BEGIN
    WITH AccountingPeriod DO BEGIN
    SETRANGE("New Fiscal Year",TRUE);
    SETRANGE("Starting Date",0D,ReferenceDate);
    IF FINDLAST THEN
    SETRANGE("Starting Date");
    IF FIND('>') THEN
    EXIT("Starting Date" - 1);
    END;
    END;
  2. Fügen Sie eine neue Funktion in der Tabelle Buchhaltungsperiode (50) wie folgt:
    PROCEDURE GetFiscalYearStarttDate@10(ReferenceDate@1000 : Date) : Date;VAR
    AccountingPeriod@1001 : Record 50;
    BEGIN
    WITH AccountingPeriod DO BEGIN
    SETRANGE("New Fiscal Year",TRUE);
    SETRANGE("Starting Date",0D,ReferenceDate);
    IF FINDLAST THEN
    EXIT("Starting Date")
    END;
    END;
  3. Hinzufügen einer neuen Variablen Kunden Statistiken Infobox (9082), und geben Sie die Variable wie folgt:
    • Name: CustomerSalesYTD
    • Datentyp: Datensatz
    • Untertyp: Kunden (18)
  4. Hinzufügen einer neuen Variablen Kunden Statistiken Infobox (9082), und geben Sie die Variable wie folgt:
    • Name: AccountingPeriod
    • Datentyp: Datensatz
    • Untertyp: Buchhaltungsperiode (50)
  5. Hinzufügen einer neuen Variablen Kunden Statistiken Infobox (9082), und geben Sie die Variable wie folgt:
    • Name: Startdatum
    • Datentyp: Datum
  6. Hinzufügen einer neuen Variablen Kunden Statistiken Infobox (9082), und geben Sie die Variable wie folgt:
    • Name: Enddatum
    • Datentyp: - Datum
  7. Ändern Sie den Code im Formular OnAfterGetRecord Trigger im Formular Kunden Statistiken Infobox (9082) wie folgt:
    Vorhandener code
    ...SETRANGE("No.");

    IF CurrentDate <> WORKDATE THEN BEGIN
    CurrentDate := WORKDATE;
    END;

    SETRANGE("Date Filter",0D,CurrentDate);
    CALCFIELDS(
    Balance,"Balance (LCY)","Balance Due","Balance Due (LCY)",
    "Outstanding Orders (LCY)","Shipped Not Invoiced (LCY)");

    TotalAmountLCY := "Balance (LCY)" + "Outstanding Orders (LCY)" + "Shipped Not Invoiced (LCY)" + "Outstanding Invoices (LCY)";

    CALCFIELDS(

    // Delete the following line.
    "Sales (LCY)","Profit (LCY)","Inv. Discounts (LCY)","Inv. Amounts (LCY)","Pmt. Discounts (LCY)",

    "Pmt. Disc. Tolerance (LCY)","Pmt. Tolerance (LCY)",
    "Fin. Charge Memo Amounts (LCY)","Cr. Memo Amounts (LCY)","Payments (LCY)",
    "Reminder Amounts (LCY)","Refunds (LCY)","Other Amounts (LCY)");
    SETRANGE("Date Filter",0D,CurrentDate);
    ...
    Neuer code
    ...SETRANGE("No.");

    IF CurrentDate <> WORKDATE THEN BEGIN
    CurrentDate := WORKDATE;
    END;

    // Add the following lines.
    StartDate := AccountingPeriod.GetFiscalYearStarttDate(CurrentDate);
    EndDate := AccountingPeriod.GetFiscalYearEndtDate(CurrentDate);
    CustomerSalesYTD := Rec;
    CustomerSalesYTD.SETRANGE("Date Filter",StartDate,EndDate);
    CustomerSalesYTD.CALCFIELDS("Sales (LCY)");
    "Sales (LCY)" := CustomerSalesYTD."Sales (LCY)";
    // End of the lines.

    SETRANGE("Date Filter",0D,CurrentDate);
    CALCFIELDS(
    Balance,"Balance (LCY)","Balance Due","Balance Due (LCY)",
    "Outstanding Orders (LCY)","Shipped Not Invoiced (LCY)");

    TotalAmountLCY := "Balance (LCY)" + "Outstanding Orders (LCY)" + "Shipped Not Invoiced (LCY)" + "Outstanding Invoices (LCY)";

    CALCFIELDS(

    // Add the following line.
    "Profit (LCY)","Inv. Discounts (LCY)","Inv. Amounts (LCY)","Pmt. Discounts (LCY)",

    "Pmt. Disc. Tolerance (LCY)","Pmt. Tolerance (LCY)",
    "Fin. Charge Memo Amounts (LCY)","Cr. Memo Amounts (LCY)","Payments (LCY)",
    "Reminder Amounts (LCY)","Refunds (LCY)","Other Amounts (LCY)");
    SETRANGE("Date Filter",0D,CurrentDate);
    ...
  8. Fügen Sie eine neue lokale Variable in der Umsatz seit Jahresbeginn (MW)-OnDrillDown im Formular Kunden Statistiken Infobox (9082) ausgelöst, und geben Sie die Variable wie folgt:
    • Name: CustLedgEntry
    • Datentyp: Datensatz
    • Untertyp: Cust. Posten (21)
  9. Fügen Sie folgenden Code in die Umsatz seit Jahresbeginn (MW)-OnDrillDown Trigger im Formular Kunden Statistiken Infobox (9082):
    ...CustLedgEntry.RESET;
    CustLedgEntry.SETRANGE("Customer No.","No.");
    CustLedgEntry.SETRANGE("Posting Date",StartDate,EndDate);
    FORM.RUNMODAL(FORM::"Customer Ledger Entries",CustLedgEntry);
    ...
  10. Löschen Sie die Beschriftung Definition der Bezeichnung 16 im Formular Kunden Statistiken Infobox (9082) wie folgt:
    Vorhandener code
    ...{ 16 ;Label ;220 ;6380 ;3300 ;440 ;ParentControl=4;
    CaptionML=ENU=Total Sales (LCY) }
    ...
    Neuer code
    ...{ 16 ;Label ;220 ;6380 ;3300 ;440 ;ParentControl=4}
    ...
  11. Sie müssen mehrsprachige Untertitel auf Kunden Statistiken Infobox (9082) direkt korrigieren. Beispielsweise ändern Sie die Beschriftung von "Verkauf Vorjahr (MW)", "Verkauf Aktuelles Jahr (MW)" auf Deutsch. Korrigierte Untertitel müssen in der Datei "PageTranslations.txt" exportiert werden, und Sie sollten den Formular Transformationsprozess der Datei ausführen.
    Hinweis Formular Transformationsprozess werden Kunden Statistiken Infobox Seite (9082) ein obligatorischer Schritt für die Korrektur von Kunden Statistiken Infobox Formular (9082) übertragen.

Voraussetzungen

Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Servicepack 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.
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 .