~tecvemar/openerp-tecvemar/trunk

« back to all changes in this revision

Viewing changes to init-data/tcv_load_company_data/product_product.py

  • Committer: Miguel Delgado
  • Date: 2012-01-16 16:01:47 UTC
  • Revision ID: miguel.delgado07@gmail.com-20120116160147-xh7svuwouf56xjjj

[ADD] Se añadieron todos los modulos desarrollados por Tecvemar para arrancar dicha compañia con la version  
6.0 de OpenErp.
[ADD] Se creo una estructura de 2 carpetas donde openerp-modules contendra los modulos que añaden 
funcionalidad a OpenErp segun el modelo de negocios de la compañia y init-data contendra modulos necesarios 
para cargar la data de la compañia.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- encoding: utf-8 -*-
 
2
import config as cnx
 
3
import product_category as pdc
 
4
 
 
5
# Para almacenar consultas realizadas
 
6
dict_product_category = {}
 
7
 
 
8
#~ def get_product_id(data):
 
9
    #~ global dict_product_category
 
10
    #~ if not data:
 
11
        #~ return 0
 
12
    #~ key = '%s'%(data['code'])
 
13
    #~ if dict_product_category.get(key):
 
14
        #~ return dict_product_category[key]
 
15
    #~ id = cnx.execute_dst('product.category','search',[('code','=',data['code'])])
 
16
    #~ if id:
 
17
        #~ dict_product_category[key] = id[0]
 
18
        #~ return dict_product_category[key]
 
19
    #~ else:
 
20
        #~ return 0
 
21
 
 
22
 
 
23
def import_data(go):
 
24
    res = {}
 
25
    if not go: return res
 
26
    print 'Importing product.product...'
 
27
    # TODO Clear previous data
 
28
    ids = cnx.execute_src('product.product', 'search',[])
 
29
    products = cnx.execute_src('product.product', 'read', ids, [])
 
30
    for product in products:
 
31
        print product
 
32
        if not cnx.execute_dst('product.product','search',[('default_code','=',product['default_code'])]):
 
33
            concept_id = product['concept_id'] or cnx.execute_dst('islr.wh.concept','search',[('withholdable','=',False)])[0]  # 1 = Sin concepto de retención
 
34
            print product['categ_id']
 
35
            buscar el codigo de la categoria y luego llamar a get_product_category
 
36
            categ_id = cns.execute_dst('product.category','search',[('complete_name','=',product['default_code'])])
 
37
            new_product = {
 
38
                'company_id':0, # para multicompany
 
39
                'name': product['name'],
 
40
                'default_code': product['default_code'],
 
41
                'weight': product['weight'],
 
42
                'weight_net': product['weight_net'],
 
43
                'categ_id':categ_id,
 
44
                #~ 'track_incoming':t_in,
 
45
                #~ 'track_outgoing':t_out,
 
46
                'type':product['type'],
 
47
                'procure_method':product['procure_method'],
 
48
                'cost_method':product['cost_method'],
 
49
                'purchase_ok':product['purchase_ok'],
 
50
                'sale_ok':product['sale_ok'],
 
51
                'standard_price':product['standard_price'],
 
52
                'list_price':product['list_price'],
 
53
                'stock_driver':product['stock_driver'],
 
54
                'uom_id':product['uom_id'],
 
55
                'uom_po_id':product['uom_po_id'],
 
56
                'concept_id':concept_id,
 
57
                'valuation':'manual_periodic',
 
58
                }
 
59
            #~ print '\t%s\n'%(new_product)
 
60
            #~ print '\t%s\n'%(parent)
 
61
            #~ cnx.execute_dst('product.product','create',new_product)
 
62
    return res
 
63