Artikel ini berlaku untuk Microsoft Dynamics NAV untuk semua bahasa lokal.
Gejala
Di Microsoft Dynamics NAV, setelah pesanan dibuat dari pesanan penjualan selimut dan diposting, ketika Anda mengubah jumlah baris Biaya Item dalam urutan selimut, Anda menerima pesan kesalahan berikut:
Catatan
Jumlah Yang Ditagih tidak boleh lebih besar dari Qty. Ditetapkan + Qty. untuk Menetapkan
Jika Anda membuat skenario yang sama pada sisi pembelian, Anda menerima pesan kesalahan berikut:
Catatan
Jumlah Yang Ditagih tidak boleh lebih besar dari Qty. Ditetapkan.
Hotfix ini harus diterapkan pada hotfix 2604450.
Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk menampilkan artikel di Pangkalan Pengetahuan Microsoft:
2604450 "Jumlah Yang Ditagih harus 0 dalam Sales Line Document Type='Order',Document No.='[xxxx]',Line No.='[yyyy]'" ketika Anda memposting pesanan penjualan di mana biaya item terkait ditagih sepenuhnya di Microsoft Dynamics NAV 2009 Masalah ini terjadi dalam produk berikut ini:
- Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1)
- Microsoft Dynamics NAV 2009 R2
Resolusi
Informasi hotfix
Hotfix yang didukung kini tersedia dari Microsoft. Namun, hanya dimaksudkan untuk memperbaiki masalah yang dijelaskan dalam artikel ini. Terapkan hanya ke sistem yang mengalami masalah khusus ini. Hotfix ini mungkin menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terpengaruh oleh masalah ini, kami menyarankan agar Anda menunggu paket layanan Microsoft Dynamics NAV 2009 berikutnya atau versi Microsoft Dynamics NAV berikutnya yang berisi hotfix ini.
Catatan Dalam kasus khusus, biaya yang biasanya ditimbulkan untuk panggilan dukungan mungkin dibatalkan jika Profesional Dukungan Teknis untuk Microsoft Dynamics dan produk terkait menentukan bahwa pembaruan tertentu akan mengatasi masalah Anda. Biaya dukungan biasa akan berlaku untuk pertanyaan dan masalah dukungan tambahan yang tidak memenuhi syarat untuk pembaruan tertentu yang dimaksud.
Informasi penginstalan
Microsoft menyediakan contoh pemrograman untuk ilustrasi saja, tanpa jaminan baik tersurat maupun tersirat. Ini termasuk, tetapi tidak terbatas pada, jaminan tersirat dari kelayakan jual atau kesesuaian untuk tujuan tertentu. Artikel ini mengasumsikan bahwa Anda sudah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan men-debug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, tetapi mereka tidak akan mengubah contoh ini untuk menyediakan fungsionalitas tambahan atau prosedur konstruksi untuk memenuhi persyaratan tertentu Anda.
Catatan Sebelum Anda menginstal hotfix ini, verifikasi bahwa semua pengguna klien Microsoft Navision telah keluar dari sistem. Ini termasuk pengguna klien Microsoft Navision Application Services (NAS). Anda harus menjadi satu-satunya pengguna klien yang masuk ketika Anda menerapkan hotfix ini.
Untuk menerapkan hotfix ini, Anda harus memiliki lisensi pengembang.
Kami menyarankan agar akun pengguna di jendela Windows Logins atau di jendela Login Database diberi ID peran "SUPER". Jika akun pengguna tidak dapat ditetapkan sebagai ID peran "SUPER", Anda harus memverifikasi bahwa akun pengguna memiliki izin berikut:
- Izin Ubah untuk objek yang akan Anda ubah.
- Izin Jalankan untuk objek System Object ID 5210 dan untuk objek System Object ID 9015.
Catatan Anda tidak harus memiliki hak untuk penyimpanan data kecuali Anda harus melakukan perbaikan data.
Perubahan kode
Catatan Selalu uji perbaikan kode di lingkungan terkontrol sebelum Anda menerapkan perbaikan pada komputer produksi Anda.
Untuk mengatasi masalah ini, ikuti langkah-langkah ini:
Ubah kode dalam fungsi UpdateItemChargeAssgnt dalam tabel Baris Penjualan (37) sebagai berikut:
Kode yang sudah ada... PROCEDURE UpdateItemChargeAssgnt@5807(); VAR ShareOfVAT@1000 : Decimal; BEGIN CALCFIELDS("Qty. Assigned","Qty. to Assign"); IF ABS("Quantity Invoiced") > ABS(("Qty. Assigned" + "Qty. to Assign")) THEN ERROR(Text054,FIELDCAPTION("Quantity Invoiced"),FIELDCAPTION("Qty. Assigned"),FIELDCAPTION("Qty. to Assign")); END; ItemChargeAssgntSales.RESET; ...Kode pengganti
... PROCEDURE UpdateItemChargeAssgnt@5807(); VAR ShareOfVAT@1000 : Decimal; BEGIN // Add the following line. IF "Document Type" <> "Document Type"::"Blanket Order" THEN BEGIN // End of the added line. CALCFIELDS("Qty. Assigned","Qty. to Assign"); IF ABS("Quantity Invoiced") > ABS(("Qty. Assigned" + "Qty. to Assign")) THEN ERROR(Text054,FIELDCAPTION("Quantity Invoiced"),FIELDCAPTION("Qty. Assigned"),FIELDCAPTION("Qty. to Assign")); END; ItemChargeAssgntSales.RESET; ...Ubah kode dalam Variabel Global dalam tabel Baris Pembelian (39) sebagai berikut:
Kode yang sudah ada... UnitCostCurrency@1063 : Decimal; UpdateFromVAT@1087 : Boolean; Text042@1088 : TextConst 'ENU=You cannot return more than the %1 units that you have received for %2 %3.'; Text043@1089 : TextConst 'ENU=must be positive when %1 is not 0.'; Text044@1080 : TextConst 'ENU=You cannot change %1 because this purchase order is associated with %2 %3.'; ...Kode pengganti
... UnitCostCurrency@1063 : Decimal; UpdateFromVAT@1087 : Boolean; Text042@1088 : TextConst 'ENU=You cannot return more than the %1 units that you have received for %2 %3.'; Text043@1089 : TextConst 'ENU=must be positive when %1 is not 0.'; Text044@1080 : TextConst 'ENU=You cannot change %1 because this purchase order is associated with %2 %3.'; // Add the following line. Text054@1090 : TextConst 'ENU=%1 must not be greater than the sum of %2 and %3.'; // End of the added line. ...Ubah kode dalam fungsi UpdateItemChargeAssgnt dalam tabel Baris Pembelian (39) sebagai berikut:
Kode yang sudah ada... PROCEDURE UpdateItemChargeAssgnt@5807(); VAR ShareOfVAT@1000 : Decimal; BEGIN // Delete the following lines. CALCFIELDS("Qty. Assigned"); IF "Quantity Invoiced" > "Qty. Assigned" THEN ERROR(Text032,FIELDCAPTION("Quantity Invoiced"),FIELDCAPTION("Qty. Assigned")); // End of the deleted lines. ItemChargeAssgntPurch.RESET; ItemChargeAssgntPurch.SETRANGE("Document Type","Document Type"); ItemChargeAssgntPurch.SETRANGE("Document No.","Document No."); ItemChargeAssgntPurch.SETRANGE("Document Line No.","Line No."); IF (CurrFieldNo <> 0) AND ("Unit Cost" <> xRec."Unit Cost") THEN BEGIN ...Kode pengganti
... PROCEDURE UpdateItemChargeAssgnt@5807(); VAR ShareOfVAT@1000 : Decimal; BEGIN // Add the following lines. IF "Document Type" <> "Document Type"::"Blanket Order" THEN BEGIN CALCFIELDS("Qty. Assigned","Qty. to Assign"); IF ABS("Quantity Invoiced") > ABS(("Qty. Assigned" + "Qty. to Assign")) THEN ERROR(Text054,FIELDCAPTION("Quantity Invoiced"),FIELDCAPTION("Qty. Assigned"),FIELDCAPTION("Qty. to Assign")); END; // End of the added lines. ItemChargeAssgntPurch.RESET; ItemChargeAssgntPurch.SETRANGE("Document Type","Document Type"); ItemChargeAssgntPurch.SETRANGE("Document No.","Document No."); ItemChargeAssgntPurch.SETRANGE("Document Line No.","Line No."); IF (CurrFieldNo <> 0) AND ("Unit Cost" <> xRec."Unit Cost") THEN BEGIN ...
Prasyarat
Anda harus menginstal salah satu produk berikut ini dan hotfix 2604450 diinstal untuk menerapkan hotfix ini:
- Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1)
- Microsoft Dynamics NAV 2009 R2
Informasi penghapusan
Anda tidak dapat menghapus hotfix ini.
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Referensi
VSTF DynamicsNAV SE: 287883
Catatan Ini adalah artikel "FAST PUBLISH" yang dibuat langsung dari dalam organisasi dukungan Microsoft. Informasi yang dimuat di sini disediakan sebagaimana adanya sebagai respons terhadap masalah yang muncul. Sebagai akibat dari kecepatan dalam membuatnya tersedia, materi mungkin menyertakan kesalahan pengetikan dan dapat direvisi kapan saja tanpa pemberitahuan. Lihat Ketentuan Penggunaan untuk pertimbangan lain.