29.09.2008, 12:07 | #1 |
Участник
|
Действия Интереса (Lead Activities)
Возможно кто-то сталкивался уже с подобной проблемой.
Программно создаю Lead из Email, сразу в поле Email "В отношении" проставляю только что созданный интерес. Но в Действиях Интереса не появляется исходное Email. Раскопала,что связаны они,вроде,через ActivityPointer. Попробовала проверить,создаю ручками Интерес,подставляю его в Email - в Действиях прописывается Email. сравнила в базе две записи(созданную мной и созданную программно)-отличий нету Еще, при программном заполнении поля Email "В отношении" заполняю такие поля: regardingobjectid, regardingobjecttypecode, regardingobjectiddsc, regardingobjectidname. Может какие-то поля недосмотрела? CRM4 Последний раз редактировалось MFCшный Wizard; 29.09.2008 в 12:12. |
|
29.09.2008, 22:37 | #2 |
Участник
|
Ну так код в студию!
|
|
30.09.2008, 11:48 | #3 |
Участник
|
sId-Guid текущего Email
currentuserstring-Guid текущего пользователя dbh-подключение к базе. go-просто выполняет запрос Цитата:
Guid id = new Guid(sId);
Guid leadID = new Guid(); email oEmail = (email)crmService.Retrieve(EntityName.email.ToString(), id, new AllColumns()); lead oLead = new lead(); Owner currentowner = new Owner(); currentowner.type = EntityName.systemuser.ToString(); currentowner.Value =new Guid(currentuserstring); oLead.ownerid = currentowner; oLead.firstname = "name"; oLead.lastname = "surname"; oLead.emailaddress1 = "email@mail.com"; oLead.companyname = "company"; oLead.subject = "subject"; leadID = crmService.Create(oLead); dbh.go(@"update email set regardingobjectid='{0}',regardingobjecttypecode=4,regardingobjectiddsc=0, regardingobjectidname='{1}' where activityId='{2}'", leadID.ToString(), oLead.firstname+' '+oLead.lastname, sId); |
|
30.09.2008, 16:34 | #4 |
Участник
|
Разобралась.
при связке Email c Lead в таблицу activityparty добавляется связывающая запись |
|
01.10.2008, 02:26 | #5 |
Участник
|
вообще-то, это как минимум должно было выглядеть вот так: Код: Guid id = new Guid(sId); Guid leadID = new Guid(); email oEmail = (email)crmService.Retrieve(EntityName.email.ToString(), id, new AllColumns()); lead oLead = new lead(); Owner currentowner = new Owner(); currentowner.type = EntityName.systemuser.ToString(); currentowner.Value =new Guid(currentuserstring); oLead.ownerid = currentowner; oLead.firstname = "name"; oLead.lastname = "surname"; oLead.emailaddress1 = "email@mail.com"; oLead.companyname = "company"; oLead.subject = "subject"; leadID = crmService.Create(oLead); oEmail.regardingobjectid = new Lookup(); oEmail.regardingobjectid.type = EntityName.lead.ToString(); oEmail.regardingobjectid.Value = leadID; crmService.Update(oEmail); |
|
|
За это сообщение автора поблагодарили: MFCшный Wizard (1). |
01.10.2008, 08:30 | #6 |
Moderator
|
2MFCшный Wizard. Еще никогда такого дурного дизайна не видел, чтобы в одном методе 2 подхода смешивали! Используйте только методы веб сервисов и все будет куда проще и понятнее. По крайней мере не придется с object code возиться.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
За это сообщение автора поблагодарили: MFCшный Wizard (1). |
|
|