Integrar Moodle con Office365

Ahora que estamos en confinamiento con el dichoso coronavirus, se hace más importante el uso de plataformas de teleaprendizaje tal como moodle y si además las podemos integrar con otras herramientas tal como Office365, pues mucho mejor.

En este post, vamos a ver cómo podemos integrar Office365 con moodle.

Antes de nada, es muy importante revisar la documentación oficial en la página de moodle, en donde es muy importante darse cuenta de este requisito, ya que sino la integración no funcionará

Requisitos integración moodle con Office365
Requisitos integración moodle con Office365

https://docs.moodle.org/all/es/Office365

Inicialmente, partimos de una instalación básica de moodle y otra de office365 (necesitaremos tener un rol de administrador en ambas). Después de la instalación básica de ambas herramientas, tenemos que instalar los plugins en moodle, activar la suscripción de azure y configurar la integración. Veamos cada uno de los pasos.

  • En moodle, instalar los plugins
  • En office365, activar la suscripción de Azure
  • Configurar la integración
  • Configuración del usuario

Instalar plugins en moodle

Para instalar los plugins, inicialmente, debemos descargarlos desde las webs que indica la documentación:

https://github.com/microsoft/moodle-local_office365
https://moodle.org/plugins/local_o365

Una vez descargados, debemos instalarlos desde moodle en el apartado de Extensiones

Añadir extensión (plugin) a moodle
Añadir extensión (plugin) a moodle

Una vez instalado, veremos que aparece como un módulo de extensión local

Plugin de Office365 como extensión local de moodle

Plugin de Office365 como extensión local de moodleAntes de configurar el plugin, debemos activar azure

ACTIVAR LA SUSCRIPCIÓN DE AZURE

Antes de configurar el plugin, es muy importante activar la suscripción de Azure, ya que es un requisito indispensable. La suscripción, es la que permite comunicar moodle con Office365 y sin ella, la aplicación no funcionará correctamente.

Para ello, accedemos a portal.azure.com y al entrar nos indicará que nos suscribamos. Podemos usar la opción gratuíta 1 mes para probarlo.  Una vez suscrito, podemos comprobarlo en la página de inicio, o en el apartado Suscripciones.

Suscripción de Azure
Suscripción de Azure

Una vez hayamos instalados los plugins y activada la suscripción, ya podemos configurar la integración

CONFIGURAR LA INTEGRACIÓN

Para configurar la integración, accedemos al módulo local instalado de moodle, y veremos que nos aparecen muchas opciones para configurar la integración

Opciones de integración de Office365 en moodle
Opciones de integración de Office365 en moodle

En el apartado de Configuración, es donde se prepara la integración con 3 pasos.

En el paso 1, debemos descargar y ejecutar un powershell, el cuál se encargará de crear una aplicación en azure, la cuál hará de «pasarela» entre office365 y moodle. Se encargará de autenticar las llamadas de moodle en nombre de sus usuarios  en Office365

PowerShell que debemos ejecutar
PowerShell que debemos ejecutar

Una vez ejecutemos el powershell, nos proporcionará dos ids que debemos rellenar.

IDs aplicación
IDs aplicación

En Azure, es importante que comprobemos que dicha aplicación aparece en el apartado de Azure Active Directory, Registro de aplicaciones y el nombre que le hayamos dado

Aplicación creada en azure por el script de powershell
Aplicación creada en azure por el script de powershell

En el paso 2, el asistente nos indicará el modo de integración entre moodle y office365. Nos recomienda que usemos el método de la aplicación que hemos creado con el powershell en vez de con llamadas al API

Autenticación de moodle y Office365
Autenticación de moodle y Office365

En el paso 3, que es el más importante, debemos dar permisos (dar consentimiento) en Office365 para que moodle pueda acceder a sus datos. Veremos que nos aparece una ventana para que nos autentiquemos en Office365 y demos ese permiso específico.

Consentimiento de la aplicación de moodle en Office365
Consentimiento de la aplicación de moodle en Office365

Una vez dado el consentimiento, si todo ha ido bien, moodle y office365 se pondrán en contacto y nos mostrará mensajes de su correcta integración

Llamadas entre moodle y Office365
Llamadas entre moodle y Office365

CONFIGURAciÓn del usuario

Una vez ha sido configurada la integración, podemos configurar el resto de opciones. Por ejemplo en la pestaña Sync Settings, podemos indicar si queremos que los usuarios se autentiquen en Office365 para entrar a moodle o que se cree un nuevo usuario en moodle al crear un usuario en Office365.

