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

Gejala

Dalam pembelian atau pesanan Retur Penjualan, ketika Anda menggunakan fungsi "Dapatkan dikirim dokumen baris reverse" di Microsoft Dynamics NAV 2009, dan pilih penerimaan dikirim, baris tidak mewarisi semua dimensi yang telah digunakan di penerimaan pembelian atau penjualan. Ikuti langkah-langkah di bagian perubahan kode untuk memecahkan masalah ini. Masalah ini terjadi di dalam produk berikut ini:

  • Microsoft Dynamics NAV 2009 R2

  • 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 fungsi CopyLineToDoc berupa dikirim penjualan dokumen baris (5850) sebagai berikut:
    Kode yang ada 1

    ... LinesNotCopied := 0;
    CASE CurrentMenuType OF
    0:
    BEGIN
    CurrForm.PostedShpts.FORM.GetSelectedLine(FromSalesShptLine);
    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopySalesShptLinesToDoc(
    ToSalesHeader,FromSalesShptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    1:
    ...


    Penggantian kode 1

    ... LinesNotCopied := 0;
    CASE CurrentMenuType OF
    0:
    BEGIN
    CurrForm.PostedShpts.FORM.GetSelectedLine(FromSalesShptLine);

    // Add the following line.
    CopyDocMgt.CopyAllDimensions;
    // End of the added line.

    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopySalesShptLinesToDoc(
    ToSalesHeader,FromSalesShptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    1:
    ...


    Kode yang ada 2

    ... ToSalesHeader,FromSalesInvLine,LinesNotCopied,MissingExCostRevLink);
    END;
    2:
    BEGIN
    CurrForm.PostedReturnRcpts.FORM.GetSelectedLine(FromReturnRcptLine);
    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopySalesReturnRcptLinesToDoc(
    ToSalesHeader,FromReturnRcptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    3:
    ...


    Penggantian kode 2

    ...   ToSalesHeader,FromSalesInvLine,LinesNotCopied,MissingExCostRevLink);
    END;
    2:
    BEGIN
    CurrForm.PostedReturnRcpts.FORM.GetSelectedLine(FromReturnRcptLine);

    // Add the following line.
    CopyDocMgt.CopyAllDimensions;
    // End of the added line.

    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopySalesReturnRcptLinesToDoc(
    ToSalesHeader,FromReturnRcptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    3:
    ...
  2. Ubah kode di fungsi CopyLineToDoc berupa dikirim pembelian dokumen baris (5855) sebagai berikut:
    Kode yang ada 1

    ...LinesNotCopied := 0;
    CASE CurrentMenuType OF
    0:
    BEGIN
    CurrForm.PostedRcpts.FORM.GetSelectedLine(FromPurchRcptLine);
    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopyPurchRcptLinesToDoc(
    ToPurchHeader,FromPurchRcptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    1:
    ...

    Penggantian kode 1

    ... LinesNotCopied := 0;
    CASE CurrentMenuType OF
    0:
    BEGIN
    CurrForm.PostedRcpts.FORM.GetSelectedLine(FromPurchRcptLine);

    // Add the following line.
    CopyDocMgt.CopyAllDimensions;
    // End of the added line.

    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopyPurchRcptLinesToDoc(
    ToPurchHeader,FromPurchRcptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    1:
    ...

    Kode yang ada 2

    ...ToPurchHeader,FromPurchInvLine,LinesNotCopied,MissingExCostRevLink);
    END;
    2:
    BEGIN
    CurrForm.PostedReturnShpts.FORM.GetSelectedLine(FromReturnShptLine);
    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopyPurchReturnShptLinesToDoc(
    ToPurchHeader,FromReturnShptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    3:
    ...

    Penggantian kode 2

    ...ToPurchHeader,FromPurchInvLine,LinesNotCopied,MissingExCostRevLink);
    END;
    2:
    BEGIN
    CurrForm.PostedReturnShpts.FORM.GetSelectedLine(FromReturnShptLine);

    // Add the following line.
    CopyDocMgt.CopyAllDimensions;
    // End of the added line.

    CopyDocMgt.SetProperties(FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,OriginalQuantity);
    CopyDocMgt.CopyPurchReturnShptLinesToDoc(
    ToPurchHeader,FromReturnShptLine,LinesNotCopied,MissingExCostRevLink);
    END;
    3:
    ...
  3. Ubah kode di variabel Global di salinan dokumen Mgt. Codeunit (6620) sebagai berikut:
    Kode yang ada

    ...SkippedLine@1047 : Boolean;
    Text029@1048 : TextConst 'ENU=One or more return document lines were not inserted or they contain only the remaining quantity of the original document line. This is because quantities on the posted document line are already fully or partially applied. If you want to reverse the full quantity, you must select Return Original Quantity before getting the posted document lines.';
    Text030@1025 : TextConst 'ENU=%1 %2, line no. %3 is not copied because the full quantity on the posted document line is already manually applied.';
    Text031@1038 : TextConst 'ENU=Return document line contains only the original document line quantity, that is not already manually applied.';
    SomeAreFixed@1045 : Boolean;

    PROCEDURE SetProperties@2(NewIncludeHeader@1001 : Boolean;NewRecalculateLines@1000 : Boolean;NewMoveNegLines@1006 : Boolean;NewCreateToHeader@1002 : Boolean;NewHideDialog@1003 : Boolean;NewExactCostRevMandatory@1004 : Boolean;NewApplyFully@1005 : Boolean);
    BEGIN
    IncludeHeader := NewIncludeHeader;
    RecalculateLines := NewRecalculateLines;
    ...

    Penggantian kode

    ...SkippedLine@1047 : Boolean;
    Text029@1048 : TextConst 'ENU=One or more return document lines were not inserted or they contain only the remaining quantity of the original document line. This is because quantities on the posted document line are already fully or partially applied. If you want to reverse the full quantity, you must select Return Original Quantity before getting the posted document lines.';
    Text030@1025 : TextConst 'ENU=%1 %2, line no. %3 is not copied because the full quantity on the posted document line is already manually applied.';
    Text031@1038 : TextConst 'ENU=Return document line contains only the original document line quantity, that is not already manually applied.';
    SomeAreFixed@1045 : Boolean;

    // Add the following line.
    CopyDimensions@1050 : Boolean;
    // End of the added line.


    PROCEDURE SetProperties@2(NewIncludeHeader@1001 : Boolean;NewRecalculateLines@1000 : Boolean;NewMoveNegLines@1006 : Boolean;NewCreateToHeader@1002 : Boolean;NewHideDialog@1003 : Boolean;NewExactCostRevMandatory@1004 : Boolean;NewApplyFully@1005 : Boolean);
    BEGIN
    IncludeHeader := NewIncludeHeader;
    RecalculateLines := NewRecalculateLines;
    ...
  4. Ubah kode di fungsi CopyFromPstdSalesDocDimToLine dalam salinan dokumen Mgt. Codeunit (6620) sebagai berikut:
    Kode yang ada

    ...LOCAL PROCEDURE CopyFromPstdSalesDocDimToLine@21(VAR ToSalesLine@1009 : Record 37;FromDocType@1004 : Option;VAR FromSalesShptLine@1007 : Record 111;VAR FromSalesInvLine@1005 : Record 113;VAR FromReturnRcptLine@1003 : Record 6661;VAR FromSalesCrMemoLine@1001 : Record 115);
    VAR
    DocDim@1002 : Record 357;
    FromPostedDocDim@1000 : Record 359;
    BEGIN

    // Delete the following line.
    IF NOT RecalculateLines THEN BEGIN
    // End of the deleted line.

    DocDim.SETRANGE("Table ID",DATABASE::"Sales Line");
    DocDim.SETRANGE("Document Type",ToSalesLine."Document Type");
    DocDim.SETRANGE("Document No.",ToSalesLine."Document No.");
    DocDim.SETRANGE("Line No.",ToSalesLine."Line No.");
    DocDim.DELETEALL;
    ...

    Penggantian kode

    ...  LOCAL PROCEDURE CopyFromPstdSalesDocDimToLine@21(VAR ToSalesLine@1009 : Record 37;FromDocType@1004 : Option;VAR FromSalesShptLine@1007 : Record 111;VAR FromSalesInvLine@1005 : Record 113;VAR FromReturnRcptLine@1003 : Record 6661;VAR FromSalesCrMemoLine@1001 : Record 115);
    VAR
    DocDim@1002 : Record 357;
    FromPostedDocDim@1000 : Record 359;
    BEGIN

    // Add the following line.
    IF NOT RecalculateLines OR CopyDimensions THEN BEGIN
    // End of the added line.

    DocDim.SETRANGE("Table ID",DATABASE::"Sales Line");
    DocDim.SETRANGE("Document Type",ToSalesLine."Document Type");
    DocDim.SETRANGE("Document No.",ToSalesLine."Document No.");
    DocDim.SETRANGE("Line No.",ToSalesLine."Line No.");
    DocDim.DELETEALL;
    ...
  5. Ubah kode di fungsi CopyFromPstdPurchDocDimToLine dalam salinan dokumen Mgt. Codeunit (6620) sebagai berikut:
    Kode yang ada

    ...LOCAL PROCEDURE CopyFromPstdPurchDocDimToLine@13(VAR ToPurchLine@1002 : Record 39;FromDocType@1004 : Option;VAR FromPurchRcptLine@1009 : Record 121;VAR FromPurchInvLine@1007 : Record 123;VAR FromReturnShptLine@1005 : Record 6651;VAR FromPurchCrMemoLine@1003 : Record 125);
    VAR
    DocDim@1001 : Record 357;
    FromPostedDocDim@1000 : Record 359;
    BEGIN

    // Delete the following line.
    IF NOT RecalculateLines THEN BEGIN
    // End of the deleted line.

    DocDim.SETRANGE("Table ID",DATABASE::"Purchase Line");
    DocDim.SETRANGE("Document Type",ToPurchLine."Document Type");
    DocDim.SETRANGE("Document No.",ToPurchLine."Document No.");
    DocDim.SETRANGE("Line No.",ToPurchLine."Line No.");
    DocDim.DELETEALL;
    ...

    Penggantian kode

    ...LOCAL PROCEDURE CopyFromPstdPurchDocDimToLine@13(VAR ToPurchLine@1002 : Record 39;FromDocType@1004 : Option;VAR FromPurchRcptLine@1009 : Record 121;VAR FromPurchInvLine@1007 : Record 123;VAR FromReturnShptLine@1005 : Record 6651;VAR FromPurchCrMemoLine@1003 : Record 125);
    VAR
    DocDim@1001 : Record 357;
    FromPostedDocDim@1000 : Record 359;
    BEGIN

    // Add the following line.
    IF NOT RecalculateLines OR CopyDimensions THEN BEGIN
    // End of the added line.

    DocDim.SETRANGE("Table ID",DATABASE::"Purchase Line");
    DocDim.SETRANGE("Document Type",ToPurchLine."Document Type");
    DocDim.SETRANGE("Document No.",ToPurchLine."Document No.");
    DocDim.SETRANGE("Line No.",ToPurchLine."Line No.");
    DocDim.DELETEALL;
    ...
  6. Ubah kode di fungsi CopyAllDimensions dalam salinan dokumen Mgt. Codeunit (6620) sebagai berikut:
    Kode yang ada

    ...MESSAGE(Text031);
    IF Text <> '' THEN
    MESSAGE(Text);
    END;

    BEGIN
    END.
    }
    }
    ...

    Penggantian kode

    ...MESSAGE(Text031);
    IF Text <> '' THEN
    MESSAGE(Text);
    END;

    // Add the following lines.
    PROCEDURE CopyAllDimensions@85();
    BEGIN
    CopyDimensions := TRUE;
    END;

    // End of the added line.

    BEGIN
    END.
    }
    }
    ...

Prasyarat

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

  • Microsoft Dynamics NAV 2009 R2

  • 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.

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!

×