🧩 Objetivo Automatizar la lectura, clasificación y registro de movimientos bancarios provenientes del Banco Familiar, utilizando un archivo de extracto en formato de texto plano con posiciones fijas y un layout configurable (familiar.ret) que define las posiciones de cada campo. Actualizar el valor campo A6_NUMBCO en el formulario de bancos con el valor FAM1 📁 Archivos involucrados Archivo | Descripción | nombre_archivo | Archivo que contiene el extracto bancario con formato de texto plano con posiciones fijas. | familiar.ret | Archivo de configuración con índices de campos. | ImpExtFa() | Rutina ADVPL que procesa el extracto y realiza la inserción | SEJ, SIF, SIG
| Tablas del sistema Protheus utilizadas para clasificación y registro. |
📄 Estructura del archivo familiar.ret
Este archivo define los campos relevantes del extracto por nombre y rango de posiciones. Cada línea tiene el siguiente formato: Nombre del Campo PPPFFF - Identificador de bloque (líneas de movimiento)
- PPP: Posición inicial (3 dígitos)
- FFF: Posición final (3 dígitos)
Este archivo define los campos relevantes por nombre y su índice dentro del arreglo aValores, generado por SplitDep(). Campo | Valor | Fecha Movimiento | 017027 | descripción | 052074 | Debito | 097117 | Credito | 117136 | Documento | 034051 | Cod movimiento | 170171 |
Ejemplo: Campo | Posicion | Resultado | Fecha Movimiento | 017027 | 02/08/2025 | descripción | 052074 | DBPP-DEB.PAGO PRESTAMO | Debito | 097117 | 1.234,56 | Credito | 117136 | 0,00 | Documento | 034051 | 306714136 | Cod movimiento | 170171 | 22 |
🧠 Validaciones implementadas - Verificación de existencia del archivo de configuración
- La rutina ignora líneas hasta encontrar "SALDO ANTERIOR"
- Validación de fecha y valor
- Clasificación contable por contenido
- Consulta de tipo contable en SEJ
- Registro de errores por línea en aLog
- Inserción controlada en SIF (solo en la primera línea)
|