이 문서는 스페인어(es) 언어 로 로컬에 대한 Microsoft Dynamics NAV에 적용됩니다.
증상
스페인어 버전의 Microsoft Dynamics NAV의 VAT 게시 설정 대화 상자에서 EU 서비스 확인란이 선택되어 있는 것으로 가정합니다. 349 선언 파일을 생성하면 내보낼 파일의 양이 올바르지 않습니다.
이 문제는 다음 제품에서 발생합니다.
-
Microsoft Dynamics NAV 2009 서비스 팩 1(SP1)의 스페인어 버전
-
스페인어 버전의 Microsoft Dynamics NAV 5.0 서비스 팩 1(SP1)
해결 방법
핫픽스 정보
이제 Microsoft에서 지원되는 핫픽스를 사용할 수 있습니다. 그러나 이 문서에서 설명하는 문제를 수정하기 위한 것입니다. 이 특정 문제가 발생하는 시스템에만 적용합니다. 이 핫픽스는 추가 테스트를 받을 수 있습니다. 따라서 이 문제의 영향을 심각하게 받지 않는 경우 다음 Microsoft Dynamics NAV 2009 서비스 팩 또는 이 핫픽스가 포함된 다음 Microsoft Dynamics NAV 버전을 기다리는 것이 좋습니다.
참고 특수한 경우 Microsoft Dynamics 및 관련 제품에 대한 기술 지원 전문가가 특정 업데이트로 문제를 해결할 수 있는 경우 지원 호출에 대해 발생되는 요금이 취소될 수 있습니다. 일반적인 지원 비용은 문제의 특정 업데이트에 해당하지 않는 추가 지원 질문 및 문제에 적용됩니다.
설치 정보
Microsoft는 표현되거나 암시적으로 보증 없이 그림에 대한 프로그래밍 예제를 제공합니다. 여기에는 특정 목적에 대한 상인성 또는 적합성의 암시적 보증이 포함되지만 이에 국한되지는 않습니다. 이 문서에서는 시연되는 프로그래밍 언어와 프로시저를 만들고 디버그하는 데 사용되는 도구에 익숙하다고 가정합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명하는 데 도움이 될 수 있지만 이러한 예제를 수정하여 추가 기능을 제공하거나 특정 요구 사항을 충족하는 프로시저를 생성하지 않습니다.
참고 이 핫픽스를 설치하기 전에 모든 Microsoft Navision 클라이언트 사용자가 시스템에 로그오프되어 있는지 확인해야 합니다. 여기에는 NAS(Microsoft Navision Application Services) 클라이언트 사용자가 포함됩니다. 이 핫픽스를 구현할 때 로그온된 유일한 클라이언트 사용자입니다.
이 핫픽스를 구현하려면 개발자 라이선스가 있어야 합니다.
Windows 로그인 창 또는 데이터베이스 로그인 창의 사용자 계정은 "SUPER" 역할 ID를 할당하는 것이 좋습니다. 사용자 계정에 "SUPER" 역할 ID를 할당할 수 없는 경우 사용자 계정에 다음 권한이 있는지 확인해야 합니다.
-
변경할 개체에 대한 수정 권한입니다.
-
System Object ID 5210 개체 및 System Object ID 9015 개체에 대한 실행 권한입니다.
참고 데이터 복구를 수행하지 않으면 데이터 저장소에 대한 권한은 없습니다.
코드 변경 내용
참고 프로덕션 컴퓨터에 픽스를 적용하기 전에 항상 제어된 환경에서 코드 수정을 테스트합니다.
이 문제를 해결하려면 다음과 같이 하십시오.
-
349 선언 보고서(88)의 데이터 항목 번호 5 섹션의 코드를 다음과 같이 변경합니다. 기존
코드 1BEGIN
REPEAT
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);교체 코드 1
BEGIN
REPEAT
//Add the follwing lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);기존 코드 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Delete the following lines.
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';대체 코드 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Add the following lines.
IF VATInvSales."Transaction No." <> LastTransactionNo THEN BEGIN
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
END;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';기존 코드 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base;
UNTIL VATInvSales.NEXT = 0;
END;교체 코드 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0;
END;기존 코드 4
UNTIL VATInvSales.NEXT = 0;
END;
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);교체 코드 4
UNTIL VATInvSales.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);기존 코드 5
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
NormalAmount := NormalAmount + AmountToIncludein349
ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvSales.Base;
END ELSE교체 코드 5
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvSales."Transaction No." <> LastTransactionNo THEN
NormalAmount := NormalAmount + AmountToIncludein349;
END ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvSales.Base;
END ELSE기존 코드 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base;
UNTIL VATInvSales.NEXT = 0;
END;교체 코드 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0;
END;기존 코드 7
END;
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);교체 코드 7
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);기존 코드 8
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
AmountEUService := AmountEUService + AmountToIncludein349
ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvSales.Base;
END ELSE교체 코드 8
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvSales."Transaction No." <> LastTransactionNo THEN
AmountEUService := AmountEUService + AmountToIncludein349;
END ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvSales.Base;
END ELSE기존 코드 9
END;
END;
UNTIL VATInvSales.NEXT = 0;교체 코드 9
END;
END;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0; -
349 선언 보고서(88)의 데이터 항목 번호 6 섹션의 코드를 다음과 같이 변경합니다. 기존
코드 1BEGIN
REPEAT
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);교체 코드 1
BEGIN
REPEAT
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);기존 코드 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Delete the following lines.
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';대체 코드 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Add the following lines.
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN BEGIN
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
END;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';기존 코드 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base;
UNTIL VATInvPurch.NEXT = 0;
END;교체 코드 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0;
END;기존 코드 4
UNTIL VATInvPurch.NEXT = 0;
END;
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);교체 코드 4
UNTIL VATInvPurch.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);기존 코드 5
((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
NormalAmount := NormalAmount + AmountToIncludein349
ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvPurch.Base;
END ELSE교체 코드 5
((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
NormalAmount := NormalAmount + AmountToIncludein349;
END ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvPurch.Base;
END ELSE기존 코드 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base;
UNTIL VATInvPurch.NEXT = 0;
END;교체 코드 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0;
END;기존 코드 7
UNTIL VATInvPurch.NEXT = 0;
END;
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);교체 코드 7
UNTIL VATInvPurch.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);기존 코드 8
THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
AmountEUService := AmountEUService + AmountToIncludein349
ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvPurch.Base;
END ELSE교체 코드 8
THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
AmountEUService := AmountEUService + AmountToIncludein349;
END ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvPurch.Base;
END ELSE기존 코드 9
END;
END;
UNTIL VATInvPurch.NEXT = 0;교체 코드 9
END;
END;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0; -
Make 349 선언 보고서(88)에 새 전역 변수를 추가한 다음 다음과 같이 변수를 지정합니다.
-
이름: LastTransactionNo@1100072
-
DataType: 정수
-
전제 조건
이 핫픽스를 적용하려면 다음 제품 중 하나를 설치해야 합니다.
-
Microsoft Dynamics NAV 2009 서비스 팩 1(SP1)의 스페인어 버전
-
스페인어 버전의 Microsoft Dynamics NAV 5.0 서비스 팩 1(SP1)
이 핫픽스를 적용하려면 스페인어 349 보고서가 설치되어 있어야 합니다.
자세한 내용은 다음 Microsoft 웹 사이트: 스페인어 349 보고서 추가적으로 이 핫픽스를 적용하려면
VAT 2010 패키지가 설치되어 있어야 합니다.
자세한 내용은 다음 Microsoft 웹 사이트:
VAT 2010에 대한 Microsoft Dynamics NAV 지원
제거 정보
이 핫픽스는 제거할 수 없습니다.
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
참고 Microsoft 지원 조직 내에서 직접 만든 "FAST PUBLISH" 문서입니다. 여기에 포함된 정보는 새로운 문제에 대한 응답으로 제공됩니다. 사용 가능한 속도의 결과로, 자료에는 입력 오류가 포함될 수 있으며, 예고 없이 수정될 수 있습니다. 다른 고려 사항은 사용 약관을 참조합니다.