Gejala
Setelah Anda menginstal KB2982157, jika Anda menggunakan fitur PPN terperinci bersama-sama dengan lebih dari satu mitra, Total meringkas untuk setiap mitra tanpa sedang reset ke nol dalam versi bahasa Hongaria Microsoft Dynamics NAV 2009 R2. Ikuti langkah-langkah di bagian perubahan kode untuk memecahkan masalah ini. Masalah ini terjadi di dalam produk berikut ini:
-
Bahasa Hongaria versi Microsoft Dynamics NAV 2009 R2
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 menetapkan 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 laporan akan tertera PPN pernyataan (14522) sebagai berikut:
Kode yang ada...PartnerId := PartnerBuffer."Partner ID";
PartnerVatId := PartnerBuffer."VAT Registration No.";
PartnerName := GetPartnerName(PartnerType,PartnerId);
Buffer.RESET;
SetBufferFilters(PartnerType,PartnerId,PartnerVatId);
...Penggantian kode
...PartnerId := PartnerBuffer."Partner ID";
PartnerVatId := PartnerBuffer."VAT Registration No.";
PartnerName := GetPartnerName(PartnerType,PartnerId);
// Add the following line.
PartnerBufferIsSet := TRUE;
// End of the added line.
Buffer.RESET;
SetBufferFilters(PartnerType,PartnerId,PartnerVatId);
... -
Ubah kode di variabel Global dalam laporan akan tertera PPN pernyataan (14522) sebagai berikut:
Kode yang ada 1...VAR
CompanyInfo@1170000002 : Record 79;
Buffer@1170000007 : TEMPORARY Record 14550;
PartnerBuffer@1170000008 : TEMPORARY Record 14551;
PartnerName@1170000012 : Text[250];
PartnerVatId@1170000013 : Text[30];
...Penggantian kode 1
...VAR
CompanyInfo@1170000002 : Record 79;
Buffer@1170000007 : TEMPORARY Record 14550;
// Add the following line.
TempBuffer@1170000059 : TEMPORARY Record 14550;
// End of the added line.
PartnerBuffer@1170000008 : TEMPORARY Record 14551;
PartnerName@1170000012 : Text[250];
PartnerVatId@1170000013 : Text[30];
...Kode yang ada 2
...VatAmount6@1170000050 : Decimal;
TotalOf1365Mline@1170000057 : TextConst 'ENU=Total of %1 line %2';
TotalOf1365M@1170000058 : TextConst 'ENU=Total of %1';
PROCEDURE SetBuffer@1170000000(VAR Buff@1170000000 : Record 14550;StartPeriod@1170000001 : Date;EndPeriod@1170000002 : Date;VATThresholdAmt@1170000003 : Decimal);
BEGIN
...Penggantian kode 2
...VatAmount6@1170000050 : Decimal;
TotalOf1365Mline@1170000057 : TextConst 'ENU=Total of %1 line %2';
TotalOf1365M@1170000058 : TextConst 'ENU=Total of %1';
// Add the following line.
PartnerBufferIsSet@1170000056 : Boolean;
// End of the added line.
PROCEDURE SetBuffer@1170000000(VAR Buff@1170000000 : Record 14550;StartPeriod@1170000001 : Date;EndPeriod@1170000002 : Date;VATThresholdAmt@1170000003 : Decimal);
BEGIN
... -
Ubah kode di CalcPartnerTotals fungsi dalam laporan akan tertera PPN pernyataan (14522) sebagai berikut:
Kode yang ada... LOCAL PROCEDURE CalcPartnerTotals@1170000006(VAR Buff@1170000003 : Record 14550;VAR NumInvoices@1170000001 : Integer;VAR VatBase@1170000002 : Decimal;VAR VatAmount@1170000004 : Decimal);
BEGIN
// Delete the following lines.
NumInvoices := Buff.COUNT;
IF Buff.FINDSET THEN
REPEAT
VatBase += ConvertToThousands(Buff."VAT Base");
VatAmount += ConvertToThousands(Buff."VAT Amount");
UNTIL Buff.NEXT = 0;
END;
LOCAL PROCEDURE CalcAllTotals@1170000015();
// End of the deleted lines.
...Penggantian kode
...LOCAL PROCEDURE CalcPartnerTotals@1170000006(VAR Buff@1170000003 : Record 14550;VAR NumInvoices@1170000001 : Integer;VAR VatBase@1170000002 : Decimal;VAR VatAmount@1170000004 : Decimal);
BEGIN
// Add the following lines.
VatBase := 0;
VatAmount := 0;
NumInvoices := Buff.COUNT;
IF Buff.FINDSET THEN BEGIN
IF Buff."1365M" THEN BEGIN
IF PartnerBufferIsSet THEN BEGIN
Buff.CALCSUMS("VAT Base", "VAT Amount");
VatBase := ConvertToThousands(Buff."VAT Base");
VatAmount := ConvertToThousands(Buff."VAT Amount");
END ELSE BEGIN
REPEAT
VatAmount += CalcPartnerSubTotal(Buff."VAT Registration No.");
UNTIL Buff.NEXT = 0;
END;
END ELSE
REPEAT
VatBase += ConvertToThousands(Buff."VAT Base");
VatAmount += ConvertToThousands(Buff."VAT Amount");
UNTIL Buff.NEXT = 0;
END;
END;
LOCAL PROCEDURE CalcPartnerSubTotal@1170000004(VATRegNo@1170000000 : Text[20]) VatAmount : Decimal;
VAR
Buffer2@1170000001 : Record 14550;
EntryNo@1170000002 : Integer;
BEGIN
TempBuffer.RESET;
TempBuffer.SETRANGE("VAT Registration No.",VATRegNo);
IF NOT TempBuffer.FINDFIRST THEN BEGIN
EntryNo := 0;
TempBuffer.RESET;
IF TempBuffer.FINDLAST THEN
EntryNo := TempBuffer.EntryNo + 1;
TempBuffer.INIT;
TempBuffer.EntryNo := EntryNo;
TempBuffer."VAT Registration No." := VATRegNo;
TempBuffer.INSERT;
Buffer2.RESET;
Buffer2.SETRANGE("1365M-01");
Buffer2.SETRANGE("1365M-01K");
Buffer2.SETRANGE("1365M-02");
Buffer2.SETRANGE("1365M-02K");
Buffer2.SETRANGE("1365M",TRUE);
Buffer2.SETRANGE("K-Correction Type");
Buffer2.SETRANGE("VAT Registration No.",VATRegNo);
IF Buffer2.FINDSET THEN
REPEAT
VatAmount += Buffer2."VAT Amount";
UNTIL Buffer2.NEXT = 0;
EXIT(ConvertToThousands(VatAmount));
END;
END;
LOCAL PROCEDURE CalcAllTotals@1170000015();
// End of the added lines.
...
Prasyarat
Anda harus memiliki salah satu produk berikut ini diinstal untuk menerapkan perbaikan terbaru ini:
-
Bahasa Hongaria versi Microsoft Dynamics NAV 2009 R2
Selain itu, Anda harus memiliki KB2982157 dan MSDNAV2009R2ItemizedVAtHungary diinstal.
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.