1. Introducción
El archivo "Cereales CPE" implementa la lógica de negocio para gestionar Cartas de Porte Electrónicas (CPE) en el transporte de cereales. Se encarga de interactuar con el web service de ARCA para realizar operaciones como el alta, modificación, confirmación y rechazo de CPEs.
2. Funciones principales
El archivo "Cereales CPE" agrupa sus funciones en varias categorías:
- Funciones de gestión de CPE: Estas funciones manejan las operaciones principales, como
CTG_Alta_CPE_Homo(xnroCTG)
para dar de alta una CPE en modo de homologación yAltaCPEEnAfip(xnroCTG, xFecha)
para ejecutar el alta en AFIP. Otras funciones en esta categoría incluyenCTG_Config_Proceso_ConfDef(xobjeto)
para la confirmación definitiva yCTG_Config_Proceso_ConfRech(xobjeto)
para el rechazo. - Funciones de configuración de formularios: Estas funciones, como
CTG_Config_form_Alta(xobjeto)
, preparan la interfaz de usuario para una operación específica. - Funciones de autenticación y conexión:
CTG_LOGIN()
yCTG_LOGIN_PROD()
configuran la conexión con los servicios web de AFIP para los entornos de homologación y producción, respectivamente. - Funciones para el manejo de datos: Se encargan de la persistencia de datos en la base de datos local. Por ejemplo,
CPE_GuardoDatos_confirmacion_Def(xrespuesta)
guarda los datos de una confirmación definitiva. - Funciones utilitarias: Incluyen funciones para tareas comunes, como
SacoGuiones(xvalor)
para eliminar guiones de los CUITs yCTG_Cancelaproceso(xerrores)
para cancelar un proceso y mostrar errores.
3. Flujos de trabajo principales
- Flujo de alta de CPE: Inicia con
CTG_Alta_CPE_Homo
o una llamada externa, que a su vez llama aAltaCPEEnAfip
. Esta función se autentica conCTG_LOGIN
, configura los datos de la CPE y llama al métodofe.AutorizarCPEAutomotor
del servicio web. Finalmente, procesa la respuesta y actualiza la base de datos. - Flujo de confirmación definitiva: La interfaz de usuario invoca a
CTG_Config_form_ConfDef
. Al guardar, se ejecutaCTG_Config_Proceso_ConfDef
, que se autentica conCTG_LOGIN
, carga los datos de la CPE y llama afe.ConfirmarDefinitivo
. La respuesta se guarda conCPE_GuardoDatos_confirmacion_Def
y se registra en el log conCTG_Save_logEstados
. - Flujo de rechazo de CPE: Similar al flujo de confirmación, la interfaz de usuario llama a
CTG_Config_form_ConfRech
, que lleva a la ejecución deCTG_Config_Proceso_ConfRech
. Este proceso se autentica, carga los datos, llama afe.ConfirmarRechazo
y guarda la respuesta conCPE_GuardoDatos_confirmacion_Rech
.
4. Estructura de datos y tablas
El sistema utiliza dos tablas para almacenar la información de las CPEs:
O_CTG_TRANSITO
: Almacena los datos principales de las cartas de porte, comonro_ctg
,estado
,cuit_solicitante
,patente_veh
, ycarg_pesobruto
. El campoestado
se refiere al estado en AFIP, mientras queestint
es el estado interno del sistema.O_CTG_LOG
: Almacena el historial de cambios de estado de las CPEs, incluyendonro_ctg
,observacion
,detalle
ycodoperacion
.
5. Integración con otros componentes
El archivo "Cereales CPE" interactúa con otros componentes clave del sistema:
- WSCPEv1: Se comunica con este módulo para acceder a los servicios web de AFIP. La integración se realiza a través de
CTG_LOGIN()
, que crea y configura una instancia de la claseWSCPEv1
. Cereales eventos.vb
: Los manejadores de eventos en este archivo invocan las funciones de configuración (CTG_Config_form_*
) y procesamiento (CTG_Config_Proceso_*
) definidas en "Cereales CPE".Cereales LPG.vb
: Este archivo gestiona las liquidaciones de granos, un proceso posterior a la gestión de las cartas de porte.
6. Patrones y buenas prácticas observadas
El código muestra una separación de responsabilidades clara entre las funciones de configuración de la interfaz, el procesamiento de datos y la persistencia.
También implementa el manejo de errores mediante validaciones y el registro de eventos. Sin embargo, se identifican áreas de mejora como la redundancia de código, el uso de valores "hardcodeados" y un manejo de errores inconsistente.
7. Glosario de términos
- CPE: Carta de Porte Electrónica, documento que ampara el traslado de mercaderías.
- CTG: Código de Trazabilidad de Granos, un número asignado por la AFIP.
- ARCA (ex AFIP: Administración Federal de Ingresos Públicos (entidad fiscal de Argentina).
- Homologación: Ambiente de pruebas para interactuar con los servicios web.
- Producción: Ambiente real para operaciones oficiales.
- Confirmación Definitiva: El estado final de una CPE cuando la mercadería fue recibida correctamente.
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo