Attiecas uz
Dynamics NAV 2009

Pazīmes

Pēc instalēšanas KB3034441 spāņu valodas versijā Microsoft Dynamics NAV 2009, lietojot parasto maksājumu un rēķinu vai klienta un piegādātāja grāmatas ierakstu no iegrāmatotie V/G ieraksti attiecas gan uz to pašu kontu, kas nav pareiza. Izpildiet darbības sadaļā koda izmaiņas , lai atrisinātu šo problēmu. Šī problēma rodas ar šādiem produktiem:

  • Microsoft Dynamics NAV 2009 R2 spāņu valodas versiju

  • Microsoft Dynamics NAV 2009 SP1 spāņu valodas versiju

Risinājums

Informācija par labojumfailu

Pašlaik korporācija Microsoft piedāvā atbalstītu labojumfailu. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. Izmantojiet to tikai tām sistēmām, kurām ir radusies tieši šī problēma. Iespējams, tiks veikta šī labojumfaila papildu testēšana. Tādēļ, ja jums ir šī problēma nerada nopietnus traucējumus, ieteicams nogaidīt, līdz tiks izlaista nākamā servisa pakotne Microsoft Dynamics NAV 2009 vai nākamo Microsoft Dynamics NAV versiju, kurā ir iekļauts šis labojumfails.Piezīme. Īpašos gadījumos standarta izmaksas par atbalsta zvaniem nav jāsedz, ja tehniskā atbalsta speciālists Microsoft Dynamics un saistītiem produktiem nosaka, ka šo problēmu novērsīs noteikts atjauninājums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.

Informācija par instalēšanu

Microsoft piedāvā programmēšanas piemērus tikai uzskatāmībai, nesniedzot nekādas tiešas vai netiešas garantijas. Tas ietver, bet neaprobežojas ar netiešām garantijām par piemērotību pārdošanai vai atbilstību noteiktam mērķim. Šajā rakstā tiek pieņemts, ka pārzināt programmēšanas valodu, kas tiek aprakstīta, un rīkus, kas tiek izmantoti, lai izveidotu un atkļūdotu procedūras. Microsoft atbalsta inženieri var palīdzēt izskaidrot kādas noteiktas procedūras funkcionalitāti. Taču viņi nemainīs šos piemērus, lai sniegtu skaidrākus, un neveidos jaunas procedūras, kas atbilstu īpašām prasībām.Piezīme. Pirms šī labojumfaila instalēšanas pārliecinieties, vai, ka visi Microsoft Dynamics NAV klienta lietotāji ir atteikušies sistēmu. Tas ietver Microsoft Dynamics NAV lietojumprogrammu serveris (NAS) pakalpojumus. Jums ir jābūt tikai klienta lietotājam, kurš ir pieteicies datorā, kad izmantojat šo labojumfailu.Lai ieviestu šo labojumfailu, datorā jābūt instalētai izstrādātāja licenci.Ieteicams, ka lietotāja konts tiek atvērts logs Windows lietotājvārdi vai logā datu bāzes lietotājvārdi piešķirt "SUPER" lomas ID. Ja lietotāja kontam nevar piešķirt "SUPER" lomas ID, ir jāpārbauda lietotāja konts ir šādas atļaujas:

  • Objektu, kad tiks mainīts modificēt atļaujas.

  • Izpildes atļauja objekta objekta ID 5210 sistēmas un sistēmas objekta ID 9015objektu.

Piezīme. Jums nav tiesības datu krātuvju vien veikt datu labošana.

Koda izmaiņas

