Artikel ini berlaku untuk Microsoft Dynamics NAV untuk bahasa Rusia (jalan) lokal.
Gejala
Dalam versi Microsoft Dynamics NAV 2009 R2 dengan fitur paket 1 Rusia, jika PPN entri tabel (254) telah perubahan alokasi PPN operasi, ketika Anda mencoba membalikkan mendaftarkan dalam bentuk entri buku Vendor, Anda menerima pesan galat berikut:
Item nomorItem_No. tidak ada.
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 Navision log off sistem. Ini termasuk Microsoft Navision aplikasi Layanan (NAS) klien pengguna. 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:
Catatan Untuk membuat kolom (12490), gunakan berkas .fob berikut ini.
Nama file |
Versi file |
Ukuran file |
Tanggal |
Waktu |
Platform |
---|---|---|---|---|---|
Vstf260227.fob |
Tidak dapat diterapkan |
169,340 |
03-Jun-2011 |
10:08 |
Tidak dapat diterapkan |
Berkas berikut tersedia untuk diunduh dari Microsoft Dynamics File Exchange Server:
https://mbs2.microsoft.com/fileexchange/?fileID=5f52394d-7020-4d24-98b4-909002c45cfeTanggal rilis: 2 April 2014
Microsoft telah memindai file ini dari virus. Microsoft menggunakan perangkat lunak pendeteksi virus terbaru telah tersedia pada tanggal berkas diposting. File tersebut disimpan di server aman yang membantu mencegah segala perubahan tidak sah terhadap file.
-
Ubah kode di tabel Pembalikan entri (179) sebagai berikut:
-
Menambahkan kolom berikut ini: {12490; Alokasi PPN; Boolean}
-
Ubah kode di fungsi InsertReversalEntry sebagai berikut:
Kode yang ada... ReversalEntry."Bal. Account Type" := GLEntry."Bal. Account Type";
ReversalEntry."Bal. Account No." := GLEntry."Bal. Account No.";
ReversalEntry."Line No." := NextLineNo;
NextLineNo := NextLineNo + 1;
ReversalEntry.INSERT;
IF GLEntry.Amount > 0 THEN BEGIN
GLItemLedgRelation.RESET;
GLItemLedgRelation.SETRANGE("G/L Entry No.",GLEntry."Entry No.");
...Penggantian kode
... ReversalEntry."Bal. Account Type" := GLEntry."Bal. Account Type";
ReversalEntry."Bal. Account No." := GLEntry."Bal. Account No.";
ReversalEntry."Line No." := NextLineNo;
// Add the following line.
ReversalEntry."VAT Allocation" := VATAllocOnCost;
// End of the added line.
NextLineNo := NextLineNo + 1;
ReversalEntry.INSERT;
IF GLEntry.Amount >0 THEN BEGIN
GLItemLedgRelation.RESET;
GLItemLedgRelation.SETRANGE("G/L Entry No.",GLEntry."Entry No.");
... -
Ubah kode di fungsi CheckEntries sebagai berikut:
Kode yang ada 1... PROCEDURE CheckEntries@14();
...Penggantian kode 1
... PROCEDURE CheckEntries@14(IsVATAllocOnCost@1000000000 : Boolean);
...Kode yang ada 2
... MaxPostingDate := 0D;
IF NOT GLEntry.FIND('-') THEN
ERROR(Text009,GLEntry.TABLECAPTION,GLAcc.TABLECAPTION);
// Delete the following line.
VATAllocOnCost := VATAllocationExist(VATEntry);
// End of the deleted line.
IF GLEntry.FIND('-') THEN BEGIN
// Delete the following line.
IF (GLEntry."Journal Batch Name" = '') AND NOT VATAllocOnCost THEN
// End of the deleted line.
TestFieldError;
REPEAT
CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount);
UNTIL GLEntry.NEXT = 0;
END;
...Penggantian kode 2
... MaxPostingDate := 0D;
IF NOT GLEntry.FIND('-') THEN
ERROR(Text009,GLEntry.TABLECAPTION,GLAcc.TABLECAPTION);
IF GLEntry.FIND('-') THEN BEGIN
// Add the following line.
IF (GLEntry."Journal Batch Name" = '') AND NOT IsVATAllocOnCost THEN
// End of the added line.
TestFieldError;
REPEAT
CheckGLAcc(GLEntry,BalanceCheckAmount,BalanceCheckAddCurrAmount);
UNTIL GLEntry.NEXT = 0;
END;
...Kode yang ada 3
... IF VATEntry.FIND('-') THEN
REPEAT
CheckVAT(VATEntry);
UNTIL VATEntry.NEXT = 0;
// Delete the following line.
IF VATAllocOnCost THEN
// End of the deleted line.
IF ValueEntry.FIND('-') THEN
REPEAT
CheckItem(ValueEntry);
UNTIL ValueEntry.NEXT = 0;
...Penggantian kode 3
... IF VATEntry.FIND('-') THEN
REPEAT
CheckVAT(VATEntry);
UNTIL VATEntry.NEXT = 0;
// Add the following line.
IF IsVATAllocOnCost THEN
// End of the added line.
IF ValueEntry.FIND('-') THEN
REPEAT
CheckItem(ValueEntry);
UNTIL ValueEntry.NEXT = 0;
... -
Ubah kode di fungsi SetReverseFilter sebagai berikut:
Kode yang ada 1... TaxDiffEntry.SETRANGE("Transaction No.",Number);
END ELSE BEGIN
GLReg.GET(Number);
...Penggantian kode 1
... TaxDiffEntry.SETRANGE("Transaction No.",Number);
// Add the following line.
ValueEntry.SETRANGE("Entry No.",0);
// End of the added line.
END ELSE BEGIN
GLReg.GET(Number);
...Kode yang ada 2
... VATEntry.SETRANGE("Entry No.",GLReg."From VAT Entry No.",GLReg."To VAT Entry No.");
GLItemLedgRelation.SETCURRENTKEY(GLItemLedgRelation."G/L Register No.");
GLItemLedgRelation.SETRANGE("G/L Register No.",GLReg."No.");
IF GLItemLedgRelation.FINDFIRST THEN
FromValueEntryNo := GLItemLedgRelation."Value Entry No.";
IF GLItemLedgRelation.FINDLAST THEN
ToValueEntryNo := GLItemLedgRelation."Value Entry No.";
ValueEntry.SETRANGE("Entry No.",FromValueEntryNo,ToValueEntryNo);
...Penggantian kode 2
... VATEntry.SETRANGE("Entry No.",GLReg."From VAT Entry No.",GLReg."To VAT Entry No.");
// Add the following lines.
FromValueEntryNo := 0;
ToValueEntryNo := 0;
IF VATAllocOnCost THEN BEGIN
// End of the added lines.
GLItemLedgRelation.SETCURRENTKEY(GLItemLedgRelation."G/L Register No.");
GLItemLedgRelation.SETRANGE("G/L Register No.",GLReg."No.");
IF GLItemLedgRelation.FINDFIRST THEN
FromValueEntryNo := GLItemLedgRelation."Value Entry No.";
IF GLItemLedgRelation.FINDLAST THEN
ToValueEntryNo := GLItemLedgRelation."Value Entry No.";
// Add the following line.
END;
// End of the added line.
ValueEntry.SETRANGE("Entry No.",FromValueEntryNo,ToValueEntryNo);
... -
Ubah kode di fungsi VATAllocationExist sebagai berikut:
Kode yang ada...// Delete the following line.
VATEntry2.COPYFILTERS(VATEntry2);
// End of the deleted line.
VATEntry2.SETRANGE("VAT Allocation Type",VATEntry2."VAT Allocation Type"::Charge);
EXIT(NOT VATEntry2.ISEMPTY);
...Penggantian kode
...// Add the following line.
VATEntry2.COPYFILTERS(VATEntry);
// End of the added line.
VATEntry2.SETRANGE("VAT Allocation Type",VATEntry2."VAT Allocation Type"::Charge);
EXIT(NOT VATEntry2.ISEMPTY);
...
-
-
Ubah kode pos fungsi dalam bentuk Entri Reverse (179) sebagai berikut:
Tambahkan variabel lokal berikut ini:-
Nama: VATAllocOnCost
-
DataType: Boolean
Kode yang ada 1
... IF TempGLReg.FINDSET THEN
REPEAT
ReversalEntry2.SetReverseFilter(TempGLReg."No.","Reversal Type");
// Delete the following line.
ReversalEntry2.CheckEntries;
// End of the deleted line.
GET(1);
IF "Reversal Type" = "Reversal Type"::Register THEN
Number := TempGLReg."No."
ELSE
Number := "Transaction No.";
...Penggantian kode 1
... IF TempGLReg.FINDSET THEN
REPEAT
// Add the following lines.
SETRANGE("G/L Register No.",TempGLReg."No.");
SETRANGE("VAT Allocation",TRUE);
VATAllocOnCost := NOT ISEMPTY;
// End of the added lines.
ReversalEntry2.SetReverseFilter(TempGLReg."No.","Reversal Type");
// Add the following line.
ReversalEntry2.CheckEntries(VATAllocOnCost);
// End of the added line.
GET(1);
IF "Reversal Type" = "Reversal Type"::Register THEN
Number := TempGLReg."No."
ELSE
Number := "Transaction No.";
...Kode yang ada 2
... UNTIL TempGLReg.NEXT = 0;
END ELSE BEGIN
ReversalEntry2.SetReverseFilter("Transaction No.","Reversal Type");
// Delete the following line.
ReversalEntry2.CheckEntries;
// End of the deleted line.
GET(1);
IF "Reversal Type" = "Reversal Type"::Register THEN
Number := "G/L Register No."
...Penggantian kode 2
... UNTIL TempGLReg.NEXT = 0;
END ELSE BEGIN
// Add the following lines.
SETRANGE("G/L Register No.",TempGLReg."No.");
SETRANGE("VAT Allocation",TRUE);
VATAllocOnCost := NOT ISEMPTY;
// End of the added lines.
ReversalEntry2.SetReverseFilter("Transaction No.","Reversal Type");
// Add the following line.
ReversalEntry2.CheckEntries(VATAllocOnCost);
// End of the added line.
GET(1);
IF "Reversal Type" = "Reversal Type"::Register THEN
Number := "G/L Register No."
... -
Prasyarat
Anda harus memiliki versi Rusia Microsoft Dynamics NAV 2009 R2 dengan fitur paket 1 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".
Referensi
VSTF DynamicsNAV SE: 260227
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 Ketentuan untuk pertimbangan lainnya.