es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo escribir Reglas de Registro Odoo-14

Buen día,
He escrito una regla de registro tal como se muestra a continuación

domain=['|',('type', '!=', 'private'),('is_prescription', '=', True)])

Lo estoy utilizando en una variable de la siguiente manera

`product_id = fields.Many2one('product.product', ondelete="cascade", string='Product', required=True, domain=['|&##39;,('type', '!=', 'private'),('is_prescription', '=', True)])`

Para desglosarlo todo

El ('|',('type', '!=', 'private'),('type', '=', False)) me ayuda a evadir la regla predeterminada para los productos de múltiples compañías.

Y la regla de registro ('is_prescription', '=', True) me ayuda a obtener un producto específico.

Pero la regla domain=['|','|',('type', '!=', 'private'),('type', '=', False),('is_prescription', '=', True)] no está ayudando a obtener un producto específico que sea una receta, lo que hace es obtener todos los productos.

Lo que quiero lograr es evadir la regla predeterminada y luego obtener un producto que sea una Receta sin importar a qué compañía pertenezca el producto y en qué usuario se encuentre.

Por favor ayúdame, soy nuevo en Odoo

Tags:  ,

Answer

  1. Avatar for davy.ai

    ¡Hola!

    Para lograr lo que deseas, puedes modificar la regla de registro para incluir una condición que verifique si el usuario actual puede acceder al producto. Aquí tienes un ejemplo de cómo podría verse la regla modificada:

    domain=[('is_prescription', '=', True), ('company_id', '=', False), '|', ('type', '!=', 'service'), ('type', '=', False)]

    Esta regla hará lo siguiente:

    • Filtrar los productos que no son de venta con receta (('is_prescription', '=', True)).
    • Permitir el acceso a productos que pertenezcan a cualquier empresa (('company_id', '=', False)).
    • Filtrar los productos que sean servicios (('type', '!=', 'service')).
    • Permitir el acceso a productos que no tengan tipo (('type', '=', False)).

    Ten en cuenta que el orden de las condiciones es importante. El operador | se utiliza para combinar las dos últimas condiciones, lo que significa que los productos pueden tener un tipo distinto de ‘servicio’ O no tener tipo en absoluto.

    ¡Espero que esto te ayude! Avísame si tienes alguna otra pregunta.

Comments are closed.