Attiecas uz
Dynamics NAV 2009

Atkārtoti izrakstītie rēķini naudas maksājumi būtu paziņoja gada sākotnējā rēķina un pamatā nav atkārtoti izrakstītie materiālu 347 deklarāciju spāņu valodas versijā Microsoft Dynamics NAV 2009. gada. Šī problēma rodas ar šādiem produktiem:

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

  • Spāņu valodas versiju Microsoft Dynamics NAV 2009. gada 1. servisa pakotne (SP1)

Cēlonis

Šī problēma rodas, jo nepareizs datums tiek iegūti eksportēšana 347 deklarāciju gadījumā atkārtoti izrakstītie rēķini

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ārbaudīt kodu labojumu kontrolētā vidē, pirms lietojat datoru ražošanas labojumus. Pirms izmaiņu, importējiet SEPA visus atjauninājumus.Lai novērstu šo problēmu, rīkojieties šādi:

  1. Nomainiet šo kodu IdentifyCashPayments funkciju veikt 347 deklarāciju ziņojumā (10707) šādi:Kods 1

    ...LOCAL PROCEDURE IdentifyCashPayments@1100010(CustomerNo@1100000 : Code[20];VATRegistrationNo@1100002 : Text[20]);      VAR        CustLedgerEntry@1100001 : Record 21;      BEGIN        // es0020.begin        CustLedgerEntry.SETCURRENTKEY("Document Type","Customer No.","Posting Date","Currency Code");        CustLedgerEntry.SETRANGE("Document Type",CustLedgerEntry."Document Type"::Payment);...

    Aizstāšanas kods = 1

    ...LOCAL PROCEDURE IdentifyCashPayments@1100010(CustomerNo@1100000 : Code[20];VATRegistrationNo@1100002 : Text[20]);      VAR        CustLedgerEntry@1100001 : Record 21;// Add the following line.       DocumentPostingDate@1170000000 : Date;      BEGIN        // es0020.begin        CustLedgerEntry.SETCURRENTKEY("Document Type","Customer No.","Posting Date","Currency Code");        CustLedgerEntry.SETRANGE("Document Type",CustLedgerEntry."Document Type"::Payment);...

    Kods 2.

    ...CustLedgerEntry.SETCURRENTKEY("Document Type","Customer No.","Posting Date","Currency Code");        CustLedgerEntry.SETRANGE("Document Type",CustLedgerEntry."Document Type"::Payment);        CustLedgerEntry.SETRANGE("Customer No.",CustomerNo);// Delete the following lines.       CustLedgerEntry.SETRANGE("Posting Date",FromDate,ToDate);       IF CustLedgerEntry.FINDSET THEN         REPEAT           IF (CustLedgerEntry."Bal. Account Type" = CustLedgerEntry."Bal. Account Type"::"G/L Account") AND             (CustLedgerEntry."Bal. Account No." <> '')           THEN BEGIN             IF IsCashAccount(CustLedgerEntry."Bal. Account No.") THEN               CreateCashTotals(CustLedgerEntry."Entry No.",VATRegistrationNo);           END ELSE             IF ((CustLedgerEntry."Bal. Account No." = '') OR               (CustLedgerEntry."Bal. Account Type" <> CustLedgerEntry."Bal. Account Type"::"G/L Account"))             THEN BEGIN               IF IdentifyCashPaymentsFromGL(CustLedgerEntry) THEN                 CreateCashTotals(CustLedgerEntry."Entry No.",VATRegistrationNo);             END;// End of the deleted lines.          UNTIL CustLedgerEntry.NEXT = 0;        // es0020.end      END;...

    Aizstāšanas kods 2.

    ...CustLedgerEntry.SETCURRENTKEY("Document Type","Customer No.","Posting Date","Currency Code");        CustLedgerEntry.SETRANGE("Document Type",CustLedgerEntry."Document Type"::Payment);        CustLedgerEntry.SETRANGE("Customer No.",CustomerNo);// Add the following lines.       // we need payments made in future.       // CustLedgerEntry.SETRANGE("Posting Date",FromDate,ToDate);       IF CustLedgerEntry.FINDSET THEN         REPEAT           DocumentPostingDate := GetPaymentDocumentPostingDate(CustLedgerEntry);           IF (CheckCashTotalsPossibility(CustLedgerEntry,DocumentPostingDate)) THEN             CreateCashTotals(CustLedgerEntry."Entry No.",VATRegistrationNo,DocumentPostingDate);// End of the added lines.          UNTIL CustLedgerEntry.NEXT = 0;        // es0020.end      END;...
  2. Nomainiet šo kodu CreateCashTotals funkciju veikt 347 deklarāciju ziņojumā (10707) šādi:Kods 1

    ...UNTIL CustLedgerEntry.NEXT = 0;        // es0020.end      END;// Delete the following line.     LOCAL PROCEDURE CreateCashTotals@2(CustLedgerEntryNo@1100000 : Integer;VATRegistrationNo@1100001 : Text[20]) : Boolean;      VAR        CustLedgerEntry@1100091 : Record 21;        DtldCustLedgEntry@1100094 : Record 379;        DtldCustLedgEntry2@1100095 : Record 379;...

    Aizstāšanas kods = 1

    ...UNTIL CustLedgerEntry.NEXT = 0;        // es0020.end      END;// Add the following line.     LOCAL PROCEDURE CreateCashTotals@2(CustLedgerEntryNo@1100000 : Integer;VATRegistrationNo@1100001 : Text[20];DocumentPostingDate@1170000000 : Date) : Boolean;      VAR        CustLedgerEntry@1100091 : Record 21;        DtldCustLedgEntry@1100094 : Record 379;        DtldCustLedgEntry2@1100095 : Record 379;...

    Kods 2.

    ...THEN BEGIN                    IF CustLedgerEntry.GET(DtldCustLedgEntry2."Cust. Ledger Entry No.") THEN                      UpdateCustomerCashBuffer(VATRegistrationNo,// Delete the following line.                      DATE2DMY(CustLedgerEntry."Posting Date",3),-(DtldCustLedgEntry2."Amount (LCY)"));                  END;                UNTIL DtldCustLedgEntry2.NEXT = 0;            END ELSE BEGIN...

    Aizstāšanas kods 2.

    ...THEN BEGIN                    IF CustLedgerEntry.GET(DtldCustLedgEntry2."Cust. Ledger Entry No.") THEN                      UpdateCustomerCashBuffer(VATRegistrationNo,// Add the following line.                       DATE2DMY(DocumentPostingDate,3),-(DtldCustLedgEntry2."Amount (LCY)"));                  END;                UNTIL DtldCustLedgEntry2.NEXT = 0;            END ELSE BEGIN...

    Kods 3

    ...END ELSE BEGIN              IF CustLedgerEntry.GET(DtldCustLedgEntry."Applied Cust. Ledger Entry No.") THEN                UpdateCustomerCashBuffer(VATRegistrationNo,// Delete the following line.                 DATE2DMY(CustLedgerEntry."Posting Date",3),DtldCustLedgEntry."Amount (LCY)");            END;          UNTIL DtldCustLedgEntry.NEXT = 0;        // es0020.end...

    Aizstāšanas kodu 3.

    ...END ELSE BEGIN              IF CustLedgerEntry.GET(DtldCustLedgEntry."Applied Cust. Ledger Entry No.") THEN                UpdateCustomerCashBuffer(VATRegistrationNo,// Add the following line.                 DATE2DMY(DocumentPostingDate,3),DtldCustLedgEntry."Amount (LCY)");            END;          UNTIL DtldCustLedgEntry.NEXT = 0;        // es0020.end...
  3. Nomainiet šo kodu GetPaymentDocumentPostingDate funkciju veikt 347 deklarāciju ziņojumā (10707) šādi:Kods

    ...IF Vendor."Country/Region Code" = CountryCode THEN           FromJournal := TRUE;      END;...

    Aizstāšanas kodu

    ...IF Vendor."Country/Region Code" = CountryCode THEN           FromJournal := TRUE;      END;// Add the following lines.     LOCAL PROCEDURE GetPaymentDocumentPostingDate@1170000000(CustLedgerEntry@1170000000 : Record 21) PostingDate : Date;     VAR       CustLedgerEntryRelated@1170000001 : Record 21;     BEGIN       WITH CustLedgerEntry DO BEGIN;         TESTFIELD("Document Type","Document Type"::Payment);         PostingDate := "Posting Date";       END;       // If payment for Bill then we need get Posting Date of the Document related to the Bill       WITH CustLedgerEntryRelated DO BEGIN         SETRANGE("Closed by Entry No.",CustLedgerEntry."Entry No.");         SETRANGE("Document Type","Document Type"::Bill);         IF FINDFIRST THEN BEGIN           RESET;           SETRANGE("Document No.","Document No.");           SETFILTER("Document Type",'%1|%2',"Document Type"::Invoice,"Document Type"::"Credit Memo");           FINDFIRST;           PostingDate := "Posting Date";         END       END;       EXIT(PostingDate);     END;     PROCEDURE CheckCashTotalsPossibility@1170000008(CustLedgerEntry@1170000000 : Record 21;DocumentPostingDate@1170000001 : Date) : Boolean;     BEGIN       IF (DocumentPostingDate < FromDate) OR (DocumentPostingDate > ToDate) THEN         EXIT(FALSE);       WITH CustLedgerEntry DO         IF ("Bal. Account Type" = "Bal. Account Type"::"G/L Account") AND ("Bal. Account No." <> '') THEN BEGIN           IF IsCashAccount("Bal. Account No.") THEN             EXIT(TRUE);         END ELSE           IF ("Bal. Account No." = '') OR ("Bal. Account Type" <> "Bal. Account Type"::"G/L Account") THEN             IF IdentifyCashPaymentsFromGL(CustLedgerEntry) THEN               EXIT(TRUE);       EXIT(FALSE);     END;// End of the added lines....

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

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.