De Intrastat-EU-service-items zijn niet gegroepeerd zoals verwacht in het rapport per maand/kwartaal en in het bestand met geëxporteerde scambi.cee in de Italiaanse versie van Microsoft Dynamics NAV


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

Symptomen


Wanneer u afdrukken en exporteren van correctieposten of niet correctieposten in de Italiaanse versie van Microsoft Dynamics NAV, zijn de rapporten en de bestanden niet gegroepeerd zoals in het maandelijkse rapport of kwartaalbericht of het bestand met geëxporteerde scambi.cee verwacht. U verwacht dat de groepering worden beschouwd als de items niet dezelfde btw-registratie gebruiken. of hetzelfde tarief niet. of andere groepering voorwaarde zoals het indelen 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


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, 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. Zoek tabel (12118) en klik vervolgens op ontwerpen.
  2. Klik in het menu Beeld op toetsen. Wijzig de volgende sleutels:
    • Oude waarde: btw-nummer, het soort transactie, goederencode, Group Code transportmethode, transactieomschrijving, van oorsprong landcode, gebied, correctiepost, nr.
    • Nieuwe waarde: btw-nummer, het soort transactie, goederencode, Group Code transportmethode, transactieomschrijving, land van oorsprong Code, gebied, foutieve post, Documentnr., Service tarief.
  3. Voeg de volgende variabele toe in het rapport (501):
    • Naam: IntraJnlLine
    • Gegevenstype: Record
    • Subtype: Intrastat-dagboekregel
  4. Code in de trigger Intrastat-dagboekregel - OnAfterGetRecord in het rapport (501) als volgt wijzigen:
    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
    ...
    Nieuwe 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
    ...

  5. In de C/AL Globalstoevoegen met de volgende functie: GetEUIntraJnlLineFromBuffer
  6. Klik vervolgens op lokaal, op het tabblad Waarde retourneren , toevoegen met de volgende retourwaarden type: Type resultaat = Boolean
  7. Voeg de volgende code in 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);

  8. De code in de Intrastat-dagboekregel - OnAfterGetRecord trigger in rapport (502) als volgt wijzigen:
    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
    ...
    Nieuwe 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;
    ...
  9. De volgende globale variabele toevoegen in de lijst (502):
    • Naam: IntraJnlLine
    • Gegevenstype: Record
    • Subtype: Intrastat-dagboekregel
  10. Voeg de functie GroupIntraJnlLineIntoBuffer en voegt u de volgende code voor deze functie in de lijst (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;

  11. In de C/AL Globals in rapport (502), voegt u de volgende functie: GetEUIntraJnlLineFromBuffer
  12. Klik vervolgens op lokaal, op het tabblad Waarde retourneren , toevoegen met de volgende retourwaarden type: Type resultaat = Boolean
  13. Voeg de volgende code in de gemaakte GetEUIntraJnlLineFromBuffer -functie 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

Hebt u een van de volgende producten geïnstalleerd om deze hotfix:
  • 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)


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


VSTF DynamicsNAV SE: 237990; 237991
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.