Artikel ini berlaku untuk Microsoft Dynamics NAV untuk India (dalam) bahasa lokal.
Gejala
Misalnya Anda mengirim pengiriman kembali parsial untuk pesanan pembelian di India versi Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1). Setelah Anda mengirim memo kredit pembelian dibuat dengan menggunakan fungsi Mendapatkan kembali pengiriman baris , Anda melihat bahwa jumlah yang tersisa di entri RG 23 D salah.
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:
-
Menambahkan variabel global berikut di tabel Penjualan baris(37):
-
Nama: ExecuteExcise
-
DataType: Boolean
-
-
Tambahkan variabel berikut dalam fungsi CalculateStructuresdi tabel Penjualan baris(37):
-
Nama: DetailRG23D
-
DataType: Catatan; 16533
Ubah kode sebagai berikut:... END;
UNTIL StrOrderDetails.NEXT = 0;
END;
SalesLine.MODIFY;
UNTIL SalesLine.NEXT = 0;
// Add the following l ines.
IF NOT ExecuteExcise THEN BEGIN
DetailRG23D.RESET;
DetailRG23D.SETRANGE("Document Type","Document Type");
DetailRG23D.SETRANGE("Order No.","No.");
DetailRG23D.SETRANGE("Document No.",'');
DetailRG23D.DELETEALL;
END;
// End of the added lines.
... -
-
Tambahkan variabel berikut dalam fungsi CheckAvailableQtyForReturndi tabel Penjualan baris(37):
-
Nama: RG23D2
-
DataType: Catatan; 16537
Ubah kode sebagai berikut:... IF RG23D.FINDSET THEN
REPEAT
// Delete the following line.
QtyAllocated += ABS(RG23D.Quantity);
// End of the deleted line.
// Add the following lines.
RG23D2.GET(RG23D."Ref. Entry No.");
RG23D2.CALCFIELDS("Remaining Quantity");
QtyAllocated += ABS(RG23D2.Quantity - RG23D2."Remaining Quantity");
// End of the added lines.
UNTIL RG23D.NEXT = 0;
... -
-
Membuat fungsi SetExecuteExcisedi tabel Penjualan baris(37). Kemudian, menambahkan Parameter berikut ini:
-
Nama: ExecuteExcise2
-
DataType: Boolean
Tambahkan kode berikut ini:ExecuteExcise := ExecuteExcise2;
-
-
Menambahkan variabel global berikut di Baris pembeliantabel (39):
-
Nama: ExecuteExcise
-
DataType: Boolean
-
-
Tambahkan variabel berikut dalam fungsi CalculateStructuresdi tabel Pembelian baris(39):
-
Nama: DetailRG23D
-
DataType: Catatan; 16533
Ubah kode sebagai berikut:... END;
UNTIL StrOrderDetails.NEXT = 0;
END;
PurchLine.MODIFY;
UNTIL PurchLine.NEXT = 0;
// Add the following lines.
IF NOT ExecuteExcise THEN BEGIN
DetailRG23D.RESET;
DetailRG23D.SETRANGE("Document Type","Document Type");
DetailRG23D.SETRANGE("Order No.","No.");
DetailRG23D.SETRANGE("Document No.",'');
DetailRG23D.DELETEALL;
END;
// End of the added lines.
END;
END;
END;
... -
-
Membuat fungsi SetExecuteExcisedi tabel Pembelian baris(39). Kemudian, menambahkan Parameter berikut ini:
-
Nama: ExecuteExcise2
-
DataType: Boolean
Tambahkan kode berikut ini:ExecuteExcise := ExecuteExcise2;
-
-
Ubah kode di propertidi penjualan - postingcodeunit (80) sebagai berikut:
... SalesLine.GetSalesPriceExclusiveTaxes(SalesHeader);
SalesLine.UpdateSalesLinesPIT(SalesHeader);
END;
IF Structure <> '' THEN BEGIN
// Add the following lines.
SalesLine.SetExecuteExcise(
("Document Type" IN ["Document Type"::"Credit Memo","Document Type"::Invoice]) OR
(("Document Type" IN ["Document Type"::"Return Order",
"Document Type"::Order]) AND
Invoice));
// End of the added lines.
SalesLine.CalculateStructures(SalesHeader);
SalesLine.AdjustStructureAmounts(SalesHeader);
SalesLine.UpdateSalesLines(SalesHeader);
CheckVATSettled(SalesHeader);
END;
... -
Ubah kode di propertidi Purch.-postingcodeunit (90) sebagai berikut:
... TESTFIELD("Document Date");
IF GenJnlCheckLine.DateNotAllowed("Posting Date") THEN
FIELDERROR("Posting Date",Text045);
IF Structure <> '' THEN BEGIN
// Add the following lines.
PurchLine.SetExecuteExcise(("Document Type" = "Document Type"::"Credit Memo") OR
(("Document Type" = "Document Type"::"Return Order") AND Invoice));
// End of the added lines.
PurchLine.CalculateStructures(PurchHeader);
COMMIT;
CheckVATSettled;
PurchLine.AdjustStructureAmounts(PurchHeader);
PurchLine.UpdatePurchLines(PurchHeader);
...
Prasyarat
Anda harus memiliki versi India Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1) yang 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: 209399
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.