English version
German version
Spanish version
French version
Italian version
Portuguese / Brazilian version
Dutch version
Greek version
Russian version
Japanese version
Korean version
Simplified Chinese version
Traditional Chinese version
Hindi version
Czech version
Slovak version
Bulgarian version
 

Microsoft CRM Programmierengeheimnisse? Spitzen Für Entwickler

Software RSS Feed





Dieser Artikel ist für vorgerücktes Microsoft CRM SDK C # Entwickler. Er beschreibt die Technik direkten SQL programmierend, wenn SDK nicht die Funktionalität hat, zum der Arbeit zu erledigen.

Einleitung. Aussehen wie Microsoft CRM wird, teils wegen der Microsoft Muskeln hinter ihr immer populärer. Jetzt wird es zum vollständigen Spektrum des horizontalen und vertikalen Marktkundschaft gezielt. Es wird fest mit anderen Microsoft Geschäft Lösungen Produkten wie Microsoft Prairien, Solomon, Navision integriert (die letzten zwei in Bewegung). Hier beschreiben wir die Technik des Herstellens geschlossenen Tätigkeit-email mit MS CRM SDK und verweisen die SQL Programmierung.

Belichtung etwas mögen dieses. Sie müssen ankommendes email anfassen, bevor es an der Datenbank des MS Austausch festgelegt wird. Sie müssen analysieren, wenn ankommendes email nicht GUID in seinem Thema (GUID läßt MS CRM Austausch-Stecker email auf Microsoft CRM verschieben und es zum Kontakt, zum Konto oder zur Leitung anbringen) - dann Sie benötigt noch Nachschlagen MS CRM falls hat, wenn eine die Rechnungsprüfungen, in Verbindung tritt, oder Leitungen email address hat, das mit Absenderemail address zusammenpaßt - dann Sie Notwendigkeit, geschlossenes Tätigkeit-email im MS CRM herzustellen, angebracht zum Gegenstand und in allgemeine Warteschlange gesetzt.

Wie man Zufuhr des MS Austausch ist außerhalb des Bereichs, sehen bitte diesen Artikel herstellt: http://www.albaspectrum.com/Customizations_Whitepapers/Dexterity_SQL_VBA_Crystal/ExchangeHandlerExample.htm

Jetzt ist der Code folgend klassisches MS CRM SDK und er stellt Tätigkeit email her:

allgemeines Guid CreateEmailActivity(Guid userId, internes objectType, Guid objectId, Zeichenkette mailFrom, CRMUser crmUser, Zeichenkettethema, Zeichenkettekörper) {Versuch {

log.Debug("Prepare für die verursachende Post-Tätigkeit");

//BizUser Vollmachtgegenstand

Microsoft.Crm.Platform.Proxy.BizUser bizUser = neues Microsoft.Crm.Platform.Proxy.BizUser();

ICredentials Bescheinigungen = neues NetworkCredential(sysUserId, sysPassword, sysDomain);

bizUser.Url = crmDir + "BizUser.srf";

bizUser.Credentials = Bescheinigungen;

Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

//CRMEmail Vollmachtgegenstand

Microsoft.Crm.Platform.Proxy.CRMEmail email = neues Microsoft.Crm.Platform.Proxy.CRMEmail();

email.Credentials = Bescheinigungen;

email.Url = crmDir + "CRMEmail.srf";

//stellen Sie die XML Zeichenkette für die Tätigkeit auf

reihen Sie strActivityXml = "" auf;

strActivityXml + = "";

strActivityXml + = "") + "]]>";

strActivityXml + = "";

strActivityXml + = userId.ToString("B") + "";

strActivityXml + = "";

//stellen Sie die XML Zeichenkette für die Tätigkeit Parteien auf

reihen Sie strPartiesXml = "" auf;

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 + "";

wenn (objectType == Microsoft.Crm.Platform.Types.ObjectType.otAccount) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otAccount.ToString() + "";

}

sonst wenn (objectType == Microsoft.Crm.Platform.Types.ObjectType.otContact) {

strPartiesXml + = "" + Microsoft.Crm.Platform.Types.ObjectType.otContact.ToString() + "";

}

