🧩 Objetivo Procesar únicamente extractos bancarios en formato csv separados por punto y coma (;), provenientes del banco Continental, y registrar los movimientos bancarios en las tablas SIF y SIG del sistema Protheus. La rutina utiliza un archivo de configuración externo (continental.ret) para definir los índices de cada campo relevante. Actualizar el valor campo A6_NUMBCO en el formulario de bancos con el valor CONT1
Archivos involucrados: Archivo | Descripción |
|---|
nombre_archivo | Archivo que contiene el extracto bancario con datos separados por ; | continental.ret | Archivo de configuración con índices de campos. | SEJ, SIF, SIG
| Tablas del sistema Protheus utilizadas para clasificación y registro. |
📄 Estructura del archivo continental.ret Este archivo define los campos relevantes por nombre y su índice dentro del arreglo. Campo | Valor |
|---|
Fecha Movimiento | 14 | descripción | 4 | Documento | 10 | Debito | 5 | Credito | 6 | Tipo Movimiento | 13 |
Ejemplo: Campo | Posicion | Resultado |
|---|
Fecha Movimiento | 14 | 06/08/25 | descripción | 4 | 25-CM-WEB;PS.Id:22590396, SALARIO | 29250017901602 | Documento | 10 | 286928 | Debito | 5 | 3.276.000 | Credito | 6 |
| Tipo Movimiento | 13 | 01 |
⚙️ Funcionamiento de la rutina Lectura del archivo de configuración Se carga continental.ret con la función LoadLCsv(), que genera un array {cCampo, nIndice}.Lectura del archivo de extracto Se procesa nombre_archivo.ext línea por línea, dividiendo cada línea en aValores por ;Extracción de camposSe usa GetCamCs() para obtener los valores desde aValores según el índice definido en el Archivo de configuración con índices de campos.Clasificación movimiento Se consulta la tabla SEJ con el tipo de movimiento (cTipo) para obtener la ocurrencia (EJ_OCORSIS) y la descripción (EJ_DESCR).Registro en SIF Se realiza una única vez en la primera línea, registrando la cabecera del proceso de importación.Registro en SIG Se registra cada movimiento con trazabilidad completa: fecha, documento, valor, tipo, descripción, ocurrencia, débito/crédito.Log de errores Se registra en aLog cualquier línea con datos insuficientes o tipo no encontrado.
🧠 Validaciones implementadas - Verificación de existencia del archivo en formato CSV
- Omisión de encabezado
- Eliminación de separadores de miles (.) en valores
- Validación si es débito o crédito contra tabla SEJ
- Validación de tipo de movimiento contra tabla SEJ
- Registro de errores en aLog si faltan datos clave
✅ Beneficios de esta implementación - Evita hardcodeo de índices
- Permite trazabilidad completa de cada movimiento
- Facilita mantenimiento y adaptación a nuevos layouts
- Compatible con lógica modular por configuración externa
📌 Recomendaciones importantes - Validar con archivo real del Banco Continental.
- Verificar que los campos estén correctamente mapeados.
- Confirmar que los registros se inserten en SIF y SIG.
- Revisar el log (aLog) ante errores de tipo o datos faltantes.
|