Sjabloon: CPR - sjabloon voor Navision Code Fix

BUG #: 206057 (Contentbeheer)

Dit artikel is van toepassing op Microsoft Dynamics NAV voor de taalinstelling Italiaans (it).

Symptomen

Na het boeken en een restitutie van toepassing op een creditnota, wordt het rapport lijst met leveranciers factureren (12116) de creditnota niet weergegeven. Dit probleem treedt op in de volgende producten:

  • De Italiaanse versie van Microsoft Dynamics NAV 2009 R2

  • De Italiaanse versie van Service Pack 1 voor Microsoft Dynamics NAV 2009

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.

Als deze hotfix niet is geboekt voor openbare downloaden (wat betekent dat een openbare URL voor deze hotfix is niet opgenomen in dit artikel), verdeling technische lead, escalation teamlid of goedkeuring manager vereist en de volgende informatie is van toepassing:

  • To receive the hotfix, klanten moeten als ze problemen hebben dat wordt vermeld in de sectie 'Symptomen'.

  • U moet bijhouden welke klanten u deze en sturen met het volgende servicepack leveren, wanneer dit beschikbaar komt (als u een servicepack wordt gepubliceerd).

Deze hotfix is gepland voor opname in Microsoft Dynamics NAV 2013.


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 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 test correcties altijd in een testomgeving voordat u ze implementeert in de productieomgeving. U kunt dit probleem oplossen door de volgende stappen uit te voeren:

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

    ...        OnAfterGetRecord=BEGIN
    CALCFIELDS("Amount (LCY)","Remaining Amt. (LCY)");

    // Delete the following line.
    IF ((OnlyOpened) OR ("Document Type" IN ["Document Type"::Payment,"Document Type"::"Credit Memo","Document Type"::" "])) AND

    ("Remaining Amt. (LCY)" = 0)
    THEN
    CurrReport.SKIP;
    ...

    Nieuwe code 1

    ...        OnAfterGetRecord=BEGIN
    CALCFIELDS("Amount (LCY)","Remaining Amt. (LCY)");

    // Add the following line.
    IF ((OnlyOpened) OR ("Document Type" IN ["Document Type"::Payment,"Document Type"::Refund,"Document Type"::" "])) AND

    ("Remaining Amt. (LCY)" = 0)
    THEN
    CurrReport.SKIP;
    ...

    Bestaande code 2

    ...                           RemainingAmountLCY := 0;
    VendorBillAmnt := 0;

    // Delete the following lines.
    IF ("Document Type" = "Document Type"::Invoice) OR
    ("Document Type" = "Document Type"::"Finance Charge Memo") OR
    ("Document Type" = "Document Type"::Reminder)
    // End of the lines.

    THEN BEGIN
    //TotalClosedByAmntLCY := "Remaining Amt. (LCY)"; //IT0002 - IT0004
    TotalForVendor := TotalForVendor + "Amount (LCY)";
    ...

    Vervangende code 2

    ...                           RemainingAmountLCY := 0;
    VendorBillAmnt := 0;

    // Add the following lines.
    IF "Document Type" IN
    ["Document Type"::Invoice,
    "Document Type"::"Credit Memo",
    "Document Type"::"Finance Charge Memo",
    "Document Type"::Reminder]
    // End of the lines.

    THEN BEGIN
    //TotalClosedByAmntLCY := "Remaining Amt. (LCY)"; //IT0002 - IT0004
    TotalForVendor := TotalForVendor + "Amount (LCY)";
    ...

    Bestaande code 3

    ...                      END;

    OnAfterGetRecord=BEGIN
    // IT0003.begin
    VendLedgEntry3.GET("Applied Vend. Ledger Entry No.");
    VendLedgEntry3.CALCFIELDS("Original Amt. (LCY)");
    ...

    Vervangende code 3

    ...                      END;

    OnAfterGetRecord=BEGIN

    // Add 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"::" "])
    THEN
    ShowDetailedVendorLedgerEntry := TRUE
    ELSE
    ShowDetailedVendorLedgerEntry := FALSE;
    // End of the lines.

    // IT0003.begin
    VendLedgEntry3.GET("Applied Vend. Ledger Entry No.");
    VendLedgEntry3.CALCFIELDS("Original Amt. (LCY)");
    ...

    Bestaande code 4

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

    // Delete the following lines.
    // IT0008.begin
    // IT0011.begin
    IF (VendLedgEntry1."Document Type" = VendLedgEntry1."Document Type"::Payment) OR
    (VendLedgEntry1."Document Type" = VendLedgEntry1."Document Type"::"Credit Memo") OR
    (VendLedgEntry1."Document Type" = VendLedgEntry1."Document Type"::" ") OR
    ("Unapplied by Entry No." <> 0)
    THEN
    // IT0011.end
    CurrReport.SHOWOUTPUT(FALSE)
    ELSE
    CurrReport.SHOWOUTPUT(TRUE);
    // IT0008.end
    // IT0009.begin
    //IF ("Unapplied by Entry No." <> 0) THEN
    // CurrReport.SHOWOUTPUT(FALSE);
    // IT0009.end
    // End of the lines.

    END;

    }
    ...

    Vervangende code 4

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

    // Add the following line.
    CurrReport.SHOWOUTPUT(ShowDetailedVendorLedgerEntry)

    END;

    }
    ...

    Bestaande code 5

    ...                                                         ForeColor=65535;
    SourceExpr="Unapplied by Entry No.";
    DataSetFieldName=Detailed_Vendor_Ledg__Entry__Unapplied_by_Entry_No__ }
    }
    }
    { PROPERTIES
    ...

    Vervangende code 5

    ...                                                         ForeColor=65535;
    SourceExpr="Unapplied by Entry No.";
    DataSetFieldName=Detailed_Vendor_Ledg__Entry__Unapplied_by_Entry_No__ }

    // Add the following lines.
    { 1130084;TextBox ;27150;0 ;150 ;423 ;Visible=No;
    SourceExpr=ShowDetailedVendorLedgerEntry;
    DataSetFieldName=ShowDetailedVendorLedgerEntry }
    // End of the lines.

    }
    }
    { PROPERTIES
    ...

  2. De code van de globale variabelen in de lijst met leveranciers rekeningen rapport (12116) als volgt wijzigen:
    Bestaande code

    ...      TotalVendorBillAmnt@1130010 : Decimal;
    VendLedgEntry3@1130011 : Record 25;
    VendorLedgerEmtryTypeINT@1102601000 : Integer;

    BEGIN
    {
    ...

    Nieuwe code

    ...      TotalVendorBillAmnt@1130010 : Decimal;
    VendLedgEntry3@1130011 : Record 25;
    VendorLedgerEmtryTypeINT@1102601000 : Integer;

    // Add the following line.
    ShowDetailedVendorLedgerEntry@1130012 : Boolean INDATASET;

    BEGIN
    {
    ...

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

    ...                    </TableCell>
    </TableCells>
    <Visibility>

    // Delete the following lines.
    <Hidden>=IIF(Fields!Detailed_Vendor_Ledg__Entry_Entry_No_.Value=0 OR
    Fields!Detailed_Vendor_Ledg__Entry__Unapplied_by_Entry_No__.Value<>0 OR
    Fields!VendLedgEntry1_DocumentType.Value="1" OR
    Fields!VendLedgEntry1_DocumentType.Value="3" OR
    Fields!VendLedgEntry1_DocumentType.Value="0",
    TRUE,FALSE)</Hidden>
    // End of the lines.

    </Visibility>
    </TableRow>
    <TableRow>
    ...

    Nieuwe code 1

    ...                    </TableCell>
    </TableCells>
    <Visibility>

    // Add the following line.
    <Hidden>=IIF(Fields!ShowDetailedVendorLedgerEntry.Value,TRUE,FALSE)</Hidden>

    </Visibility>
    </TableRow>
    <TableRow>
    ...

    Bestaande code 2

    ...        <Field Name="Detailed_Vendor_Ledg__Entry_Vendor_Ledger_Entry_No_">
    <DataField>Detailed_Vendor_Ledg__Entry_Vendor_Ledger_Entry_No_</DataField>
    </Field>
    </Fields>
    <Query>
    <CommandText />
    ...

    Vervangende code 2

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

    // Add the following lines.
    <Field Name="ShowDetailedVendorLedgerEntry">
    <DataField>ShowDetailedVendorLedgerEntry</DataField>
    </Field>
    // End of the 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 Service Pack 1 voor Microsoft Dynamics NAV 2009

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'.

Referenties

VSFT DynamicsNAVSE: 355463

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.

Auteur: avannini
Schrijver: v-brialu
Tech Reviewer: avannini
Editor:

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 vertaalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×