In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

AddCalcField cType = Nil

Foro público de Xailer en español
Responder
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

AddCalcField cType = Nil

Mensaje por zeasoftware »

Estoy utilizando campos calculados en algunos browse, pero al barrer este, y
quiero tomar el tipo de dato que estoy usando en la columna, ya sea "C",
"N"; "L","F", todo va bien mientras no me tope con un campo calculado ya que
este me devuelve el tipo = NIL.
Hay alguna manera de indicar al crear el campo calculado de que tipo es ?
oDataField:cType = "C" ERROR por que es NIL
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

AddCalcField cType = Nil

Mensaje por zeasoftware »

el methodo oDataSet:Clone() no pasa los campos calculados.
es un bug o asi trabaja?
Saludos.
hola.... hola.... hola.......la....la......a.....a.....a
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

AddCalcField cType = Nil

Mensaje por jfgimenez »

Ramón,
> el methodo oDataSet:Clone() no pasa los campos calculados.
>
> es un bug o asi trabaja?
Vamos a revisarlo lo antes posible.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

AddCalcField cType = Nil

Mensaje por ignacio »

Ramón,
No tiene sentido que un cmapo calculado devuelva un valor NIL, le aconsejo
que revise su definición. No obstante siempre puede evitar que devuelva un
valor NIL utiliznado la función ToString().
Saludos,
"Ramón Zea" <zeasoftware@hotmail.com> escribió en el mensaje
news:[email=446dc626@ozsrvnegro.ozlan.local...]446dc626@ozsrvnegro.ozlan.local...[/email]
> Estoy utilizando campos calculados en algunos browse, pero al barrer este,
> y quiero tomar el tipo de dato que estoy usando en la columna, ya sea "C",
> "N"; "L","F", todo va bien mientras no me tope con un campo calculado ya
> que este me devuelve el tipo = NIL.
>
> Hay alguna manera de indicar al crear el campo calculado de que tipo es ?
>
> oDataField:cType = "C" ERROR por que es NIL
>
> Saludos.
> --
> Ramón Zea
> ramonzea@yahoo.com
>
> http://www.paginasprodigy.com/zeasoft/
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

AddCalcField cType = Nil

Mensaje por zeasoftware »

No me explique o no me entendiste.
No quiero que devuelva un nil, digo que DEVUELVE un NIL.
Ejemplo:
::oDataSet0:AddCalcField( "dFecha", {|o| DtoStr(o:oDataSet:Aplica,
"dd-mmm-yyyy") }) //columna 10
::oDataSet0:AddCalcField( "nTotal", {|o|
o:oDataSet:Subtotal+o:oDataSet:IVA+o:oDataSet:Total }) //Columna 11
::oDBBrowse1:oDataSet := ::oDataSet0
? ::oDBBrowse1:aCols[10]:oDataField:cType // regresa NIL y deberia dar
"C"
? ::oDBBrowse1:aCols[11]:oDataField:cType // regresa NIL y deberia dar
"N"
a Eso me refiero.
Ademas:
::oDataSet1 := oDataSet0:Clone()
? ::oDataSet1:dFecha //marca error de que dFecha no Existe.
Espero ser claro.
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

AddCalcField cType = Nil

Mensaje por ignacio »

Ramón,
Es lógico, un campo calculado puede devolver cualquier tipo de valor, e
incluso diferente cada vez que se evalue y además el objeto TDataField no se
puede tomar la libertad de evaluar el campo calculado pues puede que incluso
la tabla no esté abierta cuando lo definas.
Si quieres que la propiedad cType del TDataField de un campo calculado
devuelva un tipo, no tienes más que ponerselo tu a mano:
oDataField:cType := "C"
En cuanto al error del método Clone() con campos calculados ya está
arreglado. Estará disponible en la siguiente release. Muchas gracias.
Saludos,
"Ramón Zea" <zeasoftware@hotmail.com> escribió en el mensaje
news:[email=4473932f@ozsrvnegro.ozlan.local...]4473932f@ozsrvnegro.ozlan.local...[/email]
> No me explique o no me entendiste.
>
> No quiero que devuelva un nil, digo que DEVUELVE un NIL.
>
> Ejemplo:
>
> ::oDataSet0:AddCalcField( "dFecha", {|o| DtoStr(o:oDataSet:Aplica,
> "dd-mmm-yyyy") }) //columna 10
> ::oDataSet0:AddCalcField( "nTotal", {|o|
> o:oDataSet:Subtotal+o:oDataSet:IVA+o:oDataSet:Total }) //Columna 11
>
> ::oDBBrowse1:oDataSet := ::oDataSet0
>
> ? ::oDBBrowse1:aCols[10]:oDataField:cType // regresa NIL y deberia dar
> "C"
>
> ? ::oDBBrowse1:aCols[11]:oDataField:cType // regresa NIL y deberia dar
> "N"
>
> a Eso me refiero.
>
> Ademas:
> ::oDataSet1 := oDataSet0:Clone()
>
> ? ::oDataSet1:dFecha //marca error de que dFecha no Existe.
>
> Espero ser claro.
>
> Saludos.
>
> --
> Ramón Zea
> ramonzea@yahoo.com
>
> http://www.paginasprodigy.com/zeasoft/
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

AddCalcField cType = Nil

Mensaje por zeasoftware »

Ok gracias, no lo habia contemplado asi, cierto, la evaluacion puede dar
muchos tipos de valores, pero con lo de ponerle el valor a mano me doy por
servido, pense que no me aceptaria asiganarle el valor.
:Clone().- Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Responder