CURSO BASE ODOO 2019

CURSO BASE ODOO 2019

El temario del curso es susceptible de modificaciones

PARTE PRESENCIAL (Semana 1 de Abril)

ABRIL

Lunes 1

Martes 2

Miérc. 3

Jueves 4

Viernes 5

Mañana

(9:00-13:30)

Introducción

Flujo de Gestión

Programación I

Programación II

Github y OCA

Cierre

Tarde

(15:30-19:30)

Odoo y la empresa

Entorno de Trabajo

Programación I

Programación II

ONLINE (Semana 8 de Abril) - Compras y Almacén

ABRIL

Lunes 8

Martes 9

Miérc. 10

Jueves 11

Viernes 12

Webinar

(9:00-15:00)

Scrum

Scrum

Scrum

Review

(10:00-14:00)

        ONLINE (Semana 22 de Abril) - Servicios (Proyectos, RRHH y Analítica)

ABRIL

Lunes 22

Martes 23

Miérc. 24

Jueves 25

Viernes 26

Webinar

(9:00-15:00)

Scrum

Scrum

Scrum

Review

(10:00-14:00)

        ONLINE (Semana 29 de Abril) - Website y Portal

ABRIL

Lunes 29

Martes 30

Miérc. 1

Jueves 2

Viernes 3

Webinar

(9:00-15:00)

Scrum

Scrum

Scrum

Review

(10:00-14:00)

PARTE PRESENCIAL (Semana 1 de Abril)

  1. INTRODUCCIÓN (1 de Abril, 9:00-13:30)

  1. Qué es un ERP

Explicación iniciativa al papel crítico en la gestión de información empresarial mediante el ERP. Ejemplos de diferentes marcas de ERP en el mercado y casos de uso típicos de Odoo en diferentes áreas empresariales.

  1. Creación y manejo de Bases de Datos en Odoo

Veremos cómo crear una nueva BBDD, duplicar, importar y exportar las ya existentes, y algunas configuraciones opcionales muy útiles para testear o desarrollar como usar datos Demo.

  1. Instalación de módulos

Introducción a la estructura modular de Odoo, el concepto de APP, y el de módulo. Cómo instalar, actualizar y desinstalar módulos de Odoo.

  1. Interfaz

Navegación a través de la interface. Menús, tipos de vistas, campos relacionales y navegación a través migas de pan.

  1. Parametrización Básica

Creación y configuración de usuarios del sistema, grupos, configuración de la compañía e instalación de idiomas.

  1. Interfaz en modo Desarrollador

A través de la interface nos introduciremos en el modelado de la Base de datos. Gracias al modo desarrollador, podremos desde analizar los campos y modelos mostrados en una vista, hasta acceder a un listado con todos los modelos detallados cargados en la base de datos.

  1. Permisos

Una vez visto los modelos y campos en la BBDD, podremos entender el funcionamiento de los permisos a través de grupos de usuario. También nos permitirá hacer una primera aproximación a la creación de dominios en la notación polaca usada por Odoo para la creación de reglas de registros.

  1. ODOO Y LA EMPRESA (1 de Abril, 15:30-19:30)

  1. Funcionalidades de Odoo para la empresa

Odoo es capaz de abarcar muchas funcionalidades que tienen hoy en día las empresas. En esta sección vamos a explicar un breve resumen, para centrarnos después en cuatro áreas que tienen la mayoría de las empresas, Ventas, Compras, Almacén y Contabilidad.

  1. Ventas

La mayoría de las empresas empieza su actividad en la venta. Veremos como funciona las ventas en Odoo y sus diferentes formas de configurarla, desde los clientes y productos hasta su confirmación.

  1. Compras

Al igual que las ventas todas las empresas tienen procesos de compra, ya sean materiales, subcontrataciones o simplemente suministros. Veremos cómo funcionan las compras en Odoo y su configuración.

  1. Almacén

El almacén es un punto crítico de muchas empresas que obviamente depende de las ventas y las compras. En este apartado se explicará el funcionamiento de los almacenes, ubicaciones, quants y funcionamiento de los albaranes.

  1. Facturación y contabilidad

Por excelencia, la facturación y la contabilidad es algo completamente obligatorio para las empresas. En este apartado realizaremos una introducción a la misma en Odoo, centrándonos en la facturación y los procesos de cobro o pago.

  1. EJEMPLO FLUJO DE GESTIÓN (2 de Abril, 9:00-13:30)

  1. Qué es un CRM?

