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 India (dalam) bahasa lokal.

Gejala

Di India versi Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1), nilai ditampilkan "% pajak" tidak benar di baris pesanan penjualan dan baris faktur penjualan dikirim. Anda mengharapkan nilai "Pajak %" agar konsisten dengan nilai pajak di bawah Minimum dalam penataan rincian pajak. Masalah yang sama juga terjadi untuk pembelian dokumen.

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. Ubah kode di memicu OnValidate Jumlah termasuk pajak Penjualan baris tabel (37) sebagai berikut:
    Kode yang ada

    ...                                                                      ELSE
    "Amount To Customer" :=
    ROUND("Line Amount" - "Inv. Discount Amount" + "Excise Amount" + "Charges To Customer" -
    "Bal. TDS/TCS Including SHECESS" + "Service Tax Amount" +"Service Tax eCess Amount" +
    "Service Tax SHE Cess Amount",Currency."Amount Rounding Precision");
    END;

    // Delete the following lines.
    //IF "Tax Base Amount" <> 0 THEN
    // "Tax %" := ROUND(100 * ("Amount Including Tax" - "Tax Base Amount") / "Tax Base Amount",Currency."Amount Rounding Precision")
    //ELSE
    // "Tax %" := 0;
    // End of the deleted lines.

    InitOutstandingAmount;
    END;
    ...

    Penggantian kode

    ...                                                                     ELSE
    "Amount To Customer" :=
    ROUND("Line Amount" - "Inv. Discount Amount" + "Excise Amount" + "Charges To Customer" -
    "Bal. TDS/TCS Including SHECESS" + "Service Tax Amount" +"Service Tax eCess Amount" +
    "Service Tax SHE Cess Amount",Currency."Amount Rounding Precision");
    END;

    // Add the following lines.
    IF "Tax Base Amount" = 0 THEN
    "Tax %" := 0;
    // End of the added lines.

    InitOutstandingAmount;
    END;
    ...
  2. Ubah kode di fungsi UpdateTaxAmounts dalam tabel Penjualan baris (37) sebagai berikut:
    Kode yang ada 1

    ...     "Bal. TDS/TCS Including SHECESS" + "Service Tax Amount"  + "Service Tax eCess Amount" +
    "Service Tax SHE Cess Amount",Currency."Amount Rounding Precision")
    END;

    IndianSalesTaxCalculate.SetCurrency("Currency Code" <>'');

    // Delete the following lines.
    //LineTaxAmount := IndianSalesTaxCalculate.CalculateTax(
    // "Tax Area Code","Tax Group Code","Tax Liable",SalesHeader."Posting Date",
    // "Tax Base Amount",Quantity,SalesHeader."Currency Factor","Form Code");
    // End of the deleted lines.

    TotalTaxAmount := 0;
    TotalStdDeductionAmt := 0;
    ...

    Penggantian kode 1

    ...     "Bal. TDS/TCS Including SHECESS" + "Service Tax Amount"  + "Service Tax eCess Amount" +
    "Service Tax SHE Cess Amount",Currency."Amount Rounding Precision")
    END;

    IndianSalesTaxCalculate.SetCurrency("Currency Code" <>'');

    // Add the following lines.
    LineTaxAmount := IndianSalesTaxCalculate.CalculateTax(
    "Tax Area Code","Tax Group Code","Tax Liable",SalesHeader."Posting Date",
    "Tax Base Amount",Quantity,SalesHeader."Currency Factor","Form Code","Tax %");
    // End of the added lines.

    TotalTaxAmount := 0;
    TotalStdDeductionAmt := 0;
    ...

    Kode yang ada 2

    ...      END ELSE
    IndianSalesTaxCalculate.GetStandardDeductionAmt(Rec,StandardDeductionAmount,LineTaxAmount);
    END
    END;
    "Amount Including Tax" := ROUND("Tax Base Amount" + LineTaxAmount,Currency."Amount Rounding Precision");

    // Delete the following lines.
    //IF "Tax Base Amount" <> 0 THEN
    // "Tax %" :=
    // ROUND(100 * ("Amount Including Tax" - "Tax Base Amount") / "Tax Base Amount",Currency."Amount Rounding Precision")
    //ELSE
    // "Tax %" := 0;
    // End of the deleted lines.

    IF "Standard Deduction %" <>0 THEN
    "Standard Deduction Amount" := ("Tax Base Amount" * "Standard Deduction %" / 100)
    ...

    Penggantian kode 2

    ...    END ELSE
    IndianSalesTaxCalculate.GetStandardDeductionAmt(Rec,StandardDeductionAmount,LineTaxAmount);
    END
    END;
    "Amount Including Tax" := ROUND("Tax Base Amount" + LineTaxAmount,Currency."Amount Rounding Precision");

    // Add the following lines.
    IF "Tax Base Amount" = 0 THEN
    "Tax %" := 0;
    // End of the added lines.

    IF "Standard Deduction %" <>0 THEN
    "Standard Deduction Amount" := ("Tax Base Amount" * "Standard Deduction %" / 100)
    ...
  3. Ubah kode di memicu OnValidate Jumlah termasuk pajak Pembelian baris tabel (39) sebagai berikut:
    Kode yang ada

    ...       "Amount To Vendor" := ROUND("Line Amount" -"Inv. Discount Amount" + "Excise Amount" + "Tax Amount" -
    "Bal. TDS Including SHE CESS" + "Charges To Vendor" + "Service Tax Amount" +
    "Service Tax eCess Amount" + "Service Tax SHE Cess Amount");
    END;

    // Delete the following lines.
    //IF "Tax Base Amount" <> 0 THEN
    // "Tax %" := ROUND(100 * ("Amount Including Tax" - "Tax Base Amount") / "Tax Base Amount",
    // Currency."Amount Rounding Precision")
    //ELSE // Delete
    // "Tax %" := 0;
    // End of the deleted lines.

    InitOutstandingAmount;
    ...

    Penggantian kode

    ...       "Amount To Vendor" := ROUND("Line Amount" -"Inv. Discount Amount" + "Excise Amount" + "Tax Amount" -
    "Bal. TDS Including SHE CESS" + "Charges To Vendor" + "Service Tax Amount" +
    "Service Tax eCess Amount" + "Service Tax SHE Cess Amount");
    END;

    // Add the following lines.
    IF "Tax Base Amount" = 0 THEN // Add
    // End of the added lines.

    InitOutstandingAmount;
    ...
  4. Ubah kode di fungsi UpdateTaxAmounts dalam tabel Pembelian baris (39) sebagai berikut:
    Kode yang ada 1

    ...     "Bal. TDS Including SHECESS" + "Service Tax Amount"  + "Service Tax eCess Amount" +
    "Service Tax SHE Cess Amount",Currency."Amount Rounding Precision")
    END;

    IndianSalesTaxCalculate.SetCurrency("Currency Code" <>'');

    // Delete the following lines.
    //LineTaxAmount := ROUND(IndianSalesTaxCalculate.CalculateTax(
    // "Tax Area Code","Tax Group Code","Tax Liable",PurchHeader."Posting Date",
    // "Tax Base Amount",Quantity,PurchHeader."Currency Factor","Form Code"),Currency."Amount Rounding Precision");
    // End of the deleted lines.

    AmountonInventory := 0;
    InputTaxCreditAmount := 0;
    ...

    Penggantian kode 1

    ...     "Bal. TDS Including SHECESS" + "Service Tax Amount"  + "Service Tax eCess Amount" +
    "Service Tax SHE Cess Amount",Currency."Amount Rounding Precision")
    END;

    IndianSalesTaxCalculate.SetCurrency("Currency Code" <>'');

    // Add the following lines.
    LineTaxAmount := ROUND(IndianSalesTaxCalculate.CalculateTax(
    "Tax Area Code","Tax Group Code","Tax Liable",PurchHeader."Posting Date",
    "Tax Base Amount",Quantity,PurchHeader."Currency Factor","Form Code","Tax %"),Currency."Amount Rounding Precision");
    // End of the added lines.

    AmountonInventory := 0;
    InputTaxCreditAmount := 0;
    ...

    Kode yang ada 2

    ...  "Tax Amount" := ROUND(TaxAmount,Currency."Amount Rounding Precision");
    "Amount Including Tax" := ("Tax Base Amount" + "Tax Amount");

    // Delete the following lines.
    //IF "Tax Base Amount" <> 0 THEN
    // "Tax %" := ROUND(100 * ("Amount Including Tax" - "Tax Base Amount") / "Tax Base Amount",
    // Currency."Amount Rounding Precision")
    //ELSE
    // "Tax %" := 0;
    // End of the deleted lines.

    ServiceTaxSetup.RESET;
    ...

    Penggantian kode 2

    ...   "Tax Amount" := ROUND(TaxAmount,Currency."Amount Rounding Precision");
    "Amount Including Tax" := ("Tax Base Amount" + "Tax Amount");

    // Add the following lines.
    IF "Tax Base Amount" = 0 THEN
    "Tax %" := 0;
    // End of the added lines.

    ServiceTaxSetup.RESET;
    ...
  5. Ubah kode di fungsi tabel PPN pembukaan jurnal UpdateTaxAmount (16569) sebagai berikut:
    Kode yang ada

    ...  IF "Transaction Type" = "Transaction Type"::Purchase THEN BEGIN

    // Delete the following lines.
    //LineTaxAmount := IndianSalesTaxCalculate.CalculateTax(
    // "Tax Area Code","Tax Group Code",TRUE,"Posting Date",
    // "Tax Base Amount",Quantity,0,'');
    // End of the deleted lines.

    IF LineTaxAmount <> 0 THEN
    IndianSalesTaxCalculate.GetVATOpeningInputTaxCredit(Rec,"Amount Loaded on Item",
    "Input Credit/Output Tax Amount",TRUE,TaxAmount);
    "Tax Amount" := TaxAmount;
    IF GLSetup."VAT Rounding Precision" <> 0 THEN
    "Tax Amount" := ROUND("Tax Amount",GLSetup."VAT Rounding Precision",Direction);

    // Delete the following lines.
    //IF "Tax Base Amount" <> 0 THEN
    // "Tax %" := 100 * (("Tax Base Amount" + "Tax Amount") - "Tax Base Amount") / "Tax Base Amount"
    //ELSE
    // "Tax %" := 0;
    // End of the deleted lines.

    END ELSE IF "Transaction Type" = "Transaction Type"::Sale THEN BEGIN
    IF ("Export or Deemed Export") THEN
    EXIT;

    // Delete the following lines.
    //LineTaxAmount := IndianSalesTaxCalculate.CalculateTax(
    // "Tax Area Code","Tax Group Code",TRUE,"Posting Date",
    // "Tax Base Amount",Quantity,0,'');
    // End of the deleted lines.

    IF LineTaxAmount <> 0 THEN
    IndianSalesTaxCalculate.GetVATOpeningSTD(Rec,StandardDeductionAmount,TaxAmount);
    "Tax Amount" := TaxAmount - StandardDeductionAmount;

    // Delete the following lines.
    //IF "Tax Base Amount" <> 0 THEN
    // "Tax %" := 100 * (("Tax Base Amount" + "Tax Amount") - "Tax Base Amount") / "Tax Base Amount"
    //ELSE
    // "Tax %" := 0;
    // End of the deleted lines.

    "Input Credit/Output Tax Amount" := "Tax Amount";
    "Amount Loaded on Item" := 0;
    END;
    ...

    Penggantian kode

    ...  IF "Transaction Type" = "Transaction Type"::Purchase THEN BEGIN

    // Add the following lines.
    LineTaxAmount := IndianSalesTaxCalculate.CalculateTax(
    "Tax Area Code","Tax Group Code",TRUE,"Posting Date",
    "Tax Base Amount",Quantity,0,'',"Tax %");
    // End of the added lines.

    IF LineTaxAmount <> 0 THEN
    IndianSalesTaxCalculate.GetVATOpeningInputTaxCredit(Rec,"Amount Loaded on Item",
    "Input Credit/Output Tax Amount",TRUE,TaxAmount);
    "Tax Amount" := TaxAmount;
    IF GLSetup."VAT Rounding Precision" <> 0 THEN
    "Tax Amount" := ROUND("Tax Amount",GLSetup."VAT Rounding Precision",Direction);

    // Add the following lines.
    IF "Tax Base Amount" = 0 THEN
    "Tax %" := 0;
    // End of the added lines.

    END ELSE IF "Transaction Type" = "Transaction Type"::Sale THEN BEGIN
    IF ("Export or Deemed Export") THEN
    EXIT;

    // Add the following lines.
    LineTaxAmount := IndianSalesTaxCalculate.CalculateTax(
    "Tax Area Code","Tax Group Code",TRUE,"Posting Date",
    "Tax Base Amount",Quantity,0,'',"Tax %");
    // End of the added lines.

    IF LineTaxAmount <> 0 THEN
    IndianSalesTaxCalculate.GetVATOpeningSTD(Rec,StandardDeductionAmount,TaxAmount);
    "Tax Amount" := TaxAmount - StandardDeductionAmount;

    // Add the following lines.
    IF "Tax Base Amount" = 0 THEN // Add
    "Tax %" := 0; // Add
    // End of the added lines.

    "Input Credit/Output Tax Amount" := "Tax Amount";
    "Amount Loaded on Item" := 0;
    END;
    ...
  6. Ubah kode di India pajak penjualan menghitung codeunit (13704) sebagai berikut:
    Kode yang ada

    ...        Taxamount := TaxBaseAmount * TaxDetail."Tax Below Maximum" / 100;

    IF (TaxJurisdiction."Tax Type" = TaxJurisdiction."Tax Type"::VAT) OR
    (TaxJurisdiction."Tax Type" = TaxJurisdiction."Tax Type"::CST)
    ...

    Penggantian kode

    ...         Taxamount := TaxBaseAmount * TaxDetail."Tax Below Maximum" / 100;

    // Add the following line.
    TaxPercent := TaxDetail."Tax Below Maximum";
    // End of the added line.

    IF (TaxJurisdiction."Tax Type" = TaxJurisdiction."Tax Type"::VAT) OR
    (TaxJurisdiction."Tax Type" = TaxJurisdiction."Tax Type"::CST)
    ...

    7. Codeunit 13704 Indian Sales Tax Calculate
    Function CalculateTax
    Add the below Parameter
    VAR TaxPercent Type Decimal


Prasyarat

Anda harus memiliki versi India Microsoft Dynamics NAV 2009 Paket Layanan 1 (SP1) yang diinstal untuk menerapkan hotfix ini.

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

Referensi

VSTF DynamicsNAV SE: 252133

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!

×