Piezīme. Vienmēr pārbaudes kods novērš kontrolētā vidē pirms lietojat datoru ražošanas labojumus.Lai novērstu šo problēmu, rīkojieties šādi:

  1. Nomainiet šo kodu PostDtldCustLedgEntries funkciju, Gen žurnāla.-Post rindu koda (12) šādi:Kods 1

    ...LOCAL PROCEDURE PostDtldCustLedgEntries@46(GenJnlLine2@1000 : Record 81;VAR DtldCVLedgEntryBuf@1001 : Record 383;CustPostingGr@1002 : Record 92;GLSetup@1003 : Record 98;NextTransactionNo@1004 : Integer;CustLedgEntryInserted@1012 : Boolean);      VAR        DtldCustLedgEntry@1005 : Record 379;        Currency@1007 : Record 4;        GenPostingSetup@1008 : Record 252;        TotalAmountLCY@1009 : Decimal;        TotalAmountAddCurr@1010 : Decimal;        PaymentDiscAcc@1011 : Code[20];        DtldCustLedgEntryNoOffset@1006 : Integer;        PaymentTolAcc@1013 : Code[20];...

    Aizstāšanas kods = 1

    ...LOCAL PROCEDURE PostDtldCustLedgEntries@46(GenJnlLine2@1000 : Record 81;VAR DtldCVLedgEntryBuf@1001 : Record 383;CustPostingGr@1002 : Record 92;GLSetup@1003 : Record 98;NextTransactionNo@1004 : Integer;CustLedgEntryInserted@1012 : Boolean);      VAR        DtldCustLedgEntry@1005 : Record 379;        Currency@1007 : Record 4;        GenPostingSetup@1008 : Record 252;// Add the following line.DtldCustLedgEntry3@1100044 : Record 379;// End of the added line.        TotalAmountLCY@1009 : Decimal;        TotalAmountAddCurr@1010 : Decimal;        PaymentDiscAcc@1011 : Code[20];        DtldCustLedgEntryNoOffset@1006 : Integer;        PaymentTolAcc@1013 : Code[20];...

    Kods 2.

    ...ReceivableAccAmtLCY@1100001 : Decimal;        ReceivableAccAmtAddCurr@1100000 : Decimal;        DtldCustLedgEntry2@1100003 : TEMPORARY Record 379;        ExistDtldCVLedgEntryBuf@1000003 : Boolean;        FindBill@1100004 : Boolean;      BEGIN        TotalAmountLCY := 0;        TotalAmountAddCurr := 0;        PositiveLCYAppAmt := 0;        PositiveACYAppAmt := 0;...

    Aizstāšanas kods 2.

    ...ReceivableAccAmtLCY@1100001 : Decimal;        ReceivableAccAmtAddCurr@1100000 : Decimal;        DtldCustLedgEntry2@1100003 : TEMPORARY Record 379;        ExistDtldCVLedgEntryBuf@1000003 : Boolean;        FindBill@1100004 : Boolean;// Add the following line.EntryUnapplied@1100051 : Boolean;// End of the added line.      BEGIN        TotalAmountLCY := 0;        TotalAmountAddCurr := 0;        PositiveLCYAppAmt := 0;        PositiveACYAppAmt := 0;...

    Kods 3

    ... TotalAmountAddCurr := 0;        PositiveLCYAppAmt := 0;        PositiveACYAppAmt := 0;        NegativeLCYAppAmt := 0;        NegativeACYAppAmt := 0;        IF GenJnlLine2."Account Type" = GenJnlLine2."Account Type"::Customer THEN BEGIN          IF DtldCustLedgEntry.FINDLAST THEN            DtldCustLedgEntryNoOffset := DtldCustLedgEntry."Entry No."          ELSE...

    Aizstāšanas kodu 3.

    ...TotalAmountAddCurr := 0;        PositiveLCYAppAmt := 0;        PositiveACYAppAmt := 0;        NegativeLCYAppAmt := 0;        NegativeACYAppAmt := 0;// Add the following line.EntryUnapplied := FALSE;// End of the added line.        IF GenJnlLine2."Account Type" = GenJnlLine2."Account Type"::Customer THEN BEGIN          IF DtldCustLedgEntry.FINDLAST THEN            DtldCustLedgEntryNoOffset := DtldCustLedgEntry."Entry No."          ELSE...

    Kods 4

    ... END;            InsertGLEntry(TRUE);            GenJnlLine."Posting Date" := OriginalPostingDate;          END;// Delete the following line.PostReceivableDocs(GenJnlLine);// End of the deleted line.          IF NOT GLEntryTmp.FINDFIRST AND ExistDtldCVLedgEntryBuf THEN BEGIN            InitGLEntry(CustPostingGr."Receivables Account",PositiveLCYAppAmt,PositiveACYAppAmt,FALSE,TRUE);            InsertGLEntry(FALSE);            InitGLEntry(CustPostingGr."Receivables Account",NegativeLCYAppAmt,NegativeACYAppAmt,FALSE,TRUE);...

    Aizstāšanas kodu 4

    ... END;            InsertGLEntry(TRUE);            GenJnlLine."Posting Date" := OriginalPostingDate;          END;// Add the following lines.WITH DtldCustLedgEntry3 DO BEGINSETCURRENTKEY("Cust. Ledger Entry No.");SETRANGE("Cust. Ledger Entry No.",DtldCustLedgEntry."Cust. Ledger Entry No.");SETFILTER("Applies-to Bill No.",'<>%1','');SETRANGE(Unapplied,TRUE);EntryUnapplied := NOT ISEMPTY;END;PostReceivableDocs(EntryUnapplied);// End of the added lines.          IF NOT GLEntryTmp.FINDFIRST AND ExistDtldCVLedgEntryBuf THEN BEGIN            InitGLEntry(CustPostingGr."Receivables Account",PositiveLCYAppAmt,PositiveACYAppAmt,FALSE,TRUE);            InsertGLEntry(FALSE);            InitGLEntry(CustPostingGr."Receivables Account",NegativeLCYAppAmt,NegativeACYAppAmt,FALSE,TRUE);...
  2. Nomainiet šo kodu PostDtldVendLedgEntries funkciju, Gen žurnāla.-Post rindu koda (12) šādi:Kods 1

    ...  PROCEDURE PostDtldVendLedgEntries@32(GenJnlLine2@1000 : Record 81;VAR DtldCVLedgEntryBuf@1001 : Record 383;VendPostingGr@1002 : Record 93;NextTransactionNo@1003 : Integer;VendLedgEntryInserted@1011 : Boolean);      VAR        DtldVendLedgEntry@1004 : Record 380;        Currency@1006 : Record 4;        GenPostingSetup@1007 : Record 252;        TotalAmountLCY@1008 : Decimal;        TotalAmountAddCurr@1009 : Decimal;        PaymentDiscAcc@1010 : Code[20];        DtldVendLedgEntryNoOffset@1005 : Integer;        PaymentTolAcc@1012 : Code[20];...

    Aizstāšanas kods = 1

    ...PROCEDURE PostDtldVendLedgEntries@32(GenJnlLine2@1000 : Record 81;VAR DtldCVLedgEntryBuf@1001 : Record 383;VendPostingGr@1002 : Record 93;NextTransactionNo@1003 : Integer;VendLedgEntryInserted@1011 : Boolean);      VAR        DtldVendLedgEntry@1004 : Record 380;        Currency@1006 : Record 4;        GenPostingSetup@1007 : Record 252;// Add the following line.DtldVendLedgEntry3@1100055 : Record 380;// End of the added line.        TotalAmountLCY@1008 : Decimal;        TotalAmountAddCurr@1009 : Decimal;        PaymentDiscAcc@1010 : Code[20];        DtldVendLedgEntryNoOffset@1005 : Integer;        PaymentTolAcc@1012 : Code[20];...

    Kods 2.

    ...PayableAccAmtLCY@1100002 : Decimal;        PayableAccAmtAddCurr@1100010 : Decimal;        DtldVendLedgEntry2@1100003 : Record 380;        ExistDtldCVLedgEntryBuf@1100004 : Boolean;        FindBill@1100005 : Boolean;      BEGIN        TotalAmountLCY := 0;        TotalAmountAddCurr := 0;        PositiveLCYAppAmt := 0;        PositiveACYAppAmt := 0;...

    Aizstāšanas kods 2.

    ...PayableAccAmtLCY@1100002 : Decimal;        PayableAccAmtAddCurr@1100010 : Decimal;        DtldVendLedgEntry2@1100003 : Record 380;        ExistDtldCVLedgEntryBuf@1100004 : Boolean;        FindBill@1100005 : Boolean;// Add the following line.EntryUnapplied@1100051 : Boolean;// End of the added line.      BEGIN        TotalAmountLCY := 0;        TotalAmountAddCurr := 0;        PositiveLCYAppAmt := 0;        PositiveACYAppAmt := 0;...

    Kods 3

    ...TotalAmountAddCurr := 0;        PositiveLCYAppAmt := 0;        PositiveACYAppAmt := 0;        NegativeLCYAppAmt := 0;        NegativeACYAppAmt := 0;        IF GenJnlLine2."Account Type" = GenJnlLine2."Account Type"::Vendor THEN BEGIN          IF DtldVendLedgEntry.FINDLAST THEN            DtldVendLedgEntryNoOffset := DtldVendLedgEntry."Entry No."          ELSE...

    Aizstāšanas kodu 3.

    ...TotalAmountAddCurr := 0;        PositiveLCYAppAmt := 0;        PositiveACYAppAmt := 0;        NegativeLCYAppAmt := 0;        NegativeACYAppAmt := 0;// Add the following line.EntryUnapplied := FALSE;// End of the added line.        IF GenJnlLine2."Account Type" = GenJnlLine2."Account Type"::Vendor THEN BEGIN          IF DtldVendLedgEntry.FINDLAST THEN            DtldVendLedgEntryNoOffset := DtldVendLedgEntry."Entry No."          ELSE...

    Kods 4

    ...END;            InsertGLEntry(TRUE);            GenJnlLine."Posting Date" := OriginalPostingDate;          END;// Delete the following line.PostPayableDocs(GenJnlLine);// End of the deleted line.          IF NOT GLEntryTmp.FINDFIRST AND ExistDtldCVLedgEntryBuf THEN BEGIN            InitGLEntry(VendPostingGr."Payables Account",PositiveLCYAppAmt,PositiveACYAppAmt,FALSE,TRUE);            InsertGLEntry(FALSE);            InitGLEntry(VendPostingGr."Payables Account",NegativeLCYAppAmt,NegativeACYAppAmt,FALSE,TRUE);...

    Aizstāšanas kodu 4

    ...END;            InsertGLEntry(TRUE);            GenJnlLine."Posting Date" := OriginalPostingDate;          END;// Add the following lines.WITH DtldVendLedgEntry3 DO BEGINSETCURRENTKEY("Vendor Ledger Entry No.");SETRANGE("Vendor Ledger Entry No.",DtldVendLedgEntry."Vendor Ledger Entry No.");SETFILTER("Applies-to Bill No.",'<>%1','');SETRANGE(Unapplied,TRUE);EntryUnapplied := NOT ISEMPTY;END;PostPayableDocs(EntryUnapplied);// End of the added lines.          IF NOT GLEntryTmp.FINDFIRST AND ExistDtldCVLedgEntryBuf THEN BEGIN            InitGLEntry(VendPostingGr."Payables Account",PositiveLCYAppAmt,PositiveACYAppAmt,FALSE,TRUE);            InsertGLEntry(FALSE);            InitGLEntry(VendPostingGr."Payables Account",NegativeLCYAppAmt,NegativeACYAppAmt,FALSE,TRUE);...
  3. Nomainiet šo kodu PostPayableDocs funkciju, Gen žurnāla.-Post rindu koda (12) šādi:Kods 1

    ...ELSE            VATEntry."Bill-to/Pay-to No." := GenJnlLine2."Account No.";        END;      END;// Delete the following line.LOCAL PROCEDURE PostPayableDocs@1100009(VAR GenJnlLine@1100000 : Record 81);// End of the deleted line.      BEGIN        IF (DocAmountLCY <> 0) OR (CollDocAmountLCY <> 0) THEN          IF NextEntryNo2 = NextEntryNo THEN            NextEntryNo := NextEntryNo - 1;        IF DocAmountLCY <> 0 THEN BEGIN...

    Aizstāšanas kods = 1

    ...ELSE            VATEntry."Bill-to/Pay-to No." := GenJnlLine2."Account No.";        END;      END;// Add the following line.LOCAL PROCEDURE PostPayableDocs@1100009(EntryUnapplied@1100001 : Boolean);// End of the added line.      BEGIN        IF (DocAmountLCY <> 0) OR (CollDocAmountLCY <> 0) THEN          IF NextEntryNo2 = NextEntryNo THEN            NextEntryNo := NextEntryNo - 1;        IF DocAmountLCY <> 0 THEN BEGIN...

    Kods 2.

    ...BEGIN        IF (DocAmountLCY <> 0) OR (CollDocAmountLCY <> 0) THEN          IF NextEntryNo2 = NextEntryNo THEN            NextEntryNo := NextEntryNo - 1;        IF DocAmountLCY <> 0 THEN BEGIN// Delete the following lines.// VSTF330588.begin//IF (GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::Invoice) THEN BEGINIF (GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::Invoice) OR(GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::" ")THEN BEGIN// VSTF330588.end// End of the deleted lines.            VendPostingGr.TESTFIELD("Payables Account");            InitGLEntry(VendPostingGr."Payables Account",DocAmountLCY,DocAmtCalcAddCurrency(DocAmountLCY),TRUE,TRUE);            GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";            GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";            InsertGLEntry(TRUE);...

    Aizstāšanas kods 2.

    ...BEGIN        IF (DocAmountLCY <> 0) OR (CollDocAmountLCY <> 0) THEN          IF NextEntryNo2 = NextEntryNo THEN            NextEntryNo := NextEntryNo - 1;        IF DocAmountLCY <> 0 THEN BEGIN// Add the following lines.IF (GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::Invoice) OREntryUnappliedTHEN BEGIN// End of the added lines.            VendPostingGr.TESTFIELD("Payables Account");            InitGLEntry(VendPostingGr."Payables Account",DocAmountLCY,DocAmtCalcAddCurrency(DocAmountLCY),TRUE,TRUE);            GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";            GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";            InsertGLEntry(TRUE);...
  4. Nomainiet šo kodu PostReceivableDocs funkciju, Gen žurnāla.-Post rindu koda (12) šādi:Kods 1

    ... GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";          InsertGLEntry(TRUE);        END;      END;// Delete the following line.LOCAL PROCEDURE PostReceivableDocs@1100003(VAR GenJnlLine@1100000 : Record 81);// End of the deleted line.      BEGIN        IF (DocAmountLCY <> 0) OR (DiscDocAmountLCY <> 0) OR (CollDocAmountLCY <> 0) OR (RejDocAmountLCY <> 0) OR          (DiscRiskFactAmountLCY <> 0) OR (DiscUnriskFactAmountLCY <> 0) OR (CollFactAmountLCY <> 0) THEN            IF NextEntryNo2 = NextEntryNo THEN              NextEntryNo := NextEntryNo - 1;...

    Aizstāšanas kods = 1

    ...GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";          InsertGLEntry(TRUE);        END;      END;// Add the following line.LOCAL PROCEDURE PostReceivableDocs@1100003(EntryUnapplied@1100001 : Boolean);// End of the added line.      BEGIN        IF (DocAmountLCY <> 0) OR (DiscDocAmountLCY <> 0) OR (CollDocAmountLCY <> 0) OR (RejDocAmountLCY <> 0) OR          (DiscRiskFactAmountLCY <> 0) OR (DiscUnriskFactAmountLCY <> 0) OR (CollFactAmountLCY <> 0) THEN            IF NextEntryNo2 = NextEntryNo THEN              NextEntryNo := NextEntryNo - 1;...

    Kods 2.

    ...IF (DocAmountLCY <> 0) OR (DiscDocAmountLCY <> 0) OR (CollDocAmountLCY <> 0) OR (RejDocAmountLCY <> 0) OR          (DiscRiskFactAmountLCY <> 0) OR (DiscUnriskFactAmountLCY <> 0) OR (CollFactAmountLCY <> 0) THEN            IF NextEntryNo2 = NextEntryNo THEN              NextEntryNo := NextEntryNo - 1;        IF DocAmountLCY <> 0 THEN BEGIN// Delete the following lines.// VSTF330588.begin//IF (GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::Invoice) THEN BEGINIF (GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::Invoice) OR(GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::" ") THEN BEGIN// VSTF330588.end// End of the deleted lines.            CustPostingGr.TESTFIELD("Receivables Account");            InitGLEntry(CustPostingGr."Receivables Account",DocAmountLCY,DocAmtCalcAddCurrency(DocAmountLCY),TRUE,TRUE);            GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";            GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";            InsertGLEntry(TRUE);...

    Aizstāšanas kods 2.

    ...IF (DocAmountLCY <> 0) OR (DiscDocAmountLCY <> 0) OR (CollDocAmountLCY <> 0) OR (RejDocAmountLCY <> 0) OR          (DiscRiskFactAmountLCY <> 0) OR (DiscUnriskFactAmountLCY <> 0) OR (CollFactAmountLCY <> 0) THEN            IF NextEntryNo2 = NextEntryNo THEN              NextEntryNo := NextEntryNo - 1;        IF DocAmountLCY <> 0 THEN BEGIN// Add the following lines.IF (GenJnlLine."Applies-to Doc. Type" = GenJnlLine."Applies-to Doc. Type"::Invoice) OREntryUnappliedTHEN BEGIN// End of the added lines.            CustPostingGr.TESTFIELD("Receivables Account");            InitGLEntry(CustPostingGr."Receivables Account",DocAmountLCY,DocAmtCalcAddCurrency(DocAmountLCY),TRUE,TRUE);            GLEntry."Bal. Account Type" := GenJnlLine."Bal. Account Type";            GLEntry."Bal. Account No." := GenJnlLine."Bal. Account No.";            InsertGLEntry(TRUE);...

Priekšnosacījumi

Datorā ir jābūt instalētai kādai no lai lietotu šo labojumfailu šādiem produktiem:

  • Microsoft Dynamics NAV 2009 R2 spāņu valodas versiju

  • Microsoft Dynamics NAV 2009 SP1 spāņu valodas versiju

Turklāt jums jābūt KB3034441 instalēta.

Informācija par noņemšanu

Nevar noņemt šo labojumfailu.

Statuss

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Piezīme. Šis ir STEIDZAMI PUBLICĒJAMS raksts, kas izveidots tieši Microsoft atbalsta organizācijā. Šajā rakstā ietvertā informācija ir sniegta, reaģējot uz nesen konstatētām problēmām. Tā kā šis raksts ir tapis pieejams neilgā laikā, materiālos var būt pareizrakstības kļūdas un tās var tikt labotas jebkurā laikā bez paziņojuma. Skatīt Lietošanasciti apsvērumi.

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.