Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Når du posterer en salgsordre i den belgiske versjonen av Microsoft Dynamics NAV 2009, får du følgende feilmelding:

Transaksjonen kan ikke fullføres fordi den vil forårsake inkonsekvenser i tabellen Finanspost. Kontroller hvor og hvordan funksjonen CONSISTENT er brukt i transaksjonen til å finne årsaken til feilen. Ta kontakt med systemansvarlig. Tabeller kan merkes som inkonsekvente under svært omfattende oppgaver, for eksempel postering. Dette forhindrer at data blir oppdatert på feil måte.

Problemet fremdeles oppstår etter at du har å gjøre korreksjonen i KB2629970. Følg trinnene i delen kodeendringer for å løse dette problemet. Dette problemet oppstår i følgende produkter:

  • Den belgiske versjonen av Microsoft Dynamics NAV 2009 R2

  • Den belgiske versjonen av Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Oppløsning

Informasjon om hurtigreparasjon

En støttet hurtigreparasjon er nå tilgjengelig fra Microsoft. Det er imidlertid bare ment å løse problemet som er beskrevet i denne artikkelen. Bruk den bare på systemer som har dette bestemte problemet. Denne hurtigreparasjonen kan gjennomgå ytterligere testing. Hvis du ikke er alvorlig påvirket av dette problemet, anbefaler vi derfor at du venter på neste oppdateringspakke for Microsoft Dynamics NAV 2009 eller den neste versjonen av Microsoft Dynamics NAV som inneholder denne hurtigreparasjonen.

Obs! I spesielle tilfeller avgifter som vanligvis påløper for støtte samtaler kan avbrytes hvis en kundestøttemedarbeider for Microsoft Dynamics og beslektede produkter avgjør at en bestemt oppdatering løser problemet. Vanlige kundestøttekostnader gjelder for ytterligere kundestøttespørsmål og problemer som ikke dekkes av den gjeldende oppdateringen.

Installasjonsinformasjon

Microsoft bruker ment som eksempler, uten garanti, verken direkte eller indirekte. Dette inkluderer, men er ikke begrenset til, eventuelle stilltiende garantier om salgbarhet eller anvendelighet for særskilte formål. Denne artikkelen forutsetter at du er kjent med programmeringsspråket som anvendes, og verktøyene som brukes til å opprette og feilsøke prosedyrer. Microsofts kundestøtteteknikere kan hjelpe deg med å forklare funksjonaliteten til en bestemt prosedyre. De endrer imidlertid ikke disse eksemplene for å lage forbedret funksjonalitet eller lage prosedyrer som dekker dine spesifikke behov.

Obs! Før du installerer denne hurtigreparasjonen, må du kontrollere at alle brukerne i Microsoft Dynamics NAV-klienten er logget av systemet. Dette inkluderer tjenester for Microsoft Dynamics NAV Application Server (NAS). Du skal bare klient-brukeren som er logget på når du implementerer denne hurtigreparasjonen.

Hvis du vil implementere denne hurtigreparasjonen, må du ha en utviklerlisens.

Vi anbefaler at kontoen i vinduet Windows-pålogging eller i vinduet Database-pålogging være tildelt "SUPER" rolle-ID. Hvis brukerkontoen ikke kan tilordnes "SUPER" rolle-IDen, må du kontrollere at brukerkontoen har følgende tillatelser:

  • Endre-tillatelse for objektet du vil endre.

  • Tilgangsnivået for systemet objekt-IDen til 5210 objektet og systemet objekt-ID-9015

    -objektet.

Obs! Du har ikke tilgangsrettigheter til datalagre med mindre du har til å utføre data reparasjon.

Kodeendringer

Obs! Alltid løser teste koden i et kontrollert miljø før du installerer hurtigreparasjoner til produksjonsdatamaskiner for.

