1. Flujo de autenticación y preparación
Cualquier operación con una Carta de Porte Electrónica (CPE) requiere una conexión autenticada con el servicio web de la ARCA. Esto se logra:
- creando un objeto FEAFIP.WSCPE
- configurando el CUIT y la ruta del certificado;
- e invocando el método
Login
. - La disponibilidad del servicio se puede verificar con el método
MetodoFEDummy()
.
2. Flujo completo: Alta de carta de porte automotor
El proceso de alta de una CPE automotor, sigue estos pasos:
- Autenticación: Se utiliza un método auxiliar, como
CTG_LOGIN()
, para configurar y autenticar la conexión. - Configuración de datos: Se configuran la cabecera, origen, intervinientes, datos de carga, destino, destinatario, patente y transporte mediante métodos como
AddcabeceraAutomotor
,Addorigen
,AdddatosCarga
,AddDestino
,Adddestinatario
,AddDominio
yAddTransporte
. - Autorización: Se llama a
fe.AutorizarCPEAutomotor()
para solicitar la autorización. - Procesamiento de la respuesta: Se verifica la propiedad
hayerrores
de la respuesta para determinar si hubo errores. Si la operación es exitosa, se puede guardar el número de CTG en la base de datos.
3. Flujo completo: Editar CPE confirmada
Para editar una CPE confirmada, el proceso es el siguiente:
- Autenticación: Se inicia la sesión con
CTG_LOGIN()
. - Configuración de intervinientes: Se utiliza
AddConfEditintervinientes()
para preparar los datos de la edición. - Solicitud de edición: Se invoca
fe.editarCPEConfirmadaAutomotor(xnroCTG)
con el número de CTG de la CPE. - Procesamiento de la respuesta: Se procesa la respuesta para verificar si la edición fue exitosa o si se devolvieron errores.
4. Flujo completo: Anular CPE
Para anular una CPE:
Autenticación: Se inicia la sesión con
CTG_LOGIN()
.Configuración de datos: Se usan
Addcartaporte()
yAddContingencia()
para especificar el tipo, número, sucursal y motivo de la anulación.Solicitud de anulación: Se llama a
fe.anularCPE()
.Procesamiento de la respuesta: Se procesa la respuesta para confirmar la anulación o mostrar los errores correspondientes.
5. Flujo completo: Consulta de información auxiliar
El sistema permite consultar información auxiliar, como:
- Provincias: Se usa
fe.ConsultarProvinicias()
. - Localidades: Se usa
fe.consultarLocalidadesPorProvincia(codProvincia)
. - Plantas habilitadas: Se usa
fe.ConsultarPlantas(cuitConsulta)
. - Tipos de grano: Se usa
fe.consultarTiposGrano()
.
6. Implementación real: AltaCPEEnAfip
El método AltaCPEEnAfip(xnroCTG, xFecha)
es una implementación real que demuestra un flujo completo de alta:
- Se autentica con
CTG_LOGIN()
, - consulta el último número de orden disponible en ARCA,
- configura la cabecera y otros datos,
- y llama a
fe.AutorizarCPEAutomotor()
.
Si la operación es exitosa, actualiza la base de datos local con la información recibida, como el número de CTG de homologación y los códigos de localidad y planta.
7. Relación entre métodos de configuración y operaciones
Ciertos métodos de configuración deben ser llamados antes de una operación principal. Por ejemplo:
Para
AutorizarCPEAutomotor
, se requierenAddcabeceraAutomotor
,Addorigen
,AdddatosCarga
,AddDestino
,Adddestinatario
,AddDominio
yAddTransporte
.Para
anularCPE
, se necesitanAddcartaporte
yAddContingencia
.
8. Métodos auxiliares y su uso
Los métodos auxiliares simplifican las operaciones:
SacoGuiones(xcuit)
: Elimina los guiones de los CUIT para el webservice.CTG_LOGIN()
: Centraliza la lógica de autenticación para el ambiente de homologación.CPE_GuardoDatosDoc()
yCPE_RecuperoDatosDoc()
: Se usan para persistir y recuperar la información de conexión y reutilizar sesiones.
¿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