Flujos de Datos
-Flujo de Venta Completo
Secuencia:
participante UI como Form1 UI
participante BL como la Lógica de Negocio
participante Serial como Tmapp_IPOS
participante DLL como MiDLL.dll
participante POS como Terminal Físico
participante Auth como Autorizador
UI->>BL: Usuario completa formulario
BL->>BL: Validar campos
BL->>BL: Construir SaleRequest JSON
BL->>Serial: WriteRead(json, timeout)
Serial->>DLL: WRITEREADX(bytes)
DLL->>POS: Enviar por serial/USB
POS->>Auth: Solicitar autorización
Auth-->>POS: Respuesta aprobada/rechazada
POS-->>DLL: Datos de respuesta
DLL-->>Serial: Bytes de respuesta
Serial->>BL: Struct_result con JSON
BL->>BL: Deserializar SaleResponse
BL->>UI: Mostrar resultado en frmResultado
UI->>UI: Limpiar formulari
-Estados de una Transacción
- Inicialización
- Formulario válido
- MID Configurado
- Terminal conectado
- Envío
- JSON serializado
- Buffer preparado
- Timeout configurado
- Procesamiento
- Comunicación serial activa
- Espera respuesta POS
- Espera respuesta autorizador
- Respuesta
- JSON deserializado
- Validación de estructura
- Interpretación códigos
- Finalización
- Mostrar resultado
- Loggear transacción
- Limpiar para siguiente
-Timeouts y Reintentos
```csharp
// Configuración recomendada:
uint timeout = 60; // segundoUpdated 13 days ago
What’s Next
