- Nuevo logger_manager.py (reemplaza logger_utilities.py): logging con formato de árbol, rotación diaria a sunat.log, y consola por stdout (antes iba por stderr y se duplicaba en logs/error.log del launchd). - Nuevo historial_manager.py: registra cada intento de consulta/descarga en historial.db para auditoría, con limpieza automática de registros de más de 180 días. - consulta_cpe.py: corrige el id de notas de crédito/débito (usa F7/F8, no 07/08) y agrega reintentos ante errores 5xx. - hana_manager.py: suma consulta a ORPC para notas de crédito (Indicator 07) y soporte de ObjType para actualizar la tabla correcta (OPCH/ORPC) al marcar PDF/XML descargado. - gestor_fallas.py / main.py: propagan objtype end-to-end y dejan constancia de cada intento en historial_manager. - Elimina login_api.py y reporte_fallas.py (código no usado / script manual sin uso reciente). - Actualiza .gitignore (sunat-venv/, historial.db*) y docs/ para reflejar el estado real del proyecto. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
71 lines
1.4 KiB
Markdown
71 lines
1.4 KiB
Markdown
# Configuración
|
|
|
|
## Requisitos
|
|
|
|
- Python 3.10+
|
|
- Playwright (firefox)
|
|
- Acceso a HANA (hdbcli)
|
|
- **Mozilla Firefox** (para `get_token_headless.py`)
|
|
- **rsync** (Mac/Linux) o **net use** (Windows) para SMB
|
|
|
|
## Instalación
|
|
|
|
```bash
|
|
# Crear y activar entorno virtual (recomendado)
|
|
python3 -m venv sunat-venv
|
|
source sunat-venv/bin/activate
|
|
|
|
# Instalar dependencias
|
|
pip install -r requirements.txt
|
|
playwright install firefox
|
|
```
|
|
|
|
## Variables de Entorno (`.env`)
|
|
|
|
```ini
|
|
# SUNAT
|
|
SUNAT_RUC=20503662869
|
|
SUNAT_USER=TAGUMED3
|
|
SUNAT_PASSWORD=xxxxx
|
|
|
|
# HANA
|
|
HANA_HOST=192.168.1.175
|
|
HANA_PORT=30015
|
|
HANA_USER=SYSTEM
|
|
HANA_PASSWORD=SAPB1Admin.25
|
|
HANA_SCHEMA=SBO_TAGUMEDICA_21
|
|
|
|
# SMB / NAS
|
|
SMB_SERVER=192.168.1.175
|
|
SMB_SHARE=FileSAP
|
|
SMB_USER=tu_usuario
|
|
SMB_PASSWORD=tu_contraseña
|
|
SMB_MOUNT_MAC=/Volumes/FileSAP
|
|
SMB_MOUNT_LINUX=/mnt/filesap
|
|
SMB_MOUNT_WINDOWS=S:
|
|
SMB_SUBFOLDER=COMPRAS/TAGUMEDICA/ADJUNTOS_CORREOS
|
|
```
|
|
|
|
## Ejecución
|
|
|
|
```bash
|
|
# Activar entorno virtual
|
|
source sunat-venv/bin/activate
|
|
|
|
# Obtener token manualmente (con navegador visible)
|
|
python get_token.py
|
|
|
|
# Obtener token headless (sin ventana, requiere Firefox real)
|
|
python get_token_headless.py
|
|
|
|
# Daemon completo (automático)
|
|
python main.py
|
|
|
|
# Buscar intentos de descarga en el historial
|
|
python historial_manager.py --ruc 20503662869 --serie F001 --numero 123
|
|
```
|
|
|
|
## Logs
|
|
|
|
Todos los logs se guardan en `logs/sunat_YYYY-MM-DD.log`. Rotación automática diaria, los archivos mayores a 7 días se eliminan.
|