적용 대상
Dynamics NAV 2009

이 문서의 Microsoft Dynamics 이동 지점 (in) 언어 로캘 인도양에 적용 됩니다.

증상

인도 버전의 Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1), "세금 %" 표시 된 값 및 판매 주문 라인 게시 된 판매 송장 줄 올바르지 않습니다. "세금 %" 값이 세부 사항이 설치 프로그램을 사용 하 여 세금 아래의 최소 값과 일치 되도록 예상 합니다. 구매 문서에 대 한에 같은 문제가 발생 합니다.

해결 방법

핫픽스 정보

지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 이 문서에 설명 되어 있는 문제를 해결 하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제의 영향이 심각 하지 다음 Microsoft Dynamics 탐색 2009 서비스 팩 또는이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전까지 기다리는 것이 좋습니다.참고: 특별 한 경우 일반적으로 호출 취소 될 수도 있습니다 경우 기술 지원 담당자는 Microsoft Dynamics 및 관련 된 제품에 대 한 지원에 따른 비용이 특정 업데이트로 문제를 해결할 수 있다고 결정 합니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.

설치 정보

Microsoft는 모든 보증, 그림에 대 한 묵시적인 보증. 이 포함 되지만 상품성 또는 특정 목적에의 적합성의 묵시적된 보증에 국한 되지는 않습니다. 이 문서는 작성 하 고 프로시저를 디버깅할 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있지만 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하는 이러한 예제를 수정 하지 않습니다.참고: 이 핫픽스를 설치 하기 전에 모든 Microsoft Navision 클라이언트 사용자가 시스템 로그를 확인 하십시오. Navision 응용 프로그램 서비스 (NAS) 클라이언트 사용자가 포함 됩니다. 이 핫픽스를 구현할 때 로그온 되어 있는 사용자만 클라이언트 수 있습니다.이 핫픽스를 구현 하려면 개발자 라이센스가 있어야 합니다.것을 권장 합니다 Windows 로그인 창이 나 데이터베이스 로그인 창에서 사용자 계정 "SUPER" 역할 ID를 할당할 수 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다, 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.

  • 변경할 수 있는 개체에 대 한 수정 권한이 있습니다.

  • 시스템 개체 ID 9015 개체 및 시스템 개체 ID 5210 개체에 대 한 Execute 권한이 있습니다.

참고: 데이터 복구를 수행 해야 할 경우가 아니면 데이터 저장소에 대 한 권한을 가질 필요가 없습니다.

코드 변경 사항

참고: 항상 테스트 코드 수정 제어 된 환경에 적용 하기 전에 프로덕션 컴퓨터에 수정 프로그램입니다.이 문제를 해결하려면 다음과 같이 하십시오.

  1. 영업 라인 테이블 (37)의 양을 포함 하 여 세금 에서 OnValidate 트리거 코드를 다음과 같이 변경.기존 코드

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

    대체 코드

    ...                                                                     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. (37) 영업 라인 테이블에는 UpdateTaxAmounts 함수에서 코드를 다음과 같이 변경.기존 코드 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;...

    대체 코드 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;...

    기존 코드 2

    ...      END ELSE      IndianSalesTaxCalculate.GetStandardDeductionAmt(Rec,StandardDeductionAmount,LineTaxAmount);  ENDEND;"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)   ...

    대체 코드 2

    ...    END ELSE      IndianSalesTaxCalculate.GetStandardDeductionAmt(Rec,StandardDeductionAmount,LineTaxAmount);  ENDEND;"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. 구매 선 표 (39)의 양을 포함 하 여 세금 에서 OnValidate 트리거 코드를 다음과 같이 변경.기존 코드

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

    대체 코드

    ...       "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. 구매 선 표 (39)의 UpdateTaxAmounts 함수에 코드를 다음과 같이 변경.기존 코드 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;...

    대체 코드 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;...

    기존 코드 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;...

    대체 코드 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. UpdateTaxAmount VAT 여 저널 테이블 (16569)에 함수 코드를 다음과 같이 변경.기존 코드

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

    대체 코드

    ...  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. 인도양 판매세 계산 codeunit (13704)의 코드를 다음과 같이 변경.기존 코드

    ...        Taxamount := TaxBaseAmount * TaxDetail."Tax Below Maximum" / 100;      IF (TaxJurisdiction."Tax Type" = TaxJurisdiction."Tax Type"::VAT) OR         (TaxJurisdiction."Tax Type" = TaxJurisdiction."Tax Type"::CST)              ...

    대체 코드

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

전제 조건

인도 버전을 Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1)이이 핫픽스를 적용 하려면 설치 되어 있어야 합니다.

제거 정보

이 핫픽스를 제거할 수 없습니다.

상태

Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.

참조

VSTF DynamicsNAV SE: 252133

참고: 이 문서는 Microsoft 지원 부서 내에서 직접 작성한 "빠른 게시" 문서입니다. 여기에 포함된 정보는 신흥 문제에 대한 응답으로 제공되었습니다. 신속히 사용할 수 있도록 작성되었으므로, 자료 입력 오류가 포함될 수 있으며 언제든지 예고없이 개정될 수 있습니다. 다른 고려 사항은 사용 약관을 참조하십시오.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.