Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
BEST PRACTICES ON HOW TO
IMPORT DATA INTO OPENERP
Why	
  you	
  should	
  love	
  CSV	
  Import	
  	
  
Cyril	
  MORISSE	
...
 
Introduc*on	
  
	
  
¨  With	
  Test	
  Driven	
  Development	
  and	
  Data	
  
Migra*on,	
  we	
  need	
  to	
  gathe...
Installa*on	
  
¨  Export	
  func*onality	
  is	
  available	
  right	
  out	
  of	
  the	
  box	
  
¨  BUT	
  import	
 ...
CSV	
  import	
  issues	
  
¨  When	
  impor*ng	
  data	
  using	
  CSV,	
  you	
  will	
  
face	
  3	
  main	
  issues:	...
Iden*fy	
  fields	
  to	
  import	
  
¨  To	
  iden*fy	
  the	
  columns	
  required	
  to	
  import	
  an	
  
object:	
  ...
Understand	
  IDs	
  
¨  Example	
  Product	
  categories	
  
	
  
¨  CSV	
  Import	
  allows	
  User	
  Defined	
  Exter...
Understand	
  IDs	
  (con*nued)	
  
¨  User	
  defined	
  IDs	
  are	
  saved	
  in	
  the	
  database	
  and	
  can	
  be...
Understand	
  IDs	
  (end)	
  
¨  User	
  defined	
  IDs	
  allow	
  to	
  manage	
  Import	
  /	
  Update	
  of	
  data	
...
Import	
  simple	
  Fields	
  
Field type Cell content Example
char, text Content surrounded by “ “This is a text ""value”...
Import	
  rela*ons:	
  Many2One	
  
¨  Many2one	
  	
  
¨  This	
  is	
  the	
  simplest	
  rela*on	
  to	
  import	
  i...
Import	
  rela*ons:	
  Many2Many	
  
¨  Eg.	
  Customer	
  Tags	
  
¨  Many2many	
  involves	
  3	
  tables	
  	
  
	
  ...
Import	
  rela*ons:	
  One2Many	
  
¨  Eg.	
  Quota*ons/	
  Quota*ons	
  Lines	
  
	
  
	
  
¨  In	
  CSV:	
  Enter	
  l...
Integrate	
  CSV	
  in	
  your	
  development	
  
workflow	
  
¨  Create	
  a	
  set	
  of	
  shared	
  Google	
  Spreadsh...
More	
  informa*on?	
  
www.audaxis.com	
  
	
  
Contact	
  us	
  
openerp@audaxis.com	
  
	
  
	
  
	
  
14
Visit our boo...
Prochain SlideShare
Chargement dans…5
×

Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis

30 632 vues

Publié le

Publié dans : Business, Technologie
  • Login to see the comments

