Daniel :
Te mando mi rutina completa porque no logro abrir el notepad
Con instruccion
MemoWrit(cListado, cCfdLis)
Estoy creando el archivo, yo checo en la carpeta raíz de mi aplicacion y ahi me aparece el archivo SER-122010.TXT
Que estoy haciendo mal ?
- Code: Select all Expand view RUN
STATIC FUNCTION GeneraListado( dFechaIni, dFechaFin )
LOCAL cListado, cEsquema, cEmisor, cMesyano
LOCAL cCfdTmp, cCfdLis, cEstado, Contador
cEsquema := "1"
cEmisor := "SER911203JU5"
cMesyAno := SUBSTR(DTOC(dFechaIni),4,2)+SUBSTR(DTOC(dFechaIni),7,4)
cListado := "SER-"+SUBSTR(DTOC(dFechaIni),4,2)+SUBSTR(DTOC(dFechaIni),7,4)+".TXT"
cCfdTmp := ""
cCfdLis := ""
cCfdLis := cCfdLis + cEsquema + CHR(10)
cCfdLis := cCfdLis + cEmisor + CHR(10)
cCfdLis := cCfdLis + cMesyAno + CHR(10)
cfac->( DBSEEK( DTOS(dFechaIni),.T.))
cfac->( ORDSCOPE(0,DTOS(dFechaIni)))
cfac->( ORDSCOPE(1,DTOS(dFechaFin)))
cfac->( DBGOTOP())
DO WHILE !cfac->(EOF())
IF cfac->estado = "1"
Contador := 1
cEstado := cfac->estado
ELSE
Contador := 2
cEstado := "1"
ENDIF
DO WHILE Contador > 0
// inicio del registro
cCfdTmp := cCfdTmp + "|"
// Rfc del receptor
cCfdTmp := cCfdTmp + ALLTRIM(cli->refeca) + "|"
// número de serie
cCfdTmp := cCfdTmp + cfac->serie + "|"
// número de folio
cCfdTmp := cCfdTmp + LTRIM(STR(cfac->factno)) + "|"
// Año y número de aprobación
cCfdTmp := cCfdTmp + cAprobYear + cNoAprob + "|"
// Fecha y hora de cfd
cCfdTmp := cCfdTmp + DTOC(cfac->fechafact)+" "+ cfac->horafact + "|"
// Monto total de la transacción
cCfdTmp := cCfdTmp + LTRIM(STR(cfac->impfac,12,2)) + "|"
// Monto del impuesto
cCfdTmp := cCfdTmp + LTRIM(STR(cfac->iva,12,2)) + "|"
// Estado del cfd
cCfdTmp := cCfdTmp + cEstado + "|"
// Efecto de cfd
cCfdTmp := cCfdTmp + cfac->tipocfd + "|"
// Agrega caracter de retorno
cCfdTmp := cCfdTmp + CHR(10)
cCfdLis := cCfdLis + cCfdTmp
cCfdTmp := ""
Contador := Contador - 1
IF Contador = 1
cEstado := cfac->estado
ENDIF
ENDDO
cfac->(DBSKIP())
ENDDO
// para eliminar el ultimo linefeed (chr(10))
cCfdLis := SUBSTR(cCfdLis,1,LEN(cCfdLis)-1)
//cListado := cListado + cCfdLis
MemoWrit(cListado, cCfdLis)
IF MsgYesNo("Imprime el listado")
WinExec("NotePad" + cListado )
ENDIF
RETURN NIL
Gracias poor tus atenciones
Saludos