Introducción al concepto de CRM. Desde el más clásico punto de vista comercial, hasta el más global que gestionar todas las relaciones con el cliente. Ejemplos de Software de CRM en el mercado y comparación entre funcionalidades de Odoo y otros programas.

  1. Instalación módulos básicos

Módulos disponibles relacionados con el CRM. Aprovecharemos para profundizar en la diferencia entre un módulo principal (APP), y los módulos satélites, módulos propios de Odoo (core), o de terceros (OCA y equipos independientes).

  1. Clientes y Productos

Instalado CRM y APPs, veremos cómo gestionar clientes y productos. Aprovecharemos para ver el modelo res.partner y su estructura desde la interfaz.

  1. Iniciativas y Oportunidades

Ejemplo de configuración y flujo del CRM. Desde la iniciativa hasta la oportunidad. Configuración de equipos de venta, etapas, y grupos de usuarios.

  1. Presupuestos y Pedidos

Veremos la gestión presupuestaria con Odoo. El flujo de ventas, hasta la factura, tanto con origen en el propio presupuesto como en oportunidades del CRM. Más adelante completaremos esta información con la gestión de tarifas.

  1. Grupos de permisos

Instalado CRM y Ventas, veremos los grupos y permisos que incorporan estas dos nuevas APPs. Aprender a crear reglas de registro para personalizar implantaciones en función de las necesidades específicas del cliente, así como ver que tipo de configuraciones son proclives de hacer en base de datos y cuáles se deberían extraer en un módulo independiente.

  1. Tarifas

Gestión de tarifas de venta con Odoo. Creación de reglas de tarifa por producto, categoría, temporalidad y/o volumen, condiciones, asignación a clientes. Configuración de árboles de tarifas. Y gestión de tarifas en el presupuesto/pedido.

  1. Comunicaciones internas con Odoo

La gestión de comunicaciones internas es uno de las funcionalidades más horizontales de Odoo. Su correcta comprensión y configuración a través de métodos de followers, grupos, alias, etc, es crítico para el éxito de su implantación en la empresa.

  1. Comunicaciones externas con Odoo (mail)

Cuando configuramos un servidor de correo saliente y entrante en Odoo, abrimos las comunicaciones a toda nuestra red de contactos. Un punto crítico que necesita una fina compresión para evitar errores comunicativos con nuestros clientes, proveedores o socios externos.

  1. ENTORNO DE TRABAJO (2 de Abril, 15:30-19:30)

  2. IDE + Configuración de Guidelines

Siendo tan variable los IDEs disponibles para el desarrollo. Nos centraremos en un IDE sencillo que nos permita instalar herramientas para facilitar el uso de las Guidelines adecuadas para el desarrollo en Odoo, más en concreto de OCA.

  1. Git básico

Introducción a los conceptos básicos necesarios para trabajar con Git en equipo. Aproximación a diferentes posibles flujos de trabajo, y ejemplos prácticos sobre su uso.

  1. Instalación de Odoo

Además de explicar superficialmente las diferentes formas de instalar de Odoo, haremos una instalación completa sobre Linux.

  1. Instalación módulos externos (OCA)

Añadir nuevos módulos a través de Git en nuestra instancia. Actualizar la base de datos e instalarlos. Introducción a estructura de repositorios de la OCA.

  1. Estructura de un Módulo

Estructura de directorios de un módulo. Desde la APP más compleja hasta el módulo más sencillo, tienen una estructura acordada que permite facilitar la búsqueda y organización del código, ya sea python, xml, javascript….

  1. Configuración del servicio

Veremos los principales parámetros de configuración de servicio en el archivo de configuración de Odoo. Desde cómo arrancar en modo dev, personalizar cores y uso de memoria, archivos logs, addons, etc...

  1. Revisión de Logs

Comandos y búsquedas para revisar el estado del servicio, tanto en producción como en desarrollo. Interpretación del log.

  1. DESARROLLO MÓDULO I (3 de Abril, 9:00-19:30)

  1. Crear e instalar un nuevo módulo

