Microsoft CRM customization? programmering gesloten e-activiteit
Microsoft CRM is CRM antwoord van Microsoft en poging om marktaandeel te krijgen van Siebel, Oracle en andere traditionele Client Relationship Management Systeem leveranciers. Microsoft CRM maakt gebruik van al het spectrum van Microsoft recente technologieën:. Net, MS Exchange, MS Outlook, MS SQL Server, replicatie, Indexing, Active Directory, Windows 2000/2003 veiligheid model, C #, VB.Net aan, HTML, XML Web Service, XLTP, Javascript een paar te noemen. vandaag onderwerp is Activiteit van e-type programmering - je meestal omgaan met deze aanpassingen te verbeteren wanneer u Microsoft Exchange CRM-connector. Hoe creëer je gesloten activiteit - dit is de belangrijkste discussie onderwerp. We gebruik van C #. netto codingOne van de rol van onze Exchange Event Handler / Sink is schepping MS CRM Gesloten activiteit in het omgaan met inkomende en uitgaande e-mailberichten. De interactie met Microsoft CRM maakt gebruik van twee benaderd? met MS CRM SDK (behandeling inkomende en uitgaande XML-berichten) en via directe toegang tot MS CRM Database. Laten we eerst kijken naar de Gesloten Activiteit oprichting algoritme: 1. Allereerst moeten we begrijpen de entiteit moeten we creëren activiteit voor: Account, lood of Contact. De selectie moet gebruiken specifieke criteria? in ons geval is dit e-mailadres: if ((crmAccount = crmConnector.GetAccount (mailboxFrom))! = null) () else if ((crmContact = crmConnector.GetContact (mailboxFrom))! = null) () else if ((crmLead = crmConnector.GetLead (mailboxFrom))! = null) () 2. Dan moeten we krijgen GUID van MS CRM-gebruiker, die eigenaar is van deze entiteit, C #-code als volgt: crmUser = crmConnector.GetUser (crmAccount.GetOwnerId ()); 3. Volgende stap is gesloten Activiteit creatie: 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. De methode om gesloten activiteit: openbaar Guid CreateEmailActivity GUID (userid, int fromObjectType, guid fromObjectId, int toObjectType, guid toObjectId, string mailfrom, string mailto, string subject, string body) (try (log.Debug ( "Bereid je voor Mail Activiteit Het creëren van ");// BizUser proxy objectMicrosoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser (); ICredentials geloofsbrieven = new NetworkCredential (sysUserId, sysPassword, sysDomain); bizUser.Url = crmDir + "BizUser.srf"; bizUser.Credentials = geloofsbrieven; Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI ();// CRMEmail proxy objectMicrosoft.Crm.Platform.Proxy. CRMEmail email = nieuw Microsoft.Crm.Platform.Proxy.CRMEmail (); email.Credentials = geloofsbrieven; email.Url = crmDir + "CRMEmail.srf"; / / Set up van de XML-string voor de activitystring strActivityXml = ""; strActivityXml + = " "; strActivityXml + = "") + "]]>"; StrActivityXml + = ""; strActivityXml + = userId.ToString ( "B") + ""; strActivityXml + = "";// Stel de XML-string voor de activiteit partiesstring strPartiesXml = ""; strPartiesXml + = ""; strPartiesXml + = "" + mailto + "" if (toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString () + "";) else if (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); / / Maak de e-mail objectGuid emailId = nieuw Guid (email.Create (userAuth, strActivityXml, strPartiesXml)); return emailId;) catch (System.Web.Services.Protocols.SoapException e) (log.Debug ( "ErrorMessage:" + e.Message + "" + e. Detail.OuterXml + "Bron:" + e.Source);) catch (Exception e) (log.Debug (e.Message + "" + e.StackTrace);) return new Guid ();) 5. Om de activiteit zojuist aangemaakte correct moet u instellen dat het vlaggen volgens MS CRM normen worden getoond: openbaar void UpdateActivityCodes (GUID emailId) (try (OleDbCommand command = conn.CreateCommand (); command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WHERE ActivityId = (?)"; command.Prepare (); command.Parameters.Add (nieuw OleDbParameter ( "DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING)); command.Parameters.Add (nieuw OleDbParameter ( "StateCode" , Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED)); command.Parameters.Add (nieuw OleDbParameter ( "PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM)); command.Parameters.Add (nieuw OleDbParameter ( "ActivityId", emailId)); log.Debug ( "Bereid te werken activiteit code" + emailId.ToString ( "B") + "in 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 Prioriteit = (?), State = (?), QueueId = (?) WHERE objectid = (?)"; command.Prepare (); command.Parameters.Add (nieuw OleDbParameter ( "Priority", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM)); command.Parameters.Add ( nieuwe OleDbParameter ( "State", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED)); command.Parameters.Add (nieuw OleDbParameter ( "QueueId", queueId)); command.Parameters.Add (nieuw OleDbParameter ( "objectid", emailId)); log. Debug ( "Bereid te werken activiteit wachtrij code "+ emailId.ToString (" B ") +" in QueueItemBase "); command.ExecuteNonQuery ();) catch (Exception e) (log.Debug (e.Message +" "+ e.StackTrace);) Happy) aanpassen, implementeren en aanpassen! Als u wilt ons het werk doen - geef ons een seintje 1-866-528-0577! help@albaspectrum.comAbout De AuthorBoris Makushkin is Lead Software Developer in Alba Spectrum Technologies? USA landelijke Microsoft CRM, Microsoft Great Plains
Artikel Bron: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Webmaster krijgen html code
Voeg dit artikel aan uw website!
Webmaster verzenden van artikelen
Geen registratie vereist! Vul het formulier in en uw artikel is in de Messaggiamo.Com Directory!