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...
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário