Artikel ini berlaku untuk Microsoft Dynamics NAV untuk lokal bahasa Jerman (de).
Gejala
Pertimbangkan skenario berikut dalam versi Bahasa Jerman Microsoft Dynamics NAV:
- Anda mengaktifkan pengaturan Pertimbangkan Diskon dalam kartu likuiditas.
- Anda menjalankan fungsi Fill pada jurnal likuiditas untuk faktur yang tidak disertakan diskon.
Dalam skenario ini, tanggal likuiditas yang salah disarankan dalam jurnal likuiditas. Tanggal likuiditas sama dengan tanggal posting faktur, bukan tanggal jatuh tempo faktur.
Masalah ini terjadi pada produk berikut ini:
- Versi Bahasa Jerman dari Microsoft Dynamics NAV 2009 R2
- Versi Bahasa Jerman dari Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
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 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 Cust. Entri Buku Besar - Pemicu OnAfterGetRecord dalam laporan Isi Jurnal Likuiditas (5055250) sebagai berikut:
Kode yang sudah ada... "Payment Discount" := "Cust. Ledger Entry"."Original Pmt. Disc. Possible"; Amount := "Cust. Ledger Entry"."Remaining Amt. (LCY)" - "Payment Discount"; "Amount (Currency)" := "Cust. Ledger Entry"."Remaining Amount" - "Cust. Ledger Entry"."Original Pmt. Disc. Possible"; // Delete the following line. IF "Cust. Ledger Entry"."Pmt. Discount Date" <> 0D THEN BEGIN "Liquidity Date" := "Cust. Ledger Entry"."Pmt. Discount Date"; IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := "Cust. Ledger Entry"."Pmt. Disc. Tolerance Date"; END; ...Kode pengganti
... "Payment Discount" := "Cust. Ledger Entry"."Original Pmt. Disc. Possible"; Amount := "Cust. Ledger Entry"."Remaining Amt. (LCY)" - "Payment Discount"; "Amount (Currency)" := "Cust. Ledger Entry"."Remaining Amount" - "Cust. Ledger Entry"."Original Pmt. Disc. Possible"; // Add the following line. IF ("Cust. Ledger Entry"."Pmt. Discount Date" <> 0D) AND ("Payment Discount" <> 0) THEN BEGIN "Liquidity Date" := "Cust. Ledger Entry"."Pmt. Discount Date"; IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := "Cust. Ledger Entry"."Pmt. Disc. Tolerance Date"; END; ...Ubah kode dalam Entri Buku Besar Vendor - Pemicu OnAfterGetRecord dalam laporan Fill Liquidity Journal (5055250) sebagai berikut:
Kode yang sudah ada... "Payment Discount" := "Vendor Ledger Entry"."Original Pmt. Disc. Possible"; Amount := "Vendor Ledger Entry"."Remaining Amt. (LCY)" - "Payment Discount"; "Amount (Currency)" := "Vendor Ledger Entry"."Remaining Amount" - "Vendor Ledger Entry"."Original Pmt. Disc. Possible"; // Delete the following line. IF "Vendor Ledger Entry"."Pmt. Discount Date" <> 0D THEN BEGIN "Liquidity Date" := "Vendor Ledger Entry"."Pmt. Discount Date"; IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := "Vendor Ledger Entry"."Pmt. Disc. Tolerance Date"; END; ...Kode pengganti
... "Payment Discount" := "Vendor Ledger Entry"."Original Pmt. Disc. Possible"; Amount := "Vendor Ledger Entry"."Remaining Amt. (LCY)" - "Payment Discount"; "Amount (Currency)" := "Vendor Ledger Entry"."Remaining Amount" - "Vendor Ledger Entry"."Original Pmt. Disc. Possible"; // Add the following line. IF ("Vendor Ledger Entry"."Pmt. Discount Date" <> 0D) AND ("Payment Discount" <> 0) THEN BEGIN "Liquidity Date" := "Vendor Ledger Entry"."Pmt. Discount Date"; IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := "Vendor Ledger Entry"."Pmt. Disc. Tolerance Date"; END; ...Ubah kode dalam pemicu Purchase Line - OnAfterGetRecord dalam laporan Fill Liquidity Journal (5055250) sebagai berikut:
Kode yang sudah ada... "Due Date" := PurchHeader."Due Date"; "Document No." := "Purchase Line"."Document No."; // Delete the following lines. IF (PurchHeader."Pmt. Discount Date" <> 0D) AND (Liquidity."Consider Discount") THEN BEGIN "Liquidity Date" := PurchHeader."Pmt. Discount Date"; // End of the lines. IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date"); END ELSE "Liquidity Date" := PurchHeader."Due Date"; ...Kode pengganti
... "Due Date" := PurchHeader."Due Date"; "Document No." := "Purchase Line"."Document No."; // Add the following lines. IF (PurchHeader."Pmt. Discount Date" <> 0D) AND (Liquidity."Consider Discount") AND (PurchHeader."Payment Discount %" <> 0) THEN BEGIN "Liquidity Date" := PurchHeader."Pmt. Discount Date"; // End of the lines. IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date"); END ELSE "Liquidity Date" := PurchHeader."Due Date"; ...Ubah kode di Baris Penjualan - Pemicu OnAfterGetRecord dalam laporan Isi Jurnal Likuiditas (5055250) sebagai berikut:
Kode yang sudah ada... "Due Date" := SalesHeader."Due Date"; "Document No." := "Sales Line"."Document No."; // Delete the following lines. IF (SalesHeader."Pmt. Discount Date" <> 0D) AND (Liquidity."Consider Discount") THEN BEGIN "Liquidity Date" := SalesHeader."Pmt. Discount Date"; // End of the lines. IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date"); END ELSE "Liquidity Date" := SalesHeader."Due Date"; ...Kode pengganti
... "Due Date" := SalesHeader."Due Date"; "Document No." := "Sales Line"."Document No."; // Add the following lines. IF (SalesHeader."Pmt. Discount Date" <> 0D) AND (Liquidity."Consider Discount") AND (SalesHeader."Payment Discount %" <> 0) THEN BEGIN "Liquidity Date" := SalesHeader."Pmt. Discount Date"; // End of the lines. IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date"); END ELSE "Liquidity Date" := SalesHeader."Due Date"; ...Ubah kode di Baris Layanan - Pemicu OnAfterGetRecord dalam laporan Isi Jurnal Likuiditas (5055250) sebagai berikut:
Kode yang sudah ada... Customer.GET(ServiceHeader."Bill-to Customer No."); IF Customer."Payment Terms Code" <> '' THEN BEGIN PaymentTerms.GET(Customer."Payment Terms Code"); // Delete the following line. IF Liquidity."Consider Discount" THEN BEGIN "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",ServiceHeader."Document Date"); IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date"); END ELSE ...Kode pengganti
... Customer.GET(ServiceHeader."Bill-to Customer No."); IF Customer."Payment Terms Code" <> '' THEN BEGIN PaymentTerms.GET(Customer."Payment Terms Code"); // Add the following line. IF Liquidity."Consider Discount" AND (ServiceHeader."Payment Discount %" <> 0) THEN BEGIN "Liquidity Date" := CALCDATE(PaymentTerms."Discount Date Calculation",ServiceHeader."Document Date"); IF Liquidity."Consider Pmt. Disc. Tol. Date" THEN "Liquidity Date" := CALCDATE(GLSetup."Payment Discount Grace Period","Liquidity Date"); END ELSE ...
Prasyarat
Anda harus memiliki salah satu produk berikut yang terinstal untuk menerapkan hotfix ini:
- Versi Bahasa Jerman dari Microsoft Dynamics NAV 2009 R2
- Versi Bahasa Jerman dari Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
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".
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.