Microsoft CRM Kundenbezogenheit Geheimnisse? Zweite
Ausgabe
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.htmJetzt 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 + "" + e.StackTrace);
}
neues Rückholguid();
}
Unsere Gutschriften zu Anna Osborn (so
offensichtlich kleines Tasche Aquarium geht zu ihr? Lächeln!),
sie informierte uns, wie man MS CRM Tätigkeit schließt:
//creates die Tätigkeit
strActivityId = oActivity.Create(userAuth, strXml,
activityPartyXml);
//closes, die sie solange das relevant auffängt,
sind komplette oActivity.Close(userAuth, strActivityId, -1);
Aber in jedem möglichem Fall was auch immer Sie unten
finden, konnten Ihnen helfen, zu tun, was auch immer CRM SDK nicht
kann.
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 + "" + 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Über Den Autor
Andrew Karasev ist Haupttechnologie-Offizier in
den alba Spektrum-Technologien? USA allgemein Microsoft CRM,
Microsoft die Prairie-Kundenbezogenheit Firma, gegründet in
Chicago, im Arizona, in Kalifornien, in Kolorado, in Texas, in New
York, in Georgia, in Florida, in Kanada, in Großbritannien, in
Australien und in den Habenpositionen in den mehrfachen Zuständen und
international, ist er Geschicklichkeit, SQL, C#.Net, Kristallreport-
und Microsoftcrm SDK Entwickler;
akarasev@albaspectrum.com
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!