Microsoft CRM přizpůsobení? programování uzavřené email činnost
Microsoft CRM je CRM odpověď od Microsoftu a pokusit se získat podíl na trhu z Siebel, Oracle a další tradiční klientů systém řízení vztahů se prodejce. Microsoft CRM využívá celé spektrum společnosti Microsoft poslední technologie:. Net, MS Exchange, MS Outlook, MS SQL Server, replikace, Indexing, Active Directory, Windows 2000/2003 bezpečnostní model, C #, VB.Net, HTML, XML, Web Service, XLTP, Javascript abychom jmenovali alespoň některé. Dnešní téma je Aktivita e-mailu typu programování - obvykle řešení těchto úprav při zlepšení Microsoft Exchange CRM konektor. Jak si vytvořit uzavřený činnost - to je hlavní téma diskuse. Budeme použít C #. Čisté codingOne rolí našich Exchange Event Handler / Umyvadlo je vytvoření MS CRM Zavřeno činnosti při vyřizování příchozí a odchozí e-mailové zprávy. Interakce s Microsoft CRM používá dva přiblížil? pomocí MS CRM SDK (zpracování příchozích a odchozích zpráv XML) a prostřednictvím přímého přístupu k databázi MS CRM. Pojďme se podívat na první Uzavřený algoritmus činnosti vytváření: 1. Nejprve je potřeba pochopit subjektu musíme vytvořit aktivity pro: účet, olovo nebo kontakt. Výběr by měl používat zvláštní kritéria? V našem případě je to e-mailová adresa: if ((crmAccount = crmConnector.GetAccount (mailboxFrom))! = null) () else if ((= crmContact crmConnector.GetContact (mailboxFrom))! = null) () else if ((crmLead = crmConnector.GetLead (mailboxFrom))! = null) () 2. Pak jsme se dostat do GUID uživatele MS CRM, kdo je vlastníkem tohoto subjektu, C # kód, jako je tento: crmUser = crmConnector.GetUser (crmAccount.GetOwnerId ()); 3. Dalším krokem je vytvoření uzavřeného Aktivita: 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.. Metoda vytvořit uzavřený činnosti: public Guid CreateEmailActivity (Guid userId, int fromObjectType, Guid fromObjectId, int toObjectType, Guid toObjectId, mailFrom řetězec, řetězec mailto, String subject, string tělo) (try (log.Debug ( "Připravte se na Mail Aktivita Vytváření ");// BizUser proxy objectMicrosoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser (); ICredentials credentials = new NetworkCredential (sysUserId, sysPassword, sysDomain); bizUser.Url = crmDir + "BizUser.srf"; bizUser.Credentials = pověření; Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI ();// CRMEmail proxy objectMicrosoft.Crm.Platform.Proxy. CRMEmail email = nové Microsoft.Crm.Platform.Proxy.CRMEmail (); email.Credentials = pověření; email.Url = crmDir + "CRMEmail.srf" / / Nastavení XML řetězec pro activitystring strActivityXml = ""; strActivityXml + = " "; strActivityXml + = "") + "]]>"; StrActivityXml + = ""; strActivityXml + = userId.ToString ( "B") + ""; strActivityXml + = "";// Nastavte řetězec XML pro činnost partiesstring strPartiesXml = ""; strPartiesXml + = ""; 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) / / Vytvoření e-mail objectGuid emailId = new Guid (email.Create (userAuth, strActivityXml, strPartiesXml)) return emailId;) catch (System.Web.Services.Protocols.SoapException e) (log.Debug ( "ErrorMessage:" e.Message + + "" + e. Detail.OuterXml + "Zdroj:" + e.Source);) catch (Exception e) (log.Debug (e.Message + "" + e.StackTrace);) return new Guid ();) 5. Chcete-li činnost právě vytvořený v daném období správně musíte nastavit to podle vlajek MS CRM normy: veřejná void UpdateActivityCodes (Guid emailId) (try (OleDbCommand command = conn.CreateCommand (); command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) KDE ActivityId = (?)"; command.Prepare (); command.Parameters.Add (nové OleDbParameter ( "DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING)); command.Parameters.Add (nové OleDbParameter ( "StateCode" , Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED)); command.Parameters.Add (nové OleDbParameter ( "PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM)); command.Parameters.Add (nové OleDbParameter ( "ActivityId", emailId)); log.Debug ( "Připravte se na aktualizaci kód činnosti" + emailId.ToString ( "B") + "v 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 Priority = (?), stát = (?), QueueId = (?) KDE ObjectID = (?)"; command.Prepare (); command.Parameters.Add (nové OleDbParameter ( "Priorita", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM)); command.Parameters.Add ( Nový OleDbParameter ( "stát", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED)); command.Parameters.Add (nové OleDbParameter ( "QueueId", queueId)); command.Parameters.Add (nové OleDbParameter ( "ObjectID", emailId)); log. debug ( "Připravte se na aktualizaci činnost fronta kód "+ emailId.ToString (" B ") +" v QueueItemBase "); command.ExecuteNonQuery ();) catch (Exception e) (log.Debug (e.Message +" "e.StackTrace +);) ) Happy přizpůsobení, implementaci a kterým se mění! Pokud chcete abychom udělali místo - zavolejte 1-866-528-0577! help@albaspectrum.comAbout AuthorBoris Makushkin je dodací Software Developer v Alba Spectrum Technologies? USA celostátní Microsoft CRM, Microsoft Great Plains
Článek Zdroj: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Webmaster si html kód
Přidejte tento článek do svých webových stránek se!
Webmaster Zašlete svůj článek
Ne nutná registrace! Vyplňte formulář a váš článek je v Messaggiamo.Com Adresář!