FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index EasyReport, EasyDialog y EasyPreview La nueva apariencia de EasyReport
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sat Oct 11, 2014 01:26 PM

Manuel, es configurable el directorio (carpeta) donde tenemos almacenados los reportes?
Quiero decir si existe ya un item en el fichero de configuracion donde ya se almacena?

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 08:23 AM

Que yo sepa no.
Realmente tenemos dos referencias indirectas ....
1.- MRU -> donde se guardan los unltimos reportes abiertos ( con todo su path ).
2.- Dentro del ficheros vrd ( reporte.vrd ) existe una propiedad llamada AreaFilesDir . donde guarda el directorio donde se encuentran los ficheros de áreas ( v01,v02,v03 ) .

Realmente aqui es donde deberíamos crear un cambio importante con la nueva versión.
DEberiamos crear un nuevo tipo de archivo contenedor , reporte.erp por poner una extensión nueva ( o cualquier otra ) que sea un fichero con auto contenido de los ficheros de área ( todo en único archivo ) . la nueva versión del programa manteniendria soporte para la vieja extructura de ficheros y tendría que leerlo sin problema y grabar en uno u otro según gusto del usuario .
Lo que ya no tengo tan claro es si lo suyo seria mantener el fichero de texto tipo "ini" o pasarse a xml . El problema de pasarse a xml es las diferencias de harbour y xharbour y la cantidad de cambios a introducir , así que yo seguiría con ini .

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 08:47 AM
mastintin wrote:Que yo sepa no.
Realmente tenemos dos referencias indirectas ....
1.- MRU -> donde se guardan los unltimos reportes abiertos ( con todo su path ).
2.- Dentro del ficheros vrd ( reporte.vrd ) existe una propiedad llamada AreaFilesDir . donde guarda el directorio donde se encuentran los ficheros de áreas ( v01,v02,v03 ) .

Realmente aqui es donde deberíamos crear un cambio importante con la nueva versión.
DEberiamos crear un nuevo tipo de archivo contenedor , reporte.erp por poner una extensión nueva ( o cualquier otra ) que sea un fichero con auto contenido de los ficheros de área ( todo en único archivo ) . la nueva versión del programa manteniendria soporte para la vieja extructura de ficheros y tendría que leerlo sin problema y grabar en uno u otro según gusto del usuario .
Lo que ya no tengo tan claro es si lo suyo seria mantener el fichero de texto tipo "ini" o pasarse a xml . El problema de pasarse a xml es las diferencias de harbour y xharbour y la cantidad de cambios a introducir , así que yo seguiría con ini .


Mi opinion:
1.- Referencia en el .INI de la ubicacion donde guardar/abrir los reportes (para no tener que desplazarnos hasta la carpeta seleccionada cada vez que abrimos la aplicacion). Creo que nos va a hacer falta, o usar AreaFilesDir para todo.
2.- Efectivamente, por los motivos que comentas, conservar los ficheros .INI,, aunque la idea de pasarlos a .XML me gusta mucho.
3.- Unico fichero con los datos de las Areas,
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 12:10 PM
Una idea de posibilidad de archivo ....

reporte.rep
Extructura interna :

[General]
.....
[Fonts]
......
[Colors]
......
[Infos]
.....
[Databases]
.....
[Areas]

1=1Area
2=2Area
3=3Area
4=4Area
...

[ 1AreaGeneral]
......
[1AreaItems]
.....
[2AreaGeneral]
....
[2AreaItems]
.....

etc.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 01:38 PM

Por mi Ok

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 03:35 PM
cnavarro wrote:Por mi Ok

He empezado la implementación a ver como va. Por ahora solo abre el archivo *.erd y lo lee , coloca los áreas los lee , etc .Aun no graba ni cambia ítems y por supuesto el motor vrd no está aún adaptado .
He creado un archivo ( a mano ) para probarlo :
copiar el contenido en un fichero con extensión erd
Code (fw): Select all Collapse
[General]
EditProperties=1
EditAreaProperties=1
EditLanguage=1
DeveloperMode=1
InsertMode=1
Title=Compex-Report
Measure=1
GridWidth=1
GridHeight=1
ShowGrid=0
TopMargin=10
LeftMargin=10
Expressions=1
GeneralExpressions=EasyReport General.dbf
UserExpressions=EasyReport User.dbf
DataExpressions=EasyReport Database.dbf
PageBreak=260
Orientation=1
ShowInfoMsg=1
PrintIDs=1
Group=Test
AreaFilesDir=.\EXAMPLES\
Standalone=1
PaperSize=9
PaperWidth=0
PaperHeight=0

