Pular para o conteúdo

Importar registros para vários objetos

Sim, é possível importar mais de um tipo de objeto — Contatos e Empresas, por exemplo — em uma única carga. A chave está na planilha datamap do modelo, que até agora só tinha uma linha.

O modelo baixado em Mais ações → Baixar modelo traz três planilhas: README (instruções técnicas para importar via API), datamap (o mapa de qual planilha corresponde a qual objeto) e uma planilha com o nome do objeto (Contact, Company…) com as colunas reais.

A planilha datamap tem esta forma:

sheetNameobjectTypefromtoskip
ContactContactfalse

Cada linha diz ao importador: “processe a planilha sheetName como registros do objeto objectType”. Por padrão só há uma linha — a do módulo de onde você baixou o modelo.

Para importar, por exemplo, Contatos e Empresas juntos:

  1. Baixe o modelo de Contatos (ou abra um que já tenha dados).
  2. Baixe também o modelo de Empresas e copie sua planilha Company completa (com suas colunas) para dentro do mesmo arquivo.
  3. Na planilha datamap, adicione uma segunda linha: sheetName = Company, objectType = Company.
  4. Preencha os dados em cada planilha como de costume e salve o arquivo.
  5. Envie o arquivo uma única vez em Mais ações → Importar, em qualquer um dos dois módulos.

A planilha datamap fica assim:

sheetNameobjectTypefromtoskip
ContactContactfalse
CompanyCompanyfalse

O Prolibu processa cada planilha declarada como uma importação independente, mas dentro da mesma carga: o painel Importar dados mostra um contador combinado (2 Total, 2 Importados neste exemplo) com sua própria barra de progresso por objeto.

Painel Importar dados mostrando 2 Total e 2 Importados, com as linhas Contatos e Empresas ambas em Concluído

Se você precisar carregar vários tipos de registro sem vinculá-los entre si — o caso mais comum — isso já resolve: dois objetos, um arquivo, uma única carga.

Vincular os registros: a empresa precisa existir primeiro

Seção intitulada “Vincular os registros: a empresa precisa existir primeiro”

A coluna de referência company só resolve contra uma empresa que já exista no momento em que aquela linha do contato é processada — não contra uma linha mais abaixo no mesmo arquivo. Isso dá dois caminhos válidos, e nos dois o dado que vincula é o mesmo: company precisa levar o companyCode da empresa, não o refId nem o nome.

Se Contatos e Empresas vão no mesmo arquivo (veja acima), o importador processa as planilhas na ordem em que aparecem no datamap. Coloque a linha de Company antes da linha de Contact:

sheetNameobjectTypefromtoskip
CompanyCompanyfalse
ContactContactfalse

Com essa ordem, quando chega a vez da planilha Contact a empresa já existe e a coluna company a encontra: ao abrir a ficha do contato, o campo Empresa fica realmente vinculado ao registro, não só com o nome solto que a tabela mostra. Se você inverter a ordem (Contact antes de Company), a carga do contato falha linha a linha com “Documento não encontrado pela chave primária ‘‹código›’ em ‘company’”, porque naquele ponto do processo a empresa ainda não existe.

Se preferir não depender da ordem das planilhas — ou se a empresa já existia antes —, envie primeiro o arquivo de Empresas e depois o de Contatos:

  1. Primeiro as empresas. Envie o arquivo com a planilha Company e dê a cada uma o seu companyCode.
  2. Depois os contatos. Na planilha Contact, preencha a coluna company com esse mesmo companyCode.

O companyCode funciona também como chave única, então reenviar a mesma planilha Company atualiza a empresa em vez de duplicá-la.

Perguntas frequentes

Este artigo foi útil?