lcUsuarioSunat = USUARIO DE SUNAT
lcPassSunat = CONTRASEÑA DE USUARIO SUNAT
lcTipComp = TIPO DE CPE
lcSerie = SERIE DEL CPE
lcNumComp = NUMERO DE CPE
lnSiCDR = 1 SI DESEA DESCARGAR EL CDR / 0 SI SOLO SE DESEA CONSULTAR EL ESTATUS
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:FE_Servicewsdl">
<soapenv:Header/>
<soapenv:Body>
<urn:FE_Estatus_GetCDR soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<lcUsuarioSunat>?</lcUsuarioSunat>
<lcPassSunat>?</lcPassSunat>
<lcTipComp>?</lcTipComp>
<lcSerie>?</lcSerie>
<lcNumComp>?</lcNumComp>
<lnSiCDR>?</lnSiCDR>
</urn:FE_Estatus_GetCDR>
</soapenv:Body>
</soapenv:Envelope>
Estructura de respuesta:
return = True or False
statusCode = ESTATUS DEL CPE
statusMessage = MENSAJE DE ESTATUS DEL CPE
content = CONTENIDO DEL ARCHIVO CDR (XML) EN BASE 64
Ejemplo de uso con proyecto y clase de ejemplo VFP:
LOCAL loFeService,lcTipComp,lcSerie,lcNumComp,lnSiCDR
*!* LLAMADO A LA LIBRERIA DE FUNCIONES
SET CLASSLIB TO '.\Clases\fe_service_sunat' ADDITIVE
*!* CREACIÓN DEL OBJETO
loFeService = CREATEOBJECT("fe_service_sunat")
IF VARTYPE(loFeService) = "O"
*!* OBTENER INFORMACIÓN DE ESTADO DE UN CPE SOLO SERVIDOR DE PRODUCCIÓN
*!* SE REQUIERE USUARIO Y CONTRASEÑA DE CLAVE SOL (SECUNDARIO)
loFeService.lcUsuarioSunat = '20000000001MODDATOS'
loFeService.lcPassSunat = '12345678'
*!* LLAMADO A LA FUNCIÓN DE ESTATUS
*!* PARAMETROS
*!* lcTipComp = TIPO DE CPE
*!* lcSerie = SERIE DEL CPE
*!* lcNumComp = NÚMERO DE CPE
*!* lnSiCDR = 0 [Solo estatus del CPE] / 1 [Estatus y Descarga CDR]
lcTipComp = '01'
lcSerie = 'FV01'
lcNumComp = '25'
lnSiCDR = 1
IF !loFeService.FE_Estatus_GetCDR (lcTipComp,lcSerie,lcNumComp,lnSiCDR)
*!* HUBO UN ERROR
RETURN .F.
ENDIF
*!* INFORMACION - TODO OK
*!* EL ARCHIVO DE CDR SE DESCARGA EN LA CARPETA .\SunatCDR\
? loFeService.lcStatusCode &&ESTADO DEL CPE
? loFeService.lcStatusMessage &&MENSAJE DEL ESTADO DEL CPE
IF lnSiCDR = 1
? loFeService.lcDescription &&DESCRIPCIÓN DE LA RESPUESTA DEL CDR
? loFeService.lcResponseCode &&CÓDIGO DE RESPUESTA DEL CDR
? loFeService.lcFileXMLRpta &&RUTA DEL ARCHIVO DE RESPUESTA DE SUNAT CDR
ENDIF
ENDIF
Vamos a seguir publicando mas funciones, como generar QR, Firmar el XML, generar el XML , enviar XML, generar PDF sin necesidad de librerías ni programas externos.
Adjunto al mensaje esta el archivo de proyecto con la clase y ejemplo de uso
Saludos
VFPSTEAM BI SOLUTIONS
https://www.facturacionperu.ws