[Fonts]
1=Arial| 0| -12| 0| 0| 0| 0| 0
2=Arial| 0| -26| 1| 0| 0| 0| 0
3=Arial| 0| -11| 0| 0| 0| 0| 0| 0| 0
4=Courier| 5| -12| 0| 1| 1| 0| 0
5=Arial| 0| -18| 1| 1| 1| 0| 200
6=Arial| 0| -8| 0| 0| 0| 0| 0
7=Arial| 0| -12| 0| 0| 0| 0| 0

[Colors]
1=10485760       
2=16777215       
3=0              
4=4227072        
5=8421376        
6=65535          
7=12039936       

[Infos]
Author=
Company=
Comment=
Revision=367
SaveDate=12.10.2014
SaveTime=17:32:27

[Databases]
Separator=;
DelQuotations=1
Unix2Windows=1
//1=.\examples\compex.txt|compex|VAL( cRec ) <> 0|Artikelnr;PE;ME;Bezeichnung;Lagerlänge;Preis|1-9;10-13;14-18;19-53;115-123;124-133
1=.\examples\compex.txt|compex|VAL( cRec ) <> 0|Artikelnr;PE;ME;Bezeichnung;Lagerlänge;Preis|1-9;10-13;14-18;19-53;115-123;124-133
2=||||
3=||||
4=||||
5=||||
6=||||
7=||||
8=||||
9=||||
10=||||
11=||||
12=||||

[Areas]
1=1COMPEXREPORT1
2=2COMPEXREPORT1
4=4COMPEXREPORT1

[1COMPEXREPORT1General]
Title=Seitenkopf
Width=200
Height=24
Top1=20
Top2=20
TopVariable=0
Condition=1
DelEmptySpace=0
BreakBefore=0
BreakAfter=0
PrintBeforeBreak=1
PrintAfterBreak=0
ControlDBF=none
Formula1=
Formula2=
Formula3=
Formula4=
Formula5=
Formula6=
Formula7=
Formula8=
Formula9=
Formula10=
Formula11=
Formula12=
TopMinimum=0
Formula13=

[1COMPEXREPORT1Items]
2=Text|Price |102|  0|0|1|3|168|23|6|3|2|7|3|0|0|
3=Text| Unit|103|  0|1|1|3|150|18|6|3|2|7|1|0|0|
4=TEXT| Artikelnr.|104|1|1|1|18|8|48|5|3|2|7|1|0|0||0||||||||||||||0                                                                                                                                                                                                              
5=TEXT| Lagerlänge|105|1|1|1|18|136|26|5|3|2|7|3|0|0||0||||||||||||||0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
6=TEXT| Bezeichnung|106|1|1|1|18|56|80|5|3|2|7|1|0|0||0||||||||||||                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
1=TEXT|Preis |105|1|1|1|18|162|29|5|3|2|7|3|0|0||0||||||||||||||0                                                                                                                                                                                                          
400=TEXT|Seite|-1|1|1|1|1|140|51|5|3|3|2|3|0|0|"Seite " + alltrim(str( oPrn:nPage )) + " von " + alltrim(str( oInfo:nPages ))|0||||||||||||||0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
401=TEXT|Reportname|-1|1|1|1|1|8|85|5|3|3|2|1|0|0|oVRD:GetText( ".\examples\compex.txt", 1, 16, 56 ) + " (" + oVRD:GetText( ".\examples\compex.txt", 1, 1, 10 ) + ")"|0||||||||||||||0
402=TEXT|Bearbeiter|-1|1|1|1|6|8|85|5|3|3|2|1|0|0|oVRD:GetText( ".\examples\compex.txt", 1, 91, 113 )|0||||||||||||||0
403=TEXT|Datum/Uhrzeit|-1|1|1|1|11|8|85|5|3|3|2|1|0|0|oVRD:GetText( ".\examples\compex.txt", 2, 92, 125 )|0||||||||||||||0

[2COMPEXREPORT1General]
Title=Positionen
Width=200
Height=7
Top1=44
Top2=44
TopVariable=1
Condition=1
BreakBefore=0
BreakAfter=0
DelEmptySpace=1
PrintBeforeBreak=0
PrintAfterBreak=0
ControlDBF=compex
Formula1=
Formula2=
Formula3=
Formula4=
Formula5=
Formula6=
Formula7=
Formula8=
Formula9=
Formula10=
Formula11=
Formula12=
TopMinimum=36
Formula13=

