Cereales CPE. Documentación detallada | WAN

Modificado el Jue, 4 Sep a 4:59 P. M.

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 y AltaCPEEnAfip(xnroCTG, xFecha) para ejecutar el alta en AFIP. Otras funciones en esta categoría incluyen CTG_Config_Proceso_ConfDef(xobjeto) para la confirmación definitiva y CTG_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() y CTG_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 y CTG_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 a AltaCPEEnAfip. Esta función se autentica con CTG_LOGIN, configura los datos de la CPE y llama al método fe.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 ejecuta CTG_Config_Proceso_ConfDef, que se autentica con CTG_LOGIN, carga los datos de la CPE y llama a fe.ConfirmarDefinitivo. La respuesta se guarda con CPE_GuardoDatos_confirmacion_Def y se registra en el log con CTG_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 de CTG_Config_Proceso_ConfRech. Este proceso se autentica, carga los datos, llama a fe.ConfirmarRechazo y guarda la respuesta con CPE_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, como nro_ctg, estado, cuit_solicitante, patente_veh, y carg_pesobruto. El campo estado se refiere al estado en AFIP, mientras que estint es el estado interno del sistema.
  • O_CTG_LOG: Almacena el historial de cambios de estado de las CPEs, incluyendo nro_ctg, observacion, detalle y codoperacion.


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 clase WSCPEv1.
  • 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

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo