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.

Symptomer

Når du implementerer rettelsen i KB3001759 og KB3036811 i Microsoft Dynamics NAV 2009, kan det være opphevet for finansposter. Imidlertid er det feil Finanspost - postert mva-posten koblinger i programmet. Følg trinnene i delen kodeendringer for å løse dette problemet. Dette problemet oppstår i følgende produkter:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 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 UnapplyCustLedgEntry -funksjonen i Bokføringsgruppe varekld.-poster linje kodeenhet (12) som følger:
    Eksisterende kode 1

    ...    NegativeLCYAppAmt@1021 : Decimal;
    PositiveACYAppAmt@1020 : Decimal;
    NegativeACYAppAmt@1019 : Decimal;

    // Delete the following lines.
    VatBaseSum@1008 : ARRAY [2] OF Decimal;
    EntryNoBegin@1025 : ARRAY [2] OF Integer;
    // End of the deleted lines.

    i@1027 : Integer;
    TempVatEntryNo@1028 : Integer;
    BEGIN
    ...

    Ny kode 1

    ...  NegativeLCYAppAmt@1021 : Decimal;
    PositiveACYAppAmt@1020 : Decimal;
    NegativeACYAppAmt@1019 : Decimal;

    // Add the following lines.
    VatBaseSum@1008 : ARRAY [3] OF Decimal;
    EntryNoBegin@1025 : ARRAY [3] OF Integer;
    // End of the added lines.

    i@1027 : Integer;
    TempVatEntryNo@1028 : Integer;
    BEGIN
    ...

    Eksisterende kode 2

    ... VATEntry2."Entry No." := NextVATEntryNo;
    NextVATEntryNo := NextVATEntryNo + 1;
    VATEntry2.INSERT;
    TempVatEntry.DELETE;
    END;
    IF (VATPostingSetup."Adjust for Payment Discount") AND
    ...

    Ny kode 2

    ...VATEntry2."Entry No." := NextVATEntryNo;
    NextVATEntryNo := NextVATEntryNo + 1;
    VATEntry2.INSERT;

    // Add the following lines.
    IF VATEntry2."Unrealized VAT Entry No." = 0 THEN BEGIN
    GLEntryTmp."Entry No." := NextEntryNo;
    GLEntryVatEntrylink.InsertLink(GLEntryTmp,VATEntry2);
    END;
    // End of the added lines.

    TempVatEntry.DELETE;
    END;
    IF (VATPostingSetup."Adjust for Payment Discount") AND
    ...

    Eksisterende kode 3

    ... IF TempVatEntry.FINDSET THEN BEGIN
    REPEAT
    CASE TRUE OF
    VatBaseSum[2] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":
    i := 3;
    VatBaseSum[1] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":
    ...

    Ny kode 3

    ...IF TempVatEntry.FINDSET THEN BEGIN
    REPEAT
    CASE TRUE OF

    // Add the followoing lines.
    VATBaseSum[3] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":
    i := 4;
    // End of the added lines.

    VatBaseSum[2] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":
    i := 3;
    VatBaseSum[1] + TempVatEntry.Base = DtldCustLedgEntry2."Amount (LCY)":
    ...

    Eksisterende kode 4

    ...END;
    TempVatEntry := VATEntrySaved;
    UNTIL TempVatEntry.NEXT = 0;

    // Delete the following line.
    FOR i := 1 TO 2 DO BEGIN
    // End of the deleted line.

    VatBaseSum[i] := 0;
    EntryNoBegin[i] := 0;
    END;
    ...

    Ny kode 4

    ...END;
    TempVatEntry := VATEntrySaved;
    UNTIL TempVatEntry.NEXT = 0;

    // Add the following line.
    FOR i := 1 TO 3 DO BEGIN
    // End of the added line.

    VatBaseSum[i] := 0;
    EntryNoBegin[i] := 0;
    END;
    ...

    Eksisterende kode 5

    ...END;
    TempVatEntry.SETRANGE("Entry No.",0,999999);
    END ELSE BEGIN
    VatBaseSum[2] := VatBaseSum[1] + TempVatEntry.Base;
    VatBaseSum[1] := TempVatEntry.Base;
    EntryNoBegin[2] := EntryNoBegin[1];
    EntryNoBegin[1] := TempVatEntry."Entry No.";
    END;
    ...

    Ny kode 5

    ...END;
    TempVatEntry.SETRANGE("Entry No.",0,999999);
    END ELSE BEGIN

    // Add the following line.
    VatBaseSum[3] += TempVATEntry.Base;
    // End of the added line.

    VatBaseSum[2] := VatBaseSum[1] + TempVatEntry.Base;
    VatBaseSum[1] := TempVatEntry.Base;

    // Add the folloiwng lines.
    IF EntryNoBegin[3] > 0 THEN
    EntryNoBegin[3] := TempVatEntry."Entry No.";
    // End of the added lines.

    EntryNoBegin[2] := EntryNoBegin[1];
    EntryNoBegin[1] := TempVatEntry."Entry No.";
    END;
    ...
  2. Endre koden i UnapplyVendLedgEntry -funksjonen i Bokføringsgruppe varekld.-poster linje kodeenhet (12) som følger:
    Eksisterende kode 1

    ...    NegativeLCYAppAmt@1021 : Decimal;
    PositiveACYAppAmt@1020 : Decimal;
    NegativeACYAppAmt@1019 : Decimal;

    // Delete the following lines.
    VatBaseSum@1029 : ARRAY [2] OF Decimal;
    EntryNoBegin@1028 : ARRAY [2] OF Integer;
    // End of the deleted lines.

    i@1027 : Integer;
    TempVatEntryNo@1025 : Integer;
    BEGIN
    ...

    Ny kode 1

    ...    NegativeLCYAppAmt@1021 : Decimal;
    PositiveACYAppAmt@1020 : Decimal;
    NegativeACYAppAmt@1019 : Decimal;
    V
    // Add the following lines.
    atBaseSum@1029 : ARRAY [3] OF Decimal;
    EntryNoBegin@1028 : ARRAY [3] OF Integer;
    // End of the added lines.

    i@1027 : Integer;
    TempVatEntryNo@1025 : Integer;
    BEGIN
    ...

    Eksisterende kode 2

    ...VatEntry2."Entry No." := NextVATEntryNo;
    NextVATEntryNo := NextVATEntryNo + 1;
    VatEntry2.INSERT;
    TempVatEntry.DELETE;
    END;
    IF (VATPostingSetup."Adjust for Payment Discount") AND
    ...

    Ny kode 2

    ...VatEntry2."Entry No." := NextVATEntryNo;
    NextVATEntryNo := NextVATEntryNo + 1;
    VatEntry2.INSERT;

    // Add the following lines.
    IF VatEntry2."Unrealized VAT Entry No." = 0 THEN BEGIN
    GLEntryTmp."Entry No." := NextEntryNo;
    GLEntryVatEntrylink.InsertLink(GLEntryTmp,VatEntry2);
    END;
    // End of the added lines.

    TempVatEntry.DELETE;
    END;
    IF (VATPostingSetup."Adjust for Payment Discount") AND
    ...

    Eksisterende kode 3

    ...  IF TempVatEntry.FINDSET THEN BEGIN
    REPEAT
    CASE TRUE OF
    VatBaseSum[2] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":
    i := 3;
    VatBaseSum[1] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":
    ...

    Ny kode 3

    ...IF TempVatEntry.FINDSET THEN BEGIN
    REPEAT
    CASE TRUE OF

    // Add the following lines.
    VATBaseSum[3] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":
    i := 4;
    // End of the added lines.

    VatBaseSum[2] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":
    i := 3;
    VatBaseSum[1] + TempVatEntry.Base = DtldVendLedgEntry2."Amount (LCY)":
    ...

    Eksisterende kode 4

    ...END;
    TempVatEntry.SETRANGE("Entry No.",0,999999);
    END ELSE BEGIN
    VatBaseSum[2] := VatBaseSum[1] + TempVatEntry.Base;
    VatBaseSum[1] := TempVatEntry.Base;
    EntryNoBegin[2] := EntryNoBegin[1];
    EntryNoBegin[1] := TempVatEntry."Entry No.";
    END;
    ...

    Ny kode 4

    ... END;
    TempVatEntry.SETRANGE("Entry No.",0,999999);
    END ELSE BEGIN

    // Add the following line.
    VatBaseSum[3] += TempVATEntry.Base;
    // End of the added line.

    VatBaseSum[2] := VatBaseSum[1] + TempVatEntry.Base;
    VatBaseSum[1] := TempVatEntry.Base;

    // Add the following lines.
    IF EntryNoBegin[3] > 0 THEN
    EntryNoBegin[3] := TempVatEntry."Entry No.";
    // End of the added lines.

    EntryNoBegin[2] := EntryNoBegin[1];
    EntryNoBegin[1] := TempVatEntry."Entry No.";
    END;
    ...
  3. Endre koden i InsertVatEntriesFromTemp -funksjonen i Bokføringsgruppe varekld.-poster linje kodeenhet (12) som følger:
    Eksisterende kode

    ... DtldCVLedgEntryBuf."Entry Type"::"Payment Tolerance (VAT Excl.)":
    TempVatEntry.SETRANGE("Entry No.",2000000,2999999)
    END;

    // Delete the following line.
    TempVatEntry.FINDSET;
    // End of the deleted line.

    REPEAT
    VATEntry := TempVatEntry;
    VATEntry."Entry No." := NextVATEntryNo;
    VATEntry.INSERT;
    NextVATEntryNo := NextVATEntryNo + 1;
    IF VATEntry."Unrealized VAT Entry No." = 0 THEN
    GLEntryVatEntrylink.InsertLink(GLEntry,VATEntry);
    TempVatEntry.DELETE;
    LinkedAmount := LinkedAmount + VATEntry.Base;
    Complete := LinkedAmount = -DtldCVLedgEntryBuf."Amount (LCY)";
    UNTIL Complete OR (TempVatEntry.NEXT = 0);
    END;

    LOCAL PROCEDURE CaptureOrRefundCreditCardPmnt@85() : Integer;
    ...

    Ny kode

    ...DtldCVLedgEntryBuf."Entry Type"::"Payment Tolerance (VAT Excl.)":
    TempVatEntry.SETRANGE("Entry No.",2000000,2999999)
    END;

    // Add the following line.
    IF TempVatEntry.FINDSET THEN
    // End of the added line.

    REPEAT
    VATEntry := TempVatEntry;
    VATEntry."Entry No." := NextVATEntryNo;
    VATEntry.INSERT;
    NextVATEntryNo := NextVATEntryNo + 1;
    IF VATEntry."Unrealized VAT Entry No." = 0 THEN
    GLEntryVatEntrylink.InsertLink(GLEntry,VATEntry);
    TempVatEntry.DELETE;
    LinkedAmount := LinkedAmount + VATEntry.Base;
    Complete := LinkedAmount = -DtldCVLedgEntryBuf."Amount (LCY)";
    UNTIL Complete OR (TempVatEntry.NEXT = 0);
    END;

    LOCAL PROCEDURE CaptureOrRefundCreditCardPmnt@85() : Integer;
    ...


Forutsetninger

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

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 SP1

I tillegg må du ha KB3001759 og KB3036811 installert.

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!

×