En el apartado de los usuarios, por ejemplo en el perfil de usuario o en la home de moodle, podemos añadir el plugin de Microsoft block el cuál permitirá desde el perfil del usuario, acceder a todas las herramientas de office365 asociadas: correo, delve, onedrive, onenote, etc..

Bloque de Microsoft block
Bloque de Microsoft block
Microsoft block integrada
Microsoft block integrada

Otra opción interesante, es dentro de los cursos, podemos añadir documentos o ficheros que estén en Office365. Si en un curso, agregamos un recurso de tipo carpeta, dispondremos de una nueva opción en Office365 la cuál nos permitirá elegir documentos desde el OneDrive del usuario y/o Delve.

Recurso de tipo carpeta
Recurso de tipo carpeta
Opción de office365
Opción de office365
Opciones de OneDrive o Delve
Opciones de OneDrive o Delve

 

Integrar Moodle con Office365

Gestionar recibos SEPA con Odoo 12

Una de las funciones necesarias en cualquier ERP es la gestión de los cobros y pagos de nuestras facturas y comprobar con el banco que realmente hemos cobrado o pagado dichas facturas. Esa gestión, normalmente es muy tediosa, porque implica que debemos conectar diariamente al banco e ir comprobando esos cobros o pagos con las facturas registradas en Odoo.

Una forma de simplificar este trabajo, es intentar automatizar parte del trabajo. Desde hace tiempo, los bancos trabajan con las normas 19/53 para la exportación/importación de recibos en formato TXT para que los distintos softwares puedan gestionarlos. Desde hace unos años, esta norma se ha mejorado/transformado en el reglamento SEPA, que permite gestionar dichos recibos en toda la unión europea.

https://www.sepaesp.es/sepa/es/faqs/sepa/

Por suerte, en Odoo 12 tenemos distintos módulos que nos permiten gestionar los pagos/cobros SEPA. Veamos cómo funcionan. En Odoo 12, podemos descargar e instalar este módulo de la OCA que nos permite gestionar recibos en formato SEPA

https://apps.odoo.com/apps/modules/12.0/account_banking_sepa_direct_debit/

Una vez instalado, debemos configurarlo. Para ello en el módulo de Contabilidad, en el apartado de Configuración veremos que nos aparece un nuevo apartado para configurar nuestros datos SEPA. Estos datos datos son parte del IBAN y podemos obtenerlos en el Banco y sirve para identificarnos a nivel Europeo.

Configuración SEPA en Odoo
Configuración SEPA en Odoo

 

Otra información importante que debemos configurar es la información bancaria de nuestros Clientes/Proveedores. Para ello en la ficha de Cliente o Proveedor, en el apartado de Contabilidad, debemos añadir sus cuentas bancarias y veremos que además el módulo añade un enlace de Mandatos.

Ficha clientes con datos bancarios y mandatos
Ficha clientes con datos bancarios y mandatos

Por cada cuenta bancaria, Odoo nos sugiere que rellenemos el apartado del mandato de adeudo, donde indicaremos el modo en el que SEPA generará dichos mandato bancario para dicho cliente, por ejemplo si es un pago fijo o es un pago recurrente, a partir de qué fecha empezamos a generar los recibos, e incluso podemos subir escaneado el propio mandato.

Configuración mandato SEPA en Odoo
Configuración mandato SEPA en Odoo
Mandato SEPA configurado para un cliente en Odoo
Mandato SEPA configurado para un cliente en Odoo

Una vez hemos configurado nuestros datos SEPA y los mandatos de los clientes, ya podemos generar órdenes de cobro o de pago. Para ello, en el módulo de Contabilidad, en el apartado Pagos aparecen dos opciones para generar las órdenes de pago (proveedores) o las órdenes de cobro (cliente).

Ordenes de cobro y pago en Odoo
Ordenes de cobro y pago en Odoo

 

En el caso de clientes, generaremos una orden de cobro en donde deberemos especificar el modo de pago, el diario de banco donde queremos registrar los cobros, la fecha de ejecución y fijémonos que el tipo de pago es entrante donde nos indicará que estamos generando órdenes de cobro y no de pago.

Configurar órden de cobro en Odoo
Configurar órden de cobro en Odoo

 

