T? giá trao đ?i ti?n t? đư?c C?p Nh?t không chính xác khi b?n tích h?p Microsoft Dynamics CRM v?i Microsoft Dynamics NAV 2009 R2 b?ng cách s? d?ng các k?t n?i cho Microsoft Dynamics

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 2597312 - Xem s?n ph?m mà bài này áp d?ng vào.
Bài vi?t này áp d?ng cho Microsoft Dynamics NAV cho t?t c? các nư?c và t?t c? các ngôn ng? mi?n đ?a phương.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TRI?U CH?NG

Gi? s? r?ng b?n tích h?p Microsoft Dynamics CRM v?i Microsoft Dynamics NAV 2009 R2 b?ng cách s? d?ng các k?t n?i cho Microsoft Dynamics Feature Pack 5. Trong các t?nh hu?ng nh?t đ?nh, t? giá trao đ?i ti?n t? đư?c C?p Nh?t không chính xác trong Microsoft Dynamics CRM.
Khi b?n C?p Nh?t t? giá trao đ?i ti?n t? trong Microsoft Dynamics NAV 2009 R2, b?n nh?n đư?c thông báo l?i sau:
[T? t? giá h?i đoái v?i ti?n t?] đ? b?t g?p l?i trong khi x? l?...
TransactionCurrency v?i ID = <guid>không t?n t?i.</guid>
Trong t?nh hu?ng này, ch? có h? sơ đ?u tiên c?a t? giá ngo?i t? ti?n t? đ?ng b? hóa v?i Microsoft Dynamics CRM. Khi h? th?ng đ?ng b? hóa ti?p theo h? sơ đư?c nh?p vào b?ng t? giá ti?n t? v?i ngày b?t đ?u sau đó, x?y ra l?i này.

NGUYÊN NHÂN

V?n đ? này x?y ra v? cu?i ti?n t? thay đ?i t? giá, thay v? c?a t? giá hi?n t?i cho các lo?i ti?n t? c? th?, đ?ng b? hóa v?i Microsoft Dynamics CRM b?ng cách s? d?ng các k?t n?i cho Microsoft Dynamics.

GI?I PHÁP

Thông tin hotfix

Cập nhật nóng được hỗ trợ hiện đang được Microsoft cung cấp. Tuy nhiên, nó là ch? nh?m kh?c ph?c s? c? đư?c mô t? trong bài vi?t này. Chỉ áp dụng hotfix đó cho các hệ thống đang gặp phải sự cố cụ thể này. Hotfix này có th? nh?n đư?c th? nghi?m b? sung. V? v?y, n?u b?n không b? ?nh hư?ng b?i v?n đ? này, chúng tôi đ? ngh? b?n đ?i cho gói d?ch v? ti?p theo c?a Microsoft Dynamics NAV 2009 ho?c phiên b?n k? ti?p c?a Microsoft Dynamics NAV có ch?a hotfix này.

Chú ý Trong trư?ng h?p đ?c bi?t, chi phí mà thư?ng ph?i gánh ch?u đ? h? tr? các cu?c g?i có th? đư?c h?y b? n?u m?t chuyên nghi?p h? tr? k? thu?t cho Microsoft Dynamics và s?n ph?m liên quan s? xác đ?nh r?ng m?t C?p Nh?t c? th? s? gi?i quy?t v?n đ? c?a b?n. Các chi phí h? tr? thông thư?ng s? áp d?ng đ? h? tr? thêm câu h?i và v?n đ? này không đ? đi?u ki?n cho các C?p Nh?t c? th? trong câu h?i.

Thông tin cài đ?̃t

Microsoft cung c?p l?p tr?nh ví d? đ? minh ho? ch?, không có b?o hành ho?c th? hi?n hay ng? ?. Đi?u này bao g?m, nhưng không gi?i h?n, b?o đ?m ng? ? kh? năng bán hàng ho?c cho m?t m?c đích c? th?. Bài vi?t này gi? đ?nh r?ng b?n đ? quen thu?c v?i ngôn ng? l?p tr?nh mà đang đư?c ch?ng minh và v?i nh?ng công c? đư?c s? d?ng đ? t?o ra và g? l?i th? t?c. Microsoft h? tr? các k? sư có th? giúp gi?i thích các ch?c năng c?a m?t th? t?c c? th?, nhưng h? s? không s?a đ?i nh?ng ví d? đ? cung c?p thêm ch?c năng ho?c xây d?ng quy tr?nh đ? đáp ?ng các yêu c?u c? th? c?a b?n.

Chú ý Trư?c khi cài đ?t hotfix này, ki?m ch?ng r?ng t?t c? ngư?i dùng khách hàng Microsoft Navision đ? đăng xu?t h? th?ng. Đi?u này bao g?m Microsoft Navision ?ng d?ng d?ch v? (NAS) ngư?i dùng khách hàng. B?n c?n ph?i s? d?ng khách hàng duy nh?t đăng nh?p khi b?n th?c hi?n các hotfix này.

