Applies ToDynamics NAV 2009

Intrastat rapporteras till regeringen och ska visa transaktioner (kvantitet) görs mellan kantlinjer som betecknar transaktioner från danska företaget till och från andra länder. Detta innebär att om du rapporterar en artikel säljs t ex Tyskland, i januari, transaktionen bör under inga omständigheter tas med i Intrastat-journalen för februari.Transaktionen skall endast räknas en gång, även om värdet för transaktionen går upp eller ned, på grund av en artikelomkostnad. För närvarande också för månaden när artikelomkostnaden registreras en ny intrastatjournalraden skapas.Det här problemet uppstår i följande produkter:

  • Den danska versionen av Microsoft Dynamics NAV 2009 R2

  • Den danska versionen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Lösning

Information om snabbkorrigeringen

En snabbkorrigering är nu tillgänglig från Microsoft. Den är endast avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack-versionen för Microsoft Dynamics NAV 2009 eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen.Obs! I särskilda fall, de avgifter som är normalt för support vara avgiftsfri om en supporttekniker för Microsoft Dynamics och relaterade produkter som bestämmer att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.

Installationsinformation

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till att förklara funktionen hos en viss procedur. De kommer inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.Obs! Innan du installerar den här snabbkorrigeringen måste du kontrollera att alla användare i Microsoft Dynamics NAV-klienten har loggat ut. Detta omfattar tjänster för Microsoft Dynamics NAV Application Server (NAS). Du ska endast klientanvändare som är inloggad när du implementerar den här snabbkorrigeringen.Om du vill genomföra den här snabbkorrigeringen måste du ha en utvecklarlicens.Vi rekommenderar att tilldelas användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar "SUPER" roll-ID. Om användarkontot inte kan tilldelas "SUPER" roll-ID måste du kontrollera att användarkontot har följande behörigheter:

  • Ändra behörighet för objektet ändras.

  • Körbehörighet för systemet objektet ID 5210 objekt och System objektet ID 9015objektet.

Obs! Du har inte behörighet för datalager inte data reparation.

Kod ändras

