Artikel ini menjelaskan masalah ketika Anda mengirim file penjualan daftar Uni Eropa (EU) ke otoritas. Jika nama perusahaan yang memiliki karakter khusus, Anda menerima pesan galat berikut ini:
Karakter tidak semua file yang dipilih cocok halaman kode terdeteksi ISO-8859: berkas posisi: 19 nilai: 0xE9.
Ikuti langkah-langkah di bagian perubahan kode untuk memecahkan masalah ini. Masalah ini terjadi di dalam produk berikut ini:
-
Versi Jerman Microsoft Dynamics NAV 2009 R2
-
Versi Jerman Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1)
Pemecahan masalah
Informasi Hotfix
Sekarang tersedia hotfix yang didukung dari Microsoft. Namun, hanya ditujukan untuk memperbaiki masalah yang dijelaskan di artikel ini. Terapkan hanya ke sistem yang mengalami masalah khusus ini. Perbaikan terbaru ini dapat menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terlalu dipengaruhi oleh masalah ini, kami sarankan Anda menunggu paket layanan Microsoft Dynamics NAV 2009 atau versi Microsoft Dynamics NAV berikutnya yang berisi perbaikan terbaru ini.
Catatan Dalam kasus tertentu, biaya yang biasanya diadakan untuk panggilan mungkin dibatalkan apabila profesional dukungan teknis untuk Microsoft Dynamics dan produk-produk terkait dukungan menentukan bahwa pembaruan khusus akan memecahkan masalah Anda. Biaya dukungan biasa akan berlaku untuk pertanyaan dan masalah yang tidak termasuk pada pembaruan tertentu yang dimaksud dukungan tambahan.
Informasi penginstalan
Microsoft menyediakan contoh pemrogaman hanya untuk ilustrasi, tanpa garansi baik tersurat maupun tersirat. Ini mencakup, namun tidak terbatas pada, garansi yang tersirat dapat diperjualbelikan atau kesesuaian untuk tujuan tertentu. Artikel ini menganggap bahwa Anda sudah terbiasa dengan bahasa pemrograman yang ditunjukkan dan terbiasa dengan alat-alat yang digunakan untuk membuat dan prosedur debug. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu. Namun, mereka tidak akan mengubah contoh tersebut untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda.
Catatan Sebelum Anda menginstal perbaikan terbaru ini, verifikasi bahwa semua pengguna klien Microsoft Dynamics NAV log off sistem. Ini termasuk layanan Microsoft Dynamics NAV aplikasi Server (NAS). Anda harus klien hanya pengguna yang masuk saat Anda menerapkan perbaikan terbaru ini.
Untuk menerapkan hotfix ini, Anda harus memiliki lisensi pengembang.
Kami menyarankan bahwa akun pengguna di jendela login Windows atau jendela login Database ditetapkan id peran "SUPER" Jika account pengguna tidak dapat ditetapkan ID peran "SUPER", Anda harus memverifikasi bahwa account pengguna yang memiliki izin berikut ini:
-
Ubah izin untuk objek yang Anda akan berubah.
-
Izin eksekusi untuk objek sistem objek ID 5210 dan sistem objek ID 9015
objek.
Catatan Anda tidak harus memiliki hak untuk penyimpanan data kecuali jika Anda harus melakukan perbaikan data.
Perubahan kode
Catatan Selalu menguji kode perbaikan di lingkungan yang dikontrol sebelum menerapkan perbaikan untuk komputer produksi.
Untuk mengatasi masalah ini, ikuti langkah-langkah berikut:
-
Ubah kode di fungsi FillCompanyInfo dalam tabel Header laporan PPN (740) sebagai berikut:
Kode yang ada 1...PROCEDURE FillCompanyInfo@1140002();
VAR
CompanyInfo@1140000 : Record 79;
CountryRegion@1140001 : Record 9;
// Delete the following lines.
BEGIN
CompanyInfo.GET;
// End of the deleted lines.
CompanyInfo.TESTFIELD("Country/Region Code");
CountryRegion.GET(CompanyInfo."Country/Region Code");
...Penggantian kode 1
...PROCEDURE FillCompanyInfo@1140002();
VAR
CompanyInfo@1140000 : Record 79;
CountryRegion@1140001 : Record 9;
// Adding 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");
...Kode yang ada 2
...CountryRegion.GET(CompanyInfo."Country/Region Code");
VALIDATE("VAT Registration No.",CompanyInfo."VAT Registration No.");
// Deleting 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;
...Penggantian kode 2
...CountryRegion.GET(CompanyInfo."Country/Region Code");
VALIDATE("VAT Registration No.",CompanyInfo."VAT Registration No.");
// Adding 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;
... -
Ubah kode di fungsi GetCompanyName dalam tabel Header laporan PPN (740) sebagai berikut:
Kode yang ada...TESTFIELD(Status,Status::Submitted);
END;
END;
BEGIN
END.
}
}
...Penggantian kode
...TESTFIELD(Status,Status::Submitted);
END;
END;
// Adding 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 adding lines.
BEGIN
END.
}
}
... -
Ubah kode di kolom dalam tabel PPN laporan penataan (743) sebagai berikut:
Kode yang ada...{ 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 }
...Penggantian kode
...{ 11004; ;Registration ID ;Text6 ;CaptionML=[DEU=Registrierungs-ID;
ENU=Registration ID] }
{ 11005; ;Export Cancellation Lines;Boolean ;CaptionML=[DEU=Stornozeilen exportieren;
ENU=Export Cancellation Lines] }
// Adding 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 }
... -
Ubah kode di properti dalam bentuk PPN laporan penataan (743) sebagai berikut:
Kode yang ada...}
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;
...Penggantian kode
...}
PROPERTIES
{
Width=11990;
// Add the following line.
Height=8690;
// End of the added line.
CaptionML=[DEU=MwSt.-Berichtseinrichtung;
ENU=VAT Report Setup];
InsertAllowed=No;
DeleteAllowed=No;
... -
Ubah kode di kontrol dalam bentuk PPN laporan penataan (743) sebagai berikut:
Kode yang ada 1...}
CONTROLS
{
// Deleting 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;
...Penggantian kode 1
...}
CONTROLS
{
// Adding 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;
...Kode yang ada 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 }
...Penggantian kode 2
...InPage=0;
ShowCaption=No;
SourceExpr="Export Cancellation Lines" }
{ 1140013;Label ;440 ;4840 ;3300 ;440 ;ParentControl=1140012 }
// Adding 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 }
...Kode yang ada 3
...{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1;
SourceExpr="No. Series" }
{ 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 }
// Deleting the following line.
{ 6 ;CommandButton;9570 ;5720 ;2200 ;550 ;HorzGlue=Right;
// End of the deleted line.
VertGlue=Bottom;
PushAction=FormHelp }
}
CODE
...Penggantian kode 3
...{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1;
SourceExpr="No. Series" }
{ 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 }
// Adding the following line.
{ 6 ;CommandButton;9570 ;7920 ;2200 ;550 ;HorzGlue=Right;
// End of the added line.
VertGlue=Bottom;
PushAction=FormHelp }
}
CODE
... -
Mengubah kode fungsi MakeLineRecord dalam laporan laporan ekspor VIES (11008) sebagai berikut:
Kode yang ada 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) +
...Penggantian kode 1
...END;
PROCEDURE MakeLineRecord@1140004(VATReportHeader@1140001 : Record 740;VATReportLine@1140000 : Record 741);
BEGIN
// Adding 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) +
...Kode yang ada 2
...TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" :=
GetRecordType('1') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
// Deleting the following line.
GetReportType(VATReportLine) +
// End of the deleted line.
GetReportPeriod(VATReportHeader) +
PADSTR(VATReportLine.GetVATRegNo,14) +
FormatBaseForExport(VATReportLine,12) +
GetTurnoverType(VATReportLine) +
...Penggantian kode 2
...TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" :=
GetRecordType('1') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
// Adding the following line.
GetReportType(VATReportLine,VATReportHeader) +
// End of the added line.
GetReportPeriod(VATReportHeader) +
PADSTR(VATReportLine.GetVATRegNo,14) +
FormatBaseForExport(VATReportLine,12) +
GetTurnoverType(VATReportLine) +
... -
Mengubah kode fungsi MakeTotalRecord dalam laporan laporan ekspor VIES (11008) sebagai berikut:
Kode yang ada...GetRecordType('2') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
GetReportPeriod(VATReportHeader) +
FormatAmountForExport(VATReportHeader."Total Base",14) +
// Deleting the following line.
FormatAmountForExport(VATReportHeader."Total Number of Lines",5) +
// End of the deleted line.
PADSTR('',85);
TempDataExportBuffer.INSERT;
NextLineNo := NextLineNo + 1;
END;
...Penggantian kode
...GetRecordType('2') +
PADSTR(VATReportHeader."VAT Registration No.",11) +
GetReportPeriod(VATReportHeader) +
FormatAmountForExport(VATReportHeader."Total Base",14) +
// Adding 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;
... -
Mengubah kode fungsi GetReportType dalam laporan laporan ekspor VIES (11008) sebagai berikut:
Kode yang ada...BEGIN
EXIT(RecordType);
END;
// Deleting 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,
...Penggantian kode
...BEGIN
EXIT(RecordType);
END;
// Adding 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,
... -
Mengubah kode fungsi GetZeroBaseNewLineCount dalam laporan laporan ekspor VIES (11008) sebagai berikut:
Kode yang ada...EXIT('p');
END;
PROCEDURE FormatDate@1140002(Date@1140000 : Date) : Text[8];
BEGIN
EXIT(FORMAT(Date,8,'<Year4><Month,2><Day,2>'));
END;
...Penggantian kode
...EXIT('p');
END;
// Adding 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;
...
Prasyarat
Anda harus memiliki versi Jerman Microsoft Dynamics NAV 2009 R2 atau SP1 diinstal untuk menerapkan hotfix ini.
Informasi penghapusan
Anda tidak dapat menghapus hotfix ini.
Status
Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Catatan Ini adalah artikel "Penerbitan cepat" dibuat langsung dari dalam organisasi dukungan Microsoft. Informasi yang terkandung di dalamnya disediakan sebagai tanggapan masalah yang muncul. Sebagai akibat dari kecepatan untuk menjadikannya tersedia, materi dapat mengandung kesalahan ketik dan dapat direvisi setiap saat tanpa pemberitahuan. Lihat Ketentuanuntuk pertimbangan lainnya.