Microsoft CRMをカスタマイズ?プログラミングメール活動終了
Microsoft CRMのMicrosoftとの試みのSiebel 、 Oracleや他の伝統的なクライアント関係管理システムのベンダーからの回答のCRM市場のシェアを獲得している。 Microsoft CRMを、マイクロソフトと関連のすべてのスペクトルを使用しています 最近の技術: 。 Netとは、 MS Exchangeの、のMSは、 Outlook 、 MS SQL Serverのレプリケーションは、インデックス作成は、 Active Directoryは、 Windows 2000/2003のセキュリティモデルはC # 、 VB.NetやHTML 、 XML Webサービス、 XLTPは、 JavaScriptを数名に。今日の トピックのメール型プログラミングの活動-通常取引の際、これらのカスタマイズのMicrosoft ExchangeのCRMコネクタを改善しています。どのように作成する活動を閉鎖-これは、主な議論のトピックです。私たちよ 私たちの交流イベントハンドラの役割のC # 。 NETでcodingOne /シンクの作成、受信および送信電子メールメッセージの処理でのMSのCRM休館活動採用しています。 Microsoft CRMの2つのアプローチとの相互作用を使用していますか?を使用して のMSのCRM SDKを( )の受信および送信XMLメッセージ処理およびMSのCRMデータベースに直接アクセスできます。活動の作成アルゴリズムでは、定休日の最初の見てみましょう: 1 。最初に私たちを作成するために必要なエンティティを理解する必要がある の活動:アカウントは、鉛や連絡。特定の条件の選択を使用する必要がありますか?我々の場合には、このメールアドレスは: ( ( = ( mailboxFrom ) ) crmConnector.GetAccount crmAccount ! =がNULL ) ( )他の場合( ( crmContact = crmConnector.GetContact ( mailboxFrom ) ) ! =がNULL ) ( )他の場合( ( crmLead = crmConnector.GetLead ( mailboxFrom ) ) ! =がNULL ) ( ) 2 。これは、この実体は、この: crmUserのようなC #のコード=所有のMSのCRMユーザは、次のGUIDを取得している crmConnector.GetUser ( crmAccount.GetOwnerId ( ) ) ; 3 。次のステップ創造活動が閉じている: emailId = crmConnector.CreateEmailActivity ( crmUser.GetId ( ) 、 Microsoft.Crm.Platform.Types.ObjectType.otAccount 、 crmAccount.GetId ( ) 、 Microsoft.Crm.Platform.Types.ObjectType.otSystemUser 、 crmUser.GetId ( ) 、 crmAccount.GetEmailAddress ( ) 、 crmUser.GetEmailAddress ( ) 、 sSubject 、 sBody ) ; 4 。を作成する方法を閉じた活動:公共のGUID CreateEmailActivity (のGUIDは、 GUIDを、 GUIDを、文字列mailFrom 、 mailtoの文字列、文字列の件名は、文字列の体toObjectId INTはtoObjectType ) fromObjectId ( ( "メールの準備活動のため( log.DebugてINTをfromObjectTypeユーザーID プロキシを作成する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 Eメール= 新しいMicrosoft.Crm.Platform.Proxy.CRMEmail ( ) ; email.Credentials =資格; email.Url = crmDir + " CRMEmail.srf " ; / / activitystring strActivityXmlのXML文字列= " "を設定する; strActivityXml + = " " ; strActivityXml + = " " ) + "]]>"; strActivityXml + = " " ; strActivityXml + = userId.ToString (の" B " ) + " " ; strActivityXml + = "";//活動partiesstringのXML文字列を設定するstrPartiesXml = " " ; strPartiesXml + = " " ; strPartiesXml + = " " + mailtoの+ " " ;場合( toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otSystemUser ) ( strPartiesXml + = " " + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString ( ) + " " ; )他場合( == toObjectType Microsoft.Crm.Platform.Types.ObjectType.otAccount ) ( strPartiesXml + = " " + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString ( ) + " " ; )他の場合( toObjectType == Microsoft.Crm.Platform 。 Types.ObjectType.otContact ) ( strPartiesXml + = " " + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString ( ) + " " ; )他の場合( toObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead ) ( strPartiesXml + = " " + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString ( ) + " " ; ) strPartiesXml + = " " + ( " " ) B toObjectId.ToString + " " ; strPartiesXml + = " " ; strPartiesXml + = Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_TO_RECIPIENT.ToString ( ) ; strPartiesXml + = " " ; strPartiesXml + = " " ; strPartiesXml + = " " ; strPartiesXml + = " " + mailFrom + " " ;場合( == fromObjectType Microsoft.Crm.Platform.Types.ObjectType.otSystemUser ) ( strPartiesXml + = " " + Microsoft.Crm.Platform.Types.ObjectType.otSystemUser.ToString ( ) + " " ; )他の場合( fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount ) ( strPartiesXml + = " " + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString ( ) + " " ; )他の場合( fromObjectType == Microsoft.Crm.Platform 。 Types.ObjectType.otContact ) ( strPartiesXml + = " " + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString ( ) + " " ; )他の場合( fromObjectType == Microsoft.Crm.Platform.Types.ObjectType.otLead ) ( strPartiesXml + = " " + Microsoft.Crm.Platform.Types.ObjectType.otLead.ToString ( ) + " " ; ) strPartiesXml + = " " + ( " " ) B fromObjectId.ToString + " " ; strPartiesXml + = " " ; strPartiesXml + = Microsoft.Crm.Platform.Types.ACTIVITY_PARTY_TYPE.ACTIVITY_PARTY_SENDER.ToString ( ) ; strPartiesXml + = " " ; strPartiesXml + = " " ; strPartiesXml + = " " ; ( strPartiesXml ) log.Debug ; / / emailId objectGUIDは、電子メールを作成する=新しい guidを( email.Create ( userAuth 、 strActivityXml 、 strPartiesXml ) ) ; emailIdを返す; ) ( System.Web.Services.Protocols.SoapExceptionオ)キャッチ( ( " ErrorMessage : " + e.Message + " " + e. log.Debug Detail.OuterXml + "ソース: " + e.Source ) ; ) ( e.Message + " " + e.StackTrace ) ; )新しいGUIDを返す(例外をメール) ( log.Debugキャッチ( ) ; ) 5 。その活動は正常にしてのMS CRMの基準に応じてフラグを設定する必要が表示さを作成するには:公開 ( GUIDをemailIdボイドUpdateActivityCodes ) ( ( = conn.CreateCommandコマンドOleDbCommand ( ) ; command.CommandText = "更新ActivityBaseセットDirectionCode = ( ? ) 、 StateCode = ( ? ) 、 PriorityCode = ( ? )のWHERE 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 (の" B " ) + " ActivityBase " ) ; command.ExecuteNonQuery ( ) ; ) (例外をメール)キャッチ( log.Debug ( e.Message + " " + e.StackTrace ) ; ) )公共無効UpdateActivityQueueCodes (のGUIDは、 GUID )をqueueId ( = conn.CreateCommand ( OleDbCommandのコマンドをしてください( ) ; command.CommandText = "更新QueueItemBaseセット優先emailId = ( ? ) 、状態= ( ? ) 、 QueueId = ( ? )のWHEREがObjectID = (?)";あるcommand.Prepare ( ) ; command.Parameters.Add (新しいOleDbParameter ( "優先度" 、 Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM ) ) ; command.Parameters.Add (新しいOleDbParameter ( "国家" 、 Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED ) ) ; command.Parameters.Add (新しいOleDbParameter ( " QueueId " 、 queueId ) ) ; command.Parameters.Add (新しいOleDbParameter ( "オブジェクト" 、 emailId ) ) ;ログインしてください。デバッグ( "準備を更新する 活動キューコード" + emailId.ToString (の" B " ) + " QueueItemBase " ) ; ( ) ; ) (例外をメール) ( log.Debugキャッチ( e.Message + " " + e.StackTrace ) command.ExecuteNonQuery ; ) )ハッピーカスタマイズ、変更を実装すると!場合 私たちの仕事をする-私たちを与える1-866-528-0577電話を! help@albaspectrum.comAboutのAuthorBorisているソフトウェア開発者Makushkin鉛アルバスペクトラムテクノロジーとは?アメリカ全国のMicrosoft CRMは、 Microsoft大平原
記事のソース: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
ウェブマスター向けのHTMLコードを取得
この記事を追加してお客様のウェブサイトを今しなさい!
ウェブマスター向けの記事を送信してください
登録の必要なし!フォームに記入してください Messaggiamo.Com 記事は、ディレクトリ!