Symptomen

Nadat u de nieuwste versie van de lijst klant facturen, als u een factuur met de bijbehorende betalingstransactie vereffenen en boek vervolgens in de Italiaanse versie van Microsoft Dynamics NAV 2009, wordt de betaling niet weergegeven in het rapport. Alleen de factuur zo dicht wordt weergegeven. Volg de stappen in de sectie codewijzigingen oplossen van dit probleem. Dit probleem treedt op in de volgende producten:

  • De Italiaanse versie van Microsoft Dynamics NAV 2009 R2

  • De Italiaanse versie van Microsoft Dynamics NAV 2009 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 2009 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. Zij zal deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten echter niet wijzigen.

Opmerking Voordat u deze hotfix hebt geïnstalleerd, controleert u of dat alle gebruikers van Microsoft Dynamics NAV-clients zijn afgemeld bij het systeem. Dit omvat services voor Microsoft Dynamics NAV Application Server (NAS). 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 de System Object ID 9015

    -object.

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. De code in het rapport facturen klant (12117) als volgt wijzigen:
    Bestaande code 1

    ...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)
    WHERE(Entry Type=CONST(Application));
    OnPreDataItem=BEGIN

    // Delete the following line.
    CustLedgEntry1.COPYFILTER("Posting Date", "Detailed Cust. Ledg. Entry"."Posting Date"); // IT0004
    // End of the deleted line.

    END;

    OnAfterGetRecord=BEGIN
    ...

    Nieuwe code 1

    ...DataItemTableView=SORTING(Cust. Ledger Entry No.,Entry Type,Posting Date)
    WHERE(Entry Type=CONST(Application));
    OnPreDataItem=BEGIN

    // Add the following line.
    FindAppliedDtldCustLedgEntry(CustLedgEntry1."Entry No.");
    // End of the added line.

    END;

    OnAfterGetRecord=BEGIN
    ...

    Bestaande code 2

    ...     {   END;

    OnAfterGetRecord=BEGIN

    // Delete the following lines.
    IF ("Entry No." = 0) OR ("Unapplied by Entry No." <> 0) OR
    ("Document Type" IN
    ["Document Type"::Payment,"Document Type"::Refund,"Document Type"::Dishonored,"Document Type"::" "])
    THEN
    ShowDetailedCustLedgerEntry := TRUE
    ELSE
    ShowDetailedCustLedgerEntry := FALSE;
    // IT0015.begin
    //VSTF275923 begin
    // VSTF305887.begin
    //IF PrintCustLedgEntry2 THEN
    IF PrintCustLedgEntry2 AND ("Document Type" <> "Document Type"::Payment) THEN
    CurrReport.SKIP;
    // VSTF305887.end
    //CurrReport.SKIP;
    //VSTF275923 end
    // IT0015.end
    CustLedgEntry3.GET("Applied Cust. Ledger Entry No.");
    CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");
    // IT0004.begin
    ClosedByAmountLCY := "Amount (LCY)";
    TotalForCustomer += "Amount (LCY)";
    // IT0004.end
    TotalClosedByAmntLCY += "Amount (LCY)"; // IT0005
    // End of the deleted lines.

    END;

    DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);
    ...

    Vervangende code 2

    ...END;

    OnAfterGetRecord=BEGIN

    // Add the following lines.
    IF NOT TempDetailedCustLedgEntryApp.GET("Entry No.") THEN
    CurrReport.SKIP;
    CustLedgEntry3.GET("Cust. Ledger Entry No.");
    CustLedgEntry3.CALCFIELDS("Original Amt. (LCY)");
    AppliedDocumentTypeText := FORMAT(CustLedgEntry3."Document Type");
    ClosedByAmountLCY := "Amount (LCY)";
    TotalForCustomer -= "Amount (LCY)";
    TotalClosedByAmntLCY -= "Amount (LCY)";
    // End of the added lines.

    END;

    DataItemLink=Cust. Ledger Entry No.=FIELD(Entry No.);
    ...

    Bestaande code 3

    ... SectionWidth=24450;
    SectionHeight=846;
    OnPreSection=BEGIN

    // Delete the following line.
    CurrReport.SHOWOUTPUT(ShowDetailedCustLedgerEntry)
    // End of the deleted line.

    END;

    }
    ...

    Vervangende code 3

    ...SectionWidth=24450;
    SectionHeight=846;
    OnPreSection=BEGIN

    // Add the following lines.
    IF ("Unapplied by Entry No." <> 0) THEN
    CurrReport.SHOWOUTPUT(FALSE);
    // End of the added lines.

    END;

    }
    ...

    Bestaande code 4

    ...ForeColor=65535;
    SourceExpr="Document Type" = "Document Type"::Dishonored;
    DataSetFieldName=Document_Type_____Document_Type___Dishonored }

    // Delete the following lines.
    { 1130123;TextBox ;24000;0 ;150 ;423 ;Visible=No;
    SourceExpr=ShowDetailedCustLedgerEntry;
    DataSetFieldName=ShowDetailedCustLedgerEntry }
    // End of the deleted lines.

    }
    }
    { PROPERTIES
    ...

    Vervangende code 4

    ... ForeColor=65535;
    SourceExpr="Document Type" = "Document Type"::Dishonored;
    DataSetFieldName=Document_Type_____Document_Type___Dishonored }
    }
    }
    { PROPERTIES
    ...
  2. De code in de globale variabelen in de lijst met afschrijvingen van klant lijst (12117) als volgt wijzigen:
    Bestaande code 1

    ...Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';
    Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';
    SalesSetup@1130002 : Record 311;
    EndingDate@1130003 : Date;
    ExposureDate@1130004 : Date;
    OnlyOpened@1130005 : Boolean;
    ...

    Nieuwe code 1

    ...  Text000@1130000 : TextConst 'ENU=Please specify the Ending Date';
    Text001@1130001 : TextConst 'ENU=The Bank Receipts Risk Period Value must not be blank in Sales Setup';
    SalesSetup@1130002 : Record 311;

    // Add the following lines.
    CustLedgEntry3@1130130 : Record 21;
    TempDetailedCustLedgEntryApp@1130131 : TEMPORARY Record 379;
    // End of the added lines.

    EndingDate@1130003 : Date;
    ExposureDate@1130004 : Date;
    OnlyOpened@1130005 : Boolean;
    ...

    Bestaande code 2

    ... TotExpAmntForCust@1130011 : Decimal;
    BalanceDue@1130012 : Decimal;
    NULL@1130013 : DateFormula;

    // Delete the following lines.
    CustLedgEntry3@1130130 : Record 21;
    PrintCustLedgEntry2@1130014 : Boolean;
    ShowDetailedCustLedgerEntry@1130015 : Boolean INDATASET;
    // End of the deleted lines.

    BEGIN
    {
    ...

    Vervangende code 2

    ...  TotExpAmntForCust@1130011 : Decimal;
    BalanceDue@1130012 : Decimal;
    NULL@1130013 : DateFormula;

    // Add the following lines.
    PrintCustLedgEntry2@1130014 : Boolean;
    AppliedDocumentTypeText@1130132 : Text[30];

    LOCAL PROCEDURE FindAppliedDtldCustLedgEntry@1130007(CustLedgerEntryNo@1130000 : Integer);
    VAR
    DetailedCustLedgEntry@1130001 : Record 379;
    DetailedCustLedgEntryApplied@1130003 : Record 379;
    BEGIN
    TempDetailedCustLedgEntryApp.RESET;
    TempDetailedCustLedgEntryApp.DELETEALL;

    DetailedCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgerEntryNo);
    DetailedCustLedgEntry.SETRANGE("Entry Type",DetailedCustLedgEntry."Entry Type"::Application);
    DetailedCustLedgEntry.SETRANGE(Unapplied,FALSE);

    DetailedCustLedgEntryApplied.SETRANGE(
    "Entry Type",DetailedCustLedgEntryApplied."Entry Type"::Application);

    IF DetailedCustLedgEntry.FINDSET THEN
    REPEAT
    DetailedCustLedgEntryApplied.SETRANGE(
    "Applied Cust. Ledger Entry No.",DetailedCustLedgEntry."Applied Cust. Ledger Entry No.");
    DetailedCustLedgEntryApplied.SETFILTER(
    "Cust. Ledger Entry No.",'<>%1',CustLedgerEntryNo);
    DetailedCustLedgEntryApplied.SETRANGE(
    "Customer No.",DetailedCustLedgEntry."Customer No.");
    DetailedCustLedgEntryApplied.SETRANGE(
    "Transaction No.",DetailedCustLedgEntry."Transaction No.");
    IF DetailedCustLedgEntryApplied.FINDSET THEN
    REPEAT
    TempDetailedCustLedgEntryApp := DetailedCustLedgEntryApplied;
    IF TempDetailedCustLedgEntryApp.INSERT THEN;
    UNTIL DetailedCustLedgEntryApplied.NEXT = 0;
    UNTIL DetailedCustLedgEntry.NEXT = 0;
    END;
    // End of the added lines.

    BEGIN
    {
    ...
  3. De code in de lijst met leveranciers rekeningen rapport (12116) als volgt wijzigen:
    Bestaande code 1

    ... </TableRow>
    </TableRows>
    </Header>
    <Visibility>
    <Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden>
    </Visibility>
    </TableGroup>
    </TableGroups>
    <Top>2.22222cm</Top>
    ...

    Nieuwe code 1

    ... </TableRow>
    </TableRows>
    </Header>

    // Delete the following lines.
    <Visibility>
    <Hidden>=IIF(Fields!ShowDetailedCustLedgerEntry.Value,TRUE,FALSE)</Hidden>
    </Visibility>
    // End of the deleted lines.

    </TableGroup>
    </TableGroups>
    <Top>2.22222cm</Top>
    ...

    Bestaande code 2

    ...Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">
    <DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>
    </Field>
    <Field Name="ShowDetailedCustLedgerEntry">
    <DataField>ShowDetailedCustomerLedgerEntry</DataField>
    </Field>
    </Fields>
    <Query>
    <CommandText />
    ...

    Vervangende code 2

    ...<Field Name="Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_">
    <DataField>Detailed_Cust__Ledg__Entry_Cust__Ledger_Entry_No_</DataField>
    </Field>

    // Delete the following lines.
    <Field Name="ShowDetailedCustLedgerEntry">
    <DataField>ShowDetailedCustomerLedgerEntry</DataField>
    </Field>
    // End of the deleted lines.

    </Fields>
    <Query>
    <CommandText />
    ...

Vereisten

Hebt u een van de volgende producten geïnstalleerd om deze hotfix:

  • De Italiaanse versie van Microsoft Dynamics NAV 2009 R2

  • De Italiaanse versie van Microsoft Dynamics NAV 2009 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 Gebruiksvoorwaardenvoor andere overwegingen.

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×