Una vez hayamos rellenado la orden básica de cobro, pulsaremos el botón de Importar apuntes contables, el cuál nos permite acceder a un asistente que nos permite indicar a Odoo, qué apuntes de cobro queremos generar. En este ejemplo, vemos que Odoo buscará en el diario de facturas, facturas que la fecha de vencimiento sea una fecha concreta. Una vez filtrados, pulsaremos el botón Añadir todos los apuntes contables para que Odoo añada dichas órdenes de cobro.

Asistente de importación de apuntes en la órden de cobro de Odoo
Asistente de importación de apuntes en la órden de cobro de Odoo

Una vez importadas las líneas, volvemos a la órden de cobro y veremos que Odoo rellena automáticamente las líneas de pago apartir de las facturas filtradas.

Líneas de pago importadas en la órden de pago en Odoo
Líneas de pago importadas en la órden de pago en Odoo

Ya sólo nos quedará confirmar la órden de cobro, lo que nos generará un xml que podemos descargar, el cuál podemos importar directamente en la web del banco para procesar los recibos.

Fichero SEPA en formato xml
Fichero SEPA en formato xml

La órden de cobro, quedará en estado Pendiente, hasta que en la web del banco podamos importar el xml y una vez ejecutado, descargar el xml de recibos procesados para volverlo a reimportar en Odoo y poder finalizar la órden de cobro conciliando los cobros del banco con las facturas de Odoo.

Gestionar recibos SEPA con Odoo 12

Distribución analítica en Odoo v12

Desde hace varias versiones, una de las funcionalidades que se echaba en falta en el estándar de Odoo era la posibilidad de distribuir un coste entre varias cuentas analíticas. En versiones anteriores a la 12, debíamos instalar un módulo de la OCA especializado en ello, como por ejemplo este:

https://odoo-community.org/shop/product/account-analytic-distribution-66?order=name+asc

Pero en la versión 12, Odoo ya dispone de esta funcionalidad nativa usando etiquetas analíticas. Para activar la contabilidad analítica, debemos hacerlo desde la configuración técnica de un usuario autorizado, el cuál activará también el etiquetado.

Habilitar la contabilidad analítica en Odoo
Habilitar la contabilidad analítica en Odoo

Una de las funcionalidades que seguimos echando en falta en el estándar, sigue siendo la posibilidad de añadir una «cuenta padre» a una cuenta analítica para poder hacer una estructura jerárquica, pero siempre tenemos la posibilidad de descargar y añadir este módulo

https://apps.odoo.com/apps/modules/12.0/account_analytic_parent/

Una vez instalemos el módulo, ya podemos crear el plan de cuentas analíticas jerárquico en Odoo v12. En este ejemplo, vamos a crear un jerarquía de 2 Proyectos A y B, los cuáles tienen 3 cuentas analíticas tal como instalación, hardware y software.

Cuenta analítica del proyecto, osea la padre de la jerarquía
Cuenta analítica del proyecto, osea la padre de la jerarquía

 

Cuenta hija de la jerarquía en la que especificamos la cuenta padre del proyecto

Cuenta hija de la jerarquía en la que especificamos la cuenta padre del proyecto 

Jerarquía de cuentas analíticas con proyectos padre y cuentas analíticas hijas
Jerarquía de cuentas analíticas con proyectos padre y cuentas analíticas hijas

Una vez configurado la jerarquía de cuentas analíticas, vamos a ver cómo podemos distribuir los costes. Para ello, en la configuración del módulo de contabilidad accedemos a la opción Etiquetas analíticas.

Etiquetas analíticas en Odoo v12
Etiquetas analíticas en Odoo v12

Creamos una etiqueta analítica denominada Dis_ProyectoA, en donde distribuiremos el coste un 50% al software, un 25% al hardware y un 25% a la instalación. Fijémonos que debemos activar la opción de Distribución analítica.

Distribución analítica entre una cuenta padre de proyecto y sus cuentas analíticas hijas
Distribución analítica entre una cuenta padre de proyecto y sus cuentas analíticas hijas

Una vez creada la distribución, creamos una factura en donde seleccionamos un producto de 1000 Euros y lo asignamos a la etiqueta analítica recién creada. Una vez validemos la factura, si consultamos la configuración de las cuentas analíticas, veremos que Odoo ha distribuido el coste de los 1000 Euros en función de la distribución de 50% Software (500), 25% Instalación (250) y 25% Hardware (250).

Factura con la etiqueta de distribución analítica
Factura con la etiqueta de distribución analítica

 

Distribución analítica de 1000 Euros entre las 3 cuentas analíticas hijas del proyecto
Distribución analítica de 1000 Euros entre las 3 cuentas analíticas hijas del proyecto

