Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

Cadena Original

Para programadores en VFP aqui esta su foro.
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
Cerrado
JVDH
Mensajes: 110
Registrado: Lun Feb 21, 2011 9:54 pm

Cadena Original

Mensaje por JVDH »

Buenos dias,

Tengo un pequeño problema con la cadena original.
Necesito copiar el contenido de la cadena original del xml ya timbrado y no logro hacerlo.
Se que hay una funcion llamada CadenaOriginal() pero no entiendo como copiarla simplemente a una base de datos.
Pongo el codigo siguiente pero no hace nada y se sale de la aplicación.

PUBLIC lcFileXML, w_cadenacfdi, w_sellocfdi
STORE SPACE(250) TO w_cadenacfdi, w_sellocfdi
SET PATH TO ("C:\TAC-CFDI\") &&Especifique la ruta correcta donde tiene los archivos del proyecto
SET DEFAULT TO ("C:\TAC-CFDI\") &&Especifique la ruta correcta donde tiene los archivos del proyecto

declare short TimbrarCFD IN 'CFDLib.dll' string
declare string GetError IN 'CFDLib.dll'
declare string GetErrorExt IN 'CFDLib.dll'
declare string CadenaOriginal IN 'CFDLib.dll'
declare string SelloDigital IN 'CFDLib.dll'

SELECT FACTURA
SET ORDER TO FOLIO && FOLIOCFD
SET FILTER TO FOLIOCFD = VAL(WFOL)
GO TOP
STORE FOLIOCFD TO MFOL
STORE SERIECFD TO MSER
STORE OBSERVA TO lcObserva
STRTOFILE(lcObserva,"C:\FactXML\Texto3.txt")
STORE TIPO_COMPRO TO lcCompro
STORE "C:\TAC-CFDI\BuzonCFDI\CfdiXML\" + ALLTRIM(ALLTRIM(mser)) + RIGHT("000000" + ALLTRIM(STR(mfol)),6) + ".xml" TO lcFileXML
STRTOFILE(lcObserva,"C:\FactXML\Texto3.txt")

if BITAND(TimbrarCFD('c:\TAC-CFDI\Timbrado.ini'),15) = 0
w_cadenacfdi=ALLTRIM(CadenaOriginal())
w_sellocfdi=ALLTRIM(SelloDigital())
ELSE
MESSAGEBOX("error!")
ENDIF
STRTOFILE(w_cadenacfdi,"C:\FactXML\cadena.txt")

SELECT FACTURA
RLOCK()
REPLACE CADENA WITH w_cadenacfdi
REPLACE SELLO WITH w_sellocfdi
UNLOCK

Alguien seria tan amable de ayudarme con este problema.
Gracias de antemano.
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Cadena Original

Mensaje por Dado »

Esta instruccion es para asignarle memoria a la cadena?
STORE SPACE(250) TO w_cadenacfdi, w_sellocfdi
Si es asi, es muy poco, asignale mas, mucho mas
STORE SPACE(2000) TO w_cadenacfdi, w_sellocfdi
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
JVDH
Mensajes: 110
Registrado: Lun Feb 21, 2011 9:54 pm

Re: Cadena Original

Mensaje por JVDH »

Gracias DADO por tu respuesta.
Pero creo que algo anda mal en el código y en VFP el campo más grande para almacenar es el campo MEMO.
Yo quiero la cadena original para mandarla en formato .txt y correr el FACTXML.

Saludos
JVDH
Mensajes: 110
Registrado: Lun Feb 21, 2011 9:54 pm

Re: Cadena Original

Mensaje por JVDH »

Hola a todos,

Buscando en todo el foro, encontré un código hecho por "hreyes" en visual foxpro y pude resolver mi problema.
Le adjunto el método y ... funciona de maravilla.
Gracias una vez más a hreyes por su contribución.
Espero que le sirvan a otros como a mi me sirvió.

lcTimbrado= FILETOSTR("C:\TAC-CFDI\BUZONCFDI\CfdiXML\a000022.xml")

lcFolio = STREXTR(lcTimbrado, [UUID="], [" ])
lcFechaTimbrado = STREXTR(lcTimbrado, [FechaTimbrado="], [" ])
lcSelloCFD = STREXTR(lcTimbrado, [selloCFD="], [" ])
lcCertificadoSAT=STREXTR(lcTimbrado, [noCertificadoSAT="], [" ])
lcSelloSAT= STREXTR(lcTimbrado, [selloSAT="], [" ])

*!* La Cadena Original se forma con los siguientes parametros:
*!* 1. version
*!* 2. UUID
*!* 3. FechaTimbrado
*!* 4. selloCFD
*!* 5. noCertificadoSAT
STORE '||1.0|'+ lcFolio +'|'+ lcFechaTimbrado +'|'+ lcSelloCFD+'|'+ lcCertificadoSAT +'||' TO chaine
STRTOFILE(Chaine,"C:\FactXML\cadena.txt")
MESSAGEBOX("CADENA RIGINAL MANDADA A C:\FACTXML")

Saludos
Cerrado