Segreti di programmazione Microsoft CRM? Consigli per gli sviluppatori
Questo articolo è avanzato per Microsoft CRM SDK sviluppatori C #. Esso descrive la tecnica della programmazione SQL diretta, quando SDK non ha la funzionalità di fare la job.Introduction. Assomiglia a Microsoft CRM diventa sempre più popolari, in parte a causa dei muscoli Microsoft dietro di esso. Ora si è rivolto a tutta la gamma di clientela del mercato orizzontale e verticale. E 'strettamente integrato con altre applicazioni di Microsoft Business Soluzioni di prodotti come Microsoft Great Plains, Solomon, Navision (gli ultimi due in corso). Qui si descrive la tecnica di creazione di attività chiuso e-mail utilizzando MS CRM SDK e diretto programming.Imaging SQL qualcosa di simile a questo. È necessario gestire e-mail in arrivo prima che si è impegnata a database MS Exchange. È necessario analizzare se e-mail in arrivo non ha ancora GUID nel suo Oggetto (GUID permetterà MS CRM Exchange Connector per spostarsi e-mail a Microsoft CRM e attaccarlo al contatto, account o piombo) - quindi è ancora bisogno di ricerca MS CRM nel caso in cui se uno dei conti, contatti o porta ha indirizzo di posta elettronica che corrisponde con la posta elettronica del mittente indirizzo -, allora avete bisogno di creare attività chiuse e-mail in MS CRM, collegato con l'oggetto e messo in queue.How generale per creare gestore di MS Exchange è al di fuori del campo di applicazione, si prega di leggere questo articolo: Ora il codice qui sotto è http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm classica MS CRM SDK e creerà attività di e-mail: public Guid CreateEmailActivity (Guid userid, objectType int, Guid objectId, mailFrom stringa, crmUser CRMUser, string oggetto, string body) (try (log.Debug ( "Prepare for Mail creatrice ");// BizUser proxy bizUser objectMicrosoft.Crm.Platform.Proxy.BizUser = new Microsoft.Crm.Platform.Proxy.BizUser (); sysPassword credenziali ICredentials = new NetworkCredential (sysUserId,, sysDomain); bizUser.Url = crmDir + "BizUser.srf"; bizUser.Credentials = credenziali; userAuth Microsoft.Crm.Platform.Proxy.CUserAuth = bizUser.WhoAmI ();// CRMEmail email objectMicrosoft.Crm.Platform.Proxy.CRMEmail proxy = new Microsoft.Crm.Platform.Proxy.CRMEmail (); email.Credentials = credenziali; email.Url = crmDir + "CRMEmail.srf"; / / Imposta la stringa XML per il strActivityXml activitystring = ""; strActivityXml + = "" ; strActivityXml + = "") + "]]>"; StrActivityXml + = ""; strActivityXml + = userId.ToString ( "B") + ""; strActivityXml + = "";// impostare la stringa di XML per l'attività 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); / / Create the 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 + "Fonte:" + e.Source);) catch (Exception e) (log.Debug (e.Message + "rn" + e.StackTrace);) return new Guid ();) Ora vorrei condividere con voi il trucco - non vi è alcun metodo per rendere questa attività chiusa in MS CRM SDK 1.2 (se qualcuno conosce l'uno - vi devo acquario piccola tasca - smile!). Ovviamente Microsoft non supporta se fai SDK SQL diretto aggirando programmazione. Tuttavia direi che questo non è diretta la creazione di oggetti - questo è piuttosto bandiere di correzione. Ecco quello che abbiamo - questa procedura farà il lavoro e rendere l'attività chiusa: public void UpdateActivityCodes (Guid emailId) (try (comando OleDbCommand = conn.CreateCommand (); command.CommandText = "UPDATE ActivityBase SET = (?), statecode = (?), PriorityCode = (?) WHERE ActivityId DirectionCode = (?)"; command.Prepare (); command.Parameters.Add (nuovo OleDbParameter ( "DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING)); command.Parameters.Add (nuovo OleDbParameter ( "statecode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED)); command.Parameters.Add (nuovo OleDbParameter ( "PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM)); command.Parameters.Add (nuovo OleDbParameter ( "ActivityId", emailId)); log.Debug ( "Preparatevi ad aggiornare il codice attività" + emailId.ToString ( "B") + "in ActivityBase"); command.ExecuteNonQuery ();) catch (Exception e) ( log.Debug (e.Message + "rn" + ) e.StackTrace;)) personalizzazione Happy! se vuoi che facciamo il lavoro - di darci una chiamata 1-866-528-0577! help@albaspectrum.comAndrew Karasev è Chief Technology Officer di Alba Technologies Spectrum? USA nazionale Microsoft
Fonte dell'articolo: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Webmaster prendi il Codice Html
Aggiungi questo articolo al tuo sito ora!
Webmaster invia i tuoi Articoli
Nessuna registrazione richiesta. Compila il form e i tuoi articoli sono nella Directory di Messaggiamo.Com