También podemos distribuir el coste entre varios proyectos. En este otro ejemplo, vamos a crear una etiqueta analítica denominada Dis_Software_Todos, en donde vamos a distribuir el coste entre un 50% al software del proyecto A y un 50% al software del proyecto B.

Distribución analítica entre varios proyectos
Distribución analítica entre varios proyectos

Creamos una factura nueva con un coste de 500 Euros donde elegimos como etiqueta analítica Dis_Software_Todos y al validarla, veremos que se distribuye el coste de 500 Euros, entre las dos cuentas analíticas de software (250 Euros) de los dos proyectos.

Factura de 500 Euros con la etiqueta de distribución analítica
Factura de 500 Euros con la etiqueta de distribución analítica
Distribución analítica entre las dos cuentas hijas de los dos proyectos
Distribución analítica entre las dos cuentas hijas de los dos proyectos

En la configuración analítica, puede que queramos ver el resumen por proyecto de los costes una vez hayamos aplicado la distribución analítica. Para ello, podemos aplicar un filtro en donde indiquemos que la cuenta analítica padre (madre) no este asignada, en este ejemplo las dos cuentas analíticas de los proyectos en donde veremos distribuidos los 1500 Euros de este ejemplo.

Suma del coste por proyecto en la jerarquía de cuentas analíticas
Suma del coste por proyecto en la jerarquía de cuentas analíticas
Distribución analítica en Odoo v12

Gestión de diversos almacenes en las líneas de pedido en Odoo 10

Por defecto, cuando instalamos el módulo de inventario en Odoo, nos configura un único almacen con una única ubicación lo cuál es una opción muy sencilla para empezar a utilizarlo, pero que se queda corto para la mayoría de las organizaciones. Odoo permite gestionar varios almacenes con varias ubicaciones cada uno. Para poder activarlos, accedemos al módulo de Inventario, Configuración y seleccionamos la opción Gestiona varios Almacenes, con varias ubicaciones en cada uno.

Habilitar varios almacenes en Odoo
Habilitar varios almacenes en Odoo

Una vez activado, veremos que nos aparecen opciones para crear nuevos almacenes, nuevas ubicaciones y operaciones entre ellos. En este ejemplo, hemos creado dos almacenes, uno denominado rojo y otro azul.

onfiguraciones de ubicaciones, almacenes y tipos de operación
onfiguraciones de ubicaciones, almacenes y tipos de operación
Gestión de varios almacenes en Odoo
Gestión de varios almacenes en Odoo

Uno de los grandes problemas que tiene Odoo al trabajar con distintos almacenes, es que en la versión community, un pedido sólo permite gestionar un único almacen, osea que todos los productos que compremos o vendamos deben ir u/o obtenerse desde el mismo almacen. En el pedido de compra, veremos que en el apartado de Entregas y facturas, sólo podemos seleccionar un único almacen en Entregar a. Si queremos comprar productos de un mismo proveedor y llevarlos a distintos almacenes, tendremos que crear distintos pedidos de compra para cada almacen. En los pedidos de venta, la configuración es similar.

Imposibilidad de seleccionar más de un almacen en pedidos de compra y/o venta
Imposibilidad de seleccionar más de un almacen en pedidos de compra y/o venta

Para solucionar este problema, disponemos de 2 módulos que nos permite configurar el almacen a nivel de línea de pedido:

https://apps.odoo.com/apps/modules/10.0/purchase_location_by_line/

https://www.odoo.com/apps/modules/10.0/sale_sourced_by_line/

Una vez instalados los módulos, podremos ver que tanto en el pedido de venta como en el pedido de compra, a nivel de la línea de producto, tenemos la posibilidad de elegir el almacen con el que gestionarlo. De esta forma, en el mismo pedido de venta, podremos elegir productos de distintos almacenes y/o en el mismo pedido de compra podremos comprar productos y entregarlos a distintos almacenes.

Gestión de almacenes por línea de producto en pedido de venta
Gestión de almacenes por línea de producto en pedido de venta

 

Gestión de almacenes por línea de producto en pedido de compras
Gestión de almacenes por línea de producto en pedido de compras
Gestión de diversos almacenes en las líneas de pedido en Odoo 10

Cómo integrar Odoo 11 con Asterisk para poder realizar llamadas VoIP

En este post vamos a ver cómo podemos configurar Odoo para poder realizar llamadas usando VoIP y cómo podemos integrarlo con una centralita. En este ejemplo, vamos a ver cómo podemos realizar llamadas entre empleados de una misma organización y que Odoo reconozca quién nos está llamando.

