# Ejemplos de uso del Cliente Tryton Esta carpeta contiene ejemplos prácticos de cómo utilizar el cliente RPC de Tryton en Node.js. ## Preparación Antes de ejecutar cualquier ejemplo, asegúrate de tener: 1. **Node.js instalado** (versión 14 o superior) 2. **Servidor Tryton ejecutándose** y accesible 3. **Credenciales válidas** para conectarse al servidor 4. **El proyecto compilado**: ```bash npm install npm run build ``` ## Ejemplos disponibles ### 1. Conexión Básica (`basic-connection.ts`) **Propósito**: Demuestra cómo conectarse a Tryton y realizar operaciones básicas. **Características**: - ✅ Conexión al servidor Tryton - ✅ Autenticación de usuario - ✅ Obtención de información del usuario y token de sesión - ✅ Búsqueda de terceros (party.party) - ✅ Manejo de errores y validación de configuración **Configuración requerida**: Edita el archivo `basic-connection.ts` y completa estos campos: ```typescript const config = { hostname: "localhost", // IP/dominio del servidor Tryton port: 8000, // Puerto (generalmente 8000) database: "tu_base_datos", // Nombre de la base de datos username: "tu_usuario", // Usuario de Tryton password: "tu_contraseña", // Contraseña language: "es", // Idioma preferido // ... resto de opciones }; ``` **Ejecución**: ```bash # Opción 1: Usando el script npm (recomendado) npm run example:basic # Opción 2: Directamente con Node.js node dist/examples/basic-connection.js ``` **Salida esperada**: ``` 🚀 Iniciando ejemplo de conexión con Tryton... 📡 Creando cliente Tryton... 🔗 Conectando al servidor... ✅ Conexión exitosa! 👤 INFORMACIÓN DEL USUARIO ======================================== Usuario: Juan Pérez (ID: 123) Idioma: es Token de sesión: usuario:123:abc123xyz789 🏢 LISTA DE TERCEROS ======================================== Buscando terceros... ✅ Se encontraron 15 terceros: 1. ACME Corporation (ACME001) 2. Beta Industries 3. Gamma Solutions (GAM001) ... 🎉 ¡Ejemplo completado exitosamente! ``` ## Solución de problemas comunes ### Error de conexión - **Síntoma**: `Error durante la ejecución: Connection refused` - **Solución**: Verifica que el servidor Tryton esté ejecutándose en la IP y puerto correctos ### Error de autenticación - **Síntoma**: `Error durante la ejecución: Invalid login` - **Solución**: Confirma que el usuario, contraseña y base de datos sean correctos ### Error de base de datos - **Síntoma**: `Error durante la ejecución: Database not found` - **Solución**: Asegúrate de que el nombre de la base de datos sea exacto (sensible a mayúsculas) ### Error de permisos - **Síntoma**: `Access denied for model party.party` - **Solución**: El usuario necesita permisos de lectura para el modelo de terceros ### Error de compilación TypeScript - **Síntoma**: Errores durante `npm run build` - **Solución**: Ejecuta `npm run clean` y luego `npm run build` ## Estructura de archivos ``` examples/ ├── README.md # Esta documentación ├── basic-connection.ts # Ejemplo básico de conexión └── [futuros ejemplos] # Ejemplos adicionales ``` ## Próximos ejemplos Se planean agregar más ejemplos que cubran: - 📝 Creación de registros - ✏️ Actualización de datos - 🗑️ Eliminación de registros - 🔍 Búsquedas avanzadas con dominios complejos - 📊 Trabajo con diferentes modelos de Tryton - 🔧 Configuración avanzada del cliente ## Soporte Si encuentras problemas con los ejemplos: 1. Verifica que hayas seguido todos los pasos de preparación 2. Revisa la sección de solución de problemas 3. Asegúrate de usar la versión más reciente del cliente Para más información sobre la API de Tryton, consulta la [documentación oficial de Tryton](https://docs.tryton.org/).