Pular para o conteúdo
Odoo Menu
  • Entrar
  • Experimente grátis
  • Aplicativos
    Finanças
    • Financeiro
    • Faturamento
    • Despesas
    • Planilhas (BI)
    • Documentos
    • Assinar Documentos
    Vendas
    • CRM
    • Vendas
    • PDV Loja
    • PDV Restaurantes
    • Assinaturas
    • Locação
    Websites
    • Criador de Sites
    • e-Commerce
    • Blog
    • Fórum
    • Chat ao Vivo
    • e-Learning
    Cadeia de mantimentos
    • Inventário
    • Fabricação
    • PLM - Ciclo de Vida do Produto
    • Compras
    • Manutenção
    • Qualidade
    Recursos Humanos
    • Funcionários
    • Recrutamento
    • Folgas
    • Avaliações
    • Indicações
    • Frota
    Marketing
    • Redes Sociais
    • Marketing por E-mail
    • Marketing por SMS
    • Eventos
    • Automação de Marketing
    • Pesquisas
    Serviços
    • Projeto
    • Planilhas de Horas
    • Serviço de Campo
    • Central de Ajuda
    • Planejamento
    • Compromissos
    Produtividade
    • Mensagens
    • Aprovações
    • Internet das Coisas
    • VoIP
    • Conhecimento
    • WhatsApp
    Aplicativos de terceiros Odoo Studio Plataforma Odoo Cloud
  • Setores
    Varejo
    • Loja de livros
    • Loja de roupas
    • Loja de móveis
    • Mercearia
    • Loja de ferramentas
    • Loja de brinquedos
    Comida e hospitalidade
    • Bar e Pub
    • Restaurante
    • Fast Food
    • Hospedagem
    • Distribuidor de bebidas
    • Hotel
    Imóveis
    • Imobiliária
    • Escritório de arquitetura
    • Construção
    • Administração de propriedades
    • Jardinagem
    • Associação de proprietários de imóveis
    Consultoria
    • Escritório de Contabilidade
    • Parceiro Odoo
    • Agência de marketing
    • Escritório de advocacia
    • Aquisição de talentos
    • Auditoria e Certificação
    Fabricação
    • Têxtil
    • Metal
    • Móveis
    • Alimentação
    • Cervejaria
    • Presentes corporativos
    Saúde e Boa forma
    • Clube esportivo
    • Loja de óculos
    • Academia
    • Profissionais de bem-estar
    • Farmácia
    • Salão de cabeleireiro
    Comércio
    • Handyman
    • Hardware e Suporte de TI
    • Sistemas de energia solar
    • Sapataria
    • Serviços de limpeza
    • Serviços de climatização
    Outros
    • Organização sem fins lucrativos
    • Agência Ambiental
    • Aluguel de outdoors
    • Fotografia
    • Aluguel de bicicletas
    • Revendedor de software
    Navegar por todos os setores
  • Comunidade
    Aprenda
    • Tutoriais
    • Documentação
    • Certificações
    • Treinamento
    • Blog
    • Podcast
    Empodere a Educação
    • Programa de educação
    • Scale Up! Jogo de Negócios
    • Visite a Odoo
    Obtenha o Software
    • Baixar
    • Comparar edições
    • Releases
    Colaborar
    • Github
    • Fórum
    • Eventos
    • Traduções
    • Torne-se um parceiro
    • Serviços para parceiros
    • Cadastre seu escritório contábil
    Obtenha os serviços
    • Encontre um parceiro
    • Encontre um Contador
    • Conheça um consultor
    • Serviços de Implementação
    • Referências de Clientes
    • Suporte
    • Upgrades
    Github YouTube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Faça uma demonstração
  • Preços
  • Ajuda

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Financeiro
  • Inventário
  • PoS
  • Projeto
  • MRP
All apps
É necessário estar registrado para interagir com a comunidade.
Todas as publicações Pessoas Emblemas
Marcadores (Ver tudo)
odoo accounting v14 pos v15
Sobre este fórum
É necessário estar registrado para interagir com a comunidade.
Todas as publicações Pessoas Emblemas
Marcadores (Ver tudo)
odoo accounting v14 pos v15
Sobre este fórum
Ajuda

Force id in csv import

Inscrever

Seja notificado quando houver atividade nesta publicação

Esta pergunta foi sinalizada
import
17 Respostas
11177 Visualizações
Avatar
John Doe (jd)

When doing csv imports, how to force a column mapping to an id of an OpenERP element?

I know it can be done manually using the menus by opening the mapping menu and selecting "OpenERP element / BD Id" instead of "OpenERP element" (which tends to map itself to the name of that entity and not the id).

How can this be automated?

1
Avatar
Cancelar
Pascal Tremblay

mapping menu????

John Doe (jd)
Autor

A menu is by essence not automatable, although there might be solutions for automating browsers.... but anyway now am having a policy of by no means importing CSV documents by browser, doing it programmatically through XML-RPC 'creates' issued using client libraries.

Pascal Tremblay

« by opening the mapping menu » .... Where is this menu? I don't see it in Odoo

John Doe (jd)
Autor

