Microsoft CRM Customization geheimen? tweede editie
Dit artikel is voor geavanceerde Microsoft CRM SDK C # ontwikkelaars. Het beschrijft de techniek van directe SQL programmering, wanneer SDK niet over de functionaliteit om de job.Introduction doen. Het lijkt erop dat Microsoft CRM wordt meer en meer populair, mede omdat de spieren van Microsoft achter zich. Nu is het gericht op het hele spectrum van horizontale en verticale markt cliënteel. Het is nauw geïntegreerd met andere Microsoft Business Oplossingen producten zoals Microsoft Great Plains, Solomon, Navision (de laatste twee in uitvoering). Hier beschrijven we de techniek van het creëren van gesloten activiteiten e-mail met MS CRM SDK en directe SQL programming.Imaging iets als dit. U moet behandelen inkomende e-mail voordat het zich in voor MS Exchange-database. U moet analyseren als inkomende e-mail geen GUID in haar Onderwerp (GUID zal MS CRM Exchange Connector om naar e-mail aan Microsoft CRM en voeg het bij het Contact, Account of lood) - dan moet u toch MS CRM zoeken in het geval als een van de rekeningen, contactpersonen of leads heeft e-mailadres dat wedstrijden met afzender e-mail adres - dan moet je gesloten activiteit-e-mail in MS CRM te creëren, verbonden aan het object en geplaatst in het algemeen queue.How naar MS Exchange-handler maken is buiten het toepassingsgebied vindt u in dit artikel: http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htmNow onderstaande code wordt de klassieke MS CRM SDK en het zal creëren activiteit e-mail: public Guid CreateEmailActivity GUID (userid, int Type object, guid objectid, string mailfrom, CRMUser crmUser, string subject, string body) (try (log.Debug ( "Bereid je voor op Mail activiteit maken ");// 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 = new 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 + = "" + 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 (Type object == Microsoft.Crm.Platform.Types.ObjectType.otAccount) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString () + "";) else if (Type object == Microsoft.Crm.Platform . Types.ObjectType.otContact) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString () + "";) else if (Type object == Microsoft.Crm.Platform.Types.ObjectType.otLead) (strPartiesXml + = " "+ Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString() + 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 ();) Onze kredieten aan Anna Osborn (zo duidelijk zakje aquarium gaat naar haar ? glimlach!), laat ze ons weten hoe MS CRM sluiten Activiteit: / / schept de activitystrActivityId = oActivity.Create (userAuth, strXml, activityPartyXml); / / sluit zolang de relevante velden zijn voltooid oActivity.Close (userAuth, strActivityId, -1); Maar in ieder geval wat u vindt hieronder kunnen u helpen om te doen wat niet CRM SDK kan. Nu wil ik de truc met u te delen - er is geen methode om deze activiteit te maken gesloten in MS CRM SDK 1.2 (als iemand weet dat het een - I owe u kleine pocket aquarium - glimlach!). Uiteraard Microsoft biedt geen ondersteuning als u rechtstreeks SQL programmering omzeilen SDK doen. Maar ik zou zeggen dit is niet de directe objecten schepping - dit is nogal vlaggen correctie. Zo hier is wat we hebben - deze procedure zal het werk doen en maak activiteit gesloten: public void UpdateActivityCodes (GUID emailId) (try (OleDbCommand command = conn.CreateCommand (); command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) WANNEER 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);)) Happy aanpassen! Als u wilt dat wij het werk doen - geef ons een seintje 1-866-528-0577! help@albaspectrum.comAbout De AuthorAndrew Karasev is Chief Technology Officer in Alba Spectrum Technologies? USA landelijke Microsoft CRM, Microsoft Great Plains customization bedrijf, gevestigd in Chicago, Arizona,
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!