Base External System Odoo-rpc
============================ Base External System OdooRPC
Este módulo añade un adaptador de sistema externo para conectarse a otra instancia de Odoo usando el cliente Python odoorpc (JSON-RPC).
Está construido sobre base_external_system e implementa un nuevo modelo de adaptador:
- external.system.odoo (System Type: External System RPC)
El adaptador soporta:
- Validar los parámetros de conexión requeridos (host, port, database, username, password)
- Transporte SSL opcional (JSON-RPC sobre SSL)
- Un ciclo de vida del cliente gestionado por contexto a través del contrato del adaptador base_external_system (abrir cliente, realizar llamadas, logout/cleanup)
Los casos de uso típicos incluyen:
- Leer datos de un Odoo heredado (p. ej. Odoo 8/9/10) hacia un Odoo más reciente (p. ej. Odoo 16)
- Sincronizaciones, migraciones o herramientas de importación que deben consultar modelos remotos (p. ej. stock.production.lot, stock.move, res.partner) vía RPC
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 16.0Añade un nuevo tipo de sistema externo que permite a Odoo conectarse a otra instancia de Odoo mediante RPC. Los usuarios configuran la base de datos, el host, el puerto, las credenciales y SSL del servidor remoto, y luego prueban la conexión desde el formulario.
Este módulo amplía la configuración del sistema externo para que un Odoo pueda comunicarse con otro servidor Odoo mediante la librería odoorpc.
En el formulario de sistema externo, cuando el tipo de sistema se establece en la nueva opción RPC, aparecen dos campos adicionales: Database (el nombre de la base de datos remota) y SSL (para cambiar a una conexión JSON-RPC segura). El campo estándar de ruta remota se oculta para este tipo.
- Ajustes de conexión requeridos: host, port, database, username y password. Si falta alguno, se genera un error de validación.
- Una acción Test Connection comprueba el servidor remoto buscando el registro del usuario admin; informa de éxito o de un mensaje de fallo detallado.
- La conexión utiliza JSON-RPC, o JSON-RPC sobre SSL cuando la opción SSL está habilitada.
- Cuando se cierra la conexión, el módulo cierra la sesión en el servidor remoto y limpia el cliente.
El acceso al nuevo modelo adaptador está restringido al grupo System administrator. Se proporciona un registro de demostración que muestra una conexión RPC de ejemplo a localhost.
Este es un bloque de construcción técnico: no añade menús ni informes propios, pero permite que otras herramientas (tareas de sincronización, migración o importación) lean datos de una instancia de Odoo remota.
Depende de
Modelos y campos (2)
- external.system · amplía un modelo existenteis_ssl (SSL), db_name (Database)
- external.system.odoo · modelo nuevo
Texto generado por IA (DeepSeek) al leer el código de la versión 16.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 1 confirmada, 8 sin información de 9 versiones.
Fuentes · Odoo 16.0
Confirmado el 2026-11-03 en la rama 16.0 de OCA/server-backend.
terminal Instalación y uso
Documentación de OCA · Odoo 16.0Instalación
Fuente · Odoo 16.0Este módulo requiere que el paquete Python odoorpc esté instalado en el mismo entorno que tu servidor Odoo.
Instálalo con pip, por ejemplo:
pip install odoorpcDespués, instala el módulo de Odoo en el menú Aplicaciones como de costumbre.
Si ejecutas Odoo en Docker u otra configuración en contenedores, asegúrate de que la dependencia esté presente en la imagen que ejecuta el servidor Odoo.
Configuración
Fuente · Odoo 16.0- Vaya a Ajustes → Sistemas externos (menú proporcionado por
base_external_system). - Cree un nuevo registro.
- Establezca Tipo de sistema en External System RPC (
external.system.odoo). - Complete los parámetros de conexión:
- Host (p. ej.
odoo-test.odoo.org) - Puerto (p. ej.
443o8069) - Nombre de la base de datos
- Nombre de usuario
- Contraseña
- Interruptor SSL (si corresponde)
- Guarde el registro.
Después de guardar, el registro de la interfaz del adaptador se crea automáticamente mediante base_external_system y está disponible a través del campo interface.
Probar conexión (UI)
Abra un registro de sistema externo configurado con System Type External System RPC y haga clic en el botón Test Connection.
Si tiene éxito, el adaptador informará de éxito (utilizando el mecanismo de éxito proporcionado por base_external_system).
Uso del cliente en código
Utilice el gestor de contexto estándar de base_external_system:
system = self.env.ref("your_module.external_system_odoo_remote")
with system.client() as odoo:
partner_model = odoo.env["res.partner"]
ids = partner_model.search([("is_company", "=", True)], limit=10)
data = partner_model.read(ids, ["name"])El objeto generado es una instancia de cliente odoorpc.ODOO, por lo que se puede acceder a cualquier modelo remoto mediante odoo.env["model.name"].
Helper heredado (opcional)
Algunos proyectos llamaban históricamente a un helper directamente en el registro del adaptador:
odoo = system.interface._connect()Si su adaptador conserva ese helper por compatibilidad hacia atrás, devuelve el mismo objeto de cliente que external_get_client().
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.