Microsoft CRM Programmierengeheimnisse? Spitzen
Für Entwickler
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.comAndrew 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
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!