Đ? th?c hi?n các hotfix này, b?n ph?i có m?t gi?y phép nhà phát tri?n.

Chúng tôi đ? ngh? r?ng trương m?c ngư?i dùng trong c?a s? đăng nh?p Windows ho?c trong c?a s? đăng nh?p cơ s? d? li?u đư?c ch? đ?nh vai tr? "Siêu" c?a b?n. N?u trương m?c ngư?i dùng không th? gán vai tr? "SUPER" ID, b?n ph?i xác minh tài kho?n ngư?i dùng có quy?n truy c?p sau đây:
  • S? cho phép s?a đ?i đ?i tư?ng mà b?n s? thay đ?i.
  • Thi công, cho phép các H? th?ng đ?i tư?ng ID 5210 đ?i tư?ng và cho các H? th?ng đ?i tư?ng ID 9015 đ?i tư?ng.


Chú ý B?n không ph?i có quy?n đ? hàng d? li?u, tr? khi b?n có đ? th?c hi?n các s?a ch?a d? li?u.

M? thay đ?i

Chú ý Luôn luôn ki?m tra m? fixes trong m?t môi trư?ng ki?m soát trư?c khi b?n áp d?ng các b?n s?a l?i cho các máy tính s?n xu?t c?a b?n.
Để giải quyết vấn đề này, hãy làm theo những bước sau:
  1. Áp d?ng nh?ng thay đ?i m? sau trong Microsoft Dynamics NAV 2009 R2:
    1. T?o ra m?t m?i GetCurrencyFactor ch?c năng trong b?ng t? giá ti?n t? (330) như sau:
      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. T?o ra m?t m?i SetCurrencyFactor ch?c năng trong b?ng t? giá ti?n t? (330) như sau:
      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. Thêm m?t bi?n m?i trên toàn c?u trong các h?nh th?c ti?n t? (5), và sau đó ch? đ?nh các bi?n như sau:
      • Tên: CurrencyFactor
      • Datatype: Th?p phân
    4. Thêm các Y?u t? ti?n t? l?nh v?c (46) dư?i h?nh th?c ti?n t? (5).
    5. Thêm m?t bi?n đ?a phương m?i trong các Y?u t? ti?n t? - OnValidate Kích ho?t trong các h?nh th?c ti?n t? (5), và sau đó ch? đ?nh các bi?n như sau:
      • Tên: CurrencyExchangeRate
      • DataType: K? l?c
      • Ch?ng: T? giá ti?n t?
    6. Thêm m? sau trong các Y?u t? ti?n t? - OnValidate Kích ho?t trong các h?nh th?c ti?n t? (5):
      CurrencyExchangeRate.SetCurrentCurrencyFactor(Code,CurrencyFactor);
    7. Thêm m?t bi?n đ?a phương m?i trong các OnAfterGetRecord Kích ho?t trong các h?nh th?c ti?n t? (5), và sau đó ch? đ?nh các bi?n như sau:
      • Tên: CurrencyExchangeRate
      • DataType: K? l?c
      • Ch?ng: T? giá ti?n t?
    8. Thêm m? sau trong các OnAfterGetRecord Kích ho?t trong các h?nh th?c ti?n t? (5):
      CurrencyFactor := CurrencyExchangeRate.GetCurrentCurrencyFactor(Code);
    9. Thêm m?t bi?n m?i trên toàn c?u trong các lo?i ti?n t? trang (5), và sau đó ch? đ?nh các bi?n như sau:
      • Tên: CurrencyFactor
      • Datatype: Th?p phân
    10. Thêm các Y?u t? ti?n t? trư?ng trong đơn v? ti?n t? trang (5), và sau đó xác đ?nh các l?nh v?c như sau:
      • Tên: CurrencyFactor
      • Chú thích: Y?u t? ti?n t?
      • Lo?i: L?nh v?c
      • SourceExpr: CurrencyFactor
    11. Thêm m?t bi?n đ?a phương m?i trong các Y?u t? ti?n t? - OnValidate Kích ho?t các trang ti?n t? (5), và sau đó ch? đ?nh các bi?n như sau:
      • Tên: CurrencyExchangeRate
      • DataType: K? l?c
      • Ch?ng: T? giá ti?n t?
    12. Thêm m? sau trong các Y?u t? ti?n t? - OnValidate Kích ho?t trong các lo?i ti?n t? trang (5):
      CurrencyExchangeRate.SetCurrentCurrencyFactor(Code,CurrencyFactor);
    13. Thêm m?t bi?n đ?a phương m?i trong các OnAfterGetRecord Kích ho?t các trang ti?n t? (5), và sau đó ch? đ?nh các bi?n như sau:
      • Tên: CurrencyExchangeRate
      • DataType: K? l?c
      • Ch?ng: T? giá ti?n t?
    14. Thêm m? sau trong các OnAfterGetRecord Kích ho?t trong các lo?i ti?n t? trang (5):
      CurrencyFactor := CurrencyExchangeRate.GetCurrentCurrencyFactor(Code);
    15. Thêm m?t bi?n đ?a phương m?i trong các UpdateParentIntegrationRecord ch?c năng trong h?i nh?p qu?n l? codeunit (5150), và sau đó ch? đ?nh các bi?n như sau:
      • Tên: Ti?n t?
      • DataType: K? l?c
      • Ch?ng: Ti?n t?
    16. Thay đ?i m? trong các UpdateParentIntegrationRecord ch?c năng trong h?i nh?p qu?n l? codeunit (5150) như sau:
      M? hi?n
      ...
        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;
      Thay th? m?
      ...
       
        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. Thay đ?i m? trong các EnableConnector ch?c năng trong h?i nh?p qu?n l? codeunit (5150) như sau:
      M? hi?n
      ...
      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");
      ...
      Thay th? m?
      ...
      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. Thay đ?i m? trong các SetupIntegrationTable ch?c năng trong h?i nh?p qu?n l? codeunit (5150) như sau:
      M? hi?n
      ...
      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");
      ...
      Thay th? m?
      ...
      InitializeIntegrationRecords(DATABASE::"Unit of Measure");
      InitializeIntegrationRecords(DATABASE::"Ship-to Address");
      InitializeIntegrationRecords(DATABASE::Contact);
      InitializeIntegrationRecords(DATABASE::"Customer Discount Group");
      ...
    19. Thay đ?i m? trong các IsIntergrationRecord ch?c năng trong h?i nh?p qu?n l? codeunit (5150) như sau:
      M? hi?n
      ...
      DATABASE::"Unit of Measure",
      DATABASE::"Ship-to Address",
      DATABASE::Contact,
      
      //Delete the following line.
      DATABASE::"Currency Exchange Rate",
      
      DATABASE::"Customer Discount Group",
      ...
      Thay th? m?
      ...
      DATABASE::"Unit of Measure",
      DATABASE::"Ship-to Address",
      DATABASE::Contact,
      DATABASE::"Customer Discount Group",
      ...
    20. Thay đ?i m? trong các IsIntegrationRecordChild ch?c năng trong h?i nh?p Mangement codeunit (5150) như sau:
      M? hi?n
      ...
      IF TableID IN
        [DATABASE::"Sales Line",
         DATABASE::"Sales Invoice Line"]
      THEN
        EXIT(TRUE);
      EXIT(FALSE);
      ...
      Thay th? m?
      ...
      IF TableID IN
        [DATABASE::"Sales Line",
      
         // Add the following line.
         DATABASE::"Currency Exchange Rate",
      
         DATABASE::"Sales Invoice Line"]
      THEN
        EXIT(TRUE);
      EXIT(FALSE);
      ...
  2. Cài đ?t k?t n?i cho Microsoft Dynamics gói tính năng 6.
    Chú ýSau khi b?n cài đ?t k?t n?i cho Microsoft Dynamics Feature Pack 6, b?n ph?i t?t b?n đ? "NAV ti?n t? t? giá h?i đoái đ?n t?" trong các k?t n?i và nh?p kh?u các b?n đ? m?i "NAV lo?i ti?n t? đ? ti?n t?", ch?y l?i c?u h?nh b? đi?u h?p NAV, và sau đó kích ho?t các b?n đ? m?i.

