Que tal;
Estoy intentando validar los documentos electronicos directamente desde desde el portal:
http://www.sunat.gob.pe/ol-ti-itconsvalicpe/ConsValiCpe.htmLogro cargar los datos, y el codigo captcha lo obtengo desde esta ruta "
http://www.sunat.gob.pe/ol-ti-itconsvalicpe/captcha?accion=image". El problema esta en que el captcha obtenido no es el mismo que el que esta pegado en el portal, por lo tanto al darle el SUBMIT pues arroja que el codigo no es valido. La unica solución que lo veo es descargar la imagen misma que esta pegada en el portal y ahi es donde solicito apoyo, por mas que le doy vueltas no logro ubicar la ruta para descargalo.
NOTA: Para leer el texto de la imagen estoy utilizando el TESSERACT.
Saludos
Procedure ValidezCPE()
Local loIE ,lcURL,loDoc,loForm,loLista
lcCaptcha = GetCodigoCaptcha()
TRY
lcURL = "
http://www.sunat.gob.pe/ol-ti-itconsvalicpe/ConsValiCpe.htm"
* *lcURL = "
http://www.sunat.gob.pe/ol-ti-itreciboelectronico/cpelec003Alias?accion=LlamaValidez1"
loIE = Createobject("InternetExplorer.Application")
loIE.Navigate2(lcURL)
Do While Not loIE.Busy
Doevents
Enddo
Pause(0.5)
loIE.Visible = .t.
loDoc = loIE.Document
loForm = loDoc.forms(0)
loForm.item(1).Value = "20103134065"
loForm.item(2).Value = "03"
loForm.item(3).Value = "6"
loForm.item(3).Value = "-"
loForm.item(4).Value = ""
loForm.item(5).Value = "F011"
loForm.item(6).Value = "194"
loForm.item(7).Value = "29/11/2016"
loForm.item(8).Value = "26815.76"
loForm.item(9).Value = lcCaptcha
loLista = loIE.Document.Lista
loLista.accion.value = "CapturaCriterioValidez"
loForm.accion.value = "CapturaCriterioValidez"
*loForm.WAcepta.Disabled = .f.
*loForm.item(9).Value = "JPCY"
*loForm.submit()
*loDoc.Submit()
Catch To loError
MensajeError(loError)
Endtry
Return
&&
Function GetCodigoCaptcha()
** Obtiene el codigo captcha
Local lcURL,loCaptcha,lnIntento,lcCaptcha
lcURL = "
http://www.sunat.gob.pe/ol-ti-itconsvalicpe/captcha?accion=image"
loCaptcha = NewObject("rucsunat","libsunat.vcx")
** 5 Intentos para leer correctamente captcha
lnIntento = 0
Do While lnIntento<=5
lnIntento = lnIntento + 1
If Not loCaptcha.Getimagen(lcURL) Then
Pause(0.01)
Loop
Endif
If Not loCaptcha.Gettexto() Then
Pause(0.01)
Loop
Endif
Enddo
lcCaptcha = loCaptcha.lcTextoCaptcha
Return lcCaptcha