Categorías
Odoo Sin categoría

Añadir banner/imagen en todas las paginas odoo

Algunas veces, utilizando odoo, si tienes una vez de pruebas, o si quieres poner un mensaje que lo vean todos los usuarios y en todas las páginas, un buen modo de conseguirlo es poner un banner o imagen en una de las esquinas para que se de cuenta.

La idea es conseguir un resultado parecido a este. Donde se puede ver en todas las páginas el banner de ejemplo que pone «MENSAJE»

Para lograrlo tenemos que hacer los siguientes pasos. Desde settings vamos a vistas para crear una nueva. (recordad estar en modo developer, si no sabeis como activarlo, podeis verlo aquí)

La imagen tiene un atributo ALT vacío; su nombre de archivo es image-5.png

Una vez estamos en vistas, creamos una nueva, le damos un nombre 1️⃣, en este caso banner, luego cambiamos el view type 2️⃣ a qweb, el inherit view 3️⃣ a web layout y el view inheritance mode 4️⃣a extended view.

La imagen tiene un atributo ALT vacío; su nombre de archivo es image-6-1024x433.png

Luego copias el codido que vereis aqui abajo 5️⃣ y finalmente cambias el mensaje según vuestras necesidades, reemplazando MENSAJE 6️⃣

<?xml version="1.0"?>

<data inherit_id="web.layout">

<xpath expr="//body" position="inside">
  <div>
    <span style="width: 400px;top: 55px;left: -100px;font-size: 40px;
                 text-align: center;padding: 10px;line-height: 30px;
                 color: #f0f0f0; transform: rotate(-45deg); position: fixed;
                 box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); background: #D0442C;
                 opacity: 0.6; pointer-events: none; text-transform: uppercase; 
                 z-index:9999">
    MENSAJE</span>
  </div>
</xpath>

</data>

Guardar cambios y refrescais navegador, al instante os aparecerá el banner.

Categorías
Odoo V16

Evitar que se pueda crear un dropship desde compras

Lo bueno y lo malo de odoo es que te permite muchas opciones. Esto tiene su parte buena y su parte mala. Al ser flexible, no es tan rígido como SAP o navision, pero a su vez te va a permitir algún tipo de proceso que igual no es el más acertado para tu empresa.

Un ejemplo de ello, es el dejarte hacer dropship desde compras. Generalmente si lo haces desde ventas, tienes todo el flujo «controlado», es decir, no se te quedará ningún dropship por «vender y comprar». En cambio, si haces un dropship desde compras, puede que la venta se te escape. Esto es debido a que el sistema te deja hacer el dropship desde el proveedor al cliente o donde elijas, sin enlazarlo a un pedido de venta, ya que se ha originado en la compra en vez de la venta.

Para evitar estos casos, os voy a mostrar como mediante el domain se puede restringir el tipo de operaciones que podremos hacer desde compras.

Como podeis ver en un ejemplo de la V16, uno de los destinos es un dropship, cuando desplegamos los destinos de envio.

Si entramos en estudio desde el formulario de compras y vamos a view1️⃣ y luego a more2️⃣

entramos en las vistas heredadas 3️⃣ y en la tercera entrada encontraremos el campo que estamos buscando 4️⃣

El campo relacionado con el envio es el de picking_type_id

y lo que tenemos que hacer es modificar su domain. Originalmente el domain solo filtra por los envios «incoming» de entrada, sin filtrar nada mas.

<field name="picking_type_id" domain="[('code','=','incoming'), '|', ('warehouse_id', '=', False), ('warehouse_id.company_id', '=', company_id)]" options="{'no_create': True}" groups="stock.group_stock_multi_locations"/>
                

Nosoros lo vamos a modificar de modo que no nos muestro los que tengan por nombre Dropship.

<field name="picking_type_id" domain="[('code','=','incoming'),'|',('warehouse_id','=',False),('warehouse_id.company_id','=',company_id),('name','not ilike','dropship')]" options="{'no_create': True}" groups="stock.group_stock_multi_locations"/>
                

Fijaros como ahora hemos añadido (‘name’,’not ilike’,’dropship’) de modo que solo las entradas que no contengan dropship, serán tenidas en cuenta, de este modo solo tendremos operaciones de compra que no incluyan dropship. De este modo, el dropship solo estará permitido si se origina desde la venta.

