Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

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

Gejala

Misalnya Anda memiliki jurnal pekerjaan yang memiliki lebih dari satu item pelacakan baris item di Microsoft Dynamics NAV 2009. Ketika Anda mengirim item dalam jurnal pekerjaan ke sampah, entri gudang hanya diperbarui dengan item yang terakhir pelacakan baris yang dimasukkan. Oleh karena itu, ada ketidakseimbangan untuk item antara gudang dan buku item.
Masalah ini terjadi di dalam produk berikut ini:

  • Microsoft Dynamics NAV 2009 R2

  • Microsoft Dynamics NAV 2009 Service Pack 1 (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 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: membuat variabel lokal berikut ini:

  1. Menambahkan variabel global yang baru di dalam tabel baris jurnal pekerjaan (210), dan kemudian Tentukan variabel sebagai berikut:

    • Nama: WMSManagement

    • DataType: Codeunit

    • Subtipe: WMS manajemen (7302)

  2. Hapus kode berikut dalam properti TableRelation Bin kode bidang (5403) di dalam tabel baris jurnal pekerjaan (210):

    Bin.Code WHERE (Location Code=FIELD(Location Code));
  3. Ubah kode di memicu OnValidate Bin kode bidang (5403) di dalam tabel baris jurnal pekerjaan (210) sebagai berikut:
    Kode yang ada

    ...// Delete the following lines.
    TESTFIELD("Location Code");
    CheckItemAvailable;
    // End of the lines.
    ...

    Penggantian kode

    ...// Add the following lines.
    TESTFIELD("Location Code");
    IF "Bin Code" <> '' THEN BEGIN
    GetLocation("Location Code");
    Location.TESTFIELD("Bin Mandatory");
    END;
    TESTFIELD(Type,Type::Item);
    CheckItemAvailable;
    WMSManagement.FindBinContent("Location Code","Bin Code","No.","Variant Code",'')
    // End of the lines.
    ...
  4. Menambahkan variabel lokal baru di Kode Bin - OnLookup triggerin tabel pekerjaan jurnal baris (210), dan kemudian Tentukan variabel sebagai berikut:

    • Nama: BinCode

    • DataType: kode

    • Panjang: 20

  5. Menambahkan kode berikut dalam Kode Bin - OnLookup memicu dalam tabel baris jurnal pekerjaan (210):

    TESTFIELD("Location Code");TESTFIELD(Type,Type::Item);
    BinCode := WMSManagement.BinContentLookUp("Location Code","No.","Variant Code",'',"Bin Code");
    IF BinCode <> '' THEN
    VALIDATE("Bin Code",BinCode);
  6. Ubah nilai properti OptionString bidang Sumber dokumen (25) dalam tabel baris jurnal gudang (7311) berikut ini:
    OptionString=, S. urutan S. faktur, Memo kredit S., S. kembali urutan, P. pesanan, faktur P., Memo kredit P., P. kembali urutan, Inb. Transfer, Outb. Transfer, Prod. Konsumsi, Item Jnl., Phys. Invt. Jnl., Reclass. Jnl., konsumsi Jnl., Output Jnl., BOM Jnl., Serv pesanan, pekerjaan Jnl.

  7. Ubah nilai properti OptionString bidang Referensi dokumen (60) dalam tabel baris jurnal gudang (7311) berikut ini:
    OptionString= , dikirim Rcpt., dikirim P. INV, dikirim Rtrn. Rcpt., dikirim P. Cr. Memo, dikirim pengiriman, dikirim S. INV, dikirim Rtrn. pengiriman, dikirim S. Cr. Memo, dikirim T. tanda terima, dikirim T. pengiriman, Item jurnal, Prod., membuang, pilih, gerakan, BOM jurnal, jurnal pekerjaan

  8. Ubah nilai properti OptionString bidang sumber dokumen (25) dalam tabel entri Warehouse (7312) berikut ini:
    OptionString=, S. urutan S. faktur, Memo kredit S., S. kembali urutan, P. pesanan, faktur P., Memo kredit P., urutan P. kembali, Inb. Transfer, Outb. Transfer, Prod. Konsumsi, Item Jnl., Phys. Invt. Jnl., Reclass. Jnl., konsumsi Jnl., Output Jnl., BOM Jnl., Serv. pesanan, pekerjaan Jnl.

  9. Ubah nilai properti OptionString bidang referensi dokumen (60) dalam tabel gudang entri (7312) berikut ini:
    OptionString= , dikirim Rcpt., dikirim P. INV, dikirim Rtrn. Rcpt., dikirim P. Cr. Memo, dikirim pengiriman, dikirim S. INV, dikirim Rtrn. pengiriman, dikirim S. Cr. Memo, dikirim T. tanda terima, dikirim T. pengiriman, Item jurnal, Prod., membuang, pilih, gerakan, BOM jurnal, jurnal pekerjaan

  10. Mengubah properti terlihat lokasi kode kontrol (60) dalam bentuk jurnal pekerjaan (201) sebagai berikut:
    Kode yang ada

    Visible = Yes

    Penggantian kode

    Visible = No
  11. Menambahkan kolom Bin kode antara kolom Lokasi kode dan kolom Kerja Ketik kode dalam bentuk jurnal pekerjaan (201), dan kemudian Tentukan kolom sebagai berikut:

    ...{ 61 ;Label ;0 ;0 ;0 ;0 ;ParentControl=60;
    InColumnHeading=Yes }

    // Add the following lines.
    { 102 ;TextBox ;35507;1650 ;1700 ;440 ;ParentControl=1;
    InColumn=Yes;
    SourceExpr="Bin Code" }
    { 103 ;Label ;0 ;0 ;0 ;0 ;ParentControl=102;
    InColumnHeading=Yes }
    // End of the lines.

    { 48 ;TextBox ;11430;2530 ;1650 ;440 ;ParentControl=1;
    ...
  12. Menambahkan variabel global yang baru dalam pekerjaan Jnl-posting baris codeunit (1012), kemudian tetapkan variabel sebagai berikut:

    • Nama: Lokasi

    • DataType: catatan

    • Subtipe: Lokasi (14)

  13. Membuat fungsi GetLocation baru dalam pekerjaan Jnl-posting baris codeunit (1012) sebagai berikut:

    LOCAL PROCEDURE GetLocation@25(LocationCode@1000 : Code[10]);
  14. Tambahkan kode berikut dalam fungsi GetLocation dalam pekerjaan Jnl-posting baris codeunit (1012):

    IF LocationCode = '' THENCLEAR(Location)
    ELSE
    IF Location.Code <> LocationCode THEN
    Location.GET(LocationCode);
  15. Membuat fungsi PostWhseJnlLine baru dalam pekerjaan Jnl-posting baris codeunit (1012) sebagai berikut:

    LOCAL PROCEDURE PostWhseJnlLine@24(ItemJnlLine@1000 : Record 83;OriginalQuantity@1001 : Decimal;OriginalQuantityBase@1002 : Decimal;VAR TempTrackingSpecification@1003 : TEMPORARY Record 336);
  16. Membuat variabel lokal berikut dalam fungsi PostWhseJnlLine dalam pekerjaan Jnl-posting baris codeunit (1012):

    1. Menambahkan variabel lokal fungsi PostWhseJnlLine dalam pekerjaan Jnl-posting baris codeunit (1012), kemudian tetapkan variabel sebagai berikut:

      • Nama: WarehouseJournalLine

      • DataType: catatan

      • Subtipe: baris jurnal gudang (7311)

    2. Menambahkan variabel lokal fungsi PostWhseJnlLine dalam pekerjaan Jnl-posting baris codeunit (1012), kemudian tetapkan variabel sebagai berikut:

      • Nama: TempWarehouseJournalLine

      • DataType: sementara catatan

      • Subtipe: baris jurnal gudang (7311)

    3. Menambahkan variabel lokal fungsi PostWhseJnlLine dalam pekerjaan Jnl-posting baris codeunit (1012), kemudian tetapkan variabel sebagai berikut:

      • Nama: ItemTrackingManagement

      • DataType: Codeunit

      • Subtipe: Item pelacakan manajemen (6500)

    4. Menambahkan variabel lokal fungsi PostWhseJnlLine dalam pekerjaan Jnl-posting baris codeunit (1012), kemudian tetapkan variabel sebagai berikut:

      • Nama: WMSManagement

      • DataType: Codeunit

      • Subtipe: WMS manajemen (7302)

    5. Menambahkan variabel lokal fungsi PostWhseJnlLine dalam pekerjaan Jnl-posting baris codeunit (1012), kemudian tetapkan variabel sebagai berikut:

      • Nama: WhseJnlRegisterLine

      • DataType: Codeunit

      • Subtipe: Whse. Jnl.-daftar baris (7301)

  17. Menambahkan kode berikut dalam fungsi PostWhseJnlLine dalam pekerjaan Jnl-posting baris codeunit (1012) sebagai berikut:

    WITH ItemJnlLine DO BEGINIF "Entry Type" IN ["Entry Type"::Consumption,"Entry Type"::Output] THEN
    EXIT;
    Quantity := OriginalQuantity;
    "Quantity (Base)" := OriginalQuantityBase;
    GetLocation("Location Code");
    IF Location."Bin Mandatory" THEN
    IF WMSManagement.CreateWhseJnlLine(ItemJnlLine,0,WarehouseJournalLine,FALSE,FALSE) THEN BEGIN
    TempTrackingSpecification.MODIFYALL("Source Type",DATABASE::"Job Journal Line");
    ItemTrackingManagement.SplitWhseJnlLine(WarehouseJournalLine,TempWarehouseJournalLine,TempTrackingSpecification,FALSE);
    IF TempWarehouseJournalLine.FIND('-') THEN
    REPEAT
    WMSManagement.CheckWhseJnlLine(TempWarehouseJournalLine,1,0,FALSE);
    WhseJnlRegisterLine.RUN(TempWarehouseJournalLine);
    UNTIL TempWarehouseJournalLine.NEXT = 0;
    END;
    END;
  18. Menambahkan variabel lokal baru di fungsi kode dalam pekerjaan Jnl-posting baris codeunit (1012), kemudian tetapkan variabel sebagai berikut:

    • Nama: TempTrackingSpecification

    • DataType: sementara catatan

    • Subtipe: melacak spesifikasi (336)

  19. Menambahkan variabel lokal baru di fungsi kode dalam pekerjaan Jnl-posting baris codeunit (1012), kemudian tetapkan variabel sebagai berikut:

    • Nama: ItemJnlLine2

    • DataType: rekaman

    • Subtipe: Item jurnal baris (83)

  20. Ubah kode di fungsi kode dalam pekerjaan Jnl.-codeunit posting baris (1012) sebagai berikut:
    Kode yang ada 1

    ...ItemJnlLine.INIT;
    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Penggantian kode 1

    ...ItemJnlLine.INIT;

    // Add the following line.
    ItemJnlLine."Line No." := "Line No.";

    ItemJnlLine."Item No." := JobJnlLine2."No.";
    ...

    Kode yang ada 2

    ...ItemLedgEntry.LOCKTABLE;
    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);
    END;
    ...

    Penggantian kode 2

    ...ItemLedgEntry.LOCKTABLE;

    // Add the following line.
    ItemJnlLine2 := ItemJnlLine;

    ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim);

    // Add the following lines.
    ItemJnlPostLine.CollectTrackingSpecification(TempTrackingSpecification);
    PostWhseJnlLine(ItemJnlLine2,ItemJnlLine2.Quantity,ItemJnlLine2."Quantity (Base)",TempTrackingSpecification);
    // End of the lines.
    ...
  21. Ubah nilai properti OptionString parameter referensi dokumen dalam fungsi GetSourceDocument di Whse. Codeunit manajemen (5775) berikut ini:
    OptionString=, S. urutan S. faktur, Memo kredit S., S. kembali urutan, P. pesanan, faktur P., Memo kredit P., P. kembali urutan, Inb. Transfer, Outb. Transfer, Prod. Konsumsi, Item Jnl., Phys. Invt. Jnl., Reclass. Jnl., konsumsi Jnl., Output Jnl., BOM Jnl., Serv. pesanan, pekerjaan Jnl.

  22. Ubah kode di fungsi GetSourceDocument di Whse. Manajemen codeunit (5775) sebagai berikut:
    Kode yang ada

    ...EXIT;
    END;
    END;
    ERROR(Text000);
    ...

    Penggantian kode

    ...EXIT;
    END;

    // Add the following lines.
    DATABASE::"Job Journal Line":
    BEGIN
    SourceDocument := SourceDocument::"Job Jnl.";
    EXIT;
    END;
    // End of the lines.

    END;
    ERROR(Text000);
    ...
  23. Ubah kode di fungsi CreateWhseJnlLine di codeunit WMS manajemen (7302) sebagai berikut:
    Kode yang ada

    ...WhseJnlLine."Source Line No." := "Line No.";
    END;
    WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Delete the following line.
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal";

    WhseJnlLine."Reference No." := "Document No.";
    ...

    Penggantian kode

    ...WhseJnlLine."Source Line No." := "Line No.";

    // Add the following lines.
    END ELSE
    IF "Job No." <> '' THEN BEGIN
    WhseJnlLine."Source Type" := DATABASE::"Job Journal Line";
    WhseJnlLine."Source Subtype" := ItemJnlTemplateType;
    WhseMgt.GetSourceDocument(WhseJnlLine."Source Document",WhseJnlLine."Source Type",WhseJnlLine."Source Subtype");
    WhseJnlLine."Source No." := "Document No.";
    WhseJnlLine."Source Line No." := "Line No.";
    // End of the lines.
    END;WhseJnlLine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...ine."Source Code" := "Source Code";
    WhseJnlLine."Reason Code" := "Reason Code";
    WhseJnlLine."Registering No. Series" := "Posting No. Series";
    WhseJnlLine."Whse. Document Type" := WhseJnlLine."Whse. Document Type"::" ";

    // Add the following lines.
    IF "Job No." = '' THEN
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Item Journal"
    ELSE
    WhseJnlLine."Reference Document" := WhseJnlLine."Reference Document"::"Job Journal";
    // End of the lines.

    WhseJnlLine."Reference No." := "Document No.";
    ...

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

Perlu bantuan lainnya?

Ingin opsi lainnya?

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

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×