Aplikace Microsoft CRM programování tajemství? Tipy pro vývojáře
Tento článek je určen pro pokročilé vývojáře Microsoft CRM SDK C #. Popisuje techniku přímého programování SQL, když SDK nemá funkce dělat job.Introduction. Vypadá to, že Microsoft CRM se stává více a více populární, částečně proto, svalů Microsoft za to. Nyní je zaměřen na celé spektrum horizontálních a vertikálních trhu klientelu. Je úzce integrován s ostatními Microsoft Business Řešení, výrobků, jako jsou Microsoft Great Plains, Solomon, Navision (poslední dvě v jednání). Zde popíšeme techniku vytváření uzavřených aktivity-e-mail pomocí MS CRM SDK a přímý SQL programming.Imaging něco takového. Potřebujete zpracovávat příchozí e-maily před tím, než se zavázala k databázi MS Exchange. Je potřeba analyzovat příchozí e-maily, pokud nemá GUID ve svém předmětu (GUID umožní MS CRM Exchange Connector přejít na e-mailu aplikace Microsoft CRM a připojit k kontakt, účet nebo olovo) - pak bude ještě potřeba vyhledávací MS CRM v případě, pokud jeden z účtů, kontaktů nebo vede má e-mailovou adresu odesílatele, které se shoduje s e-mailem adresa - pak musíte vytvořit uzavřený činnost-e-mailu v MS CRM, spojená s objektem a umístěn do obecné queue.How vytvořit MS Exchange psovod je mimo rozsah, přečtěte si tento článek: http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm Nyní kód je klasický MS CRM SDK a bude vytvářet aktivity email: public Guid CreateEmailActivity (Guid userId, int OBJECTTYPE, Guid objectID, string mailFrom, CRMUser crmUser, String subject, string tělo) (try (log.Debug ( "Připravte se na Mail Aktivita Vytvoř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 = new 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 + = "" + 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 + "" if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString () + "";) else if (objectType == Microsoft.Crm.Platform . Types.ObjectType.otContact) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString () + "";) else if (objectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) (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) / / 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 + "rn" + e.StackTrace);) return new Guid ();) Nyní bych se chtěl podělit o trik s vámi - je žádná metoda, aby tuto činnost uzavřena v MS CRM 1.2 SDK (pokud někdo ví jedno - ti dlužím malé kapesní akvárium - úsměv!). Pochopitelně Microsoft nepodporuje, pokud nemáte přímé SQL programování obcházet SDK. Nicméně já bych to není přímo vytváření objektů - to je spíše vlajky korekce. Takže tady je to, co máme - tento postup se bude dělat svou práci a činnost uzavřena: public 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 + "rn" + e.StackTrace);)) Happy přizpůsobení! Pokud chcete, abychom si práci - zavolejte 1-866-528-0577! help@albaspectrum.comAndrew Karasev je Chief Technology Officer ve Alba Spectrum Technologies? USA celostátní Microsoft
Č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ář!