Acest articol se aplică la Microsoft Dynamics NAV pentru setările regionale de limbă spaniolă (ES).
Simptome
Să presupunem că este bifată caseta de selectare serviciu UE în caseta de dialog Inițializare înregistrare TVA din versiunea spaniolă a Microsoft Dynamics NAV. Atunci când generați fișierul de declarații 349, suma din fișierul exportat este incorectă.
Această problemă apare în următoarele produse:
-
Versiunea spaniolă a Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
Versiunea spaniolă a Microsoft Dynamics NAV 5,0 Service Pack 1 (SP1)
Rezolvare
Informații despre remedieri rapide
O remediere rapidă acceptată este acum disponibilă de la Microsoft. Cu toate acestea, este destinat doar să corecteze problema descrisă în acest articol. Aplicați-o doar pentru sistemele care întâmpină această problemă specifică. Această remediere rapidă poate primi teste suplimentare. Prin urmare, dacă nu sunteți grav afectat de această problemă, vă recomandăm să așteptați următorul pachet Service Pack Microsoft Dynamics NAV 2009 sau următoarea versiune Microsoft Dynamics NAV care conține această remediere rapidă.
Notă în cazuri speciale, tarifele care sunt suportate de obicei pentru apelurile de asistență pot fi anulate dacă un profesionist de asistență tehnică pentru Microsoft Dynamics și produsele asociate determină faptul că o anumită actualizare va rezolva problema. Costurile uzuale de suport se vor aplica pentru întrebări suplimentare de suport și pentru probleme ce nu fac obiectul actualizării în chestiune.
Informații despre instalare
Microsoft furnizează exemple de programare doar pentru ilustrație, fără garanție explicită sau implicită. Acestea includ, dar nu se limitează la garanþiile implicite de vandabilitate sau adecvare la un anumit scop. Acest articol presupune că sunteți familiarizat cu limbajul de programare care este în curs de demonstrare și cu instrumentele utilizate pentru a crea și a depana proceduri. Inginerii de asistență Microsoft vă pot ajuta să explicați funcționalitatea unei anumite proceduri, dar acestea nu vor modifica aceste exemple pentru a oferi funcționalități suplimentare sau pentru a construi proceduri pentru a îndeplini cerințele specifice.
Notă înainte să instalați această remediere rapidă, asigurați-vă că toți utilizatorii de client Microsoft Navision sunt conectați la sistem. Aceasta include utilizatori clienți Microsoft Navision Application Services (NAS). Ar trebui să fiți singurul utilizator client care s-a conectat atunci când implementați această remediere rapidă.
Pentru a implementa această remediere rapidă, trebuie să aveți o licență pentru dezvoltatori.
Vă recomandăm ca contul de utilizator din fereastra Conectări Windows sau din fereastra Conectări bază de date să i se atribuie ID-ul de rol "SUPER". Dacă contul de utilizator nu poate fi atribuit ID-ul de rol "SUPER", trebuie să verificați dacă contul de utilizator are următoarele permisiuni:
-
Permisiunile de modificare pentru obiectul pe care îl veți modifica.
-
Permisiunea de executare pentru obiectul System Object ID 5210 și pentru obiectul System Object ID 9015.
Notă Nu trebuie să aveți drepturi pentru magazinele de date decât dacă trebuie să efectuați reparații de date.
Modificările codului
Notă întotdeauna remedieri cod test într-un mediu controlat înainte de a aplica remedierile la computerele de producție.
Pentru a rezolva această problemă, urmați acești pași:
-
Modificați codul din secțiunile 5 din elementul date din raportul make 349 declarion (88) după cum urmează:
codul existent 1BEGIN
REPEAT
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Codul de înlocuire 1
BEGIN
REPEAT
//Add the follwing lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Codul existent 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Delete the following lines.
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';Codul de înlocuire 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Add the following lines.
IF VATInvSales."Transaction No." <> LastTransactionNo THEN BEGIN
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
END;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';Codul existent 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base;
UNTIL VATInvSales.NEXT = 0;
END;Codul de înlocuire 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0;
END;Codul existent 4
UNTIL VATInvSales.NEXT = 0;
END;
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Codul de înlocuire 4
UNTIL VATInvSales.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Codul existent 5
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
NormalAmount := NormalAmount + AmountToIncludein349
ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvSales.Base;
END ELSECodul de înlocuire 5
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvSales."Transaction No." <> LastTransactionNo THEN
NormalAmount := NormalAmount + AmountToIncludein349;
END ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvSales.Base;
END ELSECodul existent 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base;
UNTIL VATInvSales.NEXT = 0;
END;Codul de înlocuire 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0;
END;Codul existent 7
END;
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);Codul de înlocuire 7
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);Codul existent 8
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
AmountEUService := AmountEUService + AmountToIncludein349
ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvSales.Base;
END ELSECodul de înlocuire 8
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvSales."Transaction No." <> LastTransactionNo THEN
AmountEUService := AmountEUService + AmountToIncludein349;
END ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvSales.Base;
END ELSECodul existent 9
END;
END;
UNTIL VATInvSales.NEXT = 0;Codul de înlocuire 9
END;
END;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0; -
Modificați codul din numărul elementului de date 6 secțiuni din raportul make 349 declarion (88) după cum urmează:
codul existent 1BEGIN
REPEAT
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Codul de înlocuire 1
BEGIN
REPEAT
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Codul existent 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Delete the following lines.
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';Codul de înlocuire 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Add the following lines.
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN BEGIN
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
END;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';Codul existent 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base;
UNTIL VATInvPurch.NEXT = 0;
END;Codul de înlocuire 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0;
END;Codul existent 4
UNTIL VATInvPurch.NEXT = 0;
END;
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Codul de înlocuire 4
UNTIL VATInvPurch.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Codul existent 5
((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
NormalAmount := NormalAmount + AmountToIncludein349
ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvPurch.Base;
END ELSECodul de înlocuire 5
((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
NormalAmount := NormalAmount + AmountToIncludein349;
END ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvPurch.Base;
END ELSECodul existent 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base;
UNTIL VATInvPurch.NEXT = 0;
END;Codul de înlocuire 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0;
END;Codul existent 7
UNTIL VATInvPurch.NEXT = 0;
END;
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);Codul de înlocuire 7
UNTIL VATInvPurch.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);Codul existent 8
THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
AmountEUService := AmountEUService + AmountToIncludein349
ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvPurch.Base;
END ELSECodul de înlocuire 8
THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
AmountEUService := AmountEUService + AmountToIncludein349;
END ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvPurch.Base;
END ELSECodul existent 9
END;
END;
UNTIL VATInvPurch.NEXT = 0;Codul de înlocuire 9
END;
END;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0; -
Adăugați o variabilă globală nouă în raportul make 349 declarion (88), apoi specificați variabila după cum urmează:
-
Nume: LastTransactionNo@1100072
-
Tip de date:întreg
-
Cerinţe preliminare
Trebuie să aveți unul dintre următoarele produse instalate pentru a aplica această remediere rapidă:
-
Versiunea spaniolă a Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
Versiunea spaniolă a Microsoft Dynamics NAV 5,0 Service Pack 1 (SP1)
Trebuie să aveți raportul 349 spaniolă instalat pentru a aplica această remediere rapidă.
Pentru mai multe informații, vizitați următorul site Web Microsoft:
spaniolă 349 raportîn
plus, trebuie să aveți pachetul TVA 2010 instalat pentru a aplica această remediere rapidă.
Pentru mai multe informații, vizitați următorul site Web Microsoft:
suport Microsoft Dynamics NAV pentru TVA 2010
Informații despre eliminare
Nu puteți elimina această remediere rapidă.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Notă Acesta este un articol "publicare rapidă" creat direct din cadrul Organizației de asistență Microsoft. Informațiile conținute în acest document sunt furnizate ca răspuns la problemele emergente. Ca rezultat al vitezei de a-l face disponibil, materialele pot include greșeli tipografice și pot fi revizuite în orice moment, fără notificare. Consultați Termenii de utilizare pentru alte considerații.