Obs! Alltid åtgärdas testa koden i en kontrollerad miljö innan du installerar korrigeringar för produktionsdatorer.Lös problemet så här:

  1. Ändra koden i rapporten Hämta artikeltransaktioner (594) enligt följande:Befintlig kod 1

    ...IF IntrastatJnlLine2.FINDFIRST THEN                             CurrReport.SKIP;// Delete the following line.                           TestILE("Item Ledger Entry");// End of the deleted line.                           TotalInvoicedQty := 0;                           TotalAmt := 0;...

    Ersättningskod 1

    ...IF IntrastatJnlLine2.FINDFIRST THEN                             CurrReport.SKIP;// Add the following lines.                           IF NOT HasCrossedBorder("Item Ledger Entry") THEN                             CurrReport.SKIP;// End of the added lines.                           TotalInvoicedQty := 0;                           TotalAmt := 0;...

    Befintlig kod 2

    ...IF "Country/Region".GET("Item Ledger Entry"."Country/Region Code") THEN                               IF "Country/Region"."EU Country/Region Code" = '' THEN                                 CurrReport.SKIP;                             TestILE("Item Ledger Entry");                             InsertValueEntryLine;                           END;                         END;...

    Ersättningskod 2

    ...IF "Country/Region".GET("Item Ledger Entry"."Country/Region Code") THEN                               IF "Country/Region"."EU Country/Region Code" = '' THEN                                 CurrReport.SKIP;// Add the following line.                             IF HasCrossedBorder("Item Ledger Entry") THEN// End of the added lines.                               CurrReport.SKIP;                             InsertValueEntryLine;                           END;                         END;...
  2. Ändra koden i funktionen CheckILE i rapporten Hämta artikeltransaktioner (594) enligt följande:Befintlig kod 1

    ...EXIT(AverageQty >= 0);    END;// Delete the following line.    LOCAL PROCEDURE CheckILE@4(CountryRegionCode@1000 : Code[20]);// End of the deleted line.    VAR      CountryRegion@1001 : Record 9;    BEGIN...

    Ersättningskod 1

    ...EXIT(AverageQty >= 0);    END;// Add the following line.    LOCAL PROCEDURE CountryOfOrigin@4(CountryRegionCode@1000 : Code[20]) : Boolean;// End of the added line.    VAR      CountryRegion@1001 : Record 9;    BEGIN...

    Befintlig kod 2

    ...IF ("Item Ledger Entry"."Country/Region Code" IN [CompanyInfo."Country/Region Code",'']) =         (CountryRegionCode IN [CompanyInfo."Country/Region Code",''])      THEN// Delete the following line.        CurrReport.SKIP;// End of the deleted line.      IF CountryRegionCode <> '' THEN BEGIN        CountryRegion.GET(CountryRegionCode);        IF CountryRegion."Intrastat Code" = '' THEN...

    Ersättningskod 2

    ...IF ("Item Ledger Entry"."Country/Region Code" IN [CompanyInfo."Country/Region Code",'']) =         (CountryRegionCode IN [CompanyInfo."Country/Region Code",''])      THEN// Add the following line.        EXIT(FALSE);// End of the added line.      IF CountryRegionCode <> '' THEN BEGIN        CountryRegion.GET(CountryRegionCode);        IF CountryRegion."Intrastat Code" = '' THEN...

    Befintlig kod 3

    ...IF CountryRegionCode <> '' THEN BEGIN        CountryRegion.GET(CountryRegionCode);        IF CountryRegion."Intrastat Code" = '' THEN// Delete the following lines.          CurrReport.SKIP;      END;    END;// End of the deleted lines.    PROCEDURE TestILE@5(ItemLedgEntry@1000 : Record 32);    VAR      ItemLedgEntry2@1003 : Record 32;      Location@1002 : Record 14;...

    Ersättningskod 3

    ...IF CountryRegionCode <> '' THEN BEGIN        CountryRegion.GET(CountryRegionCode);        IF CountryRegion."Intrastat Code" = '' THEN// Add the following lines.          EXIT(FALSE);      END;      EXIT(TRUE);    END;// End of the added lines.    PROCEDURE HasCrossedBorder@5(ItemLedgEntry@1000 : Record 32) : Boolean;    VAR      ItemLedgEntry2@1003 : Record 32;      Location@1002 : Record 14;...
  3. Ändra koden i funktionen TestILE i rapporten Hämta artikeltransaktioner (594) enligt följande:Befintlig kod 1

    ...IF ("Country/Region Code" = CompanyInfo."Country/Region Code") OR                 ("Country/Region Code" = '')              THEN// Delete the following line.                CurrReport.SKIP;// End of the deleted line.              IF "Applies-to Entry" = 0 THEN BEGIN                ItemLedgEntry2.SETCURRENTKEY("Item No.","Posting Date");                ItemLedgEntry2.SETRANGE("Item No.","Item No.");...

    Ersättningskod 1

    ...IF ("Country/Region Code" = CompanyInfo."Country/Region Code") OR                 ("Country/Region Code" = '')              THEN// Add the following line.                EXIT(FALSE);// End of the added line.              IF "Applies-to Entry" = 0 THEN BEGIN                ItemLedgEntry2.SETCURRENTKEY("Item No.","Posting Date");                ItemLedgEntry2.SETRANGE("Item No.","Item No.");...

    Befintlig kod 2

    ...IF (ItemLedgEntry2."Country/Region Code" <> CompanyInfo."Country/Region Code") AND                 (ItemLedgEntry2."Country/Region Code" <> '')              THEN                CurrReport.SKIP;            END;          "Entry Type" = "Entry Type"::Transfer:            BEGIN...

    Ersättningskod 2

    ...IF (ItemLedgEntry2."Country/Region Code" <> CompanyInfo."Country/Region Code") AND                 (ItemLedgEntry2."Country/Region Code" <> '')              THEN                EXIT(FALSE);            END;          "Entry Type" = "Entry Type"::Transfer:            BEGIN...

    Befintlig kod 3

    ...IF ("Country/Region Code" = CompanyInfo."Country/Region Code") OR                 ("Country/Region Code" = '')              THEN                CurrReport.SKIP;              IF "Transfer Order No." = '' THEN BEGIN                Location.GET("Location Code");                IF (Location."Country/Region Code" <> '') AND...

    Ersättningskod 3

    ...IF ("Country/Region Code" = CompanyInfo."Country/Region Code") OR                 ("Country/Region Code" = '')              THEN                EXIT(FALSE);              IF "Transfer Order No." = '' THEN BEGIN                Location.GET("Location Code");                IF (Location."Country/Region Code" <> '') AND...

    Befintlig kod 4

    ...IF (Location."Country/Region Code" <> '') AND                   (Location."Country/Region Code" <> CompanyInfo."Country/Region Code")                THEN                  CurrReport.SKIP;              END ELSE BEGIN                ItemLedgEntry2.SETRANGE("Transfer Order No.","Transfer Order No.");                ItemLedgEntry2.SETFILTER("Country/Region Code",'%1 | %2','',CompanyInfo."Country/Region Code");...

    Ersättningskod 4

    ...IF (Location."Country/Region Code" <> '') AND                   (Location."Country/Region Code" <> CompanyInfo."Country/Region Code")                THEN                  EXIT(FALSE);              END ELSE BEGIN                ItemLedgEntry2.SETRANGE("Transfer Order No.","Transfer Order No.");                ItemLedgEntry2.SETFILTER("Country/Region Code",'%1 | %2','',CompanyInfo."Country/Region Code");...

    Befintlig kod 5

    ...Include := TRUE;                  UNTIL Include OR (ItemLedgEntry2.NEXT = 0);                IF NOT Include THEN                  CurrReport.SKIP;              END;            END;          "Location Code" <> '':...

    Ersättningskod 5

    ...Include := TRUE;                  UNTIL Include OR (ItemLedgEntry2.NEXT = 0);                IF NOT Include THEN                  EXIT(FALSE);              END;            END;          "Location Code" <> '':...

    Befintlig kod 6

    ..."Location Code" <> '':            BEGIN              Location.GET("Location Code");              CheckILE(Location."Country/Region Code");            END;          ELSE BEGIN            IF "Entry Type" = "Entry Type"::Purchase THEN...

    Ersättningskod 6

    ..."Location Code" <> '':            BEGIN              Location.GET("Location Code");              IF NOT CountryOfOrigin(Location."Country/Region Code") THEN                EXIT(FALSE);            END;          ELSE BEGIN            IF "Entry Type" = "Entry Type"::Purchase THEN...

    Befintlig kod 7

    ...END;          ELSE BEGIN            IF "Entry Type" = "Entry Type"::Purchase THEN              CheckILE(CompanyInfo."Ship-to Country/Region Code");            IF "Entry Type" = "Entry Type"::Sale THEN              CheckILE(CompanyInfo."Country/Region Code");          END;        END;      END;...

    Ersättningskod 7

    ...END;          ELSE BEGIN            IF "Entry Type" = "Entry Type"::Purchase THEN              IF NOT CountryOfOrigin(CompanyInfo."Ship-to Country/Region Code") THEN                EXIT(FALSE);            IF "Entry Type" = "Entry Type"::Sale THEN              IF NOT CountryOfOrigin(CompanyInfo."Country/Region Code") THEN                EXIT(FALSE);          END;        END;      END;...
  4. Ändra koden i funktionen HasCrossedBorder i rapporten Hämta artikeltransaktioner (594) enligt följande:Befintlig kod

    ...END;        END;      END;    END;...

    Ersättningskod

    ...END;        END;      END;      EXIT(TRUE)    END;    PROCEDURE InsertValueEntryLine@6();...

Förutsättningar

Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:

  • Den danska versionen av Microsoft Dynamics NAV 2009 R2

  • Den danska versionen av Microsoft Dynamics NAV 2009 SP1

Information om borttagning

Du kan inte ta bort den här snabbkorrigeringen.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Obs! Detta är en "SNABBPUBLICERING"-artikel skapad direkt från Microsoft support-organisationen. Informationen häri tillhandahålls i befintligt skick som svar på nya problem. Till följd av hastigheten för att göra det tillgängligt kan materialet innehålla typografiska fel och kan ändras när som helst utan föregående meddelande. Se Villkoren för användningför andra överväganden.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.