Categorías
Odoo Sin categoría

Record rule para acceder a equipos y tickets de tu equipo o de tus esquipos escalados

En odoo es importante la seguridad, y para poder acceder a los tickets que un usuario haya creado y luego haya sido escalado a otro equipo sin que por ello este usuario tenga acceso a otros donde no es miembro.

Para conseguirlo se tiene que utilizar la ayuda de los record rules y añadir una como esta para los usuarios de helpdesk.

['|' ,'|',('member_ids','in', user.id), ('member_ids','=', False) , ('id','child_of',user.partner_id.helpdesk_team_id.escalation_team_ids) ]

Creando esta regla y aplicandola a los usuarios de helpdesk, conseguimos que tengan acceso a aquellos en los cuales pertenecen como miembros o en caso de ser un ticket escalado, el equipo en cuestion es uno de los permitidos a escalar en el propio equipo del usuario.

De este modo, podrá ver sus tickets, los de su equipo y los escalados. Sin tener que ver los demás equipos. Con este enfoque solo se tiene que tener en cuenta que tambien podria ver los tickets escalados por otros equipos dentro de sus «equipos permitidos a escalar». Pero bueno, dependiendo de la política de la empresa, esto no tiene porque ser un problema.

Categorías
Odoo

Cambiar orden por defeco vista en odoo

Para cambiar el orden por defecto en una vista de odoo, es realmente sencillo de conseguir añadiendo

En este ejemplo veremos como en los pedidos de venta que están organizados por numero. Los ordenaremos por cliente que como se puede ver están desordenados.

Para ello iremos a Odoo studio en la vista en cuestión (recordad que el modo developer tiene que estar activado también).

A continuación, iremos a la lengüeta ver1️⃣, y pulsaremos en mas2️⃣

Nos llevará a la vista en modo XML, pulsaremos en editar y en la linea

<tree string="Sales Orders" multi_edit="1" sample="1" >

la modificaremos por

<tree string="Sales Orders" multi_edit="1" sample="1" default_order="partner_id" >

el resultado final lo podéis ver en la imagen.

Finalmente guardamos, cerramos Studio y el resultado será el esperado.

Dejad vuestros comentarios.

Categorías
Odoo

Activar modo developer en odoo

Hay varios modos de hacerlo. vamos a ver cuales son.

1.- Desde el menu principal,

Si vamos al modulo de ajustes,

una vez allí, vamos al final de la página hasta la sección de «herramientas de desarrollo y hacemos clic en «activar modo de desarrollo (con activos)(1)

2.- Otro modo de hacer lo mismo es desde la url de nuestro odoo.

Simplemente añadir ?debug=1 o ?debug=true después de web por ejemplo si tenemos el siguiénte url

lo convertimos en el siguiente texto.

Tanto en un caso como en otro deberemos tener como resultado el poder visualizar el icono (un escarabajo) en la barra de menus, esto nos indica que estamos en el modo developer, de lo contrario algún paso no lo habremos hecho del modo correcto.

Categorías
Odoo Sin categoría

Limpieza automatica de los logs de Odoo

Por defecto, la app para registrar los logs en odoo tiene deshabilitada la acción planificada encargada de borrar los logs cada cierto tiempo. Al principio esto puede parecer una ventaja, pero a la larga puede suponer un problema ya que el no vaciar los logs puede suponer un incremento sustancial del tamaño de la base de datos. Esto puede aumentar el coste de la aplicacion si no tenemos suficiente espacio contratado para ello. Os vamos a enseñar a como evitar este extremo para que podamos mantener correctamente la base de datos.

Con el modo developer activado (si no sabeis, podeis ver como se hace aquí), hay que ir al menú de Tecnico(1), después a acciones planificadas(2) y filtrar por log(3) y hacer clic en «limpiar automáticamente en auditlogs»

Una vez allí dentro, editamos el form y hacemos clic en Activo(1) para activar la acción planificada. Por defecto, se borrarán los auditlogs mayores de 6 meses(180). Si queremos cambiar este valor, lo hacemos en (2), donde pondremos el valor en dias que queramos preservar.

Una vez guardado el form, a partir de ahora odoo limpiará los auditlogs regularmente cada día, eliminando los auditlogs con más antigüedad que los que hayamos indicado.