증상
가격 inc. VAT 필드가 변경 된 경우 정정 청구서를 만들면 단위 가격 값 Microsoft Dynamics 탐색 2009 r2 헝가리어 버전에서 올바르지 않습니다. 이 문제를 해결 하려면 코드 변경 섹션의 단계를 따릅니다. 다음 제품에이 문제가 발생합니다.
-
Microsoft Dynamics 탐색 2009 r2 헝가리어 버전
해결 방법
핫픽스 정보
지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 이 문서에 설명 되어 있는 문제를 해결 하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제의 영향이 심각 하지 다음 Microsoft Dynamics 탐색 2009 서비스 팩 또는이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전까지 기다리는 것이 좋습니다.
참고: 특별 한 경우 일반적으로 호출 취소 될 수도 있습니다 경우 기술 지원 담당자는 Microsoft Dynamics 및 관련 된 제품에 대 한 지원에 따른 비용이 특정 업데이트로 문제를 해결할 수 있다고 결정 합니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.
설치 정보
Microsoft는 모든 보증, 그림에 대 한 묵시적인 보증. 이 포함 되지만 상품성 또는 특정 목적에의 적합성의 묵시적된 보증에 국한 되지는 않습니다. 이 문서는 작성 하 고 프로시저를 디버깅할 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있습니다. 그러나이 예제에서는 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하려면 수정 하지 않습니다.
참고: 이 핫픽스를 설치 하기 전에 모든 Microsoft Dynamics 탐색 클라이언트 사용자가 시스템 로그를 확인 하십시오. Microsoft Dynamics 탐색 응용 프로그램 서버 (NAS) 서비스가 포함 됩니다. 이 핫픽스를 구현할 때 로그온 되어 있는 사용자만 클라이언트 수 있습니다.
이 핫픽스를 구현 하려면 개발자 라이센스가 있어야 합니다.
것을 권장 합니다 Windows 로그인 창이 나 데이터베이스 로그인 창에서 사용자 계정 "SUPER" 역할 ID를 할당할 수 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다, 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.
-
변경할 수 있는 개체에 대 한 수정 권한이 있습니다.
-
시스템 개체 ID 9015 및 시스템 개체 ID 5210 개체에 대 한 실행 권한
개체입니다.
참고: 데이터 복구를 수행 해야 할 경우가 아니면 데이터 저장소에 대 한 권한을 가질 필요가 없습니다.
코드 변경 사항
참고: 항상 테스트 코드 수정 제어 된 환경에 적용 하기 전에 프로덕션 컴퓨터에 수정 프로그램입니다.
이 문제를 해결하려면 다음과 같이 하십시오.
-
(14536) 교정 선 판매 테이블의 UpdateVATAmounts 함수에 코드를 다음과 같이 변경.
기존 코드...Amount * (1 - SalesHeader."VAT Base Discount %" / 100),
Currency."Amount Rounding Precision");
"Amount Including VAT" :=
ROUND(
Amount * (1 - SalesHeader."VAT Base Discount %" / 100) * "VAT %" / 100,
Currency."Amount Rounding Precision",Currency.VATRoundingDirection);
END;
"VAT Calculation Type"::"Full VAT":
BEGIN
...대체 코드
...Amount * (1 - SalesHeader."VAT Base Discount %" / 100),
Currency."Amount Rounding Precision");
"Amount Including VAT" :=
// Add the following line.
Amount +
// End of the added line.
ROUND(
Amount * (1 - SalesHeader."VAT Base Discount %" / 100) * "VAT %" / 100,
Currency."Amount Rounding Precision",Currency.VATRoundingDirection);
END;
"VAT Calculation Type"::"Full VAT":
BEGIN
... -
(14536) 교정 선 판매 테이블의 CheckLineAmount 함수에 코드를 다음과 같이 변경.
기존 코드 1..."Unit Price Incl. Discount" := "Unit Price" - "Unit Price" * "Line Discount %" / 100;
END;
// Delete the following line.
PROCEDURE CheckLineAmount@1360000();
// End of the deleted line.
BEGIN
// PS16433.begin
IF "Before/ After correction" = "Before/ After correction"::After THEN BEGIN
...대체 코드 1
..."Unit Price Incl. Discount" := "Unit Price" - "Unit Price" * "Line Discount %" / 100;
END;
// Add the following lines.
PROCEDURE CheckLineAmount@1170219();
VAR
SalesinvHeader@1170001 : Record 112;
// End of the added lines.
BEGIN
// PS16433.begin
IF "Before/ After correction" = "Before/ After correction"::After THEN BEGIN
...기존 코드 2
...// PS16433.begin
IF "Before/ After correction" = "Before/ After correction"::After THEN BEGIN
SalesCorrLine.GET("Document Type","Document No.","Correction Line No.","Before/ After correction"::Before);
GetCorrType;
IF (SalesCorrLine."Line Amount" > "Line Amount") AND
("Document Type" = "Document Type"::Invoice) AND
(SalesCorrectionType."Correction Type" = SalesCorrectionType."Correction Type"::"Quantity and Value")
THEN
...대체 코드 2
... // PS16433.begin
IF "Before/ After correction" = "Before/ After correction"::After THEN BEGIN
SalesCorrLine.GET("Document Type","Document No.","Correction Line No.","Before/ After correction"::Before);
// Add the following line.
SalesinvHeader.GET(SalesHeader."Corr. Document No.");
// End of the added line.
GetCorrType;
IF (SalesCorrLine."Line Amount" > "Line Amount") AND
// Add the following line.
(SalesHeader."Prices Including VAT" = SalesinvHeader."Prices Including VAT") AND
// End of the added line.
("Document Type" = "Document Type"::Invoice) AND
(SalesCorrectionType."Correction Type" = SalesCorrectionType."Correction Type"::"Quantity and Value")
THEN
... -
판매-송장 (HU) 보고서 (14516) 데이터 항목 번호 5의 코드를 다음과 같이 변경.
기존 코드...DataItemTable=Table14537;
DataItemTableView=SORTING(Document No.,Correction Line No.,Before/ After correction,Document Type)
WHERE(Before/ After correction=FILTER(Before),
Document Type=CONST(Posted Invoice));
DataItemVarName=PostedSalesCorrLineBefore;
DataItemLinkReference=Sales Invoice Header;
DataItemLink=Document No.=FIELD(No.);
}
SECTIONS
{
...대체 코드
...DataItemTable=Table14537;
DataItemTableView=SORTING(Document No.,Correction Line No.,Before/ After correction,Document Type)
WHERE(Before/ After correction=FILTER(Before),
Document Type=CONST(Posted Invoice));
DataItemVarName=PostedSalesCorrLineBefore;
// Add the following lines.
OnAfterGetRecord=BEGIN
IF SalesInvHeader.GET("Sales Invoice Header"."Corr. Document No.") THEN
IF SalesInvHeader."Prices Including VAT" <> "Sales Invoice Header"."Prices Including VAT" THEN
"Unit Price Incl. Discount" := "VAT Base Amount" / Quantity;
END;
// End of the added lines.
DataItemLinkReference=Sales Invoice Header;
DataItemLink=Document No.=FIELD(No.);
}
SECTIONS
{
... -
판매-송장 (HU) 보고서 (14516) 데이터 항목 번호 6의 코드를 다음과 같이 변경.
기존 코드...DataItemTable=Table14537;
DataItemTableView=SORTING(Document No.,Correction Line No.,Before/ After correction,Document Type)
WHERE(Before/ After correction=FILTER(After),
Document Type=CONST(Posted Invoice));
DataItemVarName=PostedSalesCorrLineAfter;
DataItemLinkReference=PostedSalesCorrLineBefore;
DataItemLink=Document No.=FIELD(Document No.),
Correction Line No.=FIELD(Correction Line No.);
}
SECTIONS
...대체 코드
...DataItemTable=Table14537;
DataItemTableView=SORTING(Document No.,Correction Line No.,Before/ After correction,Document Type)
WHERE(Before/ After correction=FILTER(After),
Document Type=CONST(Posted Invoice));
DataItemVarName=PostedSalesCorrLineAfter;
// Add the following lines.
OnAfterGetRecord=BEGIN
IF SalesInvHeader."Prices Including VAT" <> "Sales Invoice Header"."Prices Including VAT" THEN
"Unit Price Incl. Discount" := "VAT Base Amount" / Quantity;
END;
// End of the added lines.
DataItemLinkReference=PostedSalesCorrLineBefore;
DataItemLink=Document No.=FIELD(Document No.),
Correction Line No.=FIELD(Correction Line No.);
}
SECTIONS
... -
영업-송장 (HU) 보고서 (14516)에 전역 변수의 코드를 다음과 같이 변경.
기존 코드...VALExchRate@1360016 : Text[50];
Text14530@1360017 : TextConst 'ENU=%1/%2;HUN=%1/%2';
GroupVATText@13600018 : Text[30];
CorrInvText@1360018 : TextConst 'ENU=C O R R E C T I V E I N V O I C E;HUN=H E L Y E S B Ö T Š S Z µ M L A';
LogInteractionEnable@19003940 : Boolean INDATASET;
PROCEDURE InitLogInteraction@1360000();
BEGIN
LogInteraction := SegManagement.FindInteractTmplCode(4) <> '';
END;
...대체 코드
...VALExchRate@1360016 : Text[50];
Text14530@1360017 : TextConst 'ENU=%1/%2;HUN=%1/%2';
GroupVATText@13600018 : Text[30];
CorrInvText@1360018 : TextConst 'ENU=C O R R E C T I V E I N V O I C E;HUN=H E L Y E S B Ö T Š S Z µ M L A';
LogInteractionEnable@19003940 : Boolean INDATASET;
// Add the following line.
SalesInvHeader@13600019 : Record 112;
// End of the added line.
PROCEDURE InitLogInteraction@1360000();
BEGIN
LogInteraction := SegManagement.FindInteractTmplCode(4) <> '';
END;
... -
InitSalesLineOnCharge 함수에서 VATCorrectionManagement codeunit (14535)의 코드를 다음과 같이 변경.
기존 코드 1...SalesLine.INSERT;
CopyDim(SalesLine,SalesCorrLine);
END;
PROCEDURE InitSalesLineOnCharge@1360001(VAR SalesLine@1360000 : Record 37;SalesCorrLine@1360001 : Record 14536;QtyOnSalesLine@1360002 : Decimal);
BEGIN
InitSalesLine(SalesCorrLine,SalesLine);
SalesLine.Type := SalesLine.Type::"Charge (Item)";
SalesLine."No." := SalesCorrType."Item Charge Code";
SalesLine.VALIDATE("Unit of Measure Code",'');
...대체 코드 1
...SalesLine.INSERT;
CopyDim(SalesLine,SalesCorrLine);
END;
PROCEDURE InitSalesLineOnCharge@1360001(VAR SalesLine@1360000 : Record 37;SalesCorrLine@1360001 : Record 14536;QtyOnSalesLine@1360002 : Decimal);
// Add the following lines.
VAR
SalesInvHeader@1360003 : Record 112;
// End of the added lines.
BEGIN
InitSalesLine(SalesCorrLine,SalesLine);
SalesLine.Type := SalesLine.Type::"Charge (Item)";
SalesLine."No." := SalesCorrType."Item Charge Code";
SalesLine.VALIDATE("Unit of Measure Code",'');
...기존 코드 2
...InitSalesLine(SalesCorrLine,SalesLine);
SalesLine.Type := SalesLine.Type::"Charge (Item)";
SalesLine."No." := SalesCorrType."Item Charge Code";
SalesLine.VALIDATE("Unit of Measure Code",'');
SalesLine.VALIDATE(Quantity,QtyOnSalesLine);
SalesLine.VALIDATE("Unit Price",SalesCorrLine."Unit Price");
IF SalesLine.Quantity <> 0 THEN
SalesLine.VALIDATE("Line Discount %",SalesCorrLine."Line Discount %");
SalesLine.UpdateAmounts;
SalesLine.VALIDATE("Unit Cost (LCY)",0);
...대체 코드 2
...InitSalesLine(SalesCorrLine,SalesLine);
SalesLine.Type := SalesLine.Type::"Charge (Item)";
SalesLine."No." := SalesCorrType."Item Charge Code";
SalesLine.VALIDATE("Unit of Measure Code",'');
SalesLine.VALIDATE(Quantity,QtyOnSalesLine);
// Add the following lines.
IF (SalesCorrLine."Before/ After correction" = SalesCorrLine."Before/ After correction"::Before) AND
(SalesInvHeader.GET(SalesCorrLine."Source Document No.")) AND
(SalesHeader."Prices Including VAT" <> SalesInvHeader."Prices Including VAT")
THEN BEGIN
IF SalesHeader."Prices Including VAT" THEN
SalesLine.VALIDATE("Unit Price",SalesCorrLine."Amount Including VAT" / SalesCorrLine.Quantity)
ELSE
SalesLine.VALIDATE("Unit Price",SalesCorrLine."VAT Base Amount" / SalesCorrLine.Quantity);
END ELSE
// End of the added lines.
SalesLine.VALIDATE("Unit Price",SalesCorrLine."Unit Price");
IF SalesLine.Quantity <> 0 THEN
SalesLine.VALIDATE("Line Discount %",SalesCorrLine."Line Discount %");
SalesLine.UpdateAmounts;
SalesLine.VALIDATE("Unit Cost (LCY)",0);
...
전제 조건
이 핫픽스를 적용 하려면 설치한 다음 제품 중 하나가 있어야 합니다.
-
Microsoft Dynamics 탐색 2009 r2 헝가리어 버전
제거 정보
이 핫픽스를 제거할 수 없습니다.
상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
참고: 이 문서는 Microsoft 지원 부서 내에서 직접 작성한 "빠른 게시" 문서입니다. 여기에 포함된 정보는 신흥 문제에 대한 응답으로 제공되었습니다. 신속히 사용할 수 있도록 작성되었으므로, 자료 입력 오류가 포함될 수 있으며 언제든지 예고없이 개정될 수 있습니다. 다른 고려 사항은 사용 약관을참조 하십시오.