FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index EasyReport, EasyDialog y EasyPreview Los campos no se muestran correctamente
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Los campos no se muestran correctamente
Posted: Tue Aug 19, 2014 03:13 PM

Si situamos un texto en el reporte y revisamos sus propiedades, al pulsar en el segundo bitmap que aparece arriba en la caja de diálogo, aparece una caja de diálogo desde la que podemos insertar un campo de una base de datos.

Al pulsar ahi, nos aparecen las bases de datos disponibles y sus campos, y el contenido de los campos está erróneo.

A ver si damos con el problema.

Puede que esté relacionado con el fichero INI, el cual he comprobado que de no existir, ER no lo genera automaticamente de forma satisfactoria. Esto es algo que reportaré en otro post para solucionarlo, y me da que pueda estar relacionado con este error que comento.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1303
Joined: Tue Jul 21, 2009 08:12 AM
Re: Los campos no se muestran correctamente
Posted: Tue Aug 19, 2014 07:14 PM

Hola Antonio,

Los campos de la DBF o bien el campo en ADO se definen mejor desde la aplicación del cliente:

EASYREPORT oVRD NAME ".\REPORT\FACTURA.VRD" ;
PREVIEW lPreview PRINTDIALOG .T. OF oWndMain

IF oVRD:lDialogCancel = .T.
dbSelectArea( nOldArea )
RETURN( .F. )
ENDIF

  PRINTAREA 1 OF oVRD ;
     ITEMIDS    { 500,501 ,;
                  401,402,403,404 ,;
                  102,103,104,105,106 ,;
                  201,202,203 } ;
     ITEMVALUES { NIL,NIL ,;
                  EMPRESAS->NOMBRE2, EMPRESAS->DIRECCION, EMPRESAS->POBLACION , "NIF / CIF: " + EMPRESAS->NIF ,;

END EASYREPORT oVRD

Es decir, en ITEMVALUES se puede especificar el campo de la DBF, una variable, etc.

Muchas gracias. Many thanks.



Un saludo, Best regards,



Harbour 3.2.0dev, Borland C++ 5.82 y FWH 13.06 [producción]



Implementando MSVC 2010, FWH64 y ADO.



Abandonando uso xHarbour y SQLRDD.
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 02:00 PM

Relacionado con este mismo tema si creas un nuevo reporte e insertas un texto y le das al primer botón también casca pues no encuentra las dbf General y User .
Tendría que tener un directorio donde guardar estas dos dbf y si no las encuentra en el crearlas . Las dbf están en examples pero en vez llamarse User.dbf a secas se llama Easyreport user.dbf y lo mismo General.dbf .

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 02:32 PM
Antonio Linares wrote:Si situamos un texto en el reporte y revisamos sus propiedades, al pulsar en el segundo bitmap que aparece arriba en la caja de diálogo, aparece una caja de diálogo desde la que podemos insertar un campo de una base de datos.

Al pulsar ahi, nos aparecen las bases de datos disponibles y sus campos, y el contenido de los campos está erróneo.


un primer problema :

Code (fw): Select all Collapse
FUNCTION OpenDatabases()

   ....

     IF FILE( cDbase ) = .T.
        
         IF Upper(cFileExt( cDBase )) = "DBF"   // Faltaba poner Upper 
              DBUSEAREA( .T.,, cDbase, "DBTEMP", .T. )
            DBGOTOP()
            FOR x := 1 to DBTEMP->(FCOUNT())

....
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 03:21 PM

Manuel,

Totalmente de acuerdo :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 07:51 PM
Codigo para la creación de las dos dbfs en directorio Datas sin no existen ya .

Code (fw): Select all Collapse
function Main()

  .....
  cDateFormat := LOWER(ALLTRIM( GetPvProfString( "General", "DateFormat", "", cGeneralIni )))

   SET DATE FORMAT IIF( EMPTY( cDateFormat ), "dd.mm.yyyy", cDateFormat )

    CreateDatas()  // creación de las dbf con las datas 

   //Open Undo database
   OpenUndo()

 .....


FUNCTION CreateDatas()
   LOCAL cPath := GetCurDir()+"\Datas\"

 LOCAL aGeneral := {;
                    { "NAME"      , "C",    60,    0 },;
                    { "EXPRESSION", "C",   200,    0 },;
                    { "INFO"      , "C",   200,    0 } }


 LOCAL aUser := {;
                 { "NAME"      , "C",   100,    0 },;
                 { "EXPRESSION", "C",   200,    0 },;
                 { "INFO"      , "C",   200,    0 } }

  IF ! lIsDir( cPath )
     lMkDir( cPath )
  ENDIF
  IF !File( cPath+"General.dbf"  )
     DBCreate(cPath+"General.dbf",aGeneral )
  endif
  IF  !File( cPath+"User.dbf"  )
     DBCreate(cPath+ "User.dbf",aUser )
  ENDIF

RETURN nil


FUNCTION GetDBField( oGet, lInsert )
   LOCAL cPath := GetCurDir()+"\Datas\"    // añadido
   LOCAL oDlg, oLbx1, oLbx2, i, cDbase, cField, oBtn, aTemp, cGeneral, cUser
   LOCAL nShowExpr  := VAL( GetPvProfString( "General", "Expressions", "0", cDefIni ) )
   LOCAL nShowDBase := VAL( GetPvProfString( "General", "EditDatabases", "1", cDefIni ) )
   LOCAL cGenExpr   := ALLTRIM( cPath + GetPvProfString( "General", "GeneralExpressions", "", cDefIni ) )  // cambiado CDefaultPath por Cpath
   LOCAL cUserExpr  := ALLTRIM( cPath + GetPvProfString( "General", "UserExpressions", "", cDefIni ) )      // cambiado CDefaultPath por Cpath   
.....
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 08:35 PM

Manuel,

Ya te he dado acceso como administrador al repositorio, si eres tan amable sube directamente los cambios allí, gracias :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 06:11 AM
Antonio Linares wrote:Manuel,

Ya te he dado acceso como administrador al repositorio, si eres tan amable sube directamente los cambios allí, gracias :-)


