30.11.2009, 20:31 | #1 |
Участник
|
Retrieve Email TO
Коллеги, столкнулся со следующей неполадкой.
В одном из проектов под crm 4.0 следующий код работал идеально, а теперь возвращает Generic SQL error. Проблема именно в поле TO - как только убираю его из запроса, он отрабатывает корректно. Поставил недавно 7 ролап. База SQL 2005. У кого подобная конфигурация, попробуйте? Код: private CrmService myservice; private CrmService service { get { if (myservice == null) { // connect and authenticate to CrmService CrmAuthenticationToken token = new CrmAuthenticationToken(); token.AuthenticationType = 0; token.OrganizationName = OrgName.Text; myservice = new CrmService(); myservice.Url = @"http://" + CrmServername.Text + "/mscrmservices/2007/crmservice.asmx"; myservice.Credentials = new System.Net.NetworkCredential("USER", "PASS", "DOMEN"); ; myservice.CrmAuthenticationTokenValue = token; } return myservice; } } ... private void DeleteDupActivities() { try { #region запрос к сущности email QueryExpression query = new QueryExpression(); query.EntityName = EntityName.email.ToString(); ColumnSet cols = new ColumnSet(); cols.Attributes = new string[] { "activityid", "description", "statecode", "statuscode", "to", "subject" }; ConditionExpression condition = new ConditionExpression(); condition.AttributeName = "activityid"; condition.Operator = ConditionOperator.NotNull; FilterExpression filter = new FilterExpression(); filter.FilterOperator = LogicalOperator.And; filter.Conditions = new ConditionExpression[] { condition }; query.ColumnSet = cols; query.Criteria = filter; #endregion BusinessEntityCollection bec_email = service.RetrieveMultiple(query); } catch (SoapException ex) { textBox1.Text += ex.Detail.InnerText; } catch (Exception ex) { textBox1.Text += ex.ToString(); } } Код: ... for (int i = 0; i < bec_email.BusinessEntities.Length; i++) { email oEmail = (email)service.Retrieve("email", ((email)bec_email.BusinessEntities[i]).activityid.Value, new AllColumns()); textBox1.Text += oEmail.to[0].addressused + "\r\n"; }
__________________
CRM programmer Последний раз редактировалось SVK; 30.11.2009 в 20:45. Причина: дополнение |
|
01.12.2009, 17:19 | #2 |
Участник
|
Ну, как водится, ответ ужасающ!
Чтобы это заработало нужно всего-то использовать query.PageInfo и шагать по страничкам. Узнали это благодаря трассировке, которая показала как падает SQL RPC, у которой более 2100 параметров.
__________________
CRM programmer |
|
Теги |
email, error |
|
|