--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
.setattribute('version', STREXTRACT(cxmlcontim,[version="], ["]))
.setattribute('version', STREXTRACT(cxmlcontim,[version="], ["], 2))
por ultimo revisa los xml nos retorna finkok, tienen algunos cambios a diferencia de los anteriores, sobre todo el orden de los valores.
salds....
Mapasac
General Escobedo, N.L.
--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electronica-mexico+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-electronica-mex...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
______________________
Victor Gerardo López
Director de desarrollo
POSMEX, Guadalajara
33 3359 9565
--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
* -- Parsear Response - Si llega aquí tenemos respuesta del WS
lcXMLDoc = lcXMLResponse && Para no manipular la respuesta directamente
* -- Lee desde el XML de la respuesta
LOCAL olNodes AS IXMLDOMNodeList
oXML = CREATEOBJECT('MSXML2.DOMdocument')
oXML.loadXML(lcXMLDoc) && Si se lee desde una cadena, debe estar en UTF-8
IF (oXML.parseError.errorCode <> 0) THEN
myErr = oXML.parseError
MESSAGEBOX("Estructura XML de la respuesta mal armada: " + myErr.reason, 16, "Sistema")
RETURN .F.
ENDIF
* -- Selecciona el nodo tns:stampResult
* -- si no está este nodo algo salió mal, el WS siempre debe regresar este nodo en el XML de respuesta
olNode = oXML.selectSingleNode("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult")
IF ISNULL(olNode) THEN
MESSAGEBOX("XML de respusta inválido."+CHR(13)+"Nodo <tns:stampResult> no presente.", 16, "Sistema")
RETURN .F.
ENDIF
* -- Verifica si está el nodo s0:CodEstatus, si este nodo no está debe estar al menos un nodo de incidencia en
* -- s0:Incidencia con el mensaje de error al intentar timbrar
olNode = oXML.selectSingleNode("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult/s0:CodEstatus")
IF ISNULL(olNode) THEN
* -- Verifica si la respuesta contiene un error
olNode = oXML.selectSingleNode("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult/s0:Incidencias/s0:Incidencia/s0:MensajeIncidencia")
IF NOT ISNULL(olNode) THEN
* -- Obtiene todos los mensajes de error
olNode = oXML.selectNodes("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult/s0:Incidencias")
Thisform.Finkok_incidencias(olNode)
RETURN .F.
ELSE
MESSAGEBOX("XML de respusta inválido."+CHR(13)+"Nodo <s0:CodEstatus> no presente y no hay incidencias.", 16, "Sistema")
RETURN .F.
ENDIF
ENDIF
* -- Si llega aquí no hay errores
sAtributeValue = ALLTRIM(olNode.Text) && En el atributo Text de s0:CodEstatus está el estado de la llamada
*WAIT sAtributeValue WINDOW
IF UPPER(sAtributeValue) == "COMPROBANTE TIMBRADO SATISFACTORIAMENTE" OR ;
UPPER(sAtributeValue) == "COMPROBANTE RECIBIDO SATISFACTORIAMENTE"
lEsValido = .T.
* -- Obtiene valores del timbre
olNode = oXML.selectSingleNode("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult/s0:Fecha")
cFechaTimbradoVal = ALLTRIM(olNode.Text)
olNode = oXML.selectSingleNode("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult/s0:NoCertificadoSAT")
cNoCertificadoSATVal = ALLTRIM(olNode.Text)
olNode = oXML.selectSingleNode("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult/s0:SatSeal")
cSelloSATVal = ALLTRIM(olNode.Text)
olNode = oXML.selectSingleNode("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult/s0:UUID")
cUUIDVal = ALLTRIM(olNode.Text)
olNode = oXML.selectSingleNode("//senv:Envelope/senv:Body/tns:stampResponse/tns:stampResult/s0:xml")
cXMLTimbrado = ALLTRIM(olNode.Text) && XML completo, timbrado y listo
* "selloCFD: " + cSelloCFDVal + CHR(13) + ;"Versión: " + cVersionVal + CHR(13) + ;s
cTimbreWS = "FechaTimbrado: " + cFechaTimbradoVal + CHR(13) + ;
"noCertificadoSAT: " + cNoCertificadoSATVal + CHR(13) + ;
"selloSAT: " + cSelloSATVal + CHR(13) + ;
"UUID: " + cUUIDVal
* -- Guarda el CFDI timbrado
cOldSet = SET("Safety")
SET SAFETY OFF
cBuff = cXMLTimbrado && En la respuesta, en el nodo s0:xml, está el XML completo listo para entregar
STRTOFILE(cBuff, cFileXML, 4) && UTF-8 con BOM
SET SAFETY &cOldSet
MESSAGEBOX("El comprobante se timbró correctamente.", 64, "Sistema")
ENDIF
--
Has recibido este mensaje porque estás suscrito al grupo "vfp-factura-electronica-mexico" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a vfp-factura-electroni...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a vfp-factura-ele...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/vfp-factura-electronica-mexico.
Para acceder a más opciones, visita https://groups.google.com/d/optout.