Subidos . :-)
Posts: 166
Joined: Wed Aug 29, 2012 08:25 AM
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 06:58 AM
mastintin wrote:
Antonio Linares wrote:Si situamos un texto en el reporte y revisamos sus propiedades, al pulsar en el segundo bitmap que aparece arriba en la caja de diálogo, aparece una caja de diálogo desde la que podemos insertar un campo de una base de datos.

Al pulsar ahi, nos aparecen las bases de datos disponibles y sus campos, y el contenido de los campos está erróneo.


un primer problema :

Code (fw): Select all Collapse
FUNCTION OpenDatabases()

   ....

     IF FILE( cDbase ) = .T.
        
         IF Upper(cFileExt( cDBase )) = "DBF"   // Faltaba poner Upper 
              DBUSEAREA( .T.,, cDbase, "DBTEMP", .T. )
            DBGOTOP()
            FOR x := 1 to DBTEMP->(FCOUNT())

....


Also :
Code (fw): Select all Collapse
   FOR i := 1 TO 12

      ....

      IF FILE( VRD_LF2SF( cDBName ) )
         ...
         AADD( ::aDBType      , UPPER(cFileExt( cDatabase ) ) )
         //AADD( ::aDBType      , cFileExt( cDatabase ) )
         ....
      ENDIF

   NEXT


Frank
test
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 12:36 PM

Frank,

Could you please check if your changes are already in the ER repository ?

Manuel (mastintin) has pushed several changes and I had no time yet to review them, so please check if your changes are still needed, thanks

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 166
Joined: Wed Aug 29, 2012 08:25 AM
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 01:23 PM
Antonio Linares wrote:Frank,

Could you please check if your changes are already in the ER repository ?

Manuel (mastintin) has pushed several changes and I had no time yet to review them, so please check if your changes are still needed, thanks


No , it isn't. Without this change the program fail's code as ::aDBType[ nAlias ] = "DBF"

I have also problems with prhst.h

When this file is called from cfunc.c , last line (1079) must be : #endif //_PRSHT_H_

When called as (building with ereport.mak) :
b:\bcc582\bin\brc32.exe -r -Ib:\bcc582\include ereport.rc
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.

Error prsht.h 1079 1: '#endif' before '#if'

Changing this line in /* #endif //_PRSHT_H_ */ solves the problem.

Frank
test
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 01:28 PM

Frank,

In which PRG should I make the change ? thanks

Regarding the prsht.h problem, this is the right fix:

viewtopic.php?p=147360#p147360

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 166
Joined: Wed Aug 29, 2012 08:25 AM
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 01:42 PM
Antonio Linares wrote:Frank,

In which PRG should I make the change ? thanks

Regarding the prsht.h problem, this is the right fix:

viewtopic.php?p=147360#p147360


METHOD OpenDatabases() CLASS VRD

prsht.h solved as described.

Frank
test
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 01:57 PM

ok, in vrd.prg

which source line number please ? :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 166
Joined: Wed Aug 29, 2012 08:25 AM
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 02:09 PM
Antonio Linares wrote:ok, in vrd.prg

which source line number please ? :-)



+/- 2700 , i added mine own defines

Frank
test