By « by opening the mapping menu » I was referring the columns selection that appears in OpenERP 7 after selecting a file for importing, possibly after the user has explicited a file encoding, data separator, and quoting. If everything went fine, OpenERP 7 will open a table (I'm sorry now, it is really more a table than a menu) when the user would possibly do manual mapping from CSV columns to OpenERP fields.

Avatar
Anil Kesariya
Melhor resposta

provide the technical name inside the csv file for which field you are importing data. give that column as name it will automatically map to name field inside openerp.

2
Avatar
Cancelar
John Doe (jd)
Autor

Do you call _technical name_ to the OpenERP source code field name, or the PostgreSQL column name? In the later case, is not working for me. Mapping works but maps to _entity name_ instead of the exact PostgreSQL column name!

Anil Kesariya

Name which is given inside the model is the table name it self. so whatever field name are define in spefice table in _columns {} dictionary you need to use that field name as column header to import data.

John Doe (jd)
Autor

Ah ja, but the problem comes when... I'm actually doing manual mappings to database id of an entity (which is not a field but an ORM elsething) because I can not use a mapping based on field. We are talking about detecting a type of account, but there are two instance rows for this type of account, if you consider its name ('Capital' type of account), each for a different chart of accounts (in a multi-company environment)! I solve it doing a mapping to the actual row id in the CSV, but that way, when doing the import, I have to manually specify it as a "Entity BD Id" where has been mapped to "Entity", which btw is containing the name.

John Doe (jd)
Autor

I finally solved these and all other issues performing imports using XML-RPC against OpenERP (hence committing after each import, I suppose, BTW), instead of using the browser CSV import, that makes a single commit if the import of all rows is successful and hence more expensive in terms of developer time.

John Doe (jd)
Autor

Aha, understood. I guess the browser import is actually far more complex than the approach I used. However, at this point of expertise, to me it seems easier not to import using browser but using the 'create' method of the 'osv.Model' class, using a small script that reads a file and creates an entity per line. All the comlexity of calculating column lines is distributed among previous scripts that query PostgreSQL e.g. for row ids retrieving.

John Doe (jd)
Autor

'column lines'* i meant 'values for each field in a row'.

John Doe (jd)
Autor

John Doe, what you pointed out in your comment, as an answer, might be the most correct answer possible, given the literal question.

Avatar
Ivan
Melhor resposta

Although you have solved your problem, allow me to provide a different solution. You can specify XML ID as a replacement of that field. The column into which this value need to be imported is field/id (e.g. parent_id/id). To obtain the XML ID, first perform export first for that particular model and make sure that you exported the id field.

1
Avatar
Cancelar
Avatar
Yurdik Cervantes Mendoza
Melhor resposta

If you want the ids to map existing objects you can generate one file ir.model.data.csv and associate the xml_ids that you are going to import to existing objects (model, res_id).

For example if your database has already the stock locations (110, 111, 112) and you want to reference them :

After importing the new xml_ids you can import your csv with those xml_id references.

0
Avatar
Cancelar
Avatar
Stephen Mack
Melhor resposta

There is some information about importing CVS files in odoo's developers documentation.

0
Avatar
Cancelar
John Doe (jd)
Autor

That page prompts "country_id:id" to force mapping to id. John Doe prompted to use "parent_id/id". Do you know which of either is older or which of either's deprecation is more probable?

Avatar
John Doe (jd)
Autor Melhor resposta

Mapping to ids instead of names is also easy when importing using 'osv.Model' 'create(cr, uid, values, context=None)' method through XML-RPC or JSON-RPC.

0
Avatar
Cancelar
Está gostando da discussão? Não fique apenas lendo, participe!

Crie uma conta hoje mesmo para aproveitar os recursos exclusivos e interagir com nossa incrível comunidade!

Inscreva-se
Publicações relacionadas Respostas Visualizações Atividade
Issue with import and comma in Excel File (odoo 19)
import
Avatar
0
set. 25
234
Importacion de Atributos y Valores
import
Avatar
Avatar
Avatar
2
mai. 25
2274
Import from Winbooks Resolvido
import
Avatar
Avatar
Avatar
Avatar
Avatar
4
mai. 25
6681
can i import journal entries from Excel
import
Avatar
Avatar
1
ago. 24
3453
Odoo 17 Studio
import
Avatar
Avatar
1
fev. 24
3975
Comunidade
  • Tutoriais
  • Documentação
  • Fórum
Open Source
  • Baixar
  • Github
  • Runbot
  • Traduções
Serviços
  • Odoo.sh Hosting
  • Suporte
  • Upgrade
  • Desenvolvimentos personalizados
  • Educação
  • Encontre um Contador
  • Encontre um parceiro
  • Torne-se um parceiro
Sobre nós
  • Nossa empresa
  • Ativos da marca
  • Contato
  • Empregos
  • Eventos
  • Podcast
  • Blog
  • Clientes
  • Legal • Privacidade
  • Segurança
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo é um conjunto de aplicativos de negócios em código aberto que cobre todas as necessidades de sua empresa: CRM, comércio eletrônico, contabilidade, estoque, ponto de venda, gerenciamento de projetos, etc.

A proposta de valor exclusiva Odoo é ser, ao mesmo tempo, muito fácil de usar e totalmente integrado.

Site feito com

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now