Berlaku Untuk
Dynamics NAV 2009

Gejala

Jika entri negatif (koreksi), sistem akan secara otomatis mengasumsikan bahwa ini adalah ekspor. Namun, panduan CBS menyatakan itu impor negatif. Oleh karena itu, harus ada fungsionalitas menyatakan tanda entri (positif atau negatif) dan tanda tidak akan mempengaruhi keadaan impor dan ekspor. Masalah ini terjadi di dalam produk berikut ini:

  • Versi Microsoft Dynamics NAV 2009 R2 Belanda

  • Bahasa Belanda versi Microsoft Dynamics NAV 2009 Paket Layanan 1

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 9015objek.

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 membuat Intrastat Decl. Disk laporan (11413) sebagai berikut:Kode yang ada 1

    ...SpecialUnit@1000002 : Decimal;                           RoundedWeight@1000001 : Integer;                           ItemDirection@1000004 : Integer;                         BEGIN                           TESTFIELD("Item No.");                           TESTFIELD("Tariff No.");...

    Penggantian kode 1

    ...SpecialUnit@1000002 : Decimal;                           RoundedWeight@1000001 : Integer;                           ItemDirection@1000004 : Integer;// Add the following lineIsCorrection@1000005 : Boolean;// End of the added line.                         BEGIN                           TESTFIELD("Item No.");                           TESTFIELD("Tariff No.");...

    Kode yang ada 2

    ...ZeroShipment := FALSE;                               END;                           END;                           Write(FORMAT(Date, 0, '<Year4><Month,2>'));                           Write(FORMAT(ItemDirection));...

    Penggantian kode 2

    ...ZeroShipment := FALSE;                               END;                           END;// Add the following line.IsCorrection := CheckCorrection("Source Entry No.",ItemDirection);// End of the added line.                           Write(FORMAT(Date, 0, '<Year4><Month,2>'));                           Write(FORMAT(ItemDirection));...

    Kode yang ada 3

    ...Write(PADSTR2("Transaction Type", 1, '', '>'));                           Write(PADSTR2(DELCHR("Tariff No."), 8, '0', '<'));                           Write('00');                           Write(Sign(RoundedWeight)); // DELETED                           Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));...

    Penggantian kode 3

    ...Write(PADSTR2("Transaction Type", 1, '', '>'));                           Write(PADSTR2(DELCHR("Tariff No."), 8, '0', '<'));                           Write('00');// Add the following line. Write(Sign(RoundedWeight,IsCorrection)); // End of the added line.                           Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));...

    Ada kode 4

    ...Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));// Delete the following line.Write(Sign(SpecialUnit));// End of the deleted line.                           Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));...

    Penggantian kode 4

    ...Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));// Add the following line.Write(Sign(SpecialUnit,IsCorrection));// End of the added line.                           Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));...

    Ada kode 5

    ...Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));// Delete the following line.Write(Sign(Amount));// End of the deleted line.                           Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));...

    Penggantian kode 5

    ...Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));// Add the following line.Write(Sign(Amount,IsCorrection));// End of the added line.                           Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));...

    Kode yang ada 6

    ...Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));// Delete the following line.Write('+');// End of the deleted line.                           Write(PADSTR2('0', 10, ' ', '<'));                           Write(PADSTR2("Document No.", 10, ' ', '<'));...

    Penggantian kode 6

    ...Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));// Add the following lines.IF IsCorrection THEN Write('-') ELSE // ADDEDWrite('+'); // End of the added lines.                           Write(PADSTR2('0', 10, ' ', '<'));                           Write(PADSTR2("Document No.", 10, ' ', '<'));...

    Kode yang ada 7

    ...Write(PADSTR2('0', 10, ' ', '<'));                           Write(PADSTR2("Document No.", 10, ' ', '<'));// Delete the following line.Write(PADSTR2('', 4, ' ', '>'));// End of the deleted line.                           Write('000');                           Write(PADSTR2("Intrastat Jnl. Batch"."Currency Identifier", 1, ' ', '>'));                           Write(PADSTR2('', 6, ' ', '>'));...

    Penggantian kode 7

    ...Write(PADSTR2('0', 10, ' ', '<'));                           Write(PADSTR2("Document No.", 10, ' ', '<'));// Add the following lines.Write(PADSTR2('', 3, ' ', '>')); IF IsCorrection THEN Write('C') ELSE Write(' '); // End of the added lines.                           Write('000');                           Write(PADSTR2("Intrastat Jnl. Batch"."Currency Identifier", 1, ' ', '>'));                           Write(PADSTR2('', 6, ' ', '>'));...
  2. Ubah kode di fungsi tanda dalam membuat Intrastat Decl. Disk laporan (11413) sebagai berikut:Kode yang ada 1

    ...ExportFile.SEEK(ExportFile.POS - 1);    END;// Delete the following line.LOCAL PROCEDURE Sign@1000006(Number@1000000 : Decimal) : Text[1];// End of the deleted line.    BEGIN      CASE Number < 0 OF        TRUE:...

    Penggantian kode 1

    ... ExportFile.SEEK(ExportFile.POS - 1);    END;// Add the following line.LOCAL PROCEDURE Sign@1000006(Number@1000000 : Decimal;IsCorrection@1000001 : Boolean) : Text[1];// End of the added line.    BEGIN      CASE Number < 0 OF        TRUE:...

    Kode yang ada 2

    ...BEGIN      CASE Number < 0 OF        TRUE:// Delete the following line.EXIT('-');// End of the deleted line.        FALSE:...

    Penggantian kode 2

    ...BEGIN      CASE Number < 0 OF        TRUE:// Add the following lines.IF NOT IsCorrection THEN EXIT('-') ELSE EXIT('+'); // End of the added lines.        FALSE:...

    Kode yang ada 3

    ...FALSE:// Delete the following line.EXIT('+');// End of the deleted line.      END;    END;...

    Penggantian kode 3

    ...FALSE:// Add the following lines.IF NOT IsCorrection THENEXIT('+')ELSEEXIT('-'); // End of the added lines.      END;    END;...
  3. Ubah kode di fungsi CheckCorrection dalam membuat Intrastat Decl. Disk laporan (11413) sebagai berikut:Kode yang ada

    ...CrLf[2] := 10;    END;    BEGIN...

    Penggantian kode

    ...CrLf[2] := 10;    END;// Add the following lines.PROCEDURE CheckCorrection@1000018(SourceEntryNo@1000000 : Integer;VAR ItemDirection@1000001 : Integer) : Boolean; VAR ItemLedgerEntry@1000002 : Record 32;// End of the added lines.    BEGIN...
  4. Ubah kode di fungsi CrLf dalam membuat Intrastat Decl. Disk laporan (11413) sebagai berikut:Kode yang ada

    ...BEGIN// Delete the following lines.{ // Note: Intrastat Jnl. Batch dataitem has MaxIteration = 1} END. } RDLDATA { } } // End of the deleted lines....

    Penggantian kode

    ...BEGIN// Add the following lines.WITH ItemLedgerEntry DO BEGIN GET(SourceEntryNo); CASE "Document Type" OF "Document Type"::"Purchase Return Shipment": BEGIN ItemDirection := 6; EXIT(TRUE); END; "Document Type"::"Sales Return Receipt": BEGIN ItemDirection := 7; EXIT(TRUE); END; END; END; END; // End of the added lines....
  5. Ubah kode di fungsi CheckCorrection dalam membuat Intrastat Decl. Disk laporan (11413) sebagai berikut:Penggantian kode

    ...// Add the following lines.BEGIN { // Note: Intrastat Jnl. Batch dataitem has MaxIteration = 1 } END. } RDLDATA { } } // End of the added lines....

Prasyarat

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

  • Versi Microsoft Dynamics NAV 2009 R2 Belanda

  • Bahasa Belanda versi 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?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.