Показать сообщение отдельно
Старый 06.01.2010, 17:02   #5  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
html врятли... письма в crm предствлят из себя аттачи из html-файлов. Разве что как-нить преодбразовать на почтовом сервере, который используется для пересылки,
Можете поделиться откуда почерпнули информацию про аттачи? Вот такой запрос - Select Description From Email
мне говорит совсем о другом - что тело письма хранится в самой таблице с имейлами.

Цитата:
Сообщение от Jbanoff Посмотреть сообщение
Можно ли отпралять сообщение из CRM в виде текста, а не HTML? Или каким образом перекодировать сообщение на лету.
Теоретически это можно сделать, но я в таком не упражнялся. Можно попытаться плагином перехватить момент создания/изменения письма и при помощи регулярных выражений преобразовать содержимое в текст. Но это только теория.

UPD. Написал вот такой плагин:

X++:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Crm.Sdk;
using Microsoft.Crm.SdkTypeProxy;
using Microsoft.Crm.Sdk.Query;

namespace Plugins
{
	public class SendMessageHandler : IPlugin
	{
		#region IPlugin Members

		public void Execute(IPluginExecutionContext context)
		{
			if (context.MessageName == MessageName.Send)
			{
				Guid emailId = (Guid)context.InputParameters["EmailId"];
				ICrmService crmservice = context.CreateCrmService(true);
				email _email = (email)crmservice.Retrieve(EntityName.email.ToString(), emailId, new ColumnSet(new string[] { "description" }));

				if (string.IsNullOrEmpty(_email.description))
					return;

				string _emailBody = _email.description;

				_emailBody = _emailBody.Replace("</P>", Environment.NewLine);
				_emailBody = ((new System.Text.RegularExpressions.Regex("<[^>]*>")).Replace(_emailBody, ""));
				_email.description = _emailBody;
				crmservice.Update(_email);
			}
		}

		#endregion IPlugin Members
	}
}
Регистрировать его надо таким образом:

__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 06.01.2010 в 17:50.