Dit artikel is van toepassing op Microsoft Dynamics NAV voor de taalinstelling Italiaans (it).
Symptomen
Wanneer u corrigerende of niet corrigerende vermeldingen afdrukt en exporteert in de Italiaanse versie van Microsoft Dynamics NAV, worden de rapporten en de bestanden niet gegroepeerd zoals verwacht in het maandelijkse rapport of in het kwartaalrapport of in het geëxporteerde bestand scambi.cee. U verwacht dat de groepering wordt overwogen als de vermeldingen hetzelfde btw-registratienummer gebruiken. of hetzelfde servicetarief nee. of andere groeperingsvoorwaarde, zoals het groeperen van goederen.
Dit probleem treedt op in de volgende producten:
- De Italiaanse versie van Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- De Italiaanse versie van Microsoft Dynamics NAV 2009 R2
- De Italiaanse versie van Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Oplossing
Hotfix-informatie
Er is nu een ondersteunde hotfix beschikbaar bij Microsoft. Het is echter alleen bedoeld om het probleem op te lossen dat in dit artikel wordt beschreven. Pas deze alleen toe op systemen die dit specifieke probleem ondervinden. Deze hotfix kan aanvullende tests ontvangen. Als u niet ernstig last hebt van dit probleem, raden we u aan te wachten op het volgende Microsoft Dynamics NAV 2009-servicepack of de volgende Microsoft Dynamics NAV-versie die deze hotfix bevat.
Opmerking In speciale gevallen kunnen kosten die gewoonlijk worden gemaakt voor ondersteuningsoproepen worden geannuleerd als een technische ondersteuningsmedewerker voor Microsoft Dynamics en gerelateerde producten vaststelt dat een specifieke update uw probleem oplost. De gebruikelijke ondersteuningskosten zijn van toepassing op aanvullende ondersteuningsvragen en problemen die niet in aanmerking komen voor de specifieke update in kwestie.
Installatie-informatie
Microsoft biedt programmeervoorbeelden uitsluitend ter illustratie, zonder uitdrukkelijke 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 bent met de programmeertaal die wordt gedemonstreerd en met de hulpprogramma's die worden gebruikt om procedures te maken en fouten op te sporen. Microsoft-ondersteuningstechnici kunnen helpen bij het uitleggen van de functionaliteit van een bepaalde procedure, maar ze zullen deze voorbeelden niet wijzigen om extra functionaliteit te bieden of procedures te maken die voldoen aan uw specifieke vereisten.
Opmerking Voordat u deze hotfix installeert, controleert u of alle Microsoft Navision-clientgebruikers zijn afgemeld bij het systeem. Dit geldt ook voor gebruikers van Microsoft Navision Application Services (NAS). U moet de enige clientgebruiker zijn die is aangemeld wanneer u deze hotfix implementeert.
Als u deze hotfix wilt implementeren, moet u een ontwikkelaarslicentie hebben.
We raden u aan om aan het gebruikersaccount in het venster Windows-aanmeldingen of in het venster Databaseaanmeldingen de rol-id 'SUPER' toe te wijzen. Als de rol-id 'SUPER' niet kan worden toegewezen aan het gebruikersaccount, moet u controleren of het gebruikersaccount de volgende machtigingen heeft:
- De machtiging Wijzigen voor het object dat u gaat wijzigen.
- De machtiging Uitvoeren voor het object Systeemobject-id 5210 en voor het object Systeemobject-id 9015.
Opmerking U hoeft geen rechten te hebben voor de gegevensarchieven, tenzij u gegevensherstel moet uitvoeren.
Codewijzigingen
Opmerking Test altijd codecorrecties in een beheerde omgeving voordat u de correcties toepast op uw productiecomputers.
Voer de volgende stappen uit om dit probleem op te lossen:
Zoek tabel (12118) en klik op Ontwerpen.
Klik in het menu Beeld op Sleutels. Wijzig vervolgens de volgende sleutels:
Oude waarde: BTW-registratienummer,Transactietype,Tariefnummer,Groepscode,Transportmethode,Transactiespecificatie,Land van oorsprongcode,Gebied,Corrigerende vermelding,Nee.
Nieuwe waarde: BTW-registratienummer,Transactietype,Tariefnummer,Groepscode,Transportmethode,Transactiespecificatie,Land van oorsprongcode,Gebied,Corrigerende vermelding,Nee.,Servicetariefnummer.
Voeg de volgende variabele toe aan het rapport (501):
- Naam: IntraJnlLine
- DataType: Record
- Subtype: Intrastat Jnl. Regel
Wijzig de code in de trigger Intrastat Jnl. Line - OnAfterGetRecord in het rapport (501) als volgt:
Bestaande code... TESTFIELD("Service Tariff No."); // Delete the following lines. NoOfRecords := NoOfRecords + 1; RoundAmount := ROUND(Amount,1); GroupIntraJnlLineIntoBuffer; // End of the deleted lines. GetPaymentMethod; END ELSE BEGIN ...Vervangende code
... TESTFIELD("Service Tariff No."); // Add the following line. GroupIntraJnlLineIntoBuffer; // End of the added line. GetPaymentMethod; // Add the following lines. IF GetEUIntraJnlLineFromBuffer THEN BEGIN NoOfRecords := NoOfRecords + 1; RoundAmount := ROUND("Intra - form Buffer".Amount,1) END ELSE CurrReport.SKIP; // End of the added lines. END ELSE BEGIN ...Voeg in de C/AL Globals de volgende functie toe: GetEUIntraJnlLineFromBuffer
Klik vervolgens op Lokaal en voeg op het tabblad Retourwaarde het volgende retourtype toe: Retourtype = Booleaanse waarde
Voeg de volgende code toe aan de gemaakte getEUIntraJnlLineFromBuffer-functie:
"Intra - form Buffer".RESET; IntraJnlLine.RESET; "Intra - form Buffer".SETRANGE("VAT Registration No.","Intrastat Jnl. Line"."VAT Registration No."); "Intra - form Buffer".SETRANGE("Service Tariff No.","Intrastat Jnl. Line"."Service Tariff No."); "Intra - form Buffer".SETRANGE("Corrective entry","Intrastat Jnl. Line"."Corrective entry"); IF "Intra - form Buffer".FINDFIRST THEN IntraJnlLine.SETRANGE("VAT Registration No.","Intra - form Buffer"."VAT Registration No."); IntraJnlLine.SETRANGE("Service Tariff No.","Intra - form Buffer"."Service Tariff No."); IntraJnlLine.SETRANGE("Corrective entry","Intra - form Buffer"."Corrective entry"); IF IntraJnlLine.FINDLAST THEN IF "Intrastat Jnl. Line"."Line No." = IntraJnlLine."Line No." THEN EXIT(TRUE); EXIT(FALSE);Wijzig de code in de trigger Intrastat Jnl. Line - OnAfterGetRecord in rapport (502) als volgt:
Bestaande code 1... TESTFIELD("Service Tariff No."); // Delete the following lines. NoOfRecords := NoOfRecords + 1; RoundAmount := ROUND(Amount,1); GroupIntraJnlLineIntoBuffer; // End of the deleted lines. GetPaymentMethod; END ELSE BEGIN ...Vervangende code 1
... TESTFIELD("Service Tariff No."); // Add the following lines. GroupIntraJnlLineIntoBuffer; GetPaymentMethod; IF GetEUIntraJnlLineFromBuffer THEN BEGIN NoOfRecords := NoOfRecords + 1; RoundAmount := ROUND("Intra - form Buffer".Amount,1) END ELSE CurrReport.SKIP; // End of the added lines. END ELSE BEGIN ...Bestaande code 2
... IF "Supplementary Units" THEN TESTFIELD(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"."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".MODIFY; END ELSE BEGIN "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line"); "Intra - form Buffer"."User ID" := USERID; "Intra - form Buffer"."Group Code":= ''; "Intra - form Buffer"."Transport Method" := ''; "Intra - form Buffer"."Transaction Specification" := ''; "Intra - form Buffer"."Country of Origin Code" := ''; "Intra - form Buffer".Area := ''; "Intra - form Buffer"."No." := 0; "Intra - form Buffer".INSERT; END;} // End of the deleted lines. END; ...Vervangende code 2
... IF "Supplementary Units" THEN TESTFIELD(Quantity); // Add the following line. GroupIntraJnlLineIntoBuffer; END; ...Voeg de volgende globale variabele toe in het rapport (502):
- Naam: IntraJnlLine
- DataType: Record
- Subtype: Intrastat Jnl. Regel
Voeg de functie GroupIntraJnlLineIntoBuffer toe en voeg vervolgens de volgende code voor deze functie toe in het rapport (502):
"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"."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".MODIFY; END ELSE BEGIN "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line"); "Intra - form Buffer"."User ID" := USERID; "Intra - form Buffer"."Group Code":= ''; "Intra - form Buffer"."Transport Method" := ''; "Intra - form Buffer"."Transaction Specification" := ''; "Intra - form Buffer"."Country of Origin Code" := ''; "Intra - form Buffer".Area := ''; "Intra - form Buffer"."No." := 0; "Intra - form Buffer".INSERT; END;Voeg in het rapport C/AL Globals in (502) de volgende functie toe: GetEUIntraJnlLineFromBuffer
Klik vervolgens op Lokaal en voeg op het tabblad Retourwaarde het volgende retourtype toe: Retourtype = Booleaanse waarde
Voeg de volgende code toe aan de gemaakte functie GetEUIntraJnlLineFromBuffer in het rapport (502):
"Intra - form Buffer".RESET; IntraJnlLine.RESET; "Intra - form Buffer".SETRANGE("VAT Registration No.","Intrastat Jnl. Line"."VAT Registration No."); "Intra - form Buffer".SETRANGE("Service Tariff No.","Intrastat Jnl. Line"."Service Tariff No."); "Intra - form Buffer".SETRANGE("Corrective entry","Intrastat Jnl. Line"."Corrective entry"); IF "Intra - form Buffer".FINDFIRST THEN IntraJnlLine.SETRANGE("VAT Registration No.","Intra - form Buffer"."VAT Registration No."); IntraJnlLine.SETRANGE("Service Tariff No.","Intra - form Buffer"."Service Tariff No."); IntraJnlLine.SETRANGE("Corrective entry","Intra - form Buffer"."Corrective entry"); IF IntraJnlLine.FINDLAST THEN IF "Intrastat Jnl. Line"."Line No." = IntraJnlLine."Line No." THEN EXIT(TRUE); EXIT(FALSE);
Vereisten
U moet een van de volgende producten hebben geïnstalleerd om deze hotfix toe te passen:
- De Italiaanse versie van Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- De Italiaanse versie van Microsoft Dynamics NAV 2009 R2
- De Italiaanse versie van Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Verwijderingsgegevens
U kunt deze hotfix niet verwijderen.
Status
Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
VSTF DynamicsNAV SE: 237990; 237991
Opmerking Dit is een artikel 'FAST PUBLISH' dat rechtstreeks vanuit de microsoft-ondersteuningsorganisatie is gemaakt. De hierin opgenomen informatie wordt als zodanig verstrekt als reactie op nieuwe problemen. Als gevolg van de snelheid waarmee het beschikbaar wordt gesteld, kunnen de materialen typografische fouten bevatten en te allen tijde zonder voorafgaande kennisgeving worden herzien. Zie Gebruiksvoorwaarden voor andere overwegingen.