Microsoft Dynamics의 커넥터를 사용 하 여 Microsoft Dynamics 탐색 2009 r2와 Microsoft Dynamics CRM 통합 하면 통화 환율이 올바르게 업데이트 됩니다.

기술 자료 번역 기술 자료 번역
기술 자료: 2597312 - 이 문서가 적용되는 제품 보기.
이 문서에서는 Microsoft Dynamics 탐색에 모든 국가 모든 언어 로케일에 대해 적용합니다.
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft Dynamics CRM Microsoft Dynamics 기능 팩 5에 대 한 커넥터를 사용 하 여 Microsoft Dynamics 탐색 2009 r 2와 통합 하는 것으로 가정 합니다. 특정 시나리오에서는 통화 환율이 제대로 Microsoft Dynamics CRM 업데이트 됩니다.
통화 환율이 Microsoft Dynamics 탐색 2009 r2를 업데이트할 때 다음 오류 메시지가 나타납니다.
[통화 환율이 통화로] … 처리 하는 동안 오류가 발생 했습니다.
TransactionCurrency id = <guid>존재 하지 않습니다.</guid>
이 경우에는 첫 번째 레코드의 통화 환율 Microsoft Dynamics CRM 동기화 됩니다. 나중에 시작 날짜와 통화 환율 테이블에 입력 된 이후의 레코드 시스템 동기화 되 면이 오류가 발생 합니다.

원인

마지막으로 변경 된 통화 환율, 특정 통화에 대 한 현재 환율 대신 Microsoft Dynamics의 커넥터를 사용 하 여 Microsoft Dynamics CRM 동기화 되지 않으므로이 문제가 발생 합니다.

해결 방법

핫픽스 정보

지원 되는 핫픽스를 이제 Microsoft에서 사용할 수 있습니다. 이 문서에서 설명 하는 문제를 해결 하기 위한 것일 뿐 이므로 이러한 특정 문제가 발생 하는 시스템에만 적용 합니다. 이 핫픽스는 나중에 추가 테스트를 나타날 수 있습니다. 따라서이 문제의 영향이 심각 하지 않으면이 핫픽스가 포함 된 다음 Microsoft Dynamics 탐색 버전 또는 다음 Microsoft Dynamics 탐색 2009 서비스 팩을 기다리는 것이 좋습니다.

참고 특별 한 경우, 일반적으로 지원 Microsoft Dynamics 및 관련된 제품에 대 한 기술 지원 전문가가 경우 호출이 취소 될 수 있습니다에 대 한 비용이 결정 특정 업데이트로 문제를 해결할 수 있다고 합니다. 추가 지원 질문과 특정 업데이트가 문제의 필요 하지 않은 문제 지원 비용이 적용 됩니다.

설치 정보

Microsoft 명시적 또는 묵시적인 보증 없이 돕기 위해 프로그래밍 예제를 제공 합니다. 이 포함 되지만 상품성 또는 특정 목적에 대 한 적합성의 묵시적된 보증에 국한 되지는지 않습니다. 이 문서에서는 만들려면 및 프로시저를 디버깅 하는 데 사용 되는 도구 및 여기서 설명 하는 프로그래밍 언어에 익숙한 있는지 가정 합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명할 수 있지만 추가 기능을 제공 하거나 특정 요구 사항에 맞도록 프로시저를 구성 하는 이러한 예제를 수정 합니다.

참고 이 핫픽스를 설치 하기 전에 모든 Microsoft Navision 클라이언트 사용자에 게 시스템 전원을 로그온 했는지 확인 합니다. 여기에 Microsoft Navision 응용 프로그램 서비스 (NAS) 클라이언트 사용자가. 이 핫픽스를 구현 하는 경우 로그온 한 사용자만 클라이언트 사용자 여야 합니다.

이 핫픽스를 구현 하는 개발자 라이센스가 있어야 합니다.

