Ir al contenido

View Multicompany Country Filter

https://www.powosig.com/web/image/product.template/1084/image_1920?unique=e82aeff
Filtro de país L10n: view_multicompany_country_filter
Limpieza dinámica de la interfaz de usuario para la localización
Limpie sus formularios de Odoo ocultando automáticamente los campos irrelevantes para su país. Imprescindible para configuraciones multipaís.

0.00 0.0 USD 0.00

Not Available For Sale

  • Versión

Esta combinación no existe.

Términos y condiciones
Garantía de devolución de 30 días
Envío: 2-3 días hábiles

Technical Library & UI UX

L10n Country Filter

Dynamic Localization UI Cleaner. Optimice sus formularios de Odoo ocultando automáticamente campos irrelevantes según el país de la compañía activa. Indispensable para entornos multi-compañía globales.

¿Qué estamos resolviendo?

Multi-Country Clutter

En entornos multi-compañía (ej. Perú + USA), los usuarios suelen ver campos irrelevantes como 'Ubigeo' o 'RUC' mientras operan en USA. Esto causa confusión y errores en el ingreso de datos.

Context-Aware Hiding

Este módulo detecta de forma inteligente el país de la compañía actual y oculta dinámicamente los campos que no pertenecen allí. Sus formularios se mantienen limpios y 100% relevantes al contexto legal.

Guía de Implementación Técnica

Este es un módulo de librería técnica. Para usarlo, herede el Mixin e implemente la lógica en el método _get_view.

from odoo import models, api

class ResPartner(models.Model):
    _inherit = ['res.partner', 'l10n.country.filter.mixin'] # Mixin Obligatorio

    @api.model
    def _get_view(self, view_id=None, view_type='form', **options):
        arch, view = super()._get_view(view_id, view_type, **options)
        peru = self.env.ref('base.pe', raise_if_not_found=False)
        if not peru: return arch, view

        # Aplica el filtro: oculta tags si el país NO es Perú
        arch, view = self._tags_invisible_per_country(
            arch, view, view_type,
            tags=['l10n_pe_vat_code', ('group', 'l10n_pe_group_vat')],
            countries=[peru]
        )
        return arch, view

CRÍTICO: La herencia de l10n.country.filter.mixin es obligatoria para manejar correctamente el caché de vistas por compañía (company_id) en Odoo 19.

Enterprise Validation Plan

TEST 01Contexto Multi-Compañía:

Al cambiar de Compañía A (Perú) a Compañía B (USA), los campos restringidos deben desaparecer instantáneamente del formulario sin necesidad de refrescar la página manualmente.

TEST 02Integridad de Listas (Tree):

En vistas de lista, la cabecera de la columna restringida debe ocultarse usando column_invisible, evitando espacios en blanco innecesarios en la interfaz.

TEST 03Fiabilidad de Caché:

Verificación de que el caché de Odoo no "filtre" campos entre compañías debido a una clave de caché compartida. Cada compañía mantiene su propia arquitectura de vista.

FAQ & Troubleshooting

¿Los campos no se ocultan. Qué sucede?

Verifique que el país de la compañía actual esté configurado en Ajustes > Compañías. Si el país coincide con la lista permitida en el código, el campo permanecerá visible.

¿Funciona con Odoo Studio?

No. Esta es una utilidad a nivel de código Python (Controller/Model). Odoo Studio aplica cambios estáticos al XML, mientras que este módulo invoca lógica dinámica antes de servir la vista.

¿Es compatible con Multi-Website?

Sí. La lógica está ligada al company_id del usuario en sesión, lo que lo hace seguro para operaciones de backend en configuraciones multi-sitio.

Commercial & Sales

Asesoría Técnica
WHATSAPP+1 828 672 6150
Solicitar Soporte
LEADSleads@ganemo.com

Ganemo Developer Support

¿Necesita ayuda para implementar esta lógica en modelos complejos o soporte para la migración de vistas a Odoo 19?

TICKETayuda@ganemo.com

Especificaciones

Versión 18.0, 19.0