¿Secretos De Programación De Microsoft CRM?
Extremidades Para Los Reveladores
Este artículo está para Microsoft avanzado CRM
SDK C # los reveladores. Describe la técnica del SQL directo
que programa, cuando SDK no tiene la funcionalidad para hacer el
trabajo.
Introducción. Los parecer Microsoft CRM llegan a
ser más y más populares, en parte debido a los músculos de
Microsoft detrás de ella. Ahora se apunta al espectro entero
de la clientela horizontal y vertical del mercado. Se integra
firmemente con otros productos de las soluciones del negocio de
Microsoft tales como grandes llanos de Microsoft, Solomon, Navision
(los dos pasados en marcha). Aquí describimos la técnica de
crear actividad-email cerrado usando a MS CRM SDK y dirigimos la
programación del SQL.
La proyección de imagen algo tiene gusto de esto.
Usted necesita manejar el email entrante antes de que esté
confiado a la base de datos del MS intercambio. Usted necesita
analizar si el email entrante no tiene GUID en su tema (GUID
permitirá que el conectador del intercambio de MS CRM mueva el email
a Microsoft CRM y lo una al contacto, a la cuenta o al plomo) -
entonces usted todavía necesita a MS CRM de las operaciones de
búsqueda en caso de que si una de las cuentas, entra en contacto con
o los plomos tienen email address que empareje con email address del
remitente - entonces usted necesidad de crear actividad-email cerrado
en MS CRM, unida al objeto y colocada en coleta general.
Cómo crear a tratante del MS intercambio está fuera del
alcance, ve por favor este artículo:
http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm Ahora el código abajo es MS clásico CRM SDK y
creará el email de la actividad:
Guid público CreateEmailActivity(Guid userId, objectType
interno, objectId de Guid, mailFrom de la secuencia, crmUser de
CRMUser, tema de la secuencia, cuerpo) de la secuencia {intento {
log.Debug("Prepare para la actividad del correo que
crea");
//objeto del poder de BizUser
BizUser de Microsoft.Crm.Platform.Proxy.BizUser =
Microsoft.Crm.Platform.Proxy.BizUser() nuevo;
Credenciales de ICredentials = NetworkCredential(sysUserId
nuevo, sysPassword, sysDomain);
bizUser.Url = crmDir + "BizUser.srf";
bizUser.Credentials = credenciales;
UserAuth de Microsoft.Crm.Platform.Proxy.CUserAuth =
bizUser.WhoAmI();
objeto del poder// CRMEmail
Microsoft.Crm.Platform.Proxy.CRMEmail email =
Microsoft.Crm.Platform.Proxy.CRMEmail() nuevo;
email.Credentials = credenciales;
email.Url = crmDir + "CRMEmail.srf";
//instale la secuencia de XML para la actividad
encadene el strActivityXml = "";
strActivityXml + = "";
strActivityXml + = "") + "]]>";
strActivityXml + = "";
strActivityXml + = userId.ToString("B") + "";
strActivityXml + = "";
//instale la secuencia de XML para los partidos de la
actividad
encadene el strPartiesXml = "";
strPartiesXml + = "";
strPartiesXml + = "" + crmUser.GetEmailAddress() + "";
strPartiesXml + = "" +
Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString() + "";
strPartiesXml + = "" + crmUser.GetId().ToString("B") + "";
strPartiesXml + = "";
strPartiesXml + =
Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString();
strPartiesXml + = "";
strPartiesXml + = "";
strPartiesXml + = "";
strPartiesXml + = "" + mailFrom + "";
si (== Microsoft.Crm.Platform.Types.ObjectType.otAccount
del objectType) {
strPartiesXml + = "" +
Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";
}
si (==
Microsoft.Crm.Platform.Types.ObjectType.otContact del objectType) {
strPartiesXml + = "" +
Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";
}
si (==
Microsoft.Crm.Platform.Types.ObjectType.otLead del objectType) {
strPartiesXml + = "" +
Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + "";
}
strPartiesXml + = "" + objectId.ToString("B") +
"";
strPartiesXml + = "";
strPartiesXml + =
Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString();
strPartiesXml + = "";
strPartiesXml + = "";
strPartiesXml + = "";
log.Debug(strPartiesXml);
//cree el objeto del E-mail
EmailId de Guid = Guid(email.Create(userAuth
nuevo, strActivityXml, strPartiesXml));
emailId de vuelta; } retén
(System.Web.Services.Protocols.SoapException e)
{log.Debug("ErrorMessage: "+ e.Message +" "+ e.Detail.OuterXml
+" fuente: "+ e.Source); } retén (excepción e)
{log.Debug(e.Message + "rn" + e.StackTrace); } vuelta Guid()
nuevo; }
Ahora quisiera compartir el truco con usted - no
hay método para hacer esta actividad cerrada en MS CRM SDK 1.2 (si
alguien conoce el - que le debo el acuario pequeño del bolsillo -
sonrisa!). Microsoft no apoya obviamente si usted dirige el SQL
que programa puenteando SDK. Sin embargo diría que ésta no es
creación de los objetos directos - ésta es señala algo la
corrección por medio de una bandera. Tan aquí es lo que
tenemos - este procedimiento hará el trabajo y hará la actividad
cerrada:
emailId vacío) de UpdateActivityCodes(Guid del público
{intento {
Comando de OleDbCommand = conn.CreateCommand();
command.CommandText = "ACTUALIZACIÓN ActivityBase
DirectionCode DETERMINADO = (?), StateCode = (?), PriorityCode = (?)
DONDE ActivityId = (?)";
command.Prepare();
command.Parameters.Add(new OleDbParameter("DirectionCode",
Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));
command.Parameters.Add(new OleDbParameter("StateCode",
Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));
command.Parameters.Add(new OleDbParameter("PriorityCode",
Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));
command.Parameters.Add(new OleDbParameter("ActivityId",
emailId));
log.Debug("Prepare para poner al día código de la
actividad" + emailId.ToString("B") + "en ActivityBase");
command.ExecuteNonQuery();
}
catch(Exception e) {
log.Debug(e.Message + "rn" + e.StackTrace);
}}
¡El modificar para requisitos particulares feliz!
¡si usted quisiera que hiciéramos el trabajo - dénos una
llamada 1-866-528-0577!
help@albaspectrum.com¿Andrew Karasev es principal oficial de la
tecnología en tecnologías alba del espectro? Los E.E.U.U.
Microsoft a nivel nacional CRM, compañía del arreglo para
requisitos particulares de los grandes llanos de Microsoft, basada en
las localizaciones de Chicago, de Boston, de San Francisco, de San
Diego, de Los Ángeles, de Houston, de Atlanta, de Nueva York, y de
Miami y el tener en estados múltiples e internacionalmente (
www.albaspectrum.com), él es destreza,
SQL, VB/C#.Net, revelador cristalino de los informes y de Microsoft
CRM SDK.
Artículo Fuente: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Webmaster obtener el código html
Añadir este artículo a su sitio web ahora!
Webmaster Envíe sus artículos
No es necesario que se registre! Completa el formulario y su artículo está en el Messaggiamo.Com Directorio!