sonst wenn (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);

//verursachen Sie den E-mail Gegenstand

Guid emailId = neues Guid(email.Create(userAuth, strActivityXml, strPartiesXml));

RückholemailId; } Verriegelung (System.Web.Services.Protocols.SoapException e) {log.Debug("ErrorMessage: "+ e.Message +" "+ e.Detail.OuterXml +" Quelle: "+ e.Source); } Verriegelung (Ausnahme e) {log.Debug(e.Message + "rn" + e.StackTrace); } Rückkehr neues Guid(); }

Jetzt möchte ich den Trick mit Ihnen teilen - es gibt keine Methode, zum dieser Tätigkeit zu bilden, die im MS CRM SDK 1.2 geschlossen wird (wenn jemand das kennt -, das ich Ihnen kleines Tasche Aquarium - Lächeln! verdanke). Offensichtlich stützt sich Microsoft nicht, wenn Sie SQL verweisen, der SDK überbrückend programmiert. Jedoch würde ich sagen, daß dieses nicht Objektkreation ist - dieses ist kennzeichnet eher Korrektur. Ist so hier, was wir haben - dieses Verfahren erledigt die Arbeit und bildet die geschlossene Tätigkeit:

Öffentlichkeit leeres UpdateActivityCodes(Guid emailId) {Versuch {

OleDbCommand Befehl = conn.CreateCommand();

command.CommandText = "UPDATE ActivityBase GESETZTES DirectionCode = (?), StateCode = (?), PriorityCode = (?) WO ActivityId = (?)";

command.Prepare();

command.Parameters.Add(new OleDbParameter("DirectionCode", Microsoft.Crm.Platform.Types.EVENT_DIRECTION.ED_INCOMING));

command.Parameters.Add(new OleDbParameter("StateCode", Microsoft.Crm.Platform.Types.ACTIVITY_STATE.ACTS_CLOSED));

command.Parameters.Add(new OleDbParameter("PriorityCode", Microsoft.Crm.Platform.Types.PRIORITY_CODE.PC_MEDIUM));

command.Parameters.Add(new OleDbParameter("ActivityId", emailId));

log.Debug("Prepare, zum des Tätigkeit Codes zu aktualisieren" + emailId.ToString("B") + "in ActivityBase");

command.ExecuteNonQuery();

}

catch(Exception e) {

log.Debug(e.Message + "rn" + e.StackTrace);

}}

Glückliches Besonders anfertigen! wenn Sie uns die Arbeit erledigen wünschen - rufen Sie uns 1-866-528-0577 an! help@albaspectrum.com

Andrew Karasev ist Haupttechnologie-Offizier in den alba Spektrum-Technologien? USA allgemein Microsoft CRM, Microsoft die Prairie-Kundenbezogenheit Firma, gegründet Chicago, Boston, San Francisco, San Diego, Los Angeles, Houston, Atlanta, New York und Miami und Habenin den positionen in den mehrfachen Zuständen und international (www.albaspectrum.com), ist er Geschicklichkeit, SQL, VB/C#.Net, Kristallreport- und Microsoftcrm SDK Entwickler.

Artikel Quelle: Messaggiamo.Com

Translation by Google Translator





Related:

» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker


Holen Sie sich den HTML-Code fü Webmaster
Fügen Sie diese Artikel Ihrer Website jetzt hinzu!

Webmaster veröffentlichen Sie Ihre Artikel
Keine Anmeldung erforderlich! Füllen Sie das Formular aus und Ihr Artikel wird im Messaggiamo.Com Artikel-Verzeichnis aufgenommen!

Add to Google RSS Feed See our mobile site See our desktop site Follow us on Twitter!

Veröffentlichen Sie Ihre Texte im Messaggiamo.Com Artikel-Verzeichnis

Kategorien


Copyright 2006-2011 Messaggiamo.Com - Site Map - Privacy - Webmaster, veröffentlichen Sie Ihre Artikel kostenfrei auf Messaggiamo.Com! [0.01]
Hosting by webhosting24.com
Dedicated servers sponsored by server24.eu