Para poder hacer/recepcionar llamadas, necesitamos un software que haga de centralita telefónica. En este ejemplo vamos a usar asterisk. En la web hay muchos ejemplos de cómo instalar asterisk, yo he seguido este manual para debian muy sencillo de instalar:

https://linuxize.com/post/how-to-install-asterisk-on-debian-9/

En la configuración de asterisk, debemos configurar varios ficheros:

manager.conf donde indicamos el usuario y contraseña AMI para conectar a Asterisk
extensions.conf donde configuramos el dialplan. Fijémonos que registramos un dialplan denominado from-internal que será el usado por Odoo. El dialplan es el principal fichero de asterisk y es donde configuramos qué hacer con las extensiones ante llamadas en asterisk. En este ejemplo, ante una llamada de una extensión, el diaplan hace una llamada interna.
pjsip.conf donde configuramos un par de extensiones internas del dialplan from-internal.

manager.conf

[general]
enabled=yes
port = 5038
bindaddr = 0.0.0.0
webenabled = no
debugactions = yes

[click2dial]
secret = mypassword
deny = 0.0.0.0/0.0.0.0
permit = 0.0.0.0/0.0.0.0
read = all,system,call,log,verbose,command,agent,user,config,reporting,originate
write = all,system,call,log,verbose,command,agent,user,config,reporting,originate

extensions.conf

[from-internal]
;
exten => _6XXX,1,Dial(PJSIP/${EXTEN})
exten => _9XXXXXXXX,1,Dial(PJSIP/${EXTEN})

pjsip.conf

;===============EXTENSION 6001

[6001]
type=endpoint
context=from-internal
disallow=all
allow=ulaw
auth=auth6001
aors=6001

[auth6001]
type=auth
auth_type=userpass
password=6001
username=6001

[6001]
type=aor
max_contacts=1

;===============EXTENSION 6002

[6002]
type=endpoint
context=from-internal
disallow=all
allow=ulaw
auth=auth6002
aors=6002

[auth6002]
type=auth
auth_type=userpass
password=6002
username=6002

[6002]
type=aor
max_contacts=1

Para poder integrar Odoo con asterisk, es necesario utilizar algún tipo de módulo. Aquí vamos a utilizar este de Click2dial, el cuál tenemos en múltiples versiones, además de estar mantenido por la OCA:

https://www.odoo.com/apps/modules/10.0/asterisk_click2dial/

https://github.com/OCA/connector-telephony/tree/11.0

La instalación del módulo es similar a la de cualquier otro.

Instalación módulo Asterisk Connector en Odoo 11
Instalación del módulo Asterisk Connector en Odoo 11

Durante la instalación del módulo, Odoo ejecuta un asistente para formatear todos los números de nuestros contactos, empleados, etc…

Asistente para reformatear los números de teléfono
Asistente para reformatear los números de teléfono

Una vez finalizado la instalación, vemos que nos aparece un icono de un teléfono (caller), el cuál nos servirá más adelante para recepcionar las llamadas entrantes.

Caller del conector para Odoo
Caller del conector para Odoo

Una vez instalado debemos configurar el módulo, para ello accederemos al menú de Ajustes de Odoo, apartado Opciones generales Técnico y ahí veremos que tenemos un menú de Telefonía donde podemos configurar la conexión con los Servidores Asterisk.

Menú configuración Telefonía en Odoo
Menú configuración Telefonía en Odoo

En la configuración del servidor, deberemos poner un nombre, la IP donde encontrar el servidor de Asterisk, el usuario y contraseña AMI de asterisk y el contexto del dialplan. Odoo usa el AMI de asterisk, que es un interfaz de administración al cuál podemos conectarnos para saber por ejemplo qué extensión está llamando en ese momento, o qué acción debemos realizar para una extensión determinada.

Configuración del servidor asterisk en Odoo
Configuración del servidor asterisk en Odoo

Una vez, introducidos, podemos usar el botón de Probar conexión a Asterisk para probar la conexión.

Conexión satisfactoria entre Odoo y Asterisk
Conexión satisfactoria entre Odoo y Asterisk

En la consola de asterisk, deberemos de ver el log de la conexión de Odoo usando el usuario y contraseña del AMI de asterisk.

Contestación de Asterisk
Contestación de Asterisk

Una vez configurado el servidor, deberemos asignar las extensiones de asterisk a empleados de Odoo. Empezaremos por asignar la extensión 6001 al propio administrador que es con el que estamos loggeados.

