我試圖讓所有客戶在DateTime字段的值後創建/更新。
從Dynamics NAV Web Service獲取更新和新記錄
在Dynamics CRM中我會定期調用此方法:
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的時刻:
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 「在NAV顧客桌上的領域;有一個名爲「Last Date Modified」的字段,但只包含日期。
我想讓NAV客戶的CRM帳戶保持最新狀態。
有沒有更好的方法來做到這一點?
我不知道更好的方法,因爲我對Nav一無所知,但我會提醒您確保LastCheckedCRMAccount是UTC,因爲那是您在AccountSet LINQ語句中進行比較的原因 – Daryl