Gejala

"Tidak mendaftarkan" menghitung jumlah nol faktur yang sah dan ekspor jumlah termasuk faktur ini dalam versi bahasa Spanyol Microsoft Dynamics NAV 2009. Faktur jumlah itu adalah nol tidak akan ditampilkan di 340 model file, dan tidak akan disertakan dalam jumlah "tidak mendaftarkan" baik. Ikuti langkah-langkah di bagian perubahan kode untuk memecahkan masalah ini. Masalah ini terjadi di dalam produk berikut ini:

  • Versi bahasa Spanyol Microsoft Dynamics NAV 2009 R2

  • Versi bahasa Spanyol Microsoft Dynamics NAV 2009 SP1

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 Dynamics NAV log off sistem. Ini termasuk layanan Microsoft Dynamics NAV aplikasi Server (NAS). 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. Ubah kode di CalcTotals fungsi dalam membuat 340 Deklarasi laporan (10743) sebagai berikut:
    Kode yang ada 1

    ...VAR
    VATEntry6@1100000 : Record 254;
    VATEntry7@1100002 : Record 254;
    BEGIN
    VATEntryTemporary.DELETEALL;
    VATEntry6.RESET;
    ...

    Penggantian kode 1

    ...VAR
    VATEntry6@1100000 : Record 254;
    VATEntry7@1100002 : Record 254;

    // Add the following line.
    TempUnrealVATBuffer@1100001 : TEMPORARY Record 10704;
    // End of the added line.

    BEGIN
    VATEntryTemporary.DELETEALL;
    VATEntry6.RESET;
    ...

    Kode yang ada 2

    ...VATEntry7.SETRANGE(VATEntry7.Type,VATEntryTemporary.Type);
    IF VATEntry7.FINDFIRST THEN
    VATBuffer.DELETEALL;
    REPEAT
    VATBuffer."VAT %" := VATEntry7."VAT %";
    VATBuffer."EC %" := VATEntry7."EC %";
    ...

    Penggantian kode 2

    ...VATEntry7.SETRANGE(VATEntry7.Type,VATEntryTemporary.Type);
    IF VATEntry7.FINDFIRST THEN
    VATBuffer.DELETEALL;

    // Add the following line.
    TempUnrealVATBuffer.DELETEALL;
    // End of the added line.

    REPEAT
    VATBuffer."VAT %" := VATEntry7."VAT %";
    VATBuffer."EC %" := VATEntry7."EC %";
    ...

    Kode yang ada 3

    ... IF VATEntry7.Type = VATEntry7.Type::Sale THEN BEGIN
    VATEntry7.Base := -VATEntry7.Base;
    VATEntry7.Amount := -VATEntry7.Amount;

    // Delete the following lines.
    END;
    IF VATBuffer.FIND THEN BEGIN
    VATBuffer.Base := VATBuffer.Base + VATEntry7.Base;
    VATBuffer.Amount := VATBuffer.Amount + VATEntry7.Amount;
    IF (VATEntry7.Type = VATEntry7.Type::Sale) AND (VATEntry7."EC %" <> 0) THEN
    VATBuffer."EC Amount" := VATBuffer."EC Amount" + ROUND(VATEntry7.Base * VATEntry7."EC %" / 100);
    VATBuffer.MODIFY;
    END ELSE BEGIN
    VATBuffer.Base := VATEntry7.Base;
    VATBuffer.Amount := VATEntry7.Amount;
    VATBuffer."EC Amount" := 0;
    IF (VATEntry7.Type = VATEntry7.Type::Sale) AND (VATEntry7."EC %" <> 0) THEN
    VATBuffer."EC Amount" := ROUND(VATEntry7.Base * VATEntry7."EC %" / 100);
    VATBuffer.INSERT;
    END;
    // End of the deleted lines.

    UNTIL VATEntry7.NEXT = 0;
    IF VATBuffer.FINDFIRST THEN
    NoofRecords := NoofRecords + VATBuffer.COUNT;
    ...

    Penggantian kode 3

    ...IF VATEntry7.Type = VATEntry7.Type::Sale THEN BEGIN
    VATEntry7.Base := -VATEntry7.Base;
    VATEntry7.Amount := -VATEntry7.Amount;

    // Add the following lines.
    VATEntry7."Unrealized Base" := -VATEntry7."Unrealized Base";
    VATEntry7."Unrealized Amount" := -VATEntry7."Unrealized Amount";
    END;
    IF VATBuffer.FIND THEN BEGIN
    UpdateVATBuffer(VATBuffer,VATEntry7);
    VATBuffer.MODIFY;
    END ELSE BEGIN
    VATBuffer.INIT;
    UpdateVATBuffer(VATBuffer,VATEntry7);
    VATBuffer.INSERT;
    END;
    TempUnrealVATBuffer := VATBuffer;
    IF TempUnrealVATBuffer.FIND THEN BEGIN
    UpdateUnrealVATBuffer(TempUnrealVATBuffer,VATEntry7);
    TempUnrealVATBuffer.MODIFY;
    END ELSE BEGIN
    TempUnrealVATBuffer.INIT;
    UpdateUnrealVATBuffer(TempUnrealVATBuffer,VATEntry7);
    TempUnrealVATBuffer.INSERT;
    END;
    IF IsEmptyVATBuffer(VATBuffer) AND IsEmptyVATBuffer(TempUnrealVATBuffer) THEN BEGIN
    VATBuffer.DELETE;
    TempUnrealVATBuffer.DELETE;
    END;
    // End of the added lines.

    UNTIL VATEntry7.NEXT = 0;
    IF VATBuffer.FINDFIRST THEN
    NoofRecords := NoofRecords + VATBuffer.COUNT;
    ...
  2. Ubah kode di IsEmptyVATBuffer fungsi dalam membuat 340 Deklarasi laporan (10743) sebagai berikut:
    Kode yang ada

    ...UNTIL VATEntryTemporary.NEXT = 0;
    END;

    PROCEDURE GetSalesShipmentDate@1100022(DocumentNo@1100000 : Code[20]) : Date;
    VAR
    SalesShipmentHeader@1100001 : Record 110;
    ...

    Penggantian kode

    ...UNTIL VATEntryTemporary.NEXT = 0;
    END;

    // Add the following lines.
    LOCAL PROCEDURE IsEmptyVATBuffer@1100065(TempVATBuffer@1100000 : Record 10704) : Boolean;
    BEGIN
    WITH TempVATBuffer DO
    EXIT((Base = 0) AND (Amount = 0) AND ("EC Amount" = 0));
    END;

    LOCAL PROCEDURE UpdateVATBuffer@1100061(VAR TempVATBuffer@1100000 : Record 10704;AddedVATEntry@1100001 : Record 254);
    BEGIN
    WITH TempVATBuffer DO BEGIN
    Base += AddedVATEntry.Base;
    Amount += AddedVATEntry.Amount;
    IF (AddedVATEntry.Type = AddedVATEntry.Type::Sale) AND (AddedVATEntry."EC %" <> 0) THEN
    "EC Amount" += ROUND(AddedVATEntry.Base * AddedVATEntry."EC %" / 100);
    END;
    END;

    LOCAL PROCEDURE UpdateUnrealVATBuffer@1100063(VAR TempVATBuffer@1100000 : Record 10704;AddedVATEntry@1100001 : Record 254);
    BEGIN
    WITH TempVATBuffer DO BEGIN
    Base += AddedVATEntry."Unrealized Base";
    Amount += AddedVATEntry."Unrealized Amount";
    IF (AddedVATEntry.Type = AddedVATEntry.Type::Sale) AND (AddedVATEntry."EC %" <> 0) THEN
    "EC Amount" += ROUND(AddedVATEntry."Unrealized Base" * AddedVATEntry."EC %" / 100);
    END;
    END;

    // End of the added lines.

    PROCEDURE GetSalesShipmentDate@1100022(DocumentNo@1100000 : Code[20]) : Date;
    VAR
    SalesShipmentHeader@1100001 : Record 110;
    ...

Prasyarat

Anda harus memiliki salah satu produk berikut ini diinstal untuk menerapkan perbaikan terbaru ini:

  • Versi bahasa Spanyol Microsoft Dynamics NAV 2009 R2

  • Versi bahasa Spanyol Microsoft Dynamics NAV 2009 SP1

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 Ketentuanuntuk pertimbangan lainnya.

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?

Terima kasih atas umpan balik Anda!

×