Simptome
Când Exportați un raport de TVA către autoritatea taxe pe instrucțiunile de la actualizarea de vânzări EU în versiunea germană Microsoft Dynamics NAV 2009 SP1, valoarea zero sunt raportate în lista vânzări EU originală. Această problemă se produce în următoarele produse:
-
Versiunea germană a Microsoft Dynamics NAV 2009 Service Pack 1
Sumele zero în prezent sunt permise în lista de vânzări EU și ar trebui să nu fie li, numai pentru corecturi.
Rezolvare
Informații despre remedierea rapidă
Un hotfix acceptat este acum disponibil de la Microsoft. Cu toate acestea, acesta este destinat numai corectării problemei descrise în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, 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 versiunea Microsoft Dynamics NAV următoare, care conține această remediere rapidă.
Notă În cazuri speciale, costurile implicate de obicei pentru asistență apeluri pot fi anulate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produse asociate stabilește că o anumită actualizare va rezolva problema. Se vor aplica costurile uzuale de asistenţă pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în cauză.
Informaţii despre instalare
Microsoft furnizează exemple de programare scop ilustrativ, fără nicio garanţie explicită sau implicită. Aceasta include, dar nu se limitează la, garanţiile implicite de vandabilitate sau de potrivire pentru un anumit scop. Acest articol presupune că sunteţi familiarizat cu limbajul de programare care este prezentat şi cu instrumentele utilizate pentru a crea şi a depana proceduri. Specialiștii în asistență Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri. Cu toate acestea, nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară construi proceduri pentru a răspunde cerințelor dvs. specifice.
Notă Înainte de a instala această remediere rapidă, verificați dacă toți utilizatorii de client Microsoft Dynamics NAV sunt log off sistemul. Aceasta include servicii Microsoft Dynamics NAV Application Server (NAS). Ar trebui să fie singurul client utilizatorului care este conectat când implementați această remediere rapidă.
Pentru a implementa această remediere rapidă, trebuie să aveți o licență de dezvoltare.
Vă recomandăm că contul de utilizator în fereastra Conectări Windows sau în fereastra Conectări bază de date se atribuie "SUPER" rolul ID-ul. În cazul în care contul de utilizator nu poate fi atribuit ID-ul "SUPER" rolul, trebuie să verificați că contul de utilizator are următoarele permisiuni:
-
Modify permisiunea pentru obiectul care se va schimba.
-
Permisiunea de executare pentru obiectul sistem obiect ID 5210 și sistem obiect ID 9015
obiect.
Notă Nu trebuie să aveți drepturi de la magazine de date decât dacă trebuie să efectuați o reparare de date.
Modificări de cod
Notă Întotdeauna test cod remediază într-un mediu controlat înainte de a aplica remedieri pentru computerele de producție.
Pentru a rezolva această problemă, urmați acești pași:
-
Modificați codul dinFillCompanyInfo funcționează în tabelul Antet raport de TVA (740) după cum urmează:
Cod existent 1...PROCEDURE FillCompanyInfo@1140002();
VAR
CompanyInfo@1140000 : Record 79;
CountryRegion@1140001 : Record 9;
// Delete the following lines.
BEGIN
CompanyInfo.GET;
// End of the deleted line.
CompanyInfo.TESTFIELD("Country/Region Code");
CountryRegion.GET(CompanyInfo."Country/Region Code");
...Înlocuirea cod 1
...PROCEDURE FillCompanyInfo@1140002();
VAR
CompanyInfo@1140000 : Record 79;
CountryRegion@1140001 : Record 9;
// Add the following lines.
VATReportSetup@1140002 : Record 743;
BEGIN
CompanyInfo.GET;
VATReportSetup.GET;
// End of the added lines.
CompanyInfo.TESTFIELD("Country/Region Code");
CountryRegion.GET(CompanyInfo."Country/Region Code");
...Cod existent 2
...CountryRegion.GET(CompanyInfo."Country/Region Code");
VALIDATE("VAT Registration No.",CompanyInfo."VAT Registration No.");
// Delete the following lines.
VALIDATE("Company Name",CompanyInfo.Name);
VALIDATE("Company Address",CompanyInfo.Address);
VALIDATE("Country/Region Name",CountryRegion.Name);
VALIDATE(City,CompanyInfo.City);
// End of the deleted lines.
VALIDATE("Post Code",CompanyInfo."Post Code");
VALIDATE("Tax Office ID",CompanyInfo."Tax Office Number");
END;
...Înlocuirea cod 2
...CountryRegion.GET(CompanyInfo."Country/Region Code");
VALIDATE("VAT Registration No.",CompanyInfo."VAT Registration No.");
// Add the following lines.
VALIDATE("Company Name",GetCompanyName(CompanyInfo,VATReportSetup));
VALIDATE("Company Address",GetCompanyAddress(CompanyInfo,VATReportSetup));
VALIDATE("Country/Region Name",CountryRegion.Name);
VALIDATE(City,GetCompanyCity(CompanyInfo,VATReportSetup));
// End of the added lines.
VALIDATE("Post Code",CompanyInfo."Post Code");
VALIDATE("Tax Office ID",CompanyInfo."Tax Office Number");
END;
... -
Modificați codul din funcția GetCompanyName în tabelul Antet raport de TVA (740) după cum urmează:
Cod existent... TESTFIELD(Status,Status::Submitted);
END;
END;
BEGIN
END.
}
}
...Cod de înlocuire
...TESTFIELD(Status,Status::Submitted);
END;
END;
// Add the following lines.
LOCAL PROCEDURE GetCompanyName@1140004(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[100];
BEGIN
IF VATReportSetup."Company Name" <> '' THEN
EXIT(VATReportSetup."Company Name");
EXIT(CompanyInformation.Name);
END;
LOCAL PROCEDURE GetCompanyAddress@1140005(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[30];
BEGIN
IF VATReportSetup."Company Address" <> '' THEN
EXIT(VATReportSetup."Company Address");
EXIT(CompanyInformation.Address);
END;
LOCAL PROCEDURE GetCompanyCity@1140006(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[30];
BEGIN
IF VATReportSetup."Company City" <> '' THEN
EXIT(VATReportSetup."Company City");
EXIT(CompanyInformation.City);
END;
// End of the added lines.
BEGIN
END.
}
}
... -
Modificați codul din câmpurile în tabelul de instalare al raport TVA (743) după cum urmează:
Cod existent...{ 11004; ;Registration ID ;Text6 ;CaptionML=[DEU=Registrierungs-ID;
ENU=Registration ID] }
{ 11005; ;Export Cancellation Lines;Boolean ;CaptionML=[DEU=Stornozeilen exportieren;
ENU=Export Cancellation Lines] }
}
KEYS
{
{ ;Primary key ;Clustered=Yes }
...Cod de înlocuire
... { 11004; ;Registration ID ;Text6 ;CaptionML=[DEU=Registrierungs-ID;
ENU=Registration ID] }
{ 11005; ;Export Cancellation Lines;Boolean ;CaptionML=[DEU=Stornozeilen exportieren;
ENU=Export Cancellation Lines] }
// Add the following lines.
{ 11006; ;Company Name ;Text100 }
{ 11007; ;Company Address ;Text30 }
{ 11008; ;Company City ;Text30 }
// End of the added lines.
}
KEYS
{
{ ;Primary key ;Clustered=Yes }
... -
Modificați codul din proprietățile în formularul de instalare al raport TVA (743) după cum urmează:
Cod existent...}
PROPERTIES
{
Width=11990;
// Delete the following line.
Height=6490;
// End of the deleted line.
CaptionML=[DEU=MwSt.-Berichtseinrichtung;
ENU=VAT Report Setup];
InsertAllowed=No;
DeleteAllowed=No;
...Cod de înlocuire
... }
PROPERTIES
{
Width=11990;
// Add the following lines.
Height=8690;
// End of the added line.
CaptionML=[DEU=MwSt.-Berichtseinrichtung;
ENU=VAT Report Setup];
InsertAllowed=No;
DeleteAllowed=No;
... -
Modificați codul din controalele în formularul de instalare al raport TVA (743) după cum urmează:
Cod existent 1... }
CONTROLS
{
// Delete the following line.
{ 1 ;TabControl ;220 ;220 ;11550;5280 ;HorzGlue=Both;
// End of the deleted line.
VertGlue=Both;
PageNamesML=[DEU=Allgemein,Nummerierung;
ENU=General,Numbering] }
{ 4 ;CheckBox ;3850 ;990 ;440 ;440 ;ParentControl=1;
...Înlocuirea cod 1
... }
CONTROLS
{
// Add the following line.
{ 1 ;TabControl ;220 ;220 ;11550;7480 ;HorzGlue=Both;
// End of the added line.
VertGlue=Both;
PageNamesML=[DEU=Allgemein,Nummerierung;
ENU=General,Numbering] }
{ 4 ;CheckBox ;3850 ;990 ;440 ;440 ;ParentControl=1;
...Cod existent 2
...InPage=0;
ShowCaption=No;
SourceExpr="Export Cancellation Lines" }
{ 1140013;Label ;440 ;4840 ;3300 ;440 ;ParentControl=1140012 }
{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1;
SourceExpr="No. Series" }
{ 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 }
...Înlocuirea cod 2
... InPage=0;
ShowCaption=No;
SourceExpr="Export Cancellation Lines" }
{ 1140013;Label ;440 ;4840 ;3300 ;440 ;ParentControl=1140012 }
// Add the following lines.
{ 1140015;TextBox ;3850 ;5390 ;2750 ;440 ;Name=Company Name;
ParentControl=1;
InPage=0;
SourceExpr="Company Name" }
{ 1140014;Label ;440 ;5390 ;3300 ;440 ;ParentControl=1140015 }
{ 1140017;TextBox ;3850 ;5940 ;2750 ;440 ;ParentControl=1;
InPage=0;
SourceExpr="Company Address" }
{ 1140016;Label ;440 ;5940 ;3300 ;440 ;ParentControl=1140017 }
{ 1140019;TextBox ;3850 ;6490 ;2750 ;440 ;ParentControl=1;
InPage=0;
SourceExpr="Company City" }
{ 1140018;Label ;440 ;6490 ;3300 ;440 ;ParentControl=1140019 }
// End of the added lines.
{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1;
SourceExpr="No. Series" }
{ 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 }
...Cod existent 3
... { 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1;
SourceExpr="No. Series" }
{ 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 }
// Delete the following line.
{ 6 ;CommandButton;9570 ;5720 ;2200 ;550 ;HorzGlue=Right;
// End of the deleted line.
VertGlue=Bottom;
PushAction=FormHelp }
}
CODE
...Înlocuirea cod 3
...{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1;
SourceExpr="No. Series" }
{ 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 }
// Add the following line.
{ 6 ;CommandButton;9570 ;7920 ;2200 ;550 ;HorzGlue=Right;
// End of the added line.
VertGlue=Bottom;
PushAction=FormHelp }
}
CODE
... -
Modificați codul din funcția MakeLineRecord din raportul de raport Export VIES (11008) după cum urmează:
Cod existent 1...END;
PROCEDURE MakeLineRecord@1140004(VATReportHeader@1140001 : Record 740;VATReportLine@1140000 : Record 741);
BEGIN
TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" :=
GetRecordType('1') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
...Înlocuirea cod 1
...END;
PROCEDURE MakeLineRecord@1140004(VATReportHeader@1140001 : Record 740;VATReportLine@1140000 : Record 741);
BEGIN
// Add the following lines.
IF (VATReportLine.Base = 0) AND (VATReportLine."Line Type" <> VATReportLine."Line Type"::Correction) THEN
EXIT;
// End of the added lines.
TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" :=
GetRecordType('1') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
...Cod existent 2
...TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" :=
GetRecordType('1') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
// Delete the following line.
GetReportType(VATReportLine) +
// End of the deleted line.
GetReportPeriod(VATReportHeader) +
PADSTR(VATReportLine.GetVATRegNo,14) +
FormatBaseForExport(VATReportLine,12) +
GetTurnoverType(VATReportLine) +
...Înlocuirea cod 2
...TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" :=
GetRecordType('1') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
// Add the following line.
GetReportType(VATReportLine,VATReportHeader) +
// End of the added line.
GetReportPeriod(VATReportHeader) +
PADSTR(VATReportLine.GetVATRegNo,14) +
FormatBaseForExport(VATReportLine,12) +
GetTurnoverType(VATReportLine) +
... -
Modificați codul din funcția MakeTotalRecord din raportul de raport Export VIES (11008) după cum urmează:
Cod existent...GetRecordType('2') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
GetReportPeriod(VATReportHeader) +
FormatAmountForExport(VATReportHeader."Total Base",14) +
// Delete the following line.
FormatAmountForExport(VATReportHeader."Total Number of Lines",5) +
// End of the deleted line.
PADSTR('',85);
TempDataExportBuffer.INSERT;
NextLineNo := NextLineNo + 1;
END;
...Cod de înlocuire
...GetRecordType('2') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
GetReportPeriod(VATReportHeader) +
FormatAmountForExport(VATReportHeader."Total Base",14) +
// Add the following lines.
FormatAmountForExport(
VATReportHeader."Total Number of Lines" -
GetZeroBaseNewLineCount(VATReportHeader."No.") +
GetExportCancellationLineCount(VATReportHeader."No."),5) +
// End of the added lines.
PADSTR('',85);
TempDataExportBuffer.INSERT;
NextLineNo := NextLineNo + 1;
END;
... -
Modificați codul din funcția GetReportType din raportul de raport Export VIES (11008) după cum urmează:
Cod existent...BEGIN
EXIT(RecordType);
END;
// Delete the following lines.
PROCEDURE GetReportType@1140007(VATReportLine@1140000 : Record 741) : Text[2];
BEGIN
// End of the deleted lines.
CASE VATReportLine."Line Type" OF
VATReportLine."Line Type"::New:
EXIT('10');
VATReportLine."Line Type"::Cancellation,
...Cod de înlocuire
... BEGIN
EXIT(RecordType);
END;
// Add the following lines.
PROCEDURE GetReportType@1140007(VATReportLine@1140000 : Record 741;VATReportHeader@1140001 : Record 740) : Text[2];
BEGIN
IF VATReportHeader."VAT Report Type" = VATReportHeader."VAT Report Type"::Corrective THEN
EXIT('11');
// End of the added lines.
CASE VATReportLine."Line Type" OF
VATReportLine."Line Type"::New:
EXIT('10');
VATReportLine."Line Type"::Cancellation,
... -
Modificați codul din funcția GetZeroBaseNewLineCount din raportul de raport Export VIES (11008) după cum urmează:
Cod existent...EXIT('p');
END;
PROCEDURE FormatDate@1140002(Date@1140000 : Date) : Text[8];
BEGIN
EXIT(FORMAT(Date,8,'<Year4><Month,2><Day,2>'));
END;
...Cod de înlocuire
... EXIT('p');
END;
// Add the following lines.
LOCAL PROCEDURE GetZeroBaseNewLineCount@1140020(ReportNo@1140001 : Code[20]) : Integer;
VAR
VATReportLine@1140000 : Record 741;
BEGIN
WITH VATReportLine DO BEGIN
SETRANGE("VAT Report No.",ReportNo);
SETRANGE(Base,0);
SETFILTER("Line Type",'<>%1',"Line Type"::Correction);
EXIT(COUNT);
END;
END;
LOCAL PROCEDURE GetExportCancellationLineCount@1140021(ReportNo@1140001 : Code[20]) : Integer;
VAR
VATReportLine@1140000 : Record 741;
BEGIN
IF NOT VATReportSetup."Export Cancellation Lines" THEN
EXIT(0);
WITH VATReportLine DO BEGIN
SETRANGE("VAT Report No.",ReportNo);
SETRANGE("Line Type","Line Type"::Cancellation);
EXIT(COUNT);
END;
END;
// End of the added lines.
PROCEDURE FormatDate@1140002(Date@1140000 : Date) : Text[8];
BEGIN
EXIT(FORMAT(Date,8,'<Year4><Month,2><Day,2>'));
END;
...
Cerințe preliminare
Trebuie să aveți unul dintre următoarele produse instalate pentru a aplica această remediere rapidă:
-
Versiunea germană Microsoft Dynamics NAV 2009 SP1
În plus, trebuie să KB2961982 și KB3013602 instalate actualizări.
Eliminare informaţii
Nu se poate elimina această remediere rapidă.
Stare
Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".
Pagina 743 ar trebui să fie actualizate utilizând instrumentul transformare, de modificat formular 743.
Notă Acesta este un articol "rapid publicat" creat direct în cadrul organizației de asistență Microsoft. Informațiile conținute în acest document sunt furnizate ca răspuns la problemele care apar. Ca rezultat al vitezei în a-l face disponibil, materialele pot include erori tipografice și pot fi revizuite în orice moment, fără notificare. Consultați Termenii de utilizarepentru alte considerații.