Het veld ' Verkoop YTD (LV) ' in de pagina Statistieken Feitenblok van klant (9082) bevat de facturen die zijn geboekt in de afgelopen jaren in Microsoft Dynamics NAV 2009


Dit artikel is van toepassing op Microsoft Dynamics NAV voor alle landen en alle taalinstellingen.

Symptomen


Als u de pagina Feitenblok van klant statistieken (9082) in Microsoft Dynamics NAV 2009 uitvoert, bevat het veld Verkoop YTD (LV) op de pagina facturen die zijn geboekt in de voorgaande jaren. De pagina moet echter alleen weer de waarde van de gemaakte verkoopfacturen worden geboekt jaar tot heden in het veld Verkoop YTD (LV) .
Dit probleem treedt op in de volgende producten:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 servicepack 1 (SP1)

Oplossing


Informatie over de hotfix

Een ondersteunde hotfix is nu beschikbaar bij Microsoft. Het is echter alleen bedoeld om het probleem dat wordt beschreven in dit artikel. Pas deze alleen toe op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op het volgende servicepack voor Microsoft Dynamics NAV of de volgende Microsoft Dynamics NAV versie waarin deze hotfix is opgenomen.

Opmerking In speciale gevallen kunnen kosten die verbonden zijn aan ondersteuningsoproepen ondersteuning worden geannuleerd als een medewerker van Technical Support voor Microsoft Dynamics en verwante producten bepaalt dat een specifieke update de oplossing van uw probleem. De normale ondersteuningskosten blijven gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.


Informatie over de installatie

Microsoft verstrekt programmeervoorbeelden uitsluitend ter illustratie, zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken van en naar procedures voor foutopsporing. Ondersteuningstechnici van Microsoft kunnen voor uitleg over de functionaliteit van een bepaalde procedure, maar zij zullen deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten niet wijzigen.

Opmerking Voordat u deze hotfix hebt geïnstalleerd, controleert u of dat alle gebruikers van Microsoft Navision-clients zijn afgemeld bij het systeem. Dit geldt ook voor gebruikers van Microsoft Navision Application Services (NAS)-clients. U moet de alleen clientgebruiker die is aangemeld wanneer u deze hotfix gaat implementeren.

Als u deze hotfix gaat implementeren, hebt u een ontwikkelaarslicentie voor.

Is raadzaam dat de gebruikersaccount in het venster Windows-aanmeldingen of Databaseaanmeldingen de rol-id 'SUPER'. Als de gebruikersaccount kan worden toegewezen als de ID 'SUPER' rol, moet u controleren of de gebruikersaccount de volgende machtigingen heeft:
  • De machtiging wijzigen voor het object dat u wijzigt.
  • De machtiging uitvoeren voor het object System Object ID 5210 en voor het object System Object ID 9015 .


Opmerking Er geen rechten voor de opgeslagen gegevens hebben, tenzij u gegevens herstellen.

Codewijzigingen

Opmerking Altijd test code worden opgelost in een testomgeving voordat u de correcties in de productieomgeving.
U kunt dit probleem oplossen door de volgende stappen uit te voeren:
  1. Een nieuwe functie in de tabel Boekhoudperiode (50) als volgt toevoegen:
    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. Een nieuwe functie in de tabel Boekhoudperiode (50) als volgt toevoegen:
    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. Voeg een nieuwe variabele in het formulier klanten statistieken feitenblok (9082) en geef de variabele als volgt:
    • Naam: CustomerSalesYTD
    • Gegevenstype: Record
    • Subtype: klant (18)
  4. Voeg een nieuwe variabele in het formulier klanten statistieken feitenblok (9082) en geef de variabele als volgt:
    • Naam: AccountingPeriod
    • Gegevenstype: Record
    • Subtype: boekhoudperiode (50)
  5. Voeg een nieuwe variabele in het formulier klanten statistieken feitenblok (9082) en geef de variabele als volgt:
    • Naam: begindatum
    • Gegevenstype: datum
  6. Voeg een nieuwe variabele in het formulier klanten statistieken feitenblok (9082) en geef de variabele als volgt:
    • Naam: einddatum
    • Gegevenstype: - datum
  7. De code in het Formulier OnAfterGetRecord trigger in het formulier klanten statistieken feitenblok (9082) als volgt wijzigen:
    Bestaande 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);
    ...
    Nieuwe 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. Voeg een nieuwe lokale variabele in de JTD verkoop (LV)-OnDrillDown activeren in het formulier klanten statistieken feitenblok (9082) en geeft u de variabele als volgt:
    • Naam: CustLedgEntry
    • Gegevenstype: Record
    • Subtype: Klantenpost. Post (21)
  9. Voeg de volgende code in de JTD verkoop (LV)-OnDrillDown trigger in het formulier klanten statistieken feitenblok (9082):
    ...CustLedgEntry.RESET;
    CustLedgEntry.SETRANGE("Customer No.","No.");
    CustLedgEntry.SETRANGE("Posting Date",StartDate,EndDate);
    FORM.RUNMODAL(FORM::"Customer Ledger Entries",CustLedgEntry);
    ...
  10. De bijschriftdefinitie van het label 16 in het formulier klanten statistieken feitenblok (9082) als volgt verwijderen:
    Bestaande code
    ...{ 16 ;Label ;220 ;6380 ;3300 ;440 ;ParentControl=4;
    CaptionML=ENU=Total Sales (LCY) }
    ...
    Nieuwe code
    ...{ 16 ;Label ;220 ;6380 ;3300 ;440 ;ParentControl=4}
    ...
  11. Meertalige bijschriften in de pagina Statistieken Feitenblok van klant (9082) moet u direct corrigeren. Wijzig bijvoorbeeld het bijschrift van "Verkauf Vorjahr (MW)" naar "Verkauf aktuelles Jahr (MW)" in het Duits. Bijschriften gecorrigeerd moeten worden geëxporteerd naar het bestand 'PageTranslations.txt' en moet u het formulier transformatie proces uitvoeren in het menu bestand.
    Opmerking Het formulier transformatie-proces is een verplichte stap voor de overdracht van de correctie van het formulier klant statistieken feitenblok (9082) naar de pagina Feitenblok van klant statistieken (9082).

Vereisten

Hebt u een van de volgende producten geïnstalleerd om deze hotfix:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 servicepack 1 (SP1)

Informatie over verwijderen

U kunt deze hotfix niet verwijderen.

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.
Opmerking Dit is een 'Snel publiceren' artikel dat rechtstreeks door het ondersteuningsteam van Microsoft is gemaakt. De informatie wordt geleverd zoals het is in reactie op de opkomende problemen. Omdat het artikel snel beschikbaar moest zijn, kunnen de materialen typografische fouten bevatten en op elk gewenst moment zonder voorafgaande kennisgeving worden gewijzigd. Zie de Gebruiksvoorwaarden voor andere overwegingen.