네덜란드어 버전의 Microsoft Dynamics 탐색 2009 "Microsoft Dynamics 탐색 SP1 NL에 대 한 EU 판매 목록 제출 및 VAT 세금 Authorties 채택 Digipoort"를 구현 하는 것을 가정 합니다. Digipoort 인터페이스를 사용 하면 다음과 같은 유효성 검사 오류 중 하나가 나타납니다.
Bd SBR_DIGIPOORT-alg:ContactPrefix는 비워 둘 수 없습니다.
ICP 금액 0이 아니어야 합니다.
다음 제품에이 문제가 발생합니다.
-
네덜란드어 버전의 Microsoft Dynamics 탐색 2009 R2
-
네덜란드어 버전의 Microsoft Dynamics 탐색 2009 서비스 팩 1 (SP1)
해결 방법
핫픽스 정보
지원 되는 핫픽스를 Microsoft에서 출시 되었습니다. 이 문서에 설명 되어 있는 문제를 해결 하기 위한 것일 뿐입니다. 이러한 특정 문제가 발생 한 시스템에만 적용 됩니다. 이 핫픽스는 추가 테스트가 필요할 수 있습니다. 따라서이 문제의 영향이 심각 하지 다음 Microsoft Dynamics 탐색 2009 서비스 팩 또는이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전까지 기다리는 것이 좋습니다.참고: 특별 한 경우 일반적으로 호출 취소 될 수도 있습니다 경우 기술 지원 담당자는 Microsoft Dynamics 및 관련 된 제품에 대 한 지원에 따른 비용이 특정 업데이트로 문제를 해결할 수 있다고 결정 합니다. 추가 지원 질문과 특정 업데이트가 필요 하지 않은 문제에는 일반 지원 비용이 적용 됩니다.
설치 정보
Microsoft는 모든 보증, 그림에 대 한 묵시적인 보증. 이 포함 되지만 상품성 또는 특정 목적에의 적합성의 묵시적된 보증에 국한 되지는 않습니다. 이 문서는 작성 하 고 프로시저를 디버깅할 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있습니다. 그러나이 예제에서는 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하려면 수정 하지 않습니다.참고: 이 핫픽스를 설치 하기 전에 모든 Microsoft Dynamics 탐색 클라이언트 사용자가 시스템 로그를 확인 하십시오. Microsoft Dynamics 탐색 응용 프로그램 서버 (NAS) 서비스가 포함 됩니다. 이 핫픽스를 구현할 때 로그온 되어 있는 사용자만 클라이언트 수 있습니다.이 핫픽스를 구현 하려면 개발자 라이센스가 있어야 합니다.것을 권장 합니다 Windows 로그인 창이 나 데이터베이스 로그인 창에서 사용자 계정 "SUPER" 역할 ID를 할당할 수 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다, 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.
-
변경할 수 있는 개체에 대 한 수정 권한이 있습니다.
-
시스템 개체 ID 9015 및 시스템 개체 ID 5210 개체에 대 한 실행 권한개체입니다.
참고: 데이터 복구를 수행 해야 할 경우가 아니면 데이터 저장소에 대 한 권한을 가질 필요가 없습니다.
코드 변경 사항
참고: 항상 테스트 코드 수정 제어 된 환경에 적용 하기 전에 프로덕션 컴퓨터에 수정 프로그램입니다.이 문제를 해결하려면 다음과 같이 하십시오.
-
Elec. ICP 선언 만들기 보고서 (11404)의 코드를 다음과 같이 변경.기존 코드 1
...ElecTaxDeclarationHeader@1000000 : Record 11409; ApplicationManagement@1000001 : Codeunit 1; UseVATRegNo@1000010 : Text[20]; BEGIN IF Status > Status::Created THEN ERROR(StatusErr);...
대체 코드 1
...ElecTaxDeclarationHeader@1000000 : Record 11409; ApplicationManagement@1000001 : Codeunit 1; UseVATRegNo@1000010 : Text[20]; StreetName@1000002 : Text[50]; HouseNo@1000003 : Text[50]; AdditionHouseNo@1000004 : Text[50]; ContactPrefix@1000011 : Text[35]; BEGIN IF Status > Status::Created THEN ERROR(StatusErr);...
기존 코드 2
...// zbrli:xbrl->bd-ob:VATIdentificationNumberNLFiscalEntityDivision IF ElecTaxDeclarationSetup."Part of Fiscal Entity" THEN BEGIN IF COPYSTR( UPPERCASE(CompanyInfo."VAT Registration No."), 1,STRLEN(CompanyInfo."Country/Region Code")) = CompanyInfo."Country/Region Code" THEN CompanyInfo."VAT Registration No." := DELSTR(CompanyInfo."VAT Registration No.",1,STRLEN(CompanyInfo."Country/Region Code")); InsertDataLine("Elec. Tax Declaration Header",1,'bd-ob:VATIdentificationNumberNLFiscalEntityDivision', CompanyInfo."VAT Registration No.",'','Msg',''); END; // zbrli:xbrl->bd-alg:Contact*...
대체 코드 2
...// zbrli:xbrl->bd-ob:VATIdentificationNumberNLFiscalEntityDivision IF ElecTaxDeclarationSetup."Part of Fiscal Entity" THEN BEGIN IF COPYSTR( UPPERCASE(CompanyInfo."Fiscal Entity No."), 1,STRLEN(CompanyInfo."Country/Region Code")) = CompanyInfo."Country/Region Code" THEN CompanyInfo."Fiscal Entity No." := DELSTR(CompanyInfo."Fiscal Entity No.",1,STRLEN(CompanyInfo."Country/Region Code")); InsertDataLine("Elec. Tax Declaration Header",1,'bd-ob:VATIdentificationNumberNLFiscalEntityDivision', CompanyInfo."Fiscal Entity No.",'','Msg',''); END; // zbrli:xbrl->bd-alg:Contact*...
기존 코드 3
...IF ElecTaxDeclarationSetup."ICP Contact Type" = ElecTaxDeclarationSetup."ICP Contact Type"::"Tax Payer" THEN BEGIN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactInitials', ExtractInitials(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPrefix', ExtractNamePrefix(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactSurname', ExtractSurname(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber',...
대체 코드 3
...IF ElecTaxDeclarationSetup."ICP Contact Type" = ElecTaxDeclarationSetup."ICP Contact Type"::"Tax Payer" THEN BEGIN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactInitials', ExtractInitials(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); ContactPrefix := ExtractNamePrefix(ElecTaxDeclarationSetup."Tax Payer Contact Name"); IF ContactPrefix <> '' THEN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPrefix',ContactPrefix,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactSurname', ExtractSurname(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber',...
기존 코드 4
...ExtractSurname(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber', ElecTaxDeclarationSetup."Tax Payer Contact Phone No.",'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactStreetNameNL', ExtractStreetName(CompanyInfo.Address),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberNL', ExtractStreetNo(CompanyInfo.Address),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPostalCodeNL', DELCHR(CompanyInfo."Post Code",'=',' '),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPlaceOfResidenceNL',...
대체 코드 4
...ExtractSurname(ElecTaxDeclarationSetup."Tax Payer Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber', ElecTaxDeclarationSetup."Tax Payer Contact Phone No.",'','Msg',''); PostCodeMgt.ParseAddressAdditionHouseNo(StreetName,HouseNo,AdditionHouseNo,CompanyInfo.Address); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactStreetNameNL',StreetName,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberNL',HouseNo,'','Msg',''); IF AdditionHouseNo <> '' THEN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberAddition',AdditionHouseNo,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPostalCodeNL', DELCHR(CompanyInfo."Post Code",'=',' '),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPlaceOfResidenceNL',...
기존 코드 5
...END ELSE BEGIN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactInitials', ExtractInitials(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPrefix', ExtractNamePrefix(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactSurname', ExtractSurname(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber',...
대체 코드 5
...END ELSE BEGIN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactInitials', ExtractInitials(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); ContactPrefix := ExtractNamePrefix(ElecTaxDeclarationSetup."Agent Contact Name"); IF ContactPrefix <> '' THEN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPrefix',ContactPrefix,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactSurname', ExtractSurname(ElecTaxDeclarationSetup."Agent Contact Name"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactTelephoneNumber',...
기존 코드 6
...ElecTaxDeclarationSetup."Agent Contact Phone No.",'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:TaxConsultantNumber', ElecTaxDeclarationSetup."Agent Contact ID",'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactStreetNameNL', ExtractStreetName(ElecTaxDeclarationSetup."Agent Contact Address"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberNL', ExtractStreetNo(ElecTaxDeclarationSetup."Agent Contact Address"),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPostalCodeNL', DELCHR(ElecTaxDeclarationSetup."Agent Contact Post Code",'=',' '),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPlaceOfResidenceNL',...
대체 코드 6
...ElecTaxDeclarationSetup."Agent Contact Phone No.",'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:TaxConsultantNumber', ElecTaxDeclarationSetup."Agent Contact ID",'','Msg',''); PostCodeMgt.ParseAddressAdditionHouseNo( StreetName,HouseNo,AdditionHouseNo,ElecTaxDeclarationSetup."Agent Contact Address"); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactStreetNameNL',StreetName,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberNL',HouseNo,'','Msg',''); IF AdditionHouseNo <> '' THEN InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactHouseNumberAddition',AdditionHouseNo,'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPostalCodeNL', DELCHR(ElecTaxDeclarationSetup."Agent Contact Post Code",'=',' '),'','Msg',''); InsertDataLine("Elec. Tax Declaration Header",1,'bd-alg:ContactPlaceOfResidenceNL',...
기존 코드 7
...SETRANGE("VAT Registration No.", "VAT Registration No."); CALCSUMS(Base); "Elec. Tax Declaration Header".InsertLine(0,1,CurrentType,''); InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:CountryCodeISO-EC', COPYSTR("Country/Region Code",1,2),'','Msg',''); IF COPYSTR(UPPERCASE("VAT Registration No."),1,STRLEN("Country/Region Code")) = "Country/Region Code" THEN "VAT Registration No." := DELSTR("VAT Registration No.",1,STRLEN("Country/Region Code")); InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:SuppliesAmount', FORMAT(-Base,0,'<Sign><Integer>'),'INF','Msg','EUR'); InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:VATIdentificationNumberNational', "VAT Registration No.",'','Msg',''); FIND('+'); SETRANGE("Country/Region Code");...대체 코드 7
...SETRANGE("VAT Registration No.", "VAT Registration No."); CALCSUMS(Base); IF ABS(Base) >= 1 THEN BEGIN "Elec. Tax Declaration Header".InsertLine(0,1,CurrentType,''); InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:CountryCodeISO-EC', COPYSTR("Country/Region Code",1,2),'','Msg',''); IF COPYSTR(UPPERCASE("VAT Registration No."),1,STRLEN("Country/Region Code")) = "Country/Region Code" THEN "VAT Registration No." := DELSTR("VAT Registration No.",1,STRLEN("Country/Region Code")); CASE Integer.Number OF 0,2: InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:SuppliesAmount', FORMAT(-Base,0,'<Sign><Integer>'),'INF','Msg','EUR'); 1: InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:ServicesAmount', FORMAT(-Base,0,'<Sign><Integer>'),'INF','Msg','EUR'); END; InsertDataLine("Elec. Tax Declaration Header",2,'bd-ob:VATIdentificationNumberNational', "VAT Registration No.",'','Msg',''); END; FIND('+'); SETRANGE("Country/Region Code");... -
Elec. ICP 선언 만들기 보고서 (11404)에 전역 변수의 코드를 다음과 같이 변경.기존 코드
...CompanyInfo@1000003 : Record 79; ElecTaxDeclarationSetup@1000001 : Record 11408; StatusErr@1000005 : TextConst 'ENU=The report status need to have value " " or Created to create the report content.'; CurrentType@1000000 : Text[60]; LOCAL PROCEDURE GetStrippedAppVersion@1101100000(AppVersion@1101100001 : Text[250]) Res : Text[250];...
대체 코드
...CompanyInfo@1000003 : Record 79; ElecTaxDeclarationSetup@1000001 : Record 11408; StatusErr@1000005 : TextConst 'ENU=The report status need to have value " " or Created to create the report content.'; PostCodeMgt@1000002 : Codeunit 11401; CurrentType@1000000 : Text[60]; LOCAL PROCEDURE GetStrippedAppVersion@1101100000(AppVersion@1101100001 : Text[250]) Res : Text[250];...
-
Elec. ICP 선언 만들기 보고서 (11404)의 ExtractStreetName 함수에 코드를 다음과 같이 변경.기존 코드
...ElecTaxDeclHeader.InsertLine(1,Indentation + 1,'unitRef',unitRef); END; LOCAL PROCEDURE ExtractStreetName@1000013(Address@1000000 : Text[50]) : Text[50]; BEGIN IF IndexOfFirstNumber(Address) > 1 THEN EXIT(COPYSTR(Address,1,IndexOfFirstNumber(Address) - 2)); EXIT(Address); END; LOCAL PROCEDURE ExtractStreetNo@1000012(Address@1000000 : Text[50]) : Text[50]; BEGIN IF IndexOfFirstNumber(Address) > 0 THEN EXIT(COPYSTR(Address,IndexOfFirstNumber(Address))); EXIT(''); END; LOCAL PROCEDURE ExtractInitials@1000014(FullName@1000000 : Text[35]) Initials : Text[30]; VAR Pos@1000001 : Integer;...
대체 코드
...ElecTaxDeclHeader.InsertLine(1,Indentation + 1,'unitRef',unitRef); END; LOCAL PROCEDURE ExtractInitials@1000014(FullName@1000000 : Text[35]) Initials : Text[30]; VAR Pos@1000001 : Integer;...
-
Elec. ICP 선언 만들기 보고서 (11404)의 IndexOfFirstNumber 함수에 코드를 다음과 같이 변경.기존 코드
...Surname := COPYSTR(FullName,STRPOS(FullName,' ') + 1); END; LOCAL PROCEDURE IndexOfFirstNumber@1000017(Str@1000000 : Text[50]) : Integer; VAR Index@1000001 : Integer; BEGIN FOR Index := 1 TO STRLEN(Str) DO BEGIN IF Str[Index] IN ['0'..'9'] THEN EXIT(Index); END; EXIT(0); END; BEGIN END. }...
대체 코드
...Surname := COPYSTR(FullName,STRPOS(FullName,' ') + 1); END; BEGIN END. }...
-
포스트 코드 관리 codeunit (11401) ParseAddressAdditionHouseNo 함수에서 코드를 다음과 같이 변경.기존 코드
...EXIT(TRUE); END; BEGIN { <changelog>...
대체 코드
...EXIT(TRUE); END; PROCEDURE ParseAddressAdditionHouseNo@1000003(VAR StreetName@1000001 : Text[50];VAR HouseNo@1000002 : Text[50];VAR AdditionHouseNo@1000003 : Text[50];Address@1000000 : Text[50]); VAR HouseString@1000004 : Text[50]; BEGIN StreetName := ''; HouseNo := ''; AdditionHouseNo := ''; IF Address = '' THEN EXIT; // Suppose that house string is a last word in the Address HouseString := GetHouseString(Address); IF HouseString = '' THEN BEGIN StreetName := Address; EXIT; END; // The last word is a House string with possible AdditionHouseNo information. All before last word is a StreetName. StreetName := COPYSTR(Address,1,STRLEN(Address) - STRLEN(HouseString) - 1); HouseNo := GetHouseNoFromHouseString(HouseString); AdditionHouseNo := HouseString; END; LOCAL PROCEDURE GetHouseString@1000002(Address@1000000 : Text[50]) : Text[50]; VAR i@1000003 : Integer; BEGIN // If there's only one word then return empty HouseString IF STRPOS(Address,' ') = 0 THEN EXIT(''); //Lookup from end of string first space after a number // Find the last word: revert address string, cut first word, revert result RevertString(Address); // Delete Spaces at beginning Address := DELCHR(Address,'<'); i := 1; // Find first number i ==> position of first number WHILE (NOT (Address[i] IN ['0'..'9']) AND (i < STRLEN(Address))) DO i += 1; IF ((i = STRLEN(Address)) AND NOT (Address[i] IN ['0'..'9'])) THEN //No number found EXIT(''); // look further until number stops WHILE ((Address[i] IN ['0'..'9']) AND (i < STRLEN(Address))) DO i+= 1; Address := DELCHR(COPYSTR(Address,1, i-1), '<=>'); // remove all spaces RevertString(Address); EXIT(Address); END; LOCAL PROCEDURE GetHouseNoFromHouseString@1000000(VAR HouseString@1000000 : Text[50]) HouseNo : Text[50]; VAR Pos@1000002 : Integer; BEGIN Pos := 1; WHILE HouseString[Pos] IN ['0'..'9'] DO Pos += 1; HouseNo := COPYSTR(HouseString,1,Pos - 1); // remove HouseNo from the HouseString including special separating char if such exist IF HouseString[Pos] IN ['/','\','-'] THEN Pos += 1; HouseString := COPYSTR(HouseString,Pos); END; LOCAL PROCEDURE RevertString@1170000000(VAR String@1170000000 : Text[50]); VAR StringCopy@1170000001 : Text[50]; i@1170000002 : Integer; Length@1170000003 : Integer; BEGIN StringCopy := String; Length := STRLEN(String); FOR i := 1 TO Length DO String[i] := StringCopy[Length - i + 1]; END; BEGIN { <changelog>...
전제 조건
이 핫픽스를 적용 하려면 설치한 다음 제품 중 하나가 있어야 합니다.
-
네덜란드어 버전의 Microsoft Dynamics 탐색 2009 R2
-
Microsoft Dynamics 탐색 2009 s p 1의 네덜란드어 버전
또한 구현 된 "SP1 NL Microsoft Dynamics 이동 지점에 대 한 EU 판매 목록 제출 및 VAT 세금 Authorties 채택 Digipoort." 하는
제거 정보
이 핫픽스를 제거할 수 없습니다.
상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
참고: 이 문서는 Microsoft 지원 부서 내에서 직접 작성한 "빠른 게시" 문서입니다. 여기에 포함된 정보는 신흥 문제에 대한 응답으로 제공되었습니다. 신속히 사용할 수 있도록 작성되었으므로, 자료 입력 오류가 포함될 수 있으며 언제든지 예고없이 개정될 수 있습니다. 다른 고려 사항은 사용 약관을참조 하십시오.