Usar ERPpeek para gestionar Odoo
1.- Instalar erppeek con:
pip3 install erppeek
2.- Con nano crear un script para ser ejecutado por python:
sudo nano prueba.py
3.- En ese fichero poner los datos de configuración de la base de datos y las instrucciones que queramos ejecutar. En nuestro caso vamos a insertar un nuevo contacto.
import erppeek
database = "miodoo"
server= "http://localhost:8069"
passw = "miclave"
user= "admin@admin.com"
cliente = erppeek.Client(server,database,user,passw)
cliente.model('res.partner').create({'name': 'Juan'})
4.- Ejecutar el script con python:
python3 prueba.py
5.- Si queremos tecorrer una tabla y mostrar sus valores podemos hacer:
datos = cliente.model('res.partner').search([])
for dato in datos:
rec =cliente.model('res.partner').browse(dato)
if isinstance(rec.city, str):
print(rec.name + ' ' + rec.city)
6.- Si queremos escribir en un campo podemos hacer:
datos = cliente.model('res.partner').search([])
for dato in datos:
rec =cliente.model('res.partner').browse(dato)
rec.write({'city': 'Madrid'})
7.- Para cambiar un campo de la tabla de configuración:
config_params = client.model('res.config.settings').browse([])
if config_params:
config_params[0].write({'group_discount_per_so_line': True})
else:
config_params = client_model('res.config.settings').create({})
config_params[0].write({'group_discount_per_so_line': True})
8.- Para actualizar el número de digitos de la contabilidad
datos = cliente.model('account.account').search([])
for dato in datos:
rec =cliente.model('account.account').browse(dato)
x = rec.code
z = x.strip()
if len(z) < 10:
y = rec.code + "0000"
rec.write({'code': y})
9.- Para crear una base de datos de arranque
DATABASE = 'odoo12'
SERVER = 'http://localhost:8069'
ADMIN_PASSWORD = 'admin'
USER_PASSWORD='miclave'
DEMO = False
LANG='es_ES'
COUNTRY_CODE='ES'
LOGIN='pepa'
client = erppeek.Client(server=SERVER)
if not DATABASE in client.db.list():
print("The database does not exist yet, creating one!")
client.create_database(ADMIN_PASSWORD, DATABASE, DEMO, LANG, USER_PASSWORD, LOGIN, COUNTRY_CODE)
else:
print("The database " + DATABASE + " already exists.")