Saludos amigos:
En primer lugar debo agradecer a muchos de ustedes debido a que en esta lista aprendo bastante…
Sucede que en el sistema de registro de compras y ventas le añadí la exportación al PLE (programa de libros electrónicos) de la SUNAT – Perú, al momento de exportar, use un programa que envió el amigo: Alcides Zuasnábar Ureta alcidesz...@hotmail.com, en el 2010, le hice unos cambios y quedo así (Para el registro de compras):
larchivo = lnombrearchivotexto
SELECT tgenple
GO top
Set alternate to d:\ple\&larchivo..txt
set alternate on
SCAN
?? ALLTRIM(SUBSTR(periodo,1,8))
?? "|"+STR(registro)
?? "|"+ALLTRIM(fechaemision)
??
"|"+ALLTRIM(IIF(!EMPTY(fechavencimiento),fechavencimiento,'01/01/0001'))
?? "|"+tipocomprobantepago
?? "|"+PADL(ALLTRIM(seriecomprobante),6,"0")
?? "|"+ALLTRIM(emisionduadsi)
?? "|"+IIF(AT("-",nrocomprobantepago)=0, substr(nrocomprobantepago,1,12),
SUBSTR(nrocomprobantepago,1,AT("-",nrocomprobantepago)-1) +
SUBSTR(nrocomprobantepago,LEN(SUBSTR(nrocomprobantepago,1,AT("-
",nrocomprobantepago)-1))+2,5))
?? "|"+STR(importetotaloperaciones)
?? "|"+documentoidentidadproveedor
?? "|"+nrodocumento
?? "|"+SUBSTR(razonsocialproveedor,1,60)
?? "|"+IIF(baseimponible>=0,STR(baseimponible,12,2),'0.00')
?? "|"+IIF(igv>=0,STR(igv,12,2),'0.00')
?? "|"+IIF(baseimponible2>=0,STR(baseimponible2,12,2),'0.00')
?? "|"+IIF(igv2>=0,STR(igv2,12,2),'0.00')
??
"|"+IIF(baseimponiblesinderecho>=0,STR(baseimponiblesinderecho,12,2),'0.0
0')
?? "|"+IIF(igv3>=0,STR(igv3,12,2),'0.00')
?? "|"+IIF(valornograbada>=0,STR(valornograbada,12,2),'0.00')
?? "|"+IIF(montoimpuestoconsumo>=0,STR(montoimpuestoconsumo,12,2),'0.00')
?? "|"+IIF(otrostributos>=0,STR(otrostributos,12,2),'0.00')
??
"|"+IIF(importetotalcomprobante>=0,STR(importetotalcomprobante,12,2),'0.0
0')
?? "|"+IIF(tipodecambio<=0.00000,"0.000",STR(tipodecambio,6,3))
?? "|"+IIF(!EMPTY(fechaemisionpagomod),fechaemisionpagomod,'01/01/0001')
?? "|"+tipocomprobantepagomod
?? "|"+IIF(nroseriecomprobantemod=0,"-",STR(nroseriecomprobantemod))
?? "|"+nrocomprobantepagomod
?? "|"+nrocomprosujetonodom
?? "|"+fechaemisiondepdetraccion
?? "|"+nroconstanciadepdetraccion
?? "|"+STR(marcacomprobante)
?? "|"+estado+"|"
?
ENDSCAN
set alternate off
MESSAGEBOX("ARCHIVO GENERADO : " + larchivo, "PROCESO CULMINADO")
1. Al generar el archivo, en la parte de razón social, a partir de la tercera o cuarta fila, lo manda al siguiente reglón
2. El final del archivo texto, se graba un carácter : ‘ -> ’
3. Tengo que cerrar el sistema para que se grabe totalmente el archivo texto.
Estos problemas lo estoy arreglando manualmente, es decir abro el archivo con el block de notas y corrijo los reglones y borro el carácter al final del archivo
Existe alguna manera de que todas las filas salgan derecha sin necesidad que pasen al siguiente reglón, eliminar ese carácter al final del archivo automáticamente y que se genere el archivo sin necesidad de cerrar el sistema o si es posible usar un cuadro de
dialogo para que el usuario seleccione la ruta a grabar?
Gracias amigos
Saludos…
Grisson
** grabar en un txt
SET TEXTMERGE ON
SET TEXTMERGE TO 'c:\log_errors.txt' ADDITIVE NOSHOW
\<<DATETIME()>>
\<<TIME()>>
SET TEXTMERGE TO
SET TEXTMERGE OFF
MK
LOCAL lARchivo,nfop,lcSep,i,lcFile
larchivo="Nombre_de_archivo"lcFile="d:\ple\"+larchivo+".txt"nfop=FCREATE(lcFile)LcSep="|"LOCAL ARRAY gatext(32)SELECT tgenpleSCAN gaTExt[1]=ALLTRIM(SUBSTR(periodo,1,8)) gaText[2]=STR(registro) gaText[3]=ALLTRIM(fechaemision) gaText[4]=ALLTRIM(IIF(!EMPTY(fechavencimiento),fechavencimiento,'01/01/0001')) gaText[5]=tipocomprobantepago gaText[6]=PADL(ALLTRIM(seriecomprobante),6,"0") gaText[7]=ALLTRIM(emisionduadsi) gaText[8]=IIF(AT("-",nrocomprobantepago)=0, substr(nrocomprobantepago,1,12), ; SUBSTR(nrocomprobantepago,1,AT("-",nrocomprobantepago)-1) ; + SUBSTR(nrocomprobantepago,LEN(SUBSTR(nrocomprobantepago,1,AT("-",nrocomprobantepago)-1))+2,5)) gaText[9]=STR(importetotaloperaciones) gaText[10]=documentoidentidadproveedor gaText[11]=nrodocumento gaText[12]=SUBSTR(razonsocialproveedor,1,60) gaText[13]=IIF(baseimponible>=0,STR(baseimponible,12,2),'0.00') gaText[14]=IIF(igv>=0,STR(igv,12,2),'0.00') gaText[15]=IIF(baseimponible2>=0,STR(baseimponible2,12,2),'0.00') gaText[16]=IIF(igv2>=0,STR(igv2,12,2),'0.00') gaText[17]=IIF(baseimponiblesinderecho>=0,STR(baseimponiblesinderecho,12,2),'0.00') gaText[18]=IIF(igv3>=0,STR(igv3,12,2),'0.00') gaText[19]=IIF(valornograbada>=0,STR(valornograbada,12,2),'0.00') gaText[20]=IIF(montoimpuestoconsumo>=0,STR(montoimpuestoconsumo,12,2),'0.00') gaText[21]=IIF(otrostributos>=0,STR(otrostributos,12,2),'0.00') gaText[22]=IIF(importetotalcomprobante>=0,STR(importetotalcomprobante,12,2),'0.00') gaText[23]=IIF(tipodecambio<=0.00000,"0.000",STR(tipodecambio,6,3)) gaText[24]=IIF(!EMPTY(fechaemisionpagomod),fechaemisionpagomod,'01/01/0001') gaText[25]=tipocomprobantepagomod gaText[26]=IIF(nroseriecomprobantemod=0,"-",STR(nroseriecomprobantemod)) gaText[27]=nrocomprobantepagomod gaText[28]=nrocomprosujetonodom gaText[29]=fechaemisiondepdetraccion gaText[30]=nroconstanciadepdetraccion gaText[31]=STR(marcacomprobante) gaText[32]=estado+"|" cPut="" FOR i=1 TO ALEN(gaText) cPut=cPut+gatext[i]+lcSep NEXT =FPUTS(nfop,cPut)ENDSCAN=FCLOSE(nfop)MODIFY FILE &lcFile NOEDIT