Page 1 of 2
Los campos no se muestran correctamente
Posted: Tue Aug 19, 2014 3:13 pm
by Antonio Linares
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 _ 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.
Re: Los campos no se muestran correctamente
Posted: Tue Aug 19, 2014 7:14 pm
by lucasdebeltran
Hola Antonio,
_ 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.
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 2:00 pm
by mastintin
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 .
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 2:32 pm
by mastintin
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 _ está erróneo.
un primer problema :
Code: Select all
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())
....
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 3:21 pm
by Antonio Linares
Manuel,
Totalmente de acuerdo
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 7:51 pm
by mastintin
Codigo para la creación de las dos dbfs en directorio Datas sin no existen ya .
Code: Select all
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
.....
Re: Los campos no se muestran correctamente
Posted: Wed Aug 20, 2014 8:35 pm
by Antonio Linares
Manuel,
Ya te he dado acceso como administrador al repositorio, si eres tan amable sube directamente _ allí, gracias
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 6:11 am
by mastintin
Antonio Linares wrote:Manuel,
Ya te he dado acceso como administrador al repositorio, si eres tan amable sube directamente _ allí, gracias
Subidos .
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 6:58 am
by Franklin Demont
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 _ está erróneo.
un primer problema :
Code: Select all
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: Select all
FOR i := 1 TO 12
....
IF FILE( VRD_LF2SF( cDBName ) )
...
AADD( ::aDBType , UPPER(cFileExt( cDatabase ) ) )
//AADD( ::aDBType , cFileExt( cDatabase ) )
....
ENDIF
NEXT
Frank
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 12:36 pm
by Antonio Linares
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
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 1:23 pm
by Franklin Demont
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
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 1:28 pm
by Antonio Linares
Frank,
In which PRG should I make the change ? thanks
Regarding the prsht.h problem, this is the right fix:
http://forums.fivetechsupport.com/viewt ... 60#p147360
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 1:42 pm
by Franklin Demont
METHOD OpenDatabases() CLASS VRD
prsht.h solved as described.
Frank
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 1:57 pm
by Antonio Linares
ok, in vrd.prg
which source line number please ?
Re: Los campos no se muestran correctamente
Posted: Thu Aug 21, 2014 2:09 pm
by Franklin Demont
Antonio Linares wrote:ok, in vrd.prg
which source line number please ?
+/- 2700 , i added mine own defines
Frank