[2COMPEXREPORT1Items]
401=TEXT|[compex:Artikelnr]|-1|1|1|1|0|8|20|5|3|3|2|1|0|0||0||||||||||||||0
402=TEXT|[compex:Bezeichnung]|-1|1|1|1|0|56|80|5|1|3|2|1|0|0||0||||||||||||||0
403=TEXT|Lagerlänge|-1|1|1|1|0|136|26|5|3|3|2|3|0|0|[compex:Lagerlänge]|0||||||||||||||0
4=Text|Unit|104|  0|1|1|2|151|16|6|3|3|2|1|0|0|example3->unit
5=Text|Price|105|  0|0|1|2|168|23|6|3|3|2|3|0|0|ALLTRIM(STR( EXAMPLE3->PRICE, 12, 2 ))
400=TEXT|[compex:Preis]|-1|1|1|1|0|162|29|5|3|3|2|3|0|0||0||||||||||||||0                                                                                                                                                                                
404=BARCODE|[compex:Artikelnr]|-1|1|1|1|0|29|31|5|3|3|2|1|1|0.20|||||||||||                                                                                                                                                                                   

[4COMPEXREPORT1General]
Title=Seitenfuß
Width=200
Height=10
Top1=264
Top2=264
TopVariable=0
Condition=1
BreakBefore=0
BreakAfter=0
DelEmptySpace=0
PrintBeforeBreak=1
PrintAfterBreak=0
ControlDBF=none
Formula1=
Formula2=
Formula3=
Formula4=
Formula5=
Formula6=
Formula7=
Formula8=
Formula9=
Formula10=
Formula11=
Formula12=
TopMinimum=0
Formula13=

[4COMPEXREPORT1Items]
5=TEXT|Schüt-Duis - Aurich|101|1|1|1|2|113|78|5|3|3|2|3|0|0||0||||||||||||||0                                                                                                                                                                                                              
400=LineHorizontal|Line horizontal|-1|1|1|1|1|8|183|2|3|2|1|1|0|0
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 04:06 PM

Manuel, Cristobal,

Excelente trabajo!

Muchas gracias y gracias en nombre de todos los usuarios a los que les va a ser de tanta utilidad :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1446
Joined: Mon Oct 10, 2005 02:38 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 05:10 PM
Antonio Linares wrote:Manuel, Cristobal,

Excelente trabajo!

Muchas gracias y gracias en nombre de todos los usuarios a los que les va a ser de tanta utilidad :-)


Me uno a los agradecimientos de Antonio.
Escribo poco pero os leo bastante a menudo.

Muchas gracias por vuestro esfuerzo y dedicación.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 05:25 PM

Manuel,
Lo de la DATA lNewFormat (un gran aporte)

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 05:30 PM

Cristobal por hoy y lo dejo aquí .
Ya ve las áreas, los objetos, y permite editar el texto ( no arrastrar ) . He metido algo de código en el motor vrd , pero aún no permite la impresión. Falta bastante pero he creado funciones que permiten cambiar poco el código , solo sustituyendo unas funciones por otras ...

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Sun Oct 12, 2014 05:40 PM

Manuel, cuando puedas, comentamos lo del path de inicio del programa (carpeta de reportes), a ver como te parece que se quede implementado, me hace falta para un tema que estoy desarrollando
He dejado un comentario en el repositorio

------------- EDITADO -------------------
Con tu último aporte ya está solucionado lo que te comentaba en el repositorio

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Mon Oct 13, 2014 08:26 AM

Ya permite crear nuevos archivos con el nuevo formato . :-) . Desde botón Nuevo Archivo .

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Mon Oct 13, 2014 10:54 AM

Falta probar en profundidad , pero parece que ya imprime , ya admite cambios en el elemento texto y los graba , falta hacer cosas con ellos para ir viendo bugs .... no guarda cuando arrastras aún.

Cristobal , me pasa una cosa extraña en una parte del código ....
Me ha tenido loco buscando donde estaba todo el problema de impresión durante toda la mañana y era todo por esto , no cogía el formato nuevo al no reconocer la extensión....
He tenido que hacer trampa , porque cReportName me dice que tiene una extensión con longitud 4 y aunque le hago alltrim() sigue con esa extensión , el carácter cuarto no se ve en un msginfo(substr( xExtension, 4,1) pero existe.
¿ Cual es el problema ?

En vrd.prg al principio del Metodo New() linea 228 mas o menos ...

::cReportName = cReportName
xExtension := AllTrim(Upper(cFileExt( cReportName )))
IF Len(xExtension )> 3
xExtension := Left(xExtension,3)
ENDIF
::lNewFormat := IF( xExtension == "ERD" , .T., .F. )
::oInfo := VRD_NewStructure()

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: La nueva apariencia de EasyReport
Posted: Mon Oct 13, 2014 05:45 PM

pasa lo mismo que el mensaje anterior en openfile ...
Teniamos un bug al borrar un area que quedaba en pantalla ... ahora mato las ventanas antes de reabrir el reporte pero marca otro error . Por hoy así queda.

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: La nueva apariencia de EasyReport
Posted: Mon Oct 13, 2014 07:10 PM

Una curiosidad, que editor usas?
Porque en las actualizaciones me aparecen muchas lineas con diferencias en los saltos de linea
Ahora me pondré a echarle un vistazo

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces