Sistem akan membuat entri buku besar tidak diperlukan ketika Anda menjalankan transaksi Reverse fungsi di Microsoft Dynamics NAV 2009

Berlaku untuk: Dynamics NAV 2009

Artikel ini berlaku untuk Microsoft Dynamics NAV 2009 untuk semua negara dan semua bahasa lokal.

Gejala


Menganggap bahwa pembayaran diterapkan ke faktur menggunakan jurnal dan Anda menggunakan mata uang asing di Microsoft Dynamics NAV 2009 R2 dan di Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1). Dalam situasi ini, ketika Anda menjalankan fungsi Reverse transaksi sistem membuat entri buku besar tidak diperlukan.

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:
  1. Menambahkan variabel global berikut di tabel pembalikan entri (179):
    Text013@1039 : TextConst 'ENU="You cannot reverse %1 No. %2 because the entry has an associated Realized Gain/Loss entry. "';
  2. Ubah kode di fungsi CheckDtldCustLedgEntry pembalikan entri tabel (179) sebagai berikut:
    Kode yang ada
    ...DtldCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgEntry."Entry No.");
    DtldCustLedgEntry.SETFILTER("Entry Type",'<>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry");
    DtldCustLedgEntry.SETRANGE(Unapplied,FALSE);
    IF NOT DtldCustLedgEntry.ISEMPTY THEN
    ERROR(Text000,CustLedgEntry.TABLECAPTION,CustLedgEntry."Entry No.");
    END;

    LOCAL PROCEDURE CheckDtldVendLedgEntry@28(VendLedgEntry@1000 : Record 25) : Boolean;
    VAR
    DtldVendLedgEntry@1001 : Record 380;
    ...

    Penggantian kode
    ...DtldCustLedgEntry.SETRANGE("Cust. Ledger Entry No.",CustLedgEntry."Entry No.");
    DtldCustLedgEntry.SETFILTER("Entry Type",'<>%1',DtldCustLedgEntry."Entry Type"::"Initial Entry");
    DtldCustLedgEntry.SETRANGE(Unapplied,FALSE);
    IF NOT DtldCustLedgEntry.ISEMPTY THEN
    ERROR(Text000,CustLedgEntry.TABLECAPTION,CustLedgEntry."Entry No.");

    // Add the following lines.

    DtldCustLedgEntry.SETRANGE(Unapplied);
    DtldCustLedgEntry.SETFILTER("Entry Type",'%1|%2',
    DtldCustLedgEntry."Entry Type"::"Realized Gain",DtldCustLedgEntry."Entry Type"::"Realized Loss");
    IF NOT DtldCustLedgEntry.ISEMPTY THEN
    ERROR(Text013,CustLedgEntry.TABLECAPTION,CustLedgEntry."Entry No.");
    // End of the lines.

    END;

    LOCAL PROCEDURE CheckDtldVendLedgEntry@28(VendLedgEntry@1000 : Record 25) : Boolean;
    VAR
    DtldVendLedgEntry@1001 : Record 380;
    ...

  3. Ubah kode di fungsi CheckDtldVendLedgEntry pembalikan entri tabel (179) sebagai berikut:
    Kode yang ada
    ...DtldVendLedgEntry.SETRANGE("Vendor Ledger Entry No.",VendLedgEntry."Entry No.");
    DtldVendLedgEntry.SETFILTER("Entry Type",'<>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry");
    DtldVendLedgEntry.SETRANGE(Unapplied,FALSE);
    IF NOT DtldVendLedgEntry.ISEMPTY THEN
    ERROR(Text000,VendLedgEntry.TABLECAPTION,VendLedgEntry."Entry No.");
    END;

    PROCEDURE SetReverseFilter@1(Number@1001 : Integer;RevType@1000 : 'Transaction,Register');
    BEGIN
    IF RevType = RevType::Transaction THEN BEGIN
    ...

    Penggantian kode
    ...DtldVendLedgEntry.SETRANGE("Vendor Ledger Entry No.",VendLedgEntry."Entry No.");
    DtldVendLedgEntry.SETFILTER("Entry Type",'<>%1',DtldVendLedgEntry."Entry Type"::"Initial Entry");
    DtldVendLedgEntry.SETRANGE(Unapplied,FALSE);
    IF NOT DtldVendLedgEntry.ISEMPTY THEN
    ERROR(Text000,VendLedgEntry.TABLECAPTION,VendLedgEntry."Entry No.");

    // Add the following lines.

    DtldVendLedgEntry.SETRANGE(Unapplied);
    DtldVendLedgEntry.SETFILTER("Entry Type",'%1|%2',
    DtldVendLedgEntry."Entry Type"::"Realized Gain",DtldVendLedgEntry."Entry Type"::"Realized Loss");
    IF NOT DtldVendLedgEntry.ISEMPTY THEN
    ERROR(Text013,VendLedgEntry.TABLECAPTION,VendLedgEntry."Entry No.");
    // End of the lines.

    END;

    PROCEDURE SetReverseFilter@1(Number@1001 : Integer;RevType@1000 : 'Transaction,Register');
    BEGIN
    IF RevType = RevType::Transaction THEN BEGIN
    ...

Prasyarat

Anda harus memiliki salah satu produk berikut ini diinstal untuk menerapkan perbaikan terbaru ini:
  • Microsoft Dynamics NAV 2009 R2
  • Microsoft Dynamics NAV 2009 Service Pack 1
Selain itu, Anda harus memiliki modifikasi dari 2926134 KB untuk menerapkan hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
2926134 sistem membuat entri buku besar tidak diperlukan ketika Anda menjalankan transaksi reverse fungsi di Microsoft Dynamics NAV 2009

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 Ketentuan untuk pertimbangan lainnya.