Pestaña Telefonía usuario Administrador
Pestaña Telefonía usuario Administrador

Además configuraremos un cliente SIP tal como Zoiper, en el cuál configuraremos esta misma extensión. De esta forma, cuando nos llamen a la extensión 6001, sonará el cliente SIP en el PC y Odoo podrá capturar dicha llamada.

Configuramos y asignamos la extensión 6002 en la aplicación Zoiper pero en el móvil para tener un segundo cliente con el que hacer las pruebas.

Para probar cómo funciona, desde el móvil que tiene la extensión 6002, llamamos a la extensión 6001. En ese momento aparece la llamada en el Zoiper del cliente PC y en ese momento, podemos usar el botón de descolgar en Odoo, el cuál buscará la extensión entrante 6002 en Odoo. Como no existe, nos solicitará crear una nueva entrada sobre un contacto o una empresa nueva o existente (sólo asignamos la 6001 al administrador).

Llamada entrante en el PC con un cliente SIP
Llamada entrante en el PC con un cliente SIP
Extensión no encontrada y solicitud nueva en Odoo
Extensión no encontrada y solicitud nueva en Odoo

Para probar la integración en Odoo, registramos un empleado denominado Pedro y le asignamos la extensión 6002 de asterisk. De esta forma, al hacer la misma llamada desde el móvil y suene en el cliente SIP, cuando descolgamos la llamada, Odoo encuentra que la extensión 6002 está asociada a un empleado y nos lo muestra.

Configuración extensión 6002 al usuario Pedro
Configuración extensión 6002 al usuario Pedro

 

Configuración empleado Pedro con la extensión 6002
Configuración empleado Pedro con la extensión 6002
Extensión encontrada al descolgar desde Odoo
Extensión encontrada al descolgar desde Odoo

 

Odoo localiza y muestra al empleado Pedro
Odoo localiza y muestra al empleado Pedro

 

El módulo también tiene soporte para configurar Odoo con llamadas salientes, siempre que el cliente SIP esté integrado en el PC. Por ejemplo, si pulsamos en el teléfono o extensión de un cliente o un empleado de Odoo, éste pasa dicha extensión al cliente SIP para que se realice dicha llamada.

Llamada saliente desde Odoo al cliente SIP
Llamada saliente desde Odoo al cliente SIP
Cómo integrar Odoo 11 con Asterisk para poder realizar llamadas VoIP

Configurar workflow de aprobación en pedidos de compras en Dynamics NAV

Una de las preguntas frecuentes en implementaciones de Dynamics NAV, es la posibilidad de configurar algún tipo de workflows en los procesos de compras o ventas para que al procesar una compra, hay que solicitar algún tipo de aprobación. Por defecto, Navision trae unos workflows de aprobación muy sencillos de configurar que pueden ser muy útiles de implementar. Veamos cómo hacerlo.

En este ejemplo tenemos dos usuarios que se loggean en Navision con cuentas de usuario en el dominio, uno de ellos es el usuario que procesa los pedidos de compra UsuarioNAV y el otro usuario es el responsable que aprueba la compra RespNAV.

Para configurar los workflows de aprobación, accedemos a la opción Config. usuario aprobación en la ruta Departamentos/Administración/Configuración de la aplicación/Flujo de trabajo

Configuración usuario aprobación
Configuración usuario aprobación

Una vez dentro de esta opción, podemos ver que tenemos dos líneas configuradas en donde en la primera vemos que el usuario UsuarioNAV es el que procesa los pedidos y que su aprobador es RespNAV. En la segunda línea, vemos que RespNAV es el usuario encargado de aprobar las compras.

Configuración de usuarios y permisos de aprobación
Configuración de usuarios y permisos de aprobación

El proceso comienza cuando usuarioNAV, intenta procesar un pedido de compra pulsando en el botón de Registrar. Veremos que aparece un mensaje en NAV, indicando que debe primero aprobarse, usando para ello el botón de Enviar solicitud aprobación.

Proceso pedido compra
Proceso pedido compra
Solicitud de aprobación
Solicitud de aprobación

 

Si revisamos el pedido, veremos que se queda en estado de Pendiente de aprobación

Pedido de compra en espera de aprobación
Pedido de compra en espera de aprobación

Si accedemos al entorno del usuario respNAV, vemos que aparece una notificación en su Área de trabajo, indicando que existen documentos para aprobar.

