Odoo ERP es un software libre que puede ser instalado en la nube y se puede unir con una app para que desde tu celular puedas interactuar con el, tiene varios módulos muy interesantes para la administración de las empresas. Se conocía anteriormente como OpenERP, que es un sistema de ERP integrado de código abierto actualmente producido por la empresa belga Odoo S.A. El fabricante declara su producto como una alternativa de código abierto a SAP ERP y Microsoft Dynamics.
Odoo usa una arquitectura cliente servidor donde los clientes se conectan usando un navegador via RPC. Generalmente, la lógica y la extensión de negocio se realizan en el lado del servidor.
Entre sus principales módulos podemos señalar:
Lo Básico que tenemos que conocer de GitHub y Linux para Odoo
## Instalamos git ###
sudo apt install git
# Instalamos un módulo
git clone https://github.com/odoochile/Odoo-Chile
## Reiniciamos Odoo ##
service odoo restart
## Actualizar tu directorio local ##
git pull
# Borramos un directorio con ficheros
rm -Rf Odoo-Chile
En Phyton las variable puede declararse de cualquier tipo y pueden cambiar su tipo en el programa.
# una cadena
c = "Hola Marlon"
# y esto es un entero
e = 45
# podemos comprobarlo con la función type
type(c)
type(e)
Phyton permite crear funciones muy fácilmente usando la siguiente sintaxis
def funcion():
return "Hola Mundo"
f = funcion()
print f
Phyton permite crear clases muy fácilmente usando la siguiente sintaxis
class Complejo:
def __init__(self, partereal, parteimaginaria):
self.r = partereal
self.i = parteimaginaria
x = Complejo(3.0, -4.5)
x.r, x.i
(3.0, -4.5)
Odoo cuenta con una herramienta que te permite crear módulos completos para empezar a programar.
# 1- Nos colocamos en la carpeta Odoo 10.0\server
# cd C:\Program Files (x86)\Odoo 10.0\server
# 2- Ejecutamos el siguiente comando
# $ odoo-bin scaffold [module name] [where to put it]
odoo-bin scaffold nombremodulo odoo/addons
Tipos de datos.
string -- Cadenas
help - tooltip de ayuda
readonly - Si el campo es solo lectura.
required -- Si el campo es requerido
index -- Cuando el campo puede ser indexado en la base de dato
default -- Valor por defecto de un campo
states -- Un diccionario
groups -- Listas
copy (bool) -- Cuando un campo es copiado
oldname (string) -- El nombre anterior
Para crear un respaldo de la base de datos utilizaremos el siguiente comando.
http://localhost:8069/web/database/manager
Contraseñas por defecto.
Port: 5432
Username:openpg
Password:openpgpwd
Lo puede hacer desde el siguiente sitio: nightly.odoo.com
wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
echo "deb http://nightly.odoo.com/10.0/nightly/deb/ ./" >> /etc/apt/sources.list
apt-get update && apt-get install odoo
Si queremos saber si tenemos un error tenemos que ver el archivo odoo.log que cambia en tiempo real
# Instalamos Windows Server 2003 Resource Kit Tools
https://www.microsoft.com/en-us/download/confirmation.aspx?id=17657
# Nos colocamos en la carpeta de la app
C:\Program Files (x86)\Windows Resource Kits\Tools
# Ejecutamos en el CMD el siguiente comando
tail.exe -f "C:\Program Files (x86)\Odoo 9.0-20160521\server\odoo.log"
Si queremos clonar un módulo de odoo desde Github usamos los siguientes comandos
## Instalamos git ###
sudo apt install git
## nos colocamos sobre la carpeta de modulos ###
cd /usr/lib/python2.7/dist-packages/openerp/addons
## Instalamos el primer modulo ##
git clone -b 9.0 https://github.com/dansanti/l10n_cl_vat
sudo service odoo restart
En Odoo es recomendable instalar los módulo que no son oficiales en otra carpeta para ello seguiremos los siguientes pasos
## 0- Los módulos estandar de Odoo 10.0 estan en la siguiente dirección ##
cd /usr/lib/python2.7/dist-packages/odoo/addons
## 1- Nos conectamos con permiso de administrador ##
sudo su
## 2- Damos permiso de escritura a la carpeta de odoo ###
chmod 777 -R /var/lib/odoo/
## 3- Entramos en la carpeta que colocaremos los módulos ###
cd /var/lib/odoo/.local/share/Odoo/addons/10.0
## 4- Instalamos git ###
sudo apt install git
## 5- Clonamos el repositorio con el módulo que nos interese ###
git clone https://github.com/odoochile/Odoo-Chile
## 6 - Adicionamos la carpeta al archivo de configuración de Odoo ##
cd /etc/odoo
nano odoo.conf
addons_path = /usr/lib/python2.7/dist-packages/openerp/addons, /var/lib/odoo/.local/share/Odoo/addons/10.0/Odoo-Chile
Crtl + X
Enter
## 7 - Reiniciamos odoo ##
service odoo restart
Si queremos saber si tenemos un error tenemos que ver el archivo odoo.log que cambia en tiempo real
# Entramos a la carpeta
cd /var/log/odoo
# Mostramos el server.log
nano odoo-server.log
# Si lo queremos limpiar
rm odoo-server.log
Cuando instalamos la versión 10.0 en linux necesitamos instalar la libreria wkhtmltopdf que nos permitirá leer los PDF
# Ejecutamos los siguientes comandos
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb
sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.debz
# Reiniciamos Odoo
service odoo restart
__init__.py
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import models
__manifest__.py
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
# Copyright (c) 2016 FALCON SOLUTIONS - Marlon Falcón
{
'name': "Modulo RUC - 123ERP",
'version': '1.0',
'description': """
Paraguay RUC
==============================================
Configuracion del campo RUC
""",
'author': 'FALCON SOLUTIONS - Marlon Falcón',
'website': "www.falconsolutions.cl",
'category': 'Localization',
'depends': ['sale'],
'data': [
'views/partner.xml',
],
}
models/partner.py
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
# Copyright (c) 2016 FALCON SOLUTIONS - Marlon Falcón
from odoo import fields, models
class Partner(models.Model):
_inherit = 'res.partner'
# Add a new column to the res.partner model, by default partners are not
rut = fields.Char(string="RUT")
__init__.py
nombre = fields.char('Nombre', size=80, required=True, help='Aqui pones el nombre')
fecha_nacimiento = fields.date('Fecha de nacimiento', help='Fecha de Nacimiento')
cedula = fields.integer('Cedula', size=10, required=True, help='Aqui pones la cedula')
direccion = fields.text('Direccion', help='Direccion')