사용자 계정은 Windows 로그인 창이 나 데이터베이스 로그인 창에서 "SUPER" 역할 ID를 할당 하는 것이 좋습니다. 사용자 계정 "SUPER" 역할 ID를 할당할 수 없습니다 경우 사용자 계정에 다음 권한이 있는지 확인 해야 합니다.
  • 변경 되는 개체에 대 한 수정 권한이 있습니다.
  • 대 한 Execute 권한만 있는 시스템 개체 ID 5210 개체 및 해당 시스템 개체 ID 9015 개체입니다.


참고 데이터 복구를 수행할 수 없는 경우 데이터 저장소에 권한이 없습니다.

코드 변경 사항

참고 항상 테스트 코드를 적용 하기 전에 제어 된 환경에서 프로덕션 컴퓨터에 수정 프로그램을 해결 합니다.
이 문제를 해결 하려면 다음과이 같이 하십시오.
  1. Microsoft Dynamics 탐색 2009 R2 다음 코드 변경 내용을 적용 합니다.
    1. 새로 만들기 GetCurrencyFactor 통화 환율 표 (330)에서 다음과 같은 작동 합니다.
      PROCEDURE GetCurrentCurrencyFactor@14(CurrencyCode@1000 : Code[10]) : Decimal;
          BEGIN
            SETRANGE("Currency Code",CurrencyCode);
            IF FINDLAST THEN
              EXIT("Exchange Rate Amount" / "Relational Exch. Rate Amount")
          END;
    2. 새로 만들기 SetCurrencyFactor 통화 환율 표 (330)에서 다음과 같은 작동 합니다.
      PROCEDURE SetCurrentCurrencyFactor@15(CurrencyCode@1000 : Code[10];CurrencyFactor@1001 : Decimal);
          VAR
            RateForTodayExists@1002 : Boolean;
          BEGIN
            "Currency Code" := CurrencyCode;
            TESTFIELD("Currency Code");
            RateForTodayExists := GET(CurrencyCode,TODAY);
            "Exchange Rate Amount" := 1;
            "Relational Exch. Rate Amount" := 1 / CurrencyFactor;
            "Adjustment Exch. Rate Amount" := "Exchange Rate Amount";
            "Relational Adjmt Exch Rate Amt" := "Relational Exch. Rate Amount";
           IF RateForTodayExists THEN BEGIN
             "Relational Currency Code" := '';
             MODIFY;
           END ELSE BEGIN
             "Starting Date" := TODAY;
             INSERT;
           END;
          END;
    3. 통화 형태로 (5) 새 전역 변수를 추가 하 고 변수를 다음과 같이 지정 합니다.
      • 이름: CurrencyFactor
      • 데이터 형식: 10 진수
    4. 추가 통화 비율 (5) 통화 형식에서 필드 (46)
    5. 새 지역 변수 추가 OnValidate 통화 비율- 통화 형식 (5)에서 시작 하 고 변수를 다음과 같이 지정할:
      • 이름: CurrencyExchangeRate
      • 데이터 형식: 레코드
      • 하위 형식: 통화 환율
    6. 에 다음 코드를 추가 하 여 OnValidate 통화 비율- (5) 통화 형태로 트리거하십시오.
      CurrencyExchangeRate.SetCurrentCurrencyFactor(Code,CurrencyFactor);
    7. 새 지역 변수 추가 OnAfterGetRecord 통화 형식 (5)에서 시작 하 고 변수를 다음과 같이 지정할:
      • 이름: CurrencyExchangeRate
      • 데이터 형식: 레코드
      • 하위 형식: 통화 환율
    8. 에 다음 코드를 추가 하 여 OnAfterGetRecord (5) 통화 형태로 트리거하십시오.
      CurrencyFactor := CurrencyExchangeRate.GetCurrentCurrencyFactor(Code);
    9. 통화 (5) 페이지에서 새 전역 변수를 추가 하 고 변수를 다음과 같이 지정 합니다.
      • 이름: CurrencyFactor
      • 데이터 형식: 10 진수
    10. 추가 통화 비율 통화 (5), 페이지에서 필드 및 필드를 다음과 같이 지정 합니다.
      • 이름: CurrencyFactor
      • 캡션: 통화 비율
      • 형식: 필드
      • SourceExpr: CurrencyFactor
    11. 새 지역 변수 추가 OnValidate 통화 비율- 통화 (5) 페이지에서 시작 하 고 변수를 다음과 같이 지정할:
      • 이름: CurrencyExchangeRate
      • 데이터 형식: 레코드
      • 하위 형식: 통화 환율
    12. 에 다음 코드를 추가 하 여 OnValidate 통화 비율- 통화 (5) 페이지를 트리거하십시오.
      CurrencyExchangeRate.SetCurrentCurrencyFactor(Code,CurrencyFactor);
    13. 새 지역 변수 추가 OnAfterGetRecord 통화 (5) 페이지에서 시작 하 고 변수를 다음과 같이 지정할:
      • 이름: CurrencyExchangeRate
      • 데이터 형식: 레코드
      • 하위 형식: 통화 환율
    14. 에 다음 코드를 추가 하 여 OnAfterGetRecord 통화 (5) 페이지를 트리거하십시오.
      CurrencyFactor := CurrencyExchangeRate.GetCurrentCurrencyFactor(Code);
    15. 새 지역 변수 추가 UpdateParentIntegrationRecord 통합 관리 codeunit (5150)에서 작동 하 고 변수를 다음과 같이 지정 합니다.
      • 이름: 통화
      • 데이터 형식: 레코드
      • 하위 형식: 통화
    16. 코드에서 변경의 UpdateParentIntegrationRecord 통합 관리 codeunit (5150)에 다음과 같이 작동 합니다.
      기존 코드
      ...
        DATABASE::"Ship-to Address":
          BEGIN
            FieldRef1 := RecRef.FIELD(1); // "Customer No."
            IF Customer.GET(FieldRef1.VALUE) THEN BEGIN
              ParentRecRef.GETTABLE(Customer);
              InsertUpdateIntegrationRecord(ParentRecRef,TimeStamp);
            END;
          END;
      END;
      대체 코드
      ...
       
        DATABASE::"Ship-to Address":
          BEGIN
            FieldRef1 := RecRef.FIELD(1); // "Customer No."
            IF Customer.GET(FieldRef1.VALUE) THEN BEGIN
              ParentRecRef.GETTABLE(Customer);
              InsertUpdateIntegrationRecord(ParentRecRef,TimeStamp);
            END;
          END;
      
      // Add the following lines.
        DATABASE::"Currency Exchange Rate":
          BEGIN
            FieldRef1 := RecRef.FIELD(1); // "Currency Code"
            IF Currency.GET(FieldRef1.VALUE) THEN BEGIN
              ParentRecRef.GETTABLE(Currency);
              InsertUpdateIntegrationRecord(ParentRecRef,TimeStamp);
            END;
          END;
      // End of the lines.
      
      END;
    17. 코드에서 변경의 EnableConnector 통합 관리 codeunit (5150)에 다음과 같이 작동 합니다.
      기존 코드
      ...
      SetupWebServicePages(FORM::"Ship-to Address",DATABASE::"Ship-to Address");
      SetupWebServicePages(FORM::"Contact Card",DATABASE::Contact);
      
      //Delete the following line.
      SetupWebServicePages(FORM::"Currency Exchange Rates",DATABASE::"Currency Exchange Rate");
      
      SetupWebServicePages(FORM::"Customer Disc. Groups",DATABASE::"Customer Discount Group");
      SetupWebServicePages(FORM::"Item Disc. Groups",DATABASE::"Item Discount Group");
      ...
      대체 코드
      ...
      SetupWebServicePages(FORM::"Ship-to Address",DATABASE::"Ship-to Address");
      SetupWebServicePages(FORM::"Contact Card",DATABASE::Contact);
      SetupWebServicePages(FORM::"Customer Disc. Groups",DATABASE::"Customer Discount Group");
      SetupWebServicePages(FORM::"Item Disc. Groups",DATABASE::"Item Discount Group");
      ...
    18. 코드에서 변경의 SetupIntegrationTable 통합 관리 codeunit (5150)에 다음과 같이 작동 합니다.
      기존 코드
      ...
      InitializeIntegrationRecords(DATABASE::"Unit of Measure");
      InitializeIntegrationRecords(DATABASE::"Ship-to Address");
      InitializeIntegrationRecords(DATABASE::Contact);
      
      //Delete the following line.
      InitializeIntegrationRecords(DATABASE::"Currency Exchange Rate");
      
      InitializeIntegrationRecords(DATABASE::"Customer Discount Group");
      ...
      대체 코드
      ...
      InitializeIntegrationRecords(DATABASE::"Unit of Measure");
      InitializeIntegrationRecords(DATABASE::"Ship-to Address");
      InitializeIntegrationRecords(DATABASE::Contact);
      InitializeIntegrationRecords(DATABASE::"Customer Discount Group");
      ...
    19. 코드에서 변경의 IsIntergrationRecord 통합 관리 codeunit (5150)에 다음과 같이 작동 합니다.
      기존 코드
      ...
      DATABASE::"Unit of Measure",
      DATABASE::"Ship-to Address",
      DATABASE::Contact,
      
      //Delete the following line.
      DATABASE::"Currency Exchange Rate",
      
      DATABASE::"Customer Discount Group",
      ...
      대체 코드
      ...
      DATABASE::"Unit of Measure",
      DATABASE::"Ship-to Address",
      DATABASE::Contact,
      DATABASE::"Customer Discount Group",
      ...
    20. 코드에서 변경의 IsIntegrationRecordChild 통합 관리 codeunit (5150)에 다음과 같이 작동 합니다.
      기존 코드
      ...
      IF TableID IN
        [DATABASE::"Sales Line",
         DATABASE::"Sales Invoice Line"]
      THEN
        EXIT(TRUE);
      EXIT(FALSE);
      ...
      대체 코드
      ...
      IF TableID IN
        [DATABASE::"Sales Line",
      
         // Add the following line.
         DATABASE::"Currency Exchange Rate",
      
         DATABASE::"Sales Invoice Line"]
      THEN
        EXIT(TRUE);
      EXIT(FALSE);
      ...
  2. Microsoft Dynamics 기능 팩 6에 대 한 커넥터를 설치 합니다.
    참고Microsoft Dynamics 기능 팩 6에 대 한 커넥터를 설치한 후 해야 "이동 통화 환율을 통화" 지도에 있는 커넥터를 비활성화 하 고 "통화 하려면 통화 이동" 새 지도, 탐색 어댑터 구성을 다시 실행 가져와 다음 새 지도 활성화.

필수 구성 요소

Microsoft Dynamics 탐색 2009 r2이이 핫픽스를 적용 하려면 설치 되어 있어야 합니다.

제거 정보

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

현재 상태

Microsoft는 "적용 대상" 절에 나열 된 제품에서 문제가 있음을 확인 했습니다.
참고 Microsoft 지원 부서 내에서 직접 작성 한 "빠른 게시" 문서입니다. 여기에 포함 된 정보는 제공 됩니다-신흥 문제에 대 한 응답입니다. 사용할 수 있어 속도, 결과적으로 자료 철자 오류가 포함 될 수 있습니다와 언제 든 지 예 고 없이 개정 될 수 있습니다. 참조 사용 약관 기타 고려 사항입니다.

속성

기술 자료: 2597312 - 마지막 검토: 2011년 8월 30일 화요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Dynamics NAV 2009
키워드:?
kbqfe kbmbsmigrate kbmbscodefix kberrmsg kbsurveynew kbmt KB2597312 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
이 문서의 영문 버전 보기:2597312

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com