0

DateTime 필드 값 뒤에 생성되거나 업데이트 된 모든 고객을 얻으려고합니다. 나는 정기적으로이 방법을 부를 것이다 역학 CRM에서
Dynamics NAV 웹 서비스에서 업데이트 및 새 레코드 받기

는 :

DateTime LastCheckedNAVCustomer { get; set; } 
private Customer[] GetNAVCustomers() 
{ 
    Customer_Filter filter = new Customer_Filter(); 
    filter.Field = Customer_Fields.Last_Date_Modified; 
    filter.Criteria = LastCheckedNAVCustomer.ToString("ddMMyyyy") + ".."; 
    Customer[] customers = nCustomer.ReadMultiple(new Customer_Filter[] { filter }, null, 0); 
    LastCheckedNAVCustomer = DateTime.Now; 
    return customers; 
} 

것은 "ModifiedOn이있을 것 같지 않습니다

DateTime LastCheckedCRMAccount { get; set; } 
private List<Account> GetCRMAccounts() 
{ 
    CRMLinq.ClearChanges(); // otherwise old data may be retrieved 
    IEnumerable<Account> accounts = from acc in CRMLinq.AccountSet 
            where acc.ModifiedOn > LastCheckedCRMAccount 
            select acc; 
    List<Account> accountList = accounts.ToList(); 
    LastCheckedCRMAccount = DateTime.Now.ToUniversalTime(); 
    return accountList; 
} 

이 나는 ​​순간 역학 NAV를 위해 무엇을 가지고 "NAV 고객 테이블의 필드; "Last Date Modified"라는 필드가 있지만 그 필드에는 날짜 만 들어 있습니다.

NAV 고객에게 CRM 계정을 최신으로 유지하고 싶습니다.

더 좋은 방법이 있나요?

+0

Nav에 대해 전혀 알지 못하기 때문에 더 좋은 방법을 알지 못합니다.하지만 LastCheckedCRMAccount는 UTC이므로 계정 집합 LINQ 문에서 비교할 수 있습니다. – Daryl

답변

1

이렇게하려면 고객 테이블에 새 DateTime 필드를 추가하고 삽입 및 수정시 CURRENTDATETIME으로 채우는 것이 좋습니다. 고객 테이블에서 삭제 및 이름 변경을 관리해야 할 수도 있습니다.

Dynamics Connector를 통해 표준 CRM과 NAV 통합을 사용 해본 적이 있습니까?

http://msdn.microsoft.com/en-us/library/gg502460.aspx

사용자의 요구를 커버 NAV에서 구현 된 기능이 있습니다. 코드 유니트 1에서 "Integration "개체 + OnDatabase 트리거를 살펴볼 수 있습니다. 여기서 핵심 아이디어는 모든 테이블 수정/삽입/삭제가 목록을 가져 오는 데 사용할 수있는 "통합 레코드"테이블에 반영된다는 것입니다 CRM에 업데이트해야하는 고객 레코드