Điều kiện tiên quyết

B?n ph?i có Microsoft Dynamics NAV 2009 R2 cài đ?t đ? áp d?ng hotfix này.

Lo?i b? thông tin

B?n không th? xoá hotfix này.

T?NH TR?NG

Microsoft đ? xác nh?n r?ng đây là m?t v?n đ? trong các s?n ph?m c?a Microsoft đư?c li?t kê trong ph?n "Áp d?ng cho".
Chú ý Đây là m?t bài vi?t "Nhanh chóng xu?t b?n" t?o tr?c ti?p t? trong t? ch?c h? tr? c?a Microsoft. Thông tin ? đây đư?c cung c?p như-là đ? đáp ?ng v?i các v?n đ? đang n?i lên. Như là k?t qu? c?a t?c đ? làm cho nó có s?n, các tài li?u có th? bao g?m l?i và có th? đư?c s?a đ?i b?t k? lúc nào mà không báo trư?c. Xem Đi?u kho?n s? d?ng đ? đánh giá khác.

Thu?c tính

ID c?a bài: 2597312 - L?n xem xét sau cùng: 30 Tháng Tám 2011 - Xem xét l?i: 3.0
Áp d?ng
  • Microsoft Dynamics NAV 2009
T? khóa: 
kbqfe kbmbsmigrate kbmbscodefix kberrmsg kbsurveynew kbmt KB2597312 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:2597312

Cung cấp Phản hồi

 

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