Best practices on how to import data into OpenERP. Cyril Morisse, Audaxis

  1. 1. BEST PRACTICES ON HOW TO IMPORT DATA INTO OPENERP Why  you  should  love  CSV  Import     Cyril  MORISSE  (  @cmorisse  )    
  2. 2.   Introduc*on     ¨  With  Test  Driven  Development  and  Data   Migra*on,  we  need  to  gather  and  enter  real  data   owned  by  users   ¨  We  need  a  data  format  within  user’s  reach   (compared  to  XML)   ¨  As  of  version  7.0  OpenERP  has  redesigned  the   import  system  (“base_import”  module):   ¤  It  has  nearly  everything  right  out  of  the  box   ¤  Only  missing  feature  is  user  oriented  documenta*on   ¨  This  talk  is  an  overview  of  the  module  
  3. 3. Installa*on   ¨  Export  func*onality  is  available  right  out  of  the  box   ¨  BUT  import  func*onality  must  be  installed:   ¤  Import  is  covered  by  “base_import”  module   ¤  Import  must  be  installed  via  SeTngs  /  Configura*on  /   General  SeTngs   ¨  Then  “Import”  link  is  available  in  all  list/tree  views  
  4. 4. CSV  import  issues   ¨  When  impor*ng  data  using  CSV,  you  will   face  3  main  issues:   ¤ Iden*fy  the  fields  required  for  an  import   ¤ Understand  “OpenERP  External  IDs”     ¤ Understand  how  to  import  the  different  type   of  fields   n Simple  fields  (  date,  text,  numbers,  boolean,…)   n Rela*onal  fields:   n Many2many   n Many2One   n One2many  
  5. 5. Iden*fy  fields  to  import   ¨  To  iden*fy  the  columns  required  to  import  an   object:   1.  Ac*vate  “Developer  Mode”   2.  Write  down  all  the  fields  you  must  enter  manually   3.  Export  a  file  with  all  these  fields     4.  Delete  values  in  the  id  column  then  re-­‐import  the   file  to  check  everything  is  ok   5.  If  a  column  is  missing  ;  do  it  again  from  step  3  and   add  the  column    
  6. 6. Understand  IDs   ¨  Example  Product  categories     ¨  CSV  Import  allows  User  Defined  External  IDs   ¤  External  IDs  are  symbolic  names  for  records   ¤  Format  is  module_name.id_name    
  7. 7. Understand  IDs  (con*nued)   ¨  User  defined  IDs  are  saved  in  the  database  and  can  be   retrieved  via:   ¤  SeTngs  /  Technical  /  Sequences  &  Iden*fiers  /  External  Iden*fiers    
  8. 8. Understand  IDs  (end)   ¨  User  defined  IDs  allow  to  manage  Import  /  Update  of  data   ¨  During  import:   ¤  If  a  record  exists  with  this  ID,  OpenERP  will  update  the  record   ¤  If  no  record  exists  with  this  ID,  OpenERP  will  create  a  new  record     ¨  Export  IDs   ¤  During  Export,  OpenERP  creates  an  export  ID  for  all  records  without   IDs  (manually  created  records)     ¨  In  the  database  all  External  IDs  are  stored  in  table  ir_model_data  
  9. 9. Import  simple  Fields   Field type Cell content Example char, text Content surrounded by “ “This is a text ""value”"." float Number with . as decimal separator 3.15 boolean True or False “0” or 0 or “False” or False or “1” or 1 or “True” or True date YYYY-MM-DD 2013-06-10 datetime YYYY-MM-DD HH:MM:SS 2013-06-10 07:07 selection Value as given by “developer mode” inspector reference Value in database is “object,id”
  10. 10. Import  rela*ons:  Many2One   ¨  Many2one     ¨  This  is  the  simplest  rela*on  to  import  in  CSV   ¤  Just  use  id  of  referenced  object   id parent_id product_category ...
  11. 11. Import  rela*ons:  Many2Many   ¨  Eg.  Customer  Tags   ¨  Many2many  involves  3  tables         ¨  Really  simple  in  CSV  ;  enter  all  values  separated  by   comma  with  no  space     ... id res_partner id ... res_partner_category category_idpartner_id res_partner_res_partner_category_rel
  12. 12. Import  rela*ons:  One2Many   ¨  Eg.  Quota*ons/  Quota*ons  Lines       ¨  In  CSV:  Enter  lines  while  you  don’t  repeat  header  object  fields   ¤  Child  objects  column  format  is     “one2many_fieldname/child_object_field”             ... id sale_order id order_id sale_order_line ...
  13. 13. Integrate  CSV  in  your  development   workflow   ¨  Create  a  set  of  shared  Google  Spreadsheet  that  your   users  will  complete  with  project  data     ¨  Organize  your  OpenERP  project  in  3  modules:   ¤  project_core  with  code  and  technical  parameters   ¤  project_data  :  will  contains  only  data  in  CSV  files   ¤  project_test  :  contains  your  test  code  and  test  specific  data   ¨  Use  a  tool  to  automate  export  and  download  of  the   Google  Spreadsheet  into  the  project_data  module   ¤  hkp://bitbucket.org/cmorisse/edgdd     ¨  Your  users  will  be  able  to  “coopera*vely”  enter  their   data  and  you  will  be  able  to  seamlessly  integrate  and   use  this  data  in  your  project    
  14. 14. More  informa*on?   www.audaxis.com     Contact  us   openerp@audaxis.com         14 Visit our booth at OpenERP Community Days in Hall K

×