Den här artikeln gäller Microsoft Dynamics NAV för språkspråket italienska (it).
Symptom
När du skriver ut och exporterar korrigerande poster som är relaterade till varorna (ingen tjänst) i den italienska versionen av Microsoft Dynamics NAV grupperas inte rapporterna och filerna i månadsrapporten eller kvartalsrapporten som förväntat.
Det här problemet uppstår i följande produkter:
- Den italienska versionen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Den italienska versionen av Microsoft Dynamics NAV 2009 R2
- Den italienska versionen av Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Lösning
Snabbkorrigeringsinformation
En snabbkorrigering som stöds är nu tillgänglig från Microsoft. Det är dock bara avsett att åtgärda problemet som beskrivs i den här artikeln. Använd den bara på system som har det här specifika problemet. Den här snabbkorrigeringen kan få ytterligare tester. Om du inte drabbas hårt av det här problemet rekommenderar vi därför att du väntar på nästa Microsoft Dynamics NAV 2009 Service Pack eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen.
Obs! I särskilda fall kan avgifter som vanligtvis uppkommer för supportsamtal avbrytas om en teknisk supporttekniker för Microsoft Dynamics och relaterade produkter fastställer att en specifik uppdatering löser problemet. De vanliga supportkostnaderna gäller för ytterligare supportfrågor och problem som inte är berättigade till den aktuella uppdateringen.
Installationsinformation
Microsoft tillhandahåller endast programmeringsexempel i visningssyfte, utan att någon form av garanti uttrycks eller är underförstådd. Detta omfattar men är inte begränsat till underförstådda garantier för säljbarhet eller lämplighet för ett visst ändamål. Den här artikeln förutsätter att du är bekant med programmeringsspråket som demonstreras och med de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionaliteten i en viss procedur, men de ändrar inte de här exemplen för att tillhandahålla ytterligare funktioner eller konstruera procedurer för att uppfylla dina specifika krav.
Obs! Innan du installerar den här snabbkorrigeringen kontrollerar du att alla Microsoft Navision-klientanvändare loggas ut från systemet. Detta omfattar användare av Microsoft Navision Application Services (NAS). Du bör vara den enda klientanvändare som är inloggad när du implementerar snabbkorrigeringen.
Om du vill implementera den här snabbkorrigeringen måste du ha en utvecklarlicens.
Vi rekommenderar att användarkontot i fönstret Windows-inloggningar eller i fönstret Databasinloggningar tilldelas roll-ID:t "SUPER". Om användarkontot inte kan tilldelas superroll-ID måste du kontrollera att användarkontot har följande behörigheter:
- Behörigheten Ändra för det objekt som du kommer att ändra.
- Körbehörigheten för systemobjekt-ID 5210-objektet och för 9015-objektet Systemobjekt-ID.
Obs! Du behöver inte ha rättigheter till datakällorna om du inte behöver utföra datareparation.
Kodändringar
Obs! Testa alltid korrigeringar av kod i en kontrollerad miljö innan du tillämpar korrigeringarna på produktionsdatorerna.
Lös problemet genom att följa de här stegen:
Ändra koden i OnAfterGetRecord-utlösaren i Intrastat Jnl. Raden i rapporten (501) enligt följande:
Befintlig kod 1... SupplUnits := "Intrastat Jnl. Line".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"."Group Code","Intrastat Jnl. Line"."Transport Method", "Intrastat Jnl. Line"."Transaction Specification",CountryOriginCode,"Intrastat Jnl. Line".Area, "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"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight"; "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" + "Intrastat Jnl. Line"."Statistical Value"; "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits; "Intra - form Buffer".MODIFY; END ELSE BEGIN "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line"); "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode; "Intra - form Buffer".Quantity := SupplUnits; "Intra - form Buffer"."No." := 0; "Intra - form Buffer"."User ID" := USERID; "Intra - form Buffer".INSERT; END; } // End of the deleted lines. END ELSE BEGIN // Corrective Entry ...Ersättningskod 1
... SupplUnits := "Intrastat Jnl. Line".Quantity; END ELSE BEGIN // Corrective Entry ...Befintlig kod 2
... LineNo := LineNo +1; // Delete the following lines. "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line"); "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode; "Intra - form Buffer".Quantity := SupplUnits; "Intra - form Buffer"."User ID" := USERID; "Intra - form Buffer"."No." := LineNo; "Intra - form Buffer".INSERT; END // End of the deleted lines. END; ...Ersättningskod 2
... LineNo := LineNo +1; // Add the following lines. END; GroupIntraJnlLineIntoBuffer; // End of the added lines. END; ...I rapporten (501) klickar du på Visa på menyn, i C/AL Globals lägger du till följande funktion på funktionsfliken: GroupIntraJnlLineIntoBuffer. Lägg sedan till koden i den skapade GroupIntraJnlLineIntoBuffer-funktionen på följande sätt:
"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"."Group Code","Intrastat Jnl. Line"."Transport Method", "Intrastat Jnl. Line"."Transaction Specification",CountryOriginCode,"Intrastat Jnl. Line".Area, "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"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight"; "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" + "Intrastat Jnl. Line"."Statistical Value"; "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits; "Intra - form Buffer".MODIFY; END ELSE BEGIN "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line"); "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode; "Intra - form Buffer".Quantity := SupplUnits; "Intra - form Buffer"."No." := 0; "Intra - form Buffer"."User ID" := USERID; "Intra - form Buffer".INSERT; END;Ändra koden i OnAfterGetRecord-utlösaren i Intrastat Jnl. Raden i rapporten (593) enligt följande:
Befintlig kod 1... SupplUnits := "Intrastat Jnl. Line".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"."Group Code", "Intrastat Jnl. Line"."Transport Method", "Intrastat Jnl. Line"."Transaction Specification", CountryOriginCode, "Intrastat Jnl. Line".Area,"Intrastat Jnl. Line"."Corrective entry") THEN BEGIN //"Intra - form Buffer".Amount := "Intra - form Buffer".Amount + "Intrastat Jnl. Line".Amount;//old line "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + ROUND("Intrastat Jnl. Line".Amount,1);//new line "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" + "Intrastat Jnl. Line"."Source Currency Amount"; "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight"; "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" + //"Intrastat Jnl. Line"."Statistical Value"; //old line ROUND("Intrastat Jnl. Line"."Statistical Value",1); //new line "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits; "Intra - form Buffer".MODIFY; //TotalAmount += ABS(ROUND(Amount,1));//old line TotalAmount += ROUND(Amount,1); //new line END ELSE BEGIN "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line"); "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);//new line "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1); //new line "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode; "Intra - form Buffer".Quantity := SupplUnits; "Intra - form Buffer"."User ID" := USERID; "Intra - form Buffer"."No." := 0; "Intra - form Buffer".INSERT; //TotalAmount += ABS(ROUND(Amount,1));//old line TotalAmount += ROUND(Amount,1); //new line TotalRecords += 1; END;} // End of the deleted lines. END ELSE BEGIN //Corrective E ntry IF STRLEN("Reference Period") <> 4 THEN ...Ersättningskod 1
... SupplUnits := "Intrastat Jnl. Line".Quantity; END ELSE BEGIN //Corrective Entry IF STRLEN("Reference Period") <> 4 THEN ...Befintlig kod 2
... CheckCorrectiveStatPeriod; // Delete the following lines. "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line"); "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1);//new line "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1); "Intra - form Buffer"."User ID" := USERID; "Intra - form Buffer".INSERT; TotalAmount += ROUND(Amount,1); TotalRecords += 1; OldReferencePeriod := "Reference Period"; //END // End of the deleted lines. END; ...Ersättningskod 2
... CheckCorrectiveStatPeriod; // Add the following lines. END; GroupIntraJnlLineIntoBuffer; // End of the added lines. END; ...I rapporten (593) klickar du på Visa på menyn, i C/AL Globals lägger du till följande funktion på funktionsfliken: GroupIntraJnlLineIntoBuffer. Lägg sedan till koden i den skapade GroupIntraJnlLineIntoBuffer-funktionen på följande sätt:
"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"."Group Code", "Intrastat Jnl. Line"."Transport Method", "Intrastat Jnl. Line"."Transaction Specification", CountryOriginCode, "Intrastat Jnl. Line".Area,"Intrastat Jnl. Line"."Corrective entry",0,"Intrastat Jnl. Line"."Service Tariff No.") THEN BEGIN "Intra - form Buffer".Amount := "Intra - form Buffer".Amount + ROUND("Intrastat Jnl. Line".Amount,1); "Intra - form Buffer"."Source Currency Amount" := "Intra - form Buffer"."Source Currency Amount" + "Intrastat Jnl. Line"."Source Currency Amount"; "Intra - form Buffer"."Total Weight" := "Intra - form Buffer"."Total Weight" + "Intrastat Jnl. Line"."Total Weight"; "Intra - form Buffer"."Statistical Value" := "Intra - form Buffer"."Statistical Value" + ROUND("Intrastat Jnl. Line"."Statistical Value",1); "Intra - form Buffer".Quantity := "Intra - form Buffer".Quantity + SupplUnits; "Intra - form Buffer".MODIFY; TotalAmount +=ROUND("Intrastat Jnl. Line".Amount,1); END ELSE BEGIN "Intra - form Buffer".TRANSFERFIELDS("Intrastat Jnl. Line"); "Intra - form Buffer"."Country of Origin Code" := CountryOriginCode; "Intra - form Buffer".Amount := ROUND("Intra - form Buffer".Amount,1); "Intra - form Buffer"."Statistical Value" := ROUND("Intra - form Buffer"."Statistical Value",1); "Intra - form Buffer".Quantity := SupplUnits; "Intra - form Buffer"."User ID" := USERID; "Intra - form Buffer"."No." := 0; "Intra - form Buffer".INSERT; TotalAmount += ROUND("Intrastat Jnl. Line".Amount,1); TotalRecords += 1; END;
Krav
Du måste ha någon av följande produkter installerade för att kunna använda den här snabbkorrigeringen:
- Den italienska versionen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- Den italienska versionen av Microsoft Dynamics NAV 2009 R2
- Den italienska versionen av Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Information om borttagning
Du kan inte ta bort den här snabbkorrigeringen.
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
VSTF DynamicsNAV SE: 237988, 237989
Obs! Det här är en "FAST PUBLISH"-artikel som skapats direkt från Microsofts supportorganisation. Den information som finns häri tillhandahålls i befintligt format som svar på framväxande problem. Till följd av hur snabbt materialet blir tillgängligt kan materialet innehålla typografiska fel och kan komma att revideras när som helst utan föregående meddelande. Se användningsvillkor för andra överväganden.