samedi 20 octobre 2012
Microsoft CRM: Conversion de données - Importer à partir d'Act!
Loi meilleur logiciel! CRM est très populaire pour l'organisation de petites et moyennes tailles. Ce système attire propriétaire d'entreprise par son prix bas, plus le système est très facile à utiliser. Toutefois, si votre entreprise se développe, vous devriez atteindre le moment de mettre en œuvre la solution CRM plus avancé. Question naturelle est - comment pouvons-nous transformer les données provenant de loi! de nouvelle solution de CRM et de la cartographie de vos objets pour la conversion. Vous aimeraient probablement pour éviter l'opérateur de saisie de données avec de nombreuses erreurs potentielles et mistypes. En supposant que vous êtes spécialiste en informatique, nous vous donnerons côté technique de la loi de MS CRM migration des données:
o Vous devez d'abord télécharger Act! SDK sur le site de Best Software
o Installer agir! SDK sur l'ordinateur où vous prévoyez faire de la programmation
o Nous allons utiliser de données asynchrone export / import de modèle, cela signifie que nous allons concevoir le système, comportant deux parties: l'exportation en XML et l'importation de ce fichier XML dans le CRM
o Permet Loi code! demande d'exportation de données, nous allons utiliser C # pour répondre Framework Act, nous aurons besoin de ces bibliothèques:
en utilisant Act.Framework;
en utilisant Act.Framework.Activities;
en utilisant Act.Framework.Companies;
en utilisant Act.Framework.ComponentModel;
en utilisant Act.Framework.Contacts;
en utilisant Act.Framework.Database;
en utilisant Act.Framework.Groups;
en utilisant Act.Framework.Histories;
en utilisant Act.Framework.Lookups;
en utilisant Act.Framework.MutableEntities;
en utilisant Act.Framework.Notes;
en utilisant Act.Framework.Opportunities;
en utilisant Act.Framework.Users;
en utilisant Act.Shared.Collections;
o Pour vous connecter à agir! base de données:
Cadre ActFramework = ActFramework new ();
framework.LogOn ("Nom d'utilisateur loi", "password", "SERVER", "Base de données");
o Maintenant, nous devons Loi sur les noms de champs pour les faire correspondre avec les champs de la MS CRM:
ShowContactsFieldsDescriptions private void (cadre ActFramework) {
ContactFieldDescriptor [] = cFields framework.Contacts.GetContactFieldDescriptors ();
ContactFieldDescriptor cField;
for (int x = 0, x ";
ContactFieldDescriptor cField;
Objet oValue;
Nom / / Première
cField = framework.Contacts.GetContactFieldDescriptor ("TBL_CONTACT.FIRSTNAME");
oValue = cField.GetValue (CLIST [i]);
if (oValue! = null &&! (oValue.ToString (). trim (). Equals ("")))
strContactXml + = "[CDATA [" + oValue.ToString () + "]]";
/ / Nom de famille
cField = framework.Contacts.GetContactFieldDescriptor ("TBL_CONTACT.LASTNAME");
oValue = cField.GetValue (CLIST [i]);
if (oValue! = null &&! (oValue.ToString (). trim (). Equals ("")))
strContactXml + = "[CDATA [" + oValue.ToString () + "]]";
d'autre
strContactXml + = "" + "N / A" + "";
/ / Salutation
cField = framework.Contacts.GetContactFieldDescriptor ("TBL_CONTACT.SALUTATION");
oValue = cField.GetValue (CLIST [i]);
if (oValue! = null &&! (oValue.ToString (). trim (). Equals ("")))
strContactXml + = "[CDATA [" + oValue.ToString () + "]]";
/ / Titre du poste
cField = framework.Contacts.GetContactFieldDescriptor ("TBL_CONTACT.JOBTITLE");
oValue = cField.GetValue (CLIST [i]);
if (oValue! = null &&! (oValue.ToString (). trim (). Equals ("")))
strContactXml + = "[CDATA [" + Regex.Replace (oValue.ToString (), "\ r \ n", "") + "]]";
o Ce n'est que partie des données, qui pourraient être transférés dans CRM, toute la liste de champs est trop long pour petit article, mais pourrait concevoir votre toute la liste des champs désirés. S'il vous plaît, accorder une attention particulière à remplacer
Balise HTML - ce texte est nécessaire pour le transfert de données dans CRM
o Ensuite, c'est la création demande d'importation. Nous ne décrirons pas ici les détails de connexion à MS CRM - s'il vous plaît lire Microsoft CRM SDK si vous avez besoin de ces exemples. Nous allons nous concentrer sur la nature de l'importation.
Le fichier d'exportation XML devrait ressembler à ceci:
[CDATA [John]] [CDATA [Smith]] [CDATA [John]] [CDATA [1234 W. Big River]] [CDATA [Chicago]] [CDATA [IL]] [CDATA [123456]] [CDATA [Jouet Corporation]] {4F1849C3-9184-48B5-BB09-078ED7AB2DAD}
o lecture, d'analyse et MS CRM regard création d'objet est relativement simple:
Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser ();
Pouvoirs ICredentials = NetworkCredential nouvelle (crmUsername, crmPassword, crmDomain);
bizUser.Url = crmDir + "BizUser.srf";
bizUser.Credentials = vérification des pouvoirs;
Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI ();
/ Objet proxy / CRMContact
Microsoft.Crm.Platform.Proxy.CRMContact = contact Microsoft.Crm.Platform.Proxy.CRMContact new ();
contact.Credentials = vérification des pouvoirs;
contact.Url = crmDir + "CRMContact.srf";
CorrectXML ("Contacts.xml", userAuth.UserId);
StreamReader reader = File.OpenText ("Contacts.xml");
Entrée d'une chaîne = null;
while ((= entrée reader.ReadLine ())! = null)
{
chaîne strContactId = contact.Create (userAuth, entrée);
Console.WriteLine ("Contact {0} est créée", strContactId);
Log.DEBUG ("Contact" + strContactId + "est créé");
}
o Il suffit de considérer en plus de détails CorrectXML fonction - elle place les OWNERID en XML avec les arbres:
private void CorrectXML (string fileName chaîne userId,) {
File.Move (fileName, fileName + "ans.");
StreamReader reader = File.OpenText (nomFichier + "ans.");
FileInfo t = new FileInfo (fileName);
Écrivain StreamWriter = t.CreateText ();
Entrée d'une chaîne = null;
while ((= entrée reader.ReadLine ())! = null)
{
entrée = Regex.Replace (entrée, "{} _REPLACE_ME_", userId);
writer.WriteLine (entrée);
}
reader.Close ();
writer.Close ();
File.Delete (nomFichier + "ans.");
}
o Enfin, nous lançons l'exportation, l'importation, l'ouverture de MS CRM et en regardant la liste de contacts, transféré de loi!
o tâche serait séparé données sur les ventes de loi, notes etc - nous avons l'intention de les décrire dans les prochains articles
Bonne chance avec l'intégration! Si vous voulez que nous pour faire le travail - appelez-nous 1-630-961-5918 ou 1-866-528-0577! help@albaspectrum.com...
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire