Skip to Content
Odoo Menu
  • Log ind
  • Prøv gratis
  • apps
    Økonomi
    • Bogføring
    • Fakturering
    • Udgifter
    • Regneark (BI)
    • Dokumenter
    • e-Signatur
    Salg
    • CRM
    • Salg
    • POS Butik
    • POS Restaurant
    • Abonnementer
    • Udlejning
    Hjemmeside
    • Hjemmesidebygger
    • e-Handel
    • Blog
    • Forum
    • LiveChat
    • e-Læring
    Forsyningskæde
    • Lagerbeholdning
    • Produktion
    • PLM
    • Indkøb
    • Vedligeholdelse
    • Kvalitet
    HR
    • Medarbejdere
    • Rekruttering
    • Fravær
    • Medarbejdersamtaler
    • Anbefalinger
    • Flåde
    Marketing
    • Markedsføring på sociale medier
    • E-mailmarketing
    • SMS-marketing
    • Arrangementer
    • Automatiseret marketing
    • Spørgeundersøgelser
    Tjenester
    • Projekt
    • Timesedler
    • Udkørende Service
    • Kundeservice
    • Planlægning
    • Aftaler
    Produktivitet
    • Dialog
    • Godkendelser
    • IoT
    • VoIP
    • Vidensdeling
    • WhatsApp
    Tredjepartsapps Odoo Studio Odoo Cloud-platform
  • Brancher
    Detailhandel
    • Boghandel
    • Tøjforretning
    • Møbelforretning
    • Dagligvarebutik
    • Byggemarked
    • Legetøjsforretning
    Mad og værtsskab
    • Bar og pub
    • Restaurant
    • Fastfood
    • Gæstehus
    • Drikkevareforhandler
    • Hotel
    Ejendom
    • Ejendomsmægler
    • Arkitektfirma
    • Byggeri
    • Ejendomsadministration
    • Havearbejde
    • Boligejerforening
    Rådgivning
    • Regnskabsfirma
    • Odoo-partner
    • Marketingbureau
    • Advokatfirma
    • Rekruttering
    • Audit & certificering
    Produktion
    • Tekstil
    • Metal
    • Møbler
    • Fødevareproduktion
    • Bryggeri
    • Firmagave
    Heldbred & Fitness
    • Sportsklub
    • Optiker
    • Fitnesscenter
    • Kosmetolog
    • Apotek
    • Frisør
    Håndværk
    • Handyman
    • IT-hardware og support
    • Solenergisystemer
    • Skomager
    • Rengøringsservicer
    • VVS- og ventilationsservice
    Andet
    • Nonprofitorganisation
    • Miljøagentur
    • Udlejning af billboards
    • Fotografi
    • Cykeludlejning
    • Softwareforhandler
    Gennemse alle brancher
  • Community
    Få mere at vide
    • Tutorials
    • Dokumentation
    • Certificeringer
    • Oplæring
    • Blog
    • Podcast
    Bliv klogere
    • Udannelselsesprogram
    • Scale Up!-virksomhedsspillet
    • Besøg Odoo
    Få softwaren
    • Download
    • Sammenlign versioner
    • Udgaver
    Samarbejde
    • Github
    • Forum
    • Arrangementer
    • Oversættelser
    • Bliv partner
    • Tjenester til partnere
    • Registrér dit regnskabsfirma
    Modtag tjenester
    • Find en partner
    • Find en bogholder
    • Kontakt en rådgiver
    • Implementeringstjenester
    • Kundereferencer
    • Support
    • Opgraderinger
    Github Youtube Twitter LinkedIn Instagram Facebook Spotify
    +1 (650) 691-3277
    Få en demo
  • Prissætning
  • Hjælp

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

  • CRM
  • e-Commerce
  • Bogføring
  • Lager
  • PoS
  • Projekt
  • MRP
All apps
Du skal være registreret for at interagere med fællesskabet.
All Posts People Emblemer
Tags (View all)
odoo accounting v14 pos v15
Om dette forum
Du skal være registreret for at interagere med fællesskabet.
All Posts People Emblemer
Tags (View all)
odoo accounting v14 pos v15
Om dette forum
Hjælp

Force id in csv import

Tilmeld

Få besked, når der er aktivitet på dette indlæg

Dette spørgsmål er blevet anmeldt
import
17 Besvarelser
11209 Visninger
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
Kassér
Pascal Tremblay

mapping menu????

John Doe (jd)
Forfatter

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)
Forfatter

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
Bedste svar

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
Kassér
John Doe (jd)
Forfatter

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)
Forfatter

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)
Forfatter

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)
Forfatter

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)
Forfatter

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

John Doe (jd)
Forfatter

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
Bedste svar

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
Kassér
Avatar
Yurdik Cervantes Mendoza
Bedste svar

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
Kassér
Avatar
Stephen Mack
Bedste svar

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

0
Avatar
Kassér
John Doe (jd)
Forfatter

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)
Forfatter Bedste svar

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
Kassér
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Tilmeld dig
Related Posts Besvarelser Visninger Aktivitet
Issue with import and comma in Excel File (odoo 19)
import
Avatar
0
sep. 25
234
Importacion de Atributos y Valores
import
Avatar
Avatar
Avatar
2
maj 25
2298
Import from Winbooks Løst
import
Avatar
Avatar
Avatar
Avatar
Avatar
4
maj 25
6750
can i import journal entries from Excel
import
Avatar
Avatar
1
aug. 24
3492
Odoo 17 Studio
import
Avatar
Avatar
1
feb. 24
4004
Community
  • Tutorials
  • Dokumentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Oversættelser
Tjenester
  • Odoo.sh-hosting
  • Support
  • Opgradere
  • Individuelt tilpasset udvikling
  • Uddannelse
  • Find en bogholder
  • Find en partner
  • Bliv partner
Om os
  • Vores virksomhed
  • Brandaktiver
  • Kontakt os
  • Stillinger
  • Arrangementer
  • Podcast
  • Blog
  • Kunder
  • Juridiske dokumenter • Privatlivspolitik
  • Sikkerhedspolitik
الْعَرَبيّة 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 er en samling open source-forretningsapps, der dækker alle dine virksomhedsbehov – lige fra CRM, e-handel og bogføring til lagerstyring, POS, projektledelse og meget mere.

Det unikke ved Odoo er, at systemet både er brugervenligt og fuldt integreret.

Website made with

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