-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathres_partner.py
61 lines (48 loc) · 2.42 KB
/
res_partner.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/usr/bin/python
# encoding: utf-8
import xmlrpclib
usernameFrom = 'admin' # Odoo From user
pwdFrom = 'admin' # Odoo From password
dbFrom = 'odoo' # Odoo From base de datos
urlFrom = 'http://localhost:8069' # Odoo From URL
usernameTo = 'admin' # Odoo To user
pwdTo = 'admin' # Odoo To password
dbTo = 'odoo' # Odoo To base de datos
urlTo = 'http://localhost:8069' # Odoo To URL
valsFrom = {'fields': ['name', 'street', 'street', 'city', 'state_id', 'country_id', 'phone', 'mobile', 'email']}
commonFrom = xmlrpclib.ServerProxy('{}/xmlrpc/2/common'.format(urlFrom))
commonFrom.version()
uidFrom = commonFrom.authenticate(dbFrom, usernameFrom, pwdFrom, {})
commonTo = xmlrpclib.ServerProxy('{}/xmlrpc/2/common'.format(urlTo))
commonTo.version()
uidTo = commonTo.authenticate(dbTo, usernameTo, pwdTo, {})
modelsFrom = xmlrpclib.ServerProxy('{}/xmlrpc/2/object'.format(urlFrom))
modelsTo = xmlrpclib.ServerProxy('{}/xmlrpc/2/object'.format(urlTo))
partner_ids_from = modelsFrom.execute_kw(dbFrom, uidFrom, pwdFrom, 'res.partner', 'search', [[]]) # Ajustar dominio de búsqueda de acuerdo a las necesidades
print(partner_ids_from)
for partner_id in partner_ids_from:
print(partner_id)
from_partner = modelsFrom.execute_kw(dbFrom, uidFrom, pwdFrom, 'res.partner', 'read', [partner_id], valsFrom)
print(from_partner[0])
if from_partner[0]['state_id']:
state_id = modelsTo.execute_kw(dbTo, uidTo, pwdTo, 'res.country.state', 'search', [[['name', '=', from_partner[0]['state_id'][1]]]], {'limit': 1})
state_id = state_id[0]
else:
state_id = False
if from_partner[0]['country_id']:
country_id = modelsTo.execute_kw(dbTo, uidTo, pwdTo, 'res.country', 'search', [[['name', '=', from_partner[0]['country_id'][1]]]], {'limit': 1})
country_id = country_id[0]
else:
country_id = False
to_partner = modelsTo.execute_kw(dbTo, uidTo, pwdTo, 'res.partner', 'create', [{
'name': from_partner['name'],
'street': from_partner['street'],
'street2': from_partner['street2'],
'city': from_partner['city'],
'state_id': state_id,
'country_id': country_id,
'phone': from_partner[0]['phone'],
'mobile': from_partner[0]['mobile'],
'email': from_partner[0]['email'],
}])
print(to_partner)