Hvis du vil løse dette problemet, gjør du følgende:

  1. Endre koden i DivideAmount-funksjonen i mva-Post codeuint (80) som følger:
    Eksisterende kode 1

    ...("Line Amount" - "Inv. Discount Amount") /
    (TempVATAmountLine."Line Amount" - TempVATAmountLine."Invoice Discount Amount");
    END;
    "Amount Including VAT" :=
    ROUND(TempVATAmountLineRemainder."Amount Including VAT",Currency."Amount Rounding Precision");
    Amount :=
    ROUND("Amount Including VAT",Currency."Amount Rounding Precision") -
    ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision");
    ...

    Ny kode 1

    ...("Line Amount" - "Inv. Discount Amount") /
    (TempVATAmountLine."Line Amount" - TempVATAmountLine."Invoice Discount Amount");
    END;
    IF "Line Discount %" <> 100 THEN
    "Amount Including VAT" :=
    ROUND(TempVATAmountLineRemainder."Amount Including VAT",Currency."Amount Rounding Precision")
    ELSE
    "Amount Including VAT" := 0;
    Amount :=
    ROUND("Amount Including VAT",Currency."Amount Rounding Precision") -
    ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision");
    ...

    Eksisterende kode 2

    ...TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END ELSE BEGIN
    IF "VAT Calculation Type" = "VAT Calculation Type"::"Full VAT" THEN BEGIN
    "Amount Including VAT" := "Line Amount" - "Inv. Discount Amount";
    Amount := 0;
    "VAT Base Amount" := 0;
    END ELSE BEGIN
    ...

    Ny kode 2

    ...TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END ELSE BEGIN
    IF "VAT Calculation Type" = "VAT Calculation Type"::"Full VAT" THEN BEGIN
    IF "Line Discount %" <> 100 THEN
    "Amount Including VAT" := "Line Amount" - "Inv. Discount Amount"
    ELSE
    "Amount Including VAT" := 0;
    Amount := 0;
    "VAT Base Amount" := 0;
    END ELSE BEGIN
    ...

    Eksisterende kode 3

    ...TempVATAmountLine."VAT Amount" *
    ("Line Amount" - "Inv. Discount Amount") /
    (TempVATAmountLine."Line Amount" - TempVATAmountLine."Invoice Discount Amount");
    "Amount Including VAT" :=
    Amount + ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision");
    TempVATAmountLineRemainder."VAT Amount" :=
    TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END;
    ...

    Ny kode 3

    ...TempVATAmountLine."VAT Amount" *
    ("Line Amount" - "Inv. Discount Amount") /
    (TempVATAmountLine."Line Amount" - TempVATAmountLine."Invoice Discount Amount");
    IF "Line Discount %" <> 100 THEN
    "Amount Including VAT" :=
    Amount + ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision")
    ELSE
    "Amount Including VAT" := 0;
    TempVATAmountLineRemainder."VAT Amount" :=
    TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END;
    ...
  2. Endre koden i DivideAmount -funksjonen i Kjøp.-bokføre codeuint (90) som følger:
    Eksisterende kode 1

    ...("Line Amount" - "Inv. Discount Amount") /
    (TempVATAmountLine."Line Amount" - TempVATAmountLine."Invoice Discount Amount");
    END;
    "Amount Including VAT" :=
    ROUND(TempVATAmountLineRemainder."Amount Including VAT",Currency."Amount Rounding Precision");
    Amount :=
    ROUND("Amount Including VAT",Currency."Amount Rounding Precision") -
    ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision");
    ...

    Ny kode 1

    ...("Line Amount" - "Inv. Discount Amount") /
    (TempVATAmountLine."Line Amount" - TempVATAmountLine."Invoice Discount Amount");
    END;
    IF "Line Discount %" <> 100 THEN
    "Amount Including VAT" :=
    ROUND(TempVATAmountLineRemainder."Amount Including VAT",Currency."Amount Rounding Precision")
    ELSE
    "Amount Including VAT" := 0;
    Amount :=
    ROUND("Amount Including VAT",Currency."Amount Rounding Precision") -
    ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision");
    ...

    Eksisterende kode 2

    ...TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END ELSE BEGIN
    IF "VAT Calculation Type" = "VAT Calculation Type"::"Full VAT" THEN BEGIN
    "Amount Including VAT" := "Line Amount" - "Inv. Discount Amount";
    Amount := 0;
    "VAT Base Amount" := 0;
    END ELSE BEGIN
    ...

    Ny kode 2

    ...TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END ELSE BEGIN
    IF "VAT Calculation Type" = "VAT Calculation Type"::"Full VAT" THEN BEGIN
    IF "Line Discount %" <> 100 THEN
    "Amount Including VAT" := "Line Amount" - "Inv. Discount Amount"
    ELSE
    "Amount Including VAT" := 0;
    Amount := 0;
    "VAT Base Amount" := 0;
    END ELSE BEGIN
    ...

    Eksisterende kode 3

    ...TempVATAmountLine."VAT Amount" *
    ("Line Amount" - "Inv. Discount Amount") /
    (TempVATAmountLine."Line Amount" - TempVATAmountLine."Invoice Discount Amount");
    "Amount Including VAT" :=
    Amount + ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision");
    TempVATAmountLineRemainder."VAT Amount" :=
    TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END;
    ...

    Ny kode 3

    ...TempVATAmountLine."VAT Amount" *
    ("Line Amount" - "Inv. Discount Amount") /
    (TempVATAmountLine."Line Amount" - TempVATAmountLine."Invoice Discount Amount");
    IF "Line Discount %" <> 100 THEN
    "Amount Including VAT" :=
    Amount + ROUND(TempVATAmountLineRemainder."VAT Amount",Currency."Amount Rounding Precision")
    ELSE
    "Amount Including VAT" := 0;
    TempVATAmountLineRemainder."VAT Amount" :=
    TempVATAmountLineRemainder."VAT Amount" - "Amount Including VAT" + Amount;
    END;
    ...


Forutsetninger

Du må ha én av de følgende programmene installert for å bruke denne hurtigreparasjonen:

  • Den belgiske versjonen av Microsoft Dynamics NAV 2009 R2

  • Den belgiske versjonen av Microsoft Dynamics NAV 2009 SP1

Informasjon om fjerning

Du kan ikke fjerne denne hurtigreparasjonen.

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Obs! Dette er en "RASKT PUBLISERE" artikkel opprettet direkte fra innenfor organisasjonen Microsoft Kundestøtte. Informasjonen i dette dokumentet tilbys som-er som svar på nye problemer. Som et resultat av hastigheten i å gjøre den tilgjengelig materialene kan inkludere typografiske feil, og den kunne bli revidert når som helst uten varsel. Se Vilkårene for Brukfor andre hensyn.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×