Primeros pasos con nuestro módulo práctico sobre el que crearemos una lógica de trabajo. En este primer punto, veremos la instalación y asociación entre la definición del módulo y la interfaz de APPs.

  1. Completar estructura mínima del módulo

Analizaremos las partes básicas de un módulo, como el manifest, el init, y las cabeceras y convenciones usadas para estructurar el código.

  1. Añadiendo Modelos

Creación de modelos utilizando el ORM, estructura básica del modelo, atributos y

  1. Añadiendo Vistas y Menús

Para dar accesibilidad a los registros de un módulo, debemos estructurar los menús y crear la vistas mejorando la usabilidad del módulo. En este apartado veremos la vista tree, la form y la search.

  1. Tipos de Campos Básicos

En este apartado veremos los principales tipos de campos utilizados por el ORM. En cada uno de ellos veremos los diferentes atributos necesarios u opcionales para definirlos.

  1. Métodos I

Una vez tengamos nuestro módulo con la estructura necesaria para registrar la información, podremos definir los métodos que nos permitan incluir una lógica de negocio a nuestro modelos.

  1. Reglas de Seguridad

Veremos cómo definir permisos sobre nuestros modelos, y reglas de registros mediante dominios aplicados a grupos de usuarios.

  1. Traducciones

Una vez tengamos toda la interfaz y estructura de modelos definida, podremos introducir en el módulo el archivo de traducciones a diferentes idiomas.

  1. Tipos de Campos Relacionales

Para terminar esta primera parte de desarrollo, veremos cómo relacionar modelos entre si, con todas las variantes de relación de One2many, Many2one y Many2many.

  1. DESARROLLO MÓDULO II (4 de Abril, 9:00-19:30)

  1. Herencia de modelos

La herencia de modelos en Odoo es una de las herramientas más potentes y comunes en cualquier desarrollo, ya que nos permite ajustar y ampliar el comportamiento de modelos que ya están definidos por otros módulos. En este apartado nos introduciremos en la herencia mediante la herencia de un modelo añadiendo campos a su esquema.

  1. Campos Calculados

Veremos el atributo compute de los campos que nos permite auto-calcular los valores de ese campo en función del contexto del registro. También revisaremos el atributo store y los campos related.

  1. Vistas avanzadas

Profundizaremos en las vistas probadas anteriormente (form, tree y search) y añadiremos nuevas vistas a nuestro módulo con la vista Kanban, Pivot y Graph. También profundizaremos en los actions revisando cómo personalizar el comportamiento de nuestros diferentes actions.

  1. Decoradores

Los decoradores nos sirven para definir el marco en el que se debe ejecutar nuestro método, como se debe interpretar el entorno o cuándo/cómo se debe ejecutar. En este apartado veremos los principales decoradores con el multi, depends, model y onchange

  1. Métodos II

Avanzaremos en los métodos introduciéndonos en lógicas más complejas de código usando el ORM.

  1. Herencia de métodos

Gracias a la previa herencia de modelos, podremos ya no solo añadir nuevos campos a la estructura, si no también añadir lógica a los métodos ya definidos en el modelo heredado.

  1. Métodos Core del ORM

Introducción a los principales métodos definidos en el models.Model. Veremos cómo personalizar el comportamiento de métodos como el _search_name, _get_name, etc...

  1. Guía de búsqueda de referencias en el código

Debido a la complejidad del sistema, resulta complicado tener una documentación exhaustiva de toda la lógica aplicada en el propio Core, y más añadiendo módulos de terceros. Por ello debemos saber bucear en el código buscando referencias y comprendiendo dónde y cómo debemos introducir nuestra lógica dentro de la red del ERP.

  1. Git y OCA (5 de Abril, 9:00-13:00)

  1. Comandos básicos de Git

Dado que git es la herramienta de trabajo colaborativo más utilizada, veremos una introducción a sus funciones y ejemplos de diferentes modos de definir un flujo de trabajo en grupo con Git.

  1. Introducción a C.I.

Las herramientas de integración continua son actualmente un pieza fundamental para conseguir un código estable y maduro. Veremos cómo se realizan los tests en Odoo y herramientas como travis o coverage que nos ayudarán en el propósito.

  1. Github

Github es actualmente la plataforma más utilizada para desarrollo de Odoo, principalmente por ser la base utilizada por Odoo para el Core, y la OCA para el código comunitario. Veremos las herramientas que nos propone esta plataforma para el trabajo entre diferentes equipos de desarrollo independientes.

  1. Introducción Colaboración funcional:

