Page 13 of 16

Re: La nueva apariencia de EasyReport

PostPosted: Sat Oct 11, 2014 1:26 pm
by cnavarro
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?

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 8:23 am
by mastintin
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 .

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 8:47 am
by cnavarro
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,

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 12:10 pm
by mastintin
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.

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 1:38 pm
by cnavarro
Por mi Ok

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 3:35 pm
by mastintin
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: Select all  Expand view

[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


 

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 4:06 pm
by Antonio Linares
Manuel, Cristobal,

Excelente trabajo!

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

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 5:10 pm
by FiveWiDi
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.

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 5:25 pm
by cnavarro
Manuel,
Lo de la DATA lNewFormat (un gran aporte)

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 5:30 pm
by mastintin
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 ...

Re: La nueva apariencia de EasyReport

PostPosted: Sun Oct 12, 2014 5:40 pm
by cnavarro
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

Re: La nueva apariencia de EasyReport

PostPosted: Mon Oct 13, 2014 8:26 am
by mastintin
Ya permite crear nuevos archivos con el nuevo formato . :-) . Desde botón Nuevo Archivo .

Re: La nueva apariencia de EasyReport

PostPosted: Mon Oct 13, 2014 10:54 am
by mastintin
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()

Re: La nueva apariencia de EasyReport

PostPosted: Mon Oct 13, 2014 5:45 pm
by mastintin
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.

Re: La nueva apariencia de EasyReport

PostPosted: Mon Oct 13, 2014 7:10 pm
by cnavarro
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