Microsoft CRM personalização? programação fechada email actividade
O Microsoft CRM é atender a partir do Microsoft CRM e tentativa de quota de mercado de Siebel, Oracle e outros clientes tradicionais Relationship Management System vendedores. O Microsoft CRM usa todo o espectro da Microsoft recentes tecnologias:. Net, MS Exchange, MS Outlook, MS SQL Server, Replicação, indexação, o Active Directory, Windows 2000/2003 modelo de segurança, C #, VB.Net, HTML, XML Web Service, XLTP, Javascript para citar alguns. Today's Atividade é tema de e-mail tipo de programação - que geralmente lidam com estas personalizações quando você a melhorar o Microsoft Exchange CRM conector. Como você criar fechado atividade - esta é a discussão principal tópico. Iremos uso C #. NET codingOne dos papéis do nosso Exchange Event Handler / Sumidouro é criação MS CRM Fechado Actividade em movimentação de entrada e de saída mensagens. A interação com o Microsoft CRM usa dois abordado? utilizando MS CRM SDK (movimentação de entrada e saída XML mensagens) e via de acesso directo para o MS CRM Database. Vamos primeiro olhar para a criação Fechado Actividade algoritmo: 1. Primeiro precisamos entender a entidade que precisamos para criar atividade para: Conta, chumbo ou qualquer contato. A seleção deve usar critérios específicos? no nosso caso o endereço de e-mail é: if ((crmAccount = crmConnector.GetAccount (mailboxFrom))! = null) () else if ((crmContact = crmConnector.GetContact (mailboxFrom))! = null) () else if ((crmLead = crmConnector.GetLead (mailboxFrom))! = null) (2). Então temos de MS CRM GUID do usuário, que possui esta entidade, C # código como este: crmUser = crmConnector.GetUser (crmAccount.GetOwnerId ()); 3. Próxima etapa é encerrada Actividade criação: emailId = crmConnector.CreateEmailActivity (crmUser.GetId (), Microsoft.Crm.Platform.Types.ObjectType.otAccount, crmAccount.GetId (), Microsoft.Crm.Platform.Types.ObjectType.otSystemUser, crmUser.GetId (), crmAccount.GetEmailAddress (), crmUser.GetEmailAddress (), sSubject, sBody); 4. O método para criar fechada atividade: public Guid CreateEmailActivity (Guid userid, int fromObjectType, Guid fromObjectId, int toObjectType, Guid toObjectId, string mailFrom, string MailTo, string assunto, string body) (try (log.Debug ( "Preparar para Mail Actividade Criando ");// BizUser proxy objectMicrosoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser (); ICredentials credenciais = new NetworkCredential (sysUserId, sysPassword, sysDomain); bizUser.Url = crmDir + "BizUser.srf"; bizUser.Credentials = credenciais; Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI ();// crmemail proxy objectMicrosoft.Crm.Platform.Proxy. crmemail email = novo Microsoft.Crm.Platform.Proxy.CRMEmail (); email.Credentials = credenciais; email.Url = crmDir + "CRMEmail.srf"; / / Configure o XML para a seqüência activitystring strActivityXml = ""; strActivityXml + = " "; strActivityXml + = "") + "]]>"; StrActivityXml + = ""; strActivityXml + = userId.ToString ( "B") + ""; strActivityXml + = "";// Configurar o XML string para a actividade partiesstring strPartiesXml = ""; strPartiesXml + = ""; strPartiesXml + = "" + mailto + ""; if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString () + "";) else se (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString () + "";) else if (toObjectType == Microsoft.Crm.Platform . Types.ObjectType.otContact) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString () + "";) else if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) (strPartiesXml + = " "+ Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString () + "";) strPartiesXml + = "" + toObjectId.ToString ( "B") + ""; strPartiesXml + = ""; strPartiesXml + = Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString (); strPartiesXml + = ""; strPartiesXml + = ""; strPartiesXml + = ""; strPartiesXml + = "" + mailFrom + ""; if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString () + "";) else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString () + "";) else if (fromObjectType == Microsoft.Crm.Platform . Types.ObjectType.otContact) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString () + "";) else if (fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) (strPartiesXml + = " "+ Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString () + "";) strPartiesXml + = "" + fromObjectId.ToString ( "B") + ""; strPartiesXml + = ""; strPartiesXml + = Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString (); strPartiesXml + = ""; strPartiesXml + = ""; strPartiesXml + = ""; log.Debug (strPartiesXml); / / Cria o e-mail objectGuid emailId = new Guid (email.Create (userAuth, strActivityXml, strPartiesXml)); emailId retorno;) catch (System.Web.Services.Protocols.SoapException e) (log.Debug ( "ErrorMessage:" + e.Message + "" + e. Detail.OuterXml + "Fonte:" + e.Source);) catch (Exception e) (log.Debug (e.Message + "" + e.StackTrace);) return new Guid ();) 5. Para fazer com que a atividade acabou de criar ser exibido corretamente você precisa configurar as bandeiras que, de acordo com MS CRM normas: pública void UpdateActivityCodes (Guid emailId) (try (OleDbCommand command = conn.CreateCommand (); command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) ONDE ActivityId = (?)"; command.Prepare (); command.Parameters.Add (novo OleDbParameter ( "DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING)); command.Parameters.Add (novo OleDbParameter ( "StateCode" , Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED)); command.Parameters.Add (novo OleDbParameter ( "PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM)); command.Parameters.Add (novo OleDbParameter ( "ActivityId", emailId)); log.Debug ( "Prepare-se para atualizar actividade código" + emailId.ToString ( "B") + "em ActivityBase"); command.ExecuteNonQuery ();) catch (Exception e) ( log.Debug (e.Message + "" + e.StackTrace);)) public void UpdateActivityQueueCodes (Guid emailId, Guid queueId) (try (OleDbCommand command = conn.CreateCommand (); command.CommandText = "UPDATE QueueItemBase SET prioridade = (?), Estado = (?), QueueId = (?) ONDE ObjectId = (?)"; command.Prepare (); command.Parameters.Add (novo OleDbParameter ( "Prioridade", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM)); command.Parameters.Add ( novo OleDbParameter ( "Estado", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED)); command.Parameters.Add (novo OleDbParameter ( "QueueId", queueId)); command.Parameters.Add (novo OleDbParameter ( "ObjectId", emailId)); log. Debug ( "Prepare-se para atualização actividade fila código "+ emailId.ToString (" B ") +" em QueueItemBase "); command.ExecuteNonQuery ();) catch (Exception e) (log.Debug (e.Message +" "+ e.StackTrace);) ) Feliz personalização, execução e modificar! Se você quiser nos a fazer o trabalho - dar-nos uma chamada 1-866-528-0577! help@albaspectrum.comAbout O AuthorBoris Makushkin é Lead Software Developer em Alba Spectrum Technologies? E.U.A. nacional do Microsoft CRM, Microsoft Great Plains
Artigo Fonte: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Webmaster começa O Código do HTML
Adicionar este artigo para o seu site agora!
Webmaster enviar seus artigos
Nenhum registro necessário! Preencha o formulário e seu artigo está no Messaggiamo.Com Diretório!