Mokėjimas už iš naujo sudarytas sąskaitos turėtų būti paskelbta metų pradinio sąskaitos faktūros ir ne pagal iš naujo sudarytas komplektavimo 347 deklaracijoje ispanų kalba ir Microsoft Dynamics NAV 2009 m.. Ši problema iškyla faile šiems produktams:
-
Ispanų kalba ir Microsoft Dynamics NAV 2009 R2
-
Ispanų kalba ir Microsoft Dynamics NAV 2009 1 pakeitimų paketas (SP1)
Priežastis
Ši problema kyla dėl to neteisingą datą priimamas eksportuoti iš naujo sudarytas sąskaitų 347 deklaracijos
Sprendimas
Karštųjų pataisų informacija
Palaikomą naujausią pataisą dabar yra Microsoft. Tačiau jos skirtos tik šiame straipsnyje aprašytai problemai spręsti. Taikyti ją tik sistemoms, kuriose kyla ši konkreti problema. Šios karštosios pataisos gali būti papildomai išbandoma. Todėl, jei jums nelabai trukdo Ši problema, rekomenduojame palaukti kito "Microsoft Dynamics NAV 2009" pakeitimų paketo arba kitą versiją Microsoft Dynamics NAV, kuriame bus šios karštosios pataisos.
Pastaba. Konkrečiais atvejais už palaikymo skambučius gali būti atšaukti, jei techninės pagalbos specialistas Microsoft Dynamics ir susijusių produktų taikomi įprasti mokesčiai nustato, kad jūsų problemą galima išspręsti naudojant konkretų naujinimą. Į įprastos kainos už palaikymą taikomos papildomos palaikymo klausimams ir problemoms, kurių negalima išspręsti naudojant minėtą naujinimą.Diegimo informacija
Microsoft pateikia programavimo pavyzdžius tik, tačiau nesuteikia jokių aiškių arba numanomų garantijų. Tai apima, bet neapsiribojant, numanomas garantijas dėl perkamumo ir tinkamumo konkrečiam tikslui. Šis straipsnis parašytas galvojant, kad esate susipažinę su pateikta programavimo kalba ir įrankiais, kurie yra naudojami procedūroms kurti ir derinti. "Microsoft" palaikymo inžinieriai gali padėti paaiškindami konkrečios procedūros funkcines galimybes. Tačiau jie nekeis šių pavyzdžių, kad numatytų papildomą funkcinę galimybę arba sukurtų konkrečius jūsų reikalavimus atitinkančias procedūras.
Pastaba. Prieš diegdami šias karštąsias pataisas, patikrinkite, kad visi Microsoft Dynamics NAV kliento vartotojai išsiregistravę sistema. Tai apima Microsoft Dynamics NAV programų serverio (NAS) paslaugas. Jums turėtų būti tik kliento vartotojo, kuris yra prisijungęs, kai atliekate šias karštąsias pataisas. Norint pritaikyti šią karštąją pataisą, turite programų kūrėjo licencijos. Rekomenduojame, kad vartotojo abonemento Windows registravimosi lange arba duomenų bazės prisijungimų langas priskirti "SUPER" vaidmenį ID. Jei vartotojo abonementas negali būti priskirta "SUPER" ID., turi patikrinti, kad vartotojo abonementas turi šias teises:-
Keisti teisės objektas, kuris bus pakeisti.
-
Teisės vykdyti sistemos objekto ID 5210 objekto ir sistemos objekto ID 9015
objekto.
Pastaba. Jūs neturite turėti teisių į duomenų parduotuvių, nebent jūs turite atlikti duomenų atkūrimo.
Pastaba.
Pastaba visada bandymas kodas nustato kontroliuojamoje aplinkoje, prieš taikydami nustato savo gamybos kompiuteriams. Prieš taikant keitimą, importuoti visus SEPA naujinimus.
Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:-
Pakeisti IdentifyCashPayments funkcija, kad 347 deklaracijos ataskaitoje (10707):
Esamas kodas 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); ...Atsarginis kodas 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); ...Esamas kodas 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; ...Atsarginis kodas 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; ... -
Pakeisti CreateCashTotals funkcija, kad 347 deklaracijos ataskaitoje (10707):
Esamas kodas 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; ...Atsarginis kodas 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; ...Esamas kodas 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 ...Atsarginis kodas 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 ...Esamas kodas 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 ...Pakeitimo kodas 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 ... -
Pakeisti GetPaymentDocumentPostingDate funkcija, kad 347 deklaracijos ataskaitoje (10707):
Esamas kodas...IF Vendor."Country/Region Code" = CountryCode THEN
FromJournal := TRUE; END; ...Pastaba.
...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. ...
Būtinosios sąlygos
Turi būti viena iš toliau nurodytų produktų, norint taikyti šias karštąsias pataisas:
-
Ispanų kalba ir Microsoft Dynamics NAV 2009 R2
-
Ispanų kalba ir Microsoft Dynamics NAV 2009 SP1
Pašalinimo informacija
Jūs negalite pašalinti šias karštąsias pataisas.
Būsena
„Microsoft“ patvirtino, kad tai yra „Microsoft“ produktų, išvardytų skyriuje „Taikoma“, problema.
Pastaba. Tai yra "GREITAI PUBLIKUOJAMAS" straipsnis, sukurtas tiesiogiai Microsoft palaikymo tarnybos. Čia pateikta informacija yra atsakas į kylančius klausimus. Dėl greito publikavimo medžiagoje gali būti spausdinimo klaidų ir ji gali būti peržiūrima bet kuriuo metu be įspėjimo. Naudojimoieškokite kitų priežasčių.