Notificiación de solicitudes de aprobación
Notificiación de solicitudes de aprobación

Aparece el documento de compra, donde el usuario respNAV, sólo tiene que pulsar en el botón de Aprobar o Rechazar.

Solicitudes para aprobar
Solicitudes para aprobar

Una vez aprobado, vemos que el estado del pedido pasa a Lanzado

Estado lanzado del pedido de compras
Estado lanzado del pedido de compras

Una vez aprobado, el usuario usuarioNAV, ya puede seguir con el proceso del pedido de compra, y si pulsa en el botón de Registrar, ya salen las opciones adecuadas de registrar y facturar.

Estado lanzado del pedido de compras
Estado lanzado del pedido de compras
Configurar workflow de aprobación en pedidos de compras en Dynamics NAV

Crear tareas automatizadas en Odoo

En Odoo existen diversas formas de automatizar tareas, tal como el envío de emails, ejecución de un script, limpieza de temporales, etc… Como administradores de Odoo, disponemos de dos funcionalidades muy interesantes para automatizar tareas: acciones automáticas o acciones planificadas y las dos las tenemos disponibles en el submenú Automatización, en Técnico en el módulo de Configuración.

Automatización en Odoo
Automatización en Odoo

Las automatizaciones automáticas, son tareas que se ejecutan dependiendo de un evento. Por ejemplo, cuando una oportunidad supera el 75% de su probabilidad o cuando hemos alcanzado el 75% de las horas asignadas a una tarea de un proyecto.

Las automatizaciones planificadas, son tareas que se ejecutan periodicamente. Por ejemplo, podemos envíar un email mensualmente con las ventas por departamento.

Veamos un ejemplo de ambas:

Acciones automáticas:

Necesitamos controlar la sobreasignación de horas en las tareas de los proyectos, por lo que cuando usuario supere el 75% del tiempo de dicha tarea, Odoo nos envíe un email de aviso.

https://miblogtecnico.wordpress.com/2018/07/25/acciones-automaticas-en-odoo/

Acciones planificadas:

Necesitamos que Odoo nos envíe un email cada hora con los empleados que pertenezcan al departamento de Becarios.

https://miblogtecnico.wordpress.com/2018/07/25/acciones-planificadas-en-odoo/

Crear tareas automatizadas en Odoo

Acciones planificadas en Odoo

En Odoo, podemos ejecutar tareas planificadas que se ejecuten cada cierto tiempo. Por ejemplo, podemos enviar un email cada mes con el resumen de las ventas o podemos crear un conjunto de registros cada semana.

En este ejemplo, vamos a configurar una acción planificada en Odoo para que, envíe un email cada hora con el nº de becarios que tenemos en el departamento de Becarios.

Para configurar dicha tarea planificada, debemos configurar 2 aspectos:

  • La función de python que queremos ejecutar
  • La acción planificada

Primero de todo, necesitamos a crear un módulo de python que instalaremos en Odoo. Dicho módulo definirá una clase con una función que será la encargada de hacer una consulta para averiguar el nº de becarios del departamento de Becarios y enviarlo por correo. El código en python es el siguiente:

Código python para la consulta y el envío del correo
Código python para la consulta y el envío del correo

En dicho código de python, podemos ver que hemos definido una clase denominada informecorreo que contiene una función denominada enviar_informe_correo. Dicha función obtiene el nº de empleados haciendo una consulta a la tabla hr.employees con el campo department_id = 4. Una vez obtiene el nº de becarios, envía un correo usando la librería de smtplib de python.

Una vez instalado el módulo en Odoo, ya tendremos disponible dicha función para poder llamarla como una acción planificada. Para ello, creamos una nueva acción planificada desde el submenú Automatización del menú Configuración.

 

Acción planificada en Odoo
Acción planificada en Odoo

 

Apartado datos técnicos de la acción planificada
Apartado datos técnicos de la acción planificada

 

En dicha acción planificada, debemos configurar un nombre para la acción, el nº de intervalos y la unidad de intervalo, osea cada hora y el nº de ejecuciones que al indicar -1, estamos indicando que nunca se detenga. En la pestaña de Datos técnicos, indicamos sobre qué objeto ejecutar dicha acción (la clase del módulo previamente instalado, osea informecorreo) y la función que utilizar (osea el método enviar_informe_correo), previamente instalados.

Al cabo de un rato, veremos que Odoo empieza a ejecutar dicha acción planificada enviando correos cada hora.

Envío de correo planificado en Odoo
Envío de correo planificado en Odoo
Acciones planificadas en Odoo

