Microsoft CRM тайни програмиране? Съвети за разработчици
Тази статия е за напреднали Microsoft CRM SDK C # програмисти. Тя описва техниката за преки програмиране SQL, когато SDK не разполага с функция да направи job.Introduction. Изглежда, че Microsoft CRM става все по-популярни, отчасти защото на Microsoft мускули зад него. Сега тя е насочена към целия спектър на хоризонтални и вертикални клиенти на пазара. Тя е плътно интегрирана с други бизнес Microsoft Решението продукти като Microsoft Great Plains, Соломон, Navision (последните две в момента). Тук описва техника за създаване на затворен дейности имейл използва MS CRM SDK и директни SQL programming.Imaging нещо подобно. Трябва да се справя входяща поща, преди да се ангажира с MS база данни борса. Трябва да се анализира дали входяща поща не е допуснат в своята тема (GUID ще позволи на държавите-членки CRM борса конектор да се движат електронно писмо до Microsoft CRM и я прикрепете към контакт, профил или олово) - тогава все още е необходимо да се намери MS CRM в случай, ако една от сметките, контакти, нито водата е-мейл адреса, който съвпада с подателя имейл адрес - тогава ще трябва да се създаде затворен дейности имейл в MS CRM, свързани с предмета и поставени в общ queue.How да се създаде MS Exchange треньор е извън обхвата, моля, вижте тази статия: http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm Сега кода по-долу е класическата MS CRM SDK и това ще се създаде имейл дейност: публично Guid CreateEmailActivity (GUID потребителското име, INT objectType, Guid objectId, низ mailFrom, CRMUser crmUser, при низ низ тялото) ((опитайте log.Debug ("Подгответе се за Mail дейността Създаване ");// прокси BizUser objectMicrosoft.Crm.Platform.Proxy.BizUser bizUser = нови Microsoft.Crm.Platform.Proxy.BizUser (); ICredentials пълномощията = нови NetworkCredential (sysUserId, sysPassword, sysDomain); bizUser.Url = crmDir + "BizUser.srf"; bizUser.Credentials = пълномощията; Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI ();// CRMEmail имейл прокси objectMicrosoft.Crm.Platform.Proxy.CRMEmail = нови Microsoft.Crm.Platform.Proxy.CRMEmail (); email.Credentials = пълномощията; email.Url = crmDir + "CRMEmail.srf"; / / Създаване на XML низ за activitystring strActivityXml = ""; strActivityXml + = "" ; strActivityXml + = "") + "]]>"; StrActivityXml + = ""; strActivityXml + = userId.ToString ("Б") + ""; strActivityXml + = "";// Създаване на XML низ за дейността partiesstring strPartiesXml = ""; strPartiesXml + = ""; strPartiesXml + = "" + crmUser.GetEmailAddress () + ""; strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString () + ""; strPartiesXml + = "" crmUser.GetId + (). ToString ("Б ") +" "; strPartiesXml + =" "; strPartiesXml + = Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString (); strPartiesXml + = ""; strPartiesXml + = ""; strPartiesXml + = ""; strPartiesXml + = "" + mailFrom + ""; ако (objectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) (strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString () + "";) иначе ако (objectType == Microsoft.Crm.Platform . Types.ObjectType.otContact) (StrPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString () + "";) иначе ако (objectType == Microsoft.Crm.Platform.Types.ObjectType.otLead) (strPartiesXml + = " "+ Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString () + "";) strPartiesXml + = "" + objectId.ToString ("Б") + ""; strPartiesXml + = ""; strPartiesXml + = Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString (); strPartiesXml + = ""; strPartiesXml + = ""; strPartiesXml + = ""; log.Debug (strPartiesXml); / / Създаване на електронна поща emailId objectGuid = нови Guid (email.Create (userAuth, strActivityXml, strPartiesXml)); връщане emailId;) улов (System.Web.Services.Protocols.SoapException д) (log.Debug ("ErrorMessage:" + e.Message + "" + E. Detail.OuterXml + "Източник:" + e.Source);) улова (Exception д) (log.Debug (e.Message + "ина" + e.StackTrace);) Пътувам Guid ();) Сега бих искал да споделя с вас трик - има няма метод да направи тази дейност, затворени в MS CRM 1.2 SDK (ако някой знае едно - аз ти дължа малко джобче аквариум - усмивка!). Очевидно Microsoft не поддържа ако ти правя директни SQL програмиране заобикаляйки SDK. Все пак бих казал, че това не е пряко създаването обекти - това е по-скоро знамената корекция. Така че тук е това, което имаме - тази процедура ще си свършат работата и да направи дейността затваря: обществени нищожен UpdateActivityCodes (GUID emailId) ((опитайте OleDbCommand команда = conn.CreateCommand (); command.CommandText = "UPDATE ActivityBase SET DirectionCode = (?), StateCode = (?), PriorityCode = (?) когато ActivityId = (?)"; command.Prepare (); command.Parameters.Add (нова OleDbParameter ("DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING)); command.Parameters.Add (ново OleDbParameter ("StateCode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED)); command.Parameters.Add (ново OleDbParameter ("PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM)); command.Parameters.Add (ново OleDbParameter ("ActivityId", emailId)); log.Debug ("Подгответе се да актуализира код за дейност" + emailId.ToString ("Б") + "в ActivityBase"); command.ExecuteNonQuery ();) улов (Изключение д) ( log.Debug (e.Message + "ина" + e.StackTrace);)) Честит персонализиране! Ако искате да си свършат работата - обадете ни се 1-866-528-0577! help@albaspectrum.comAndrew Karasev е главен технологичен директор в Алба Спектър технологии? САЩ национален Microsoft
Член Източник: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
уебмастъра Вземи Html кодекс
Добави тази статия на вашия сайт сега!
уебмастъра Подайте членове
Не е необходима регистрация! Попълнете формата и статията ви е в Messaggiamo.Com директория!