La colaboración funcional en OCA es uno de los mejores modos de introducirse y aportar al esfuerzo común, podremos ver como mejorar las traducciones de Odoo mediante Weblate, la revisión funcional de PRs de la OCA a través de su Runbot, creación de Issues con sus especificaciones y como mejorar la documentación de los módulos mediante PRs propios.

  1. Introducción a la Colaboración Técnica

Veremos el flujo y enfatizaremos los guidelines obligatorios para poder llevar nuestro código a la OCA. El flujo empieza con hacerse miembro, registrar el CLA, y crear nuestro primer PR. También repasaremos  git para mantener un log de commits coherente con el trabajo de la OCA.

  1. CIERRE (5 de Abril, 13:00-14:30)

Mediante una pequeña introducción a las metodologías ágiles con Scrum, prepararemos la operativa para las siguientes 3 semanas de especialización. En las que trabajaremos en sprints de 1 semana enfocadas a partes específicas del ERP no vistas hasta ahora.


PARTE ONLINE (Semanas 8, 22, y 29 de Abril)

Sprint 1 Compras/Almacén (Semana 8 de Abril)

Lunes 8 de Abril de 9:00 a 14:00

Introducción a Compras y Almacén. Flujos de trabajo, modelos, métodos utilizados en el Core, módulos accesorios de la OCA. Presentación de Historia de Usuario (ejericio Scrum para la semana)

Martes 9 - Jueves 11

Sprint, con dailys diarios de 15 minutos entre los diferentes grupos de trabajo, y grupo de chat para el equipo. El profesor tomará el rol de Product Owner y un miembro del equipo de Scrum Master.

Viernes 12 de 11:00 a 14:00

Review. Muestra en común a todos los StakeHolders interesados de los resultados del Sprint.

Sprint 2 Servicios (Semana 22 de Abril)

Lunes 22 de Abril de 9:00 a 14:00

Introducción a Proyectos, RRHH y contabilidad Analítica. Flujos de trabajo, modelos, métodos utilizados en el Core, módulos accesorios de la OCA. Presentación de Historia de Usuario (ejericio Scrum para la semana)

Martes 23 - Jueves 25

Sprint, con dailys diarios de 15 minutos entre los diferentes grupos de trabajo, y grupo de chat para el equipo. El profesor tomará el rol de Product Owner y un miembro del equipo de Scrum Master.

Viernes 26 de 11:00 a 14:00

Review. Muestra en común a todos los StakeHolders interesados de los resultados del Sprint.

Sprint 3 Website/Portal (Semana 29 de Abril)

Lunes 29 de Abril de 9:00 a 14:00

Introducción a Website y Porta de usuario. Flujos de trabajo, modelos, métodos utilizados en el Core, módulos accesorios de la OCA. Presentación de Historia de Usuario (ejericio Scrum para la semana)

Martes 30 - Jueves 2

Sprint, con dailys diarios de 15 minutos entre los diferentes grupos de trabajo, y grupo de chat para el equipo. El profesor tomará el rol de Product Owner y un miembro del equipo de Scrum Master.

Viernes 3 de 11:00 a 14:00

Review. Muestra en común a todos los StakeHolders interesados de los resultados del Sprint.


Funcional

Básico

  • Comunicación interna
  • Acciones planificadas
  • Exportar datos CSV y Excel
  • Vista Listados, filtros y agrupaciones
  • Vista Pivot, extraer información
  • Datos maestros: Clientes y productos.

CRM

  • Iniciativas

Ventas

  • Productos
  • Tarifas de ventas
  • Comisiones

Logística

  • Almacenes y ubicaciones
  • Entrada de mercancía
  • Salida de mercancía
  • Movimientos internos
  • Inventario

Fabricación

  • Lista de materiales

Eventos

Proyectos

  • Tareas

Compras

  • Información de productos por proveedor
  • Reglas de reabastecimiento
  • Solicitud de presupuesto de compra
  • Pedidos de compra

Facturación

  • Facturas de clientes
  • Cobros
  • Facturas de proveedores
  • Pagos

Contabilidad

  • Plan general contable
  • Diarios
  • Extractos bancarios

Técnico