Exportar a texto - PLE Sunat (Peru) - Registro de compras

128 views
Skip to first unread message

grisosn gil

unread,
May 9, 2013, 6:28:53 PM5/9/13
to mundovis...@googlegroups.com, publice...@googlegroups.com

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

Miguel Canchas

unread,
May 10, 2013, 12:13:20 PM5/10/13
to publice...@googlegroups.com, mundovis...@googlegroups.com

** 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

Fidel Charny

unread,
May 9, 2013, 7:40:40 PM5/9/13
to publice...@googlegroups.com, mundovis...@googlegroups.com
No soy de Perú y no conozco los requisitos del archivo que se debe generar. Pero puedes intentar usando bajo nivel. Para el caso parece más prolijo armar una matriz.
No puedo probar el procedimiento porque no tengo la tabla de origen.



LOCAL lARchivo,nfop,lcSep,i,lcFile

larchivo="Nombre_de_archivo"
lcFile="d:\ple\"+larchivo+".txt"
nfop=FCREATE(lcFile)
LcSep="|"
LOCAL ARRAY gatext(32)
SELECT tgenple
SCAN
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

Reply all
Reply to author
Forward
0 new messages