Segreti di personalizzazione di Microsoft CRM? seconda edizione
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 vedere questo Articolo: http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htmNow il codice qui sotto è 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 + "" + e.StackTrace);) return new Guid ();) I nostri crediti di Anna Osborn (così evidentemente acquario piccola tasca si reca da lei ? sorriso!), lei in che modo per chiudere MS CRM Attività: / / crea la activitystrActivityId = oActivity.Create (userAuth, strXML, activityPartyXml); / / chiude il più a lungo i settori rilevanti sono completi oActivity.Close (userAuth, strActivityId, -1), ma in ogni caso tutto quello che trovate qui sotto potrebbe aiutarvi a fare tutto ciò che non può CRM SDK. Ora vorrei condividere con voi il trucco - non esiste alcun metodo per rendere questa attività chiusa in MS CRM SDK 1.2 (se qualcuno conosce l'uno - debbo si 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. Così 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 DirectionCode = (?), Statecode = (?), PriorityCode = (?) WHERE ActivityId = (?)"; 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 + "" + e.StackTrace);)) personalizzazione Happy! se vuoi che facciamo il lavoro - di darci una chiamata 1-866-528-0577! help@albaspectrum.comAbout Il Karasev AuthorAndrew è Chief Technology Officer di Alba Technologies Spectrum? Nazionale USA di Microsoft CRM, Microsoft Great Plains società di personalizzazione, con sede a Chicago, Arizona,
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