Please enable JavaScript.
Coggle requires JavaScript to display documents.
Odoo para Desarrolladores v1 (Vistas y Modelos I (Campos de un Modelo II …
Odoo para Desarrolladores v1
Instalación de Odoo con Docker
Uso de Docker para instancias de Odoo
Creando archivo docker-compose.yaml para Odoo
Creación de Odoo.conf
Creando múltiples instancias de Odoo en un mismo servidor
Levantar una instancia de Base de Datos
Estructura de un nuevo proyecto en Odoo para desarrollo y producción con docker-compose
Personalización de Imagen de Odoo con Dockerfile
Iniciando y deteniendo contenedor de Odoo
Mi Primer Módulo en Odoo
Estructura de un módulo
Arquitectura MVC en Odoo
Método ORM
Creando un Módulo de Odoo con Scaffold
Creando un Módulo Básico con
manifest
.py
Instalando nuestro primer Módulo
Presentación del Curso
Iniciación en desarrollo con Odoo
Metodología de Curso
Explicación de proyecto
SaldoAPP
Vistas y Modelos I
Modelo ER de Saldo APP
Creación del Modelo
Movimiento
- Herencia de
models.Model
Campos de un Modelo I - uso de clase
fields
Integer
string
Char
copy
readonly
size
Boolean
required
default
readonly
Binary
help
groups
Atributos de un Modelo.
_name
, _
description
,
_inherit
Campos de un Modelo II - uso de clase
fields
Selection
Text
Datetime
Date
Float
Creando un Nuevo registro para el Modelo Movimiento con la etiqueta
<record/>
Visualización de Registro en la base de datos
Creando un registro
Action View
para el Modelo Movimiento - Modelo
ir.actions.act_window
Creación de Menú Movimientos - etiqueta
<menuitem/>
Campos de auditoría
Proyecto SaldoAPP
Creación de Módulo
SaldoAPP
Configuración de Metadatos de SaldoAPP
Agregando Icono y descripción de Módulo en HTML
Más acerca de Modelos
Uso de Campo
Float
con precisión configurable
Agregando campo
Importe
al modelo
Movimiento
- Uso de campo de tipo
Moneda
Campos de relación entre modelos:
One2many
,
Many2one
y
Many2many
Atributos de Campo
limit
context = {}
ondelete
restrict
set null
cascade
domain =[]
relation
opcional: en caso que el nombre de los dos campos que se están relacionando no superen los 23 carácteres juntos
Nombre de campo reservado:
active
Nombre de campo reservado:
state
atributo
states
Uso de campo HTML
Agregando un campo almacenado en otro modelo -
related
Campos Calculados
Cálculo automático del total de movimientos en ingresos y gastos
compute
Implementan de búsqueda de un campo calculado
search
Brindar todos los permisos para realizar un cálculo
compute_sudo
= True
Obtener una lista dinámica de categorias de movimientos - atributo
selection
Personalización de búsqueda
Herencia de Modelos
Herencia del Modelo nativo
res.partner
Extendiendo vista
Form
de
res.partner
Extendiendo vista
tree
de
res.partner
Obteniendo el ID de la vista
form
de res.partner que deseamos extender
Creando vista que extienda a
Form
de res.partner -
before
,
after
,
inside
y
replace
Creando vista que extienda los atributos de una etiqueta -
attributes
Vistas de tipo
Form
etiqueta
<group/>
etiqueta
<sheet/>
<notebook/>
and
<page/>
Atributos de
<field/>
widgets
selection
statusbar
many2many_tags
float_time
binary
handle
progressbar
url
percentpie
many2many_kanban
email
ref
eval
t-options
attrs
readonly
required
invisible
context
domain
groups
Vista de tipo
Tree
Atributos
colors
editable
top
bottom
string
required
readonly
default_order
limit
create, edit y delete
Acciones de Ventana
Pasando parámetros por defecto -
context
Filtrando registros -
domain
Limitando la cantidad de registros a mostrar -
limit
Modos para abrir una vista -
current
,
fullscreen
y
new
Invocando una acción de ventana desde un botón en
res.partner
Creación de Reportes
Creación de reporte de movimientos -
<report/>
Wizard para reporte de movimiento usando intervalos de fecha -
AbstractModel
Personalizando el formato del papel -
<paperformat/>
Agregando QR y código de barras
Ejecutando funciones python en los reportes
Añadiendo estilos CSS
Etiquetas Qweb
t-esc
t-call
t-foreach
t-var
t-field
t-options
Llamando a un reporte desde un botón "Imprimir"
Seguridad
Definición de los permisos de grupos del sistema - Administrador y usuarios
Creación de grupos
Admin
y
User
Agregando lista de control de acceso para cada Grupo
Agregando permisos de acceso para vistas y menus para cada grupo
Creación de reglas de seguridad
Limitando a los usuarios a acceder a algunos campos de vista
form
según su gurpo
WEB SERVICE - API JSONRPC
Estructura de request para consumir API
Autenticación
Consumiendo web service, através de la invocación de métodos ORM
search_read
write
create
unlink
Creando un nuevo método para consumir
Los permisos del usuario afectan al consumo del web service
Pasando parámetros al nuevo método en formato diccionario y lista
Uso de Postman para consumir Web Service
Métodos ORM
search
create
write
unlink
browse
exists
ref
ensure_one
Otros tipos de vistas
Search
Pivot
kanban