Gestión de almacenes en Dynamics NAV

Uno de los temas más importantes en cualquier despliegue de Navision, es la configuración del almacén, ya que es el elemento central en donde confluyen muchos de los módulos y funcionalidades. Por ejemplo, cualquier compra, venta, orden de fabricación… necesitará referenciar algún producto el cuál afectará a la cantidad de existencias en el almacén.

Flujo almacén Dynamics NAV
Flujo almacén Dynamics NAV

En Dynamics NAV, podemos gestionar el almacén en distintos niveles de complejidad; puede haber implementaciones en donde sólo queramos un inventario básico, y habrá otras implementaciones en donde queramos tener documentos de recepción, de picking, control de las ubicaciones, etc… En esta dirección tenemos un poco más de información sobre el diseño de los almacenenes en Dynamics NAV.

https://docs.microsoft.com/es-es/dynamics-nav-app/design-details-warehouse-setup

Es por ello, que en la base de datos de ejemplo de Navision, disponemos de varios almacenes de ejemplo donde poder probar todas estas funcionalidades. Por ejemplo, alguno de ellos son:

Almacén Azul

Es el almacen más básico, y soporta la funcionalidad básica de inventario. La gestión se realiza desde el propio documento de compra o venta. Por ejemplo, si en un pedido de compra, seleccionamos el almacén azul, veremos que para registrarlo, sólo debemos rellenar la columna de Cantidad a recibir.

Funcionalidad básica desde documento con almacén azul
Funcionalidad básica desde documento con almacén azul

Almacén Plata

En este almacén ya necesitamos gestionar ubicaciones. Cuando registramos un pedido de compra y seleccionamos el almacén plata, NAV nos pide la ubicación donde queremos almacenar dicho producto. Una vez lanzado el pedido de compra, debemos gestionar desde el módulo del almacén, dónde ubicaremos cada producto usando la funcionalidad de cantidad a manipular

Funcionalidad de ubicaciones con el almacén plata
Funcionalidad de ubicaciones con el almacén plata
Gestión de ubicaciones en Dynamics NAV
Gestión de ubicaciones en Dynamics NAV
Cantidad a manipular con gestión de ubicaciones en Dynamics NAV
Cantidad a manipular con gestión de ubicaciones en Dynamics NAV

Almacén Blanco

Este almacén tiene la funcionalidad más avanzada en NAV y tiene nivel de SGA. En este nivel necesitamos controlar ubicaciones, documentos de registro de envío, picking, etc… En este nivel, por ejemplo las recepciones pueden ir a un ubicación, pero los envíos pueden ir a otra. Una de las funcionalidades más interesante es la posibilidad de gestionar en un mismo documento de recepción, productos de varios pedidos de compra. En este ejemplo,  para la recepción de productos usamos la funcionalidad del documento de recepción del almacén, que además permite recepcionar productos de varios pedidos (10000 y 20000) a la vez, usando un filtro de varios pedidos.

 

Pedido 20000 almacén blanco
Pedido 20000 almacén blanco
Pedido 10000 almacén blanco
Pedido 10000 almacén blanco
Documento de recepción para el almacén blanco
Documento de recepción para el almacén blanco

 

Recepción de productos de varios pedidos en un mismo documento de recepción del almacén blanco
Recepción de productos de varios pedidos en un mismo documento de recepción del almacén blanco

Todas estas funcionalidades, se pueden configurar desde el propio almacén. En el apartado «Almacén» disponemos de distintas opciones donde podemos habilitar si requerimos documento de recepción, documento de envío, ubicación, documento de picking, etc… En el apartado «Ubicaciones» disponemos de distintas opciones donde podemos indicar las distintas ubicaciones que serán utilizadas tanto en Envíos, Compras, Producción, Ensablado, etc…

Distintas configuraciones que podemos adaptar en cada uno de los almacenes en Dynamics NAV
Distintas configuraciones que podemos adaptar en cada uno de los almacenes en Dynamics NAV

Para poder aprender más sobre cómo configurar el almacén en Dynamics NAV, disponemos de dos tutoriales donde se explica cómo trabajar con el almacén plata y el almacén blanco.

https://docs.microsoft.com/es-es/dynamics-nav-app/walkthrough-receiving-and-putting-away-in-basic-warehousing

https://docs.microsoft.com/es-es/dynamics-nav-app/walkthrough-receiving-and-putting-away-in-advanced-warehousing

Gestión de almacenes en Dynamics NAV