|
01.03.2010, 23:15 | #1 |
Участник
|
Crm 3.0: custom workflow create email from template
Добрый день,
подскажите как создать email на основе шаблона хочется вместо X++: email email = new email(); email.trackingtoken = " "; activityparty fromparty = new activityparty(); fromparty.partyid = new Lookup(); fromparty.partyid.type = EntityName.systemuser.ToString(); fromparty.partyid.Value = userId; email.from = new activityparty[] {fromparty}; activityparty toparty = new activityparty(); toparty.partyid = new Lookup(); toparty.partyid.type = EntityName.account.ToString(); toparty.partyid.Value = accountId; email.to = new activityparty[] {toparty}; email.sender = emailSender; email.subject = emailSubj; email.description = emailDesc; email.ownerid = new Owner(); email.ownerid.type = EntityName.systemuser.ToString(); email.ownerid.Value = userId; Guid emailId = service.Create(email); X++: email email = new email();
email.CopyFromTemplate(templateId);
Guid emailId = service.Create(email); |
|
02.03.2010, 10:00 | #2 |
Moderator
|
Используйте InstantiateTemplate Message
// Set up the CRM Service. CrmService service = new CrmService(); service.Credentials = System.Net.CredentialCache.DefaultCredentials; // Create a template instantiation request. InstantiateTemplateRequest instTemplate = new InstantiateTemplateRequest(); // The email template to use. instTemplate.TemplateId = new Guid("9AF74EF9-A04C-DA11-A0C5-000D9DD8CDAC"); // The object that this email is regarding. instTemplate.ObjectId = new Guid("A0F2D8FE-6468-DA11-B748-000D9DD8CDAC"); instTemplate.ObjectType = EntityName.account.ToString(); //Uncomment this next line to return dynamic entities. //instTemplate.ReturnDynamicEntities = true; // Execute the request to create an email message from the template. InstantiateTemplateResponse instTemplateResponse = (InstantiateTemplateResponse)service.Execute(instTemplate);
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
За это сообщение автора поблагодарили: wb (1). |
03.03.2010, 16:48 | #3 |
Участник
|
спасибо.
1) Написал вот такой код X++: InstantiateTemplateRequest templateReq = new InstantiateTemplateRequest(); templateReq.TemplateId = templateId; templateReq.ObjectId = accountId; templateReq.ObjectType = EntityName.account.ToString(); templateReq.ReturnDynamicEntities = true; InstantiateTemplateResponse templateRes = (InstantiateTemplateResponse) service.Execute(templateReq); email email = (email) templateRes.BusinessEntityCollection.BusinessEntities[0]; email.trackingtoken = " "; email.ownerid = new Owner(); email.ownerid.type = EntityName.systemuser.ToString(); email.ownerid.Value = userId; Guid emailId = service.Create(email); X++: Error code = 8004280b.Unable to cast object of type 'CrmSdk.DynamicEntity' to type 'CrmSdk.email'. 2) насколько я понял к шаблону нельзя прикреплять файлы, т.е. шаблон письма будет без вложений, тогда где лучше сохранять вложения, чтобы их затем прикреплять к письмам? нельзя также в шаблон вставлять картинки (логотип)? |
|
03.03.2010, 17:07 | #4 |
Чайный пьяница
|
Цитата:
Сообщение от wb
спасибо.
1) Написал вот такой код X++: InstantiateTemplateRequest templateReq = new InstantiateTemplateRequest(); templateReq.TemplateId = templateId; templateReq.ObjectId = accountId; templateReq.ObjectType = EntityName.account.ToString(); templateReq.ReturnDynamicEntities = true; InstantiateTemplateResponse templateRes = (InstantiateTemplateResponse) service.Execute(templateReq); email email = (email) templateRes.BusinessEntityCollection.BusinessEntities[0]; email.trackingtoken = " "; email.ownerid = new Owner(); email.ownerid.type = EntityName.systemuser.ToString(); email.ownerid.Value = userId; Guid emailId = service.Create(email); X++: Error code = 8004280b.Unable to cast object of type 'CrmSdk.DynamicEntity' to type 'CrmSdk.email'. templateReq.ReturnDynamicEntities = false; Цитата:
Попробуйте так. Правда в статье описывается Microsoft Dynamics CRM 4.0. Насчёт того подойдёт ли это под 3.0 - не могу сказать.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: wb (1). |
03.03.2010, 17:47 | #5 |
Участник
|
Спасибо. Теперь работает
Цитата:
Может в Sales&Service Docs, но как программно их от туда достать? Цитата:
Сообщение от a33ik
Попробуйте так. Правда в статье описывается Microsoft Dynamics CRM 4.0. Насчёт того подойдёт ли это под 3.0 - не могу сказать.
Последний раз редактировалось wb; 03.03.2010 в 18:06. |
|
03.03.2010, 19:01 | #6 |
Чайный пьяница
|
Цитата:
Вот этого не подскажу, потому что 3.0 видел в глаза пару раз, а опыт приобрёл уже на 4.0. Смотрите SDK по тройке. В самом шаблоне изначально картинки отображаются? Я помню вставлял как ссылки на picasa - и всё чудесно работало. Правда опять таки в 4.0.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
Теги |
email, workflow, crm3 |
|
|