domingo, 11 de novembro de 2012

Microsoft CRM: Conversão de Dados - Importar da Lei!


Lei Melhor Software! CRM é muito popular para a organização de pequeno e médio porte. Este sistema proprietário da empresa atrai por seu baixo preço, além de sistema é muito fácil de usar. No entanto, se sua empresa está crescendo, você deve chegar o momento de implementar a solução de CRM mais avançado. Pergunta natural é - como podemos converter os dados do ACT! a nova solução de CRM e do mapeamento de seus objetos para a conversão. Você provavelmente gostaria de evitar a entrada de dados do operador com potenciais inúmeros erros e mistypes. Supondo que você é especialista em TI, nós vamos dar-lhe parte técnica de Lei para o MS CRM migração de dados:

O Primeiro você precisa baixar Act! SDK do site da Best Software

Instalar o ACT! SDK no computador, onde você pretende fazer a programação

Vamos usar o modelo de dados assíncronos de exportação / importação, isso significa que nós vamos projetar o sistema, contendo duas partes: exportação em XML e esta importação de arquivos XML para o CRM

Deixa o Ato código! de dados de aplicativo de exportação, vamos usar C # para tratar Framework Act, vamos precisar dessas bibliotecas:

usando Act.Framework;

usando Act.Framework.Activities;

usando Act.Framework.Companies;

usando Act.Framework.ComponentModel;

usando Act.Framework.Contacts;

usando Act.Framework.Database;

usando Act.Framework.Groups;

usando Act.Framework.Histories;

usando Act.Framework.Lookups;

usando Act.Framework.MutableEntities;

usando Act.Framework.Notes;

usando Act.Framework.Opportunities;

usando Act.Framework.Users;

usando Act.Shared.Collections;

O para conectar-se a Lei! banco de dados:

Quadro ActFramework ActFramework = new ();

framework.LogOn ("Nome de usuário Act", "password", "servidor", "Banco de Dados");

Agora o que precisamos agir nomes de campo para mapeá-los com os campos no CRM MS:

privadas ShowContactsFieldsDescriptions void (quadro ActFramework) {

ContactFieldDescriptor [] = cfields framework.Contacts.GetContactFieldDescriptors ();

ContactFieldDescriptor cField;

for (int x = 0, x ";

ContactFieldDescriptor cField;

Objeto oValue;

Nome / / Primeiro

cField = framework.Contacts.GetContactFieldDescriptor ("TBL_CONTACT.FIRSTNAME");

oValue = cField.GetValue (CLIST [i]);

if (oValue! = null &&! (oValue.ToString (). Trim (). Equals ("")))

strContactXml + = "[CDATA [" + oValue.ToString () + "]]";

/ / Sobrenome

cField = framework.Contacts.GetContactFieldDescriptor ("TBL_CONTACT.LASTNAME");

oValue = cField.GetValue (CLIST [i]);

if (oValue! = null &&! (oValue.ToString (). Trim (). Equals ("")))

strContactXml + = "[CDATA [" + oValue.ToString () + "]]";

outro

strContactXml + = "" + "N / A" + "";

/ / Saudação

cField = framework.Contacts.GetContactFieldDescriptor ("TBL_CONTACT.SALUTATION");

oValue = cField.GetValue (CLIST [i]);

if (oValue! = null &&! (oValue.ToString (). Trim (). Equals ("")))

strContactXml + = "[CDATA [" + oValue.ToString () + "]]";

/ Trabalho / Título

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 Este é apenas parte dos dados, que podem ser transferidos para CRM, toda a lista de campos é muito longo para pequeno artigo, mas o seu poderia projetar toda a lista de campos desejados. Por favor, preste atenção para substituir

Tag HTML - isto é necessário para a transferência de dados de texto em CRM

o seguinte é a criação de aplicativos de importação. Não vou descrever aqui conexão com detalhes MS CRM - leia Microsoft CRM SDK, se você precisa estes exemplos. Vamos concentrar sobre a natureza da importação.

O arquivo de exportação XML deve ser semelhante a este:

[CDATA [João]] [CDATA [Smith]] [CDATA [João]] [CDATA [1234 W. Big River]] [CDATA [Chicago]] [CDATA [IL]] [CDATA [123456]] [CDATA [Toy Corporation]] {4F1849C3-9184-48B5-BB09-078ED7AB2DAD}

o Leitura, análise e MS CRM olhar criação do objeto é relativamente simples:

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

Credenciais ICredentials NetworkCredential = new (crmUsername, crmPassword, crmDomain);

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

bizUser.Credentials = credenciais;

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

/ Objeto proxy / CRMContact

Microsoft.Crm.Platform.Proxy.CRMContact contato = Microsoft.Crm.Platform.Proxy.CRMContact nova ();

contact.Credentials = credenciais;

contact.Url = crmDir + "CRMContact.srf";

CorrectXML ("Contacts.xml", userAuth.UserId);

StreamReader reader = File.OpenText ("Contacts.xml");

string de entrada = null;

while ((entrada = reader.ReadLine ())! = null)

{

corda strContactId = contact.Create (USERAUTH, de entrada);

Console.WriteLine ("Contato {0} é criado", strContactId);

log.Debug ("Contato" + + strContactId "é criada");

}

Basta considerar o mais função CorrectXML detalhes - ele coloca ownerid em XML árvore contato:

private void CorrectXML (string fileName userId corda) {

File.Move (fileName fileName, + "de idade.");

StreamReader reader = File.OpenText (fileName + "de idade.");

FileInfo t = new FileInfo (fileName);

Escritor StreamWriter t.CreateText = ();

string de entrada = null;

while ((entrada = reader.ReadLine ())! = null)

{

= entrada Regex.Replace (entrada, "{} _REPLACE_ME_" userId);

writer.WriteLine (entrada);

}

reader.Close ();

writer.Close ();

File.Delete (fileName + "de idade.");

}

o Finalmente, estamos lançando importação, exportação, abrindo MS CRM e olhando para a lista de contatos, transferido do Act!

o tarefa separada seria os dados de vendas Lei, etc Notas - nós planejar para descrevê-los nos artigos futuros

Boa sorte com a integração! Se você quer que façamos o trabalho - dar-nos uma chamada 1-630-961-5918 ou 1-866-528-0577! help@albaspectrum.com...

Nenhum comentário:

Postar um comentário