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.

Error en TDBComboBox en Xailer2

Foro de Xailer profesional en español
Responder
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

Error en TDBComboBox en Xailer2

Mensaje por jrcpoli-quitar »

Saludos:
Iba a hacer un ejemplo con el error pero he visto que en los samples se
puede ver así­ que os digo los pasos.
1º Samples->DataControl->DBFData6
2º Formulario de Artí­culos seleccionas uno con DobleClick y entramos en
edición, cambiamos el tipo de IVA del TDBComboBox a otro que no sea el
primero, le damos aceptar.
3º Repetimos el paso anterior teniendo selecciona el mismo articulo que
hemos cambiado el tipo de IVA y le damos a editar o dobleclick y hay
está el error no se posiciona en el tipo de IVA correcto.
Espero haya sabido explicarme.
José Ramón Castro.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9441
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Error en TDBComboBox en Xailer2

Mensaje por ignacio »

José Ramón,
Visto y corregido. El problema surge porque el evento OnCreate del Datacontrol se produce antes que el evento OnInitialize del formulario. En el evento TDataControl:OnCreate se asigna el DataField y entonces se resuelve su valor, sin embargo, no se asigna correctamente el valor debido a que su matriz aún no ha sido rellenada ya que ello se hace en el evento OnInitialize del formulario. En definitiva es un problema de 'timing' que antes no existí­a porque el valor de los datacontrols se estaba refescando demasiadas veces y muchas veces de forma innecesaria.
Para resolverlo de momento, simplemente haz:
METHOD FormInitialize( oSender ) CLASS TfrmArtiEdi
FIELD TipIva
WITH OBJECT ::oDbfIva
:oDataSource := Application:oMainForm:oCdx
:lOpen := .t.
::oCboTipIva:aItems := :SaveToArray( {|Self| ::Codigo + ": "+ Trim( ::Nombre ) },;
{|| TipIva == 2 } )
::oCboTipIva:Refresh()
END WITH
::SetPvpIva()
RETURN Nil
En la próxima versión este problema estará resuelto.
Un saludo,
--
Ignacio Ortiz de Zúñiga
Xailer support / Soporte de Xailer
http://www.xailer.com
http://www.xailer.info
"José Ramón Castro Polinio" <jrcpoli-quitar_para_enviar ]"@terra.es> escribió en el mensaje news:4b125ae8$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Saludos:
>
> Iba a hacer un ejemplo con el error pero he visto que en los samples se
> puede ver así­ que os digo los pasos.
>
> 1º Samples->DataControl->DBFData6
> 2º Formulario de Artí­culos seleccionas uno con DobleClick y entramos en
> edición, cambiamos el tipo de IVA del TDBComboBox a otro que no sea el
> primero, le damos aceptar.
> 3º Repetimos el paso anterior teniendo selecciona el mismo articulo que
> hemos cambiado el tipo de IVA y le damos a editar o dobleclick y hay
> está el error no se posiciona en el tipo de IVA correcto.
>
> Espero haya sabido explicarme.
>
> José Ramón Castro.
>
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
jrcpoli-quitar
Mensajes: 558
Registrado: Mar Feb 09, 2010 2:26 pm

Error en TDBComboBox en Xailer2

Mensaje por jrcpoli-quitar »

Ignacio:
Efectivamente en el Initialize de cada formulario que carga TDBComboBox
he añadido :Refresh() y efectivamente el problema de momento se
resuelve, espero que salga pronto la nueva versión o el update
correspondiente, para poder enviar la nueva versión.
José Ramón Castro.
Ignacio Ortiz de Zúñiga escribió:
> José Ramón,
> Visto y corregido. El problema surge porque el evento OnCreate del
> Datacontrol se produce antes que el evento OnInitialize del formulario.
> En el evento TDataControl:OnCreate se asigna el DataField y entonces se
> resuelve su valor, sin embargo, no se asigna correctamente el valor
> debido a que su matriz aún no ha sido rellenada ya que ello se hace en
> el evento OnInitialize del formulario. En definitiva es un problema de
> 'timing' que antes no existí­a porque el valor de los datacontrols se
> estaba refescando demasiadas veces y muchas veces de forma innecesaria.
> Para resolverlo de momento, simplemente haz:
> METHOD FormInitialize( oSender ) CLASS TfrmArtiEdi
> FIELD TipIva
> WITH OBJECT ::oDbfIva
> :oDataSource := Application:oMainForm:oCdx
> :lOpen := ..t.
> ::oCboTipIva:aItems := :SaveToArray( {|Self| ::Codigo + ": "+ Trim(
> ::Nombre ) },;
> {|| TipIva == 2 } )
> ::oCboTipIva:Refresh()
> END WITH
> ::SetPvpIva()
> RETURN Nil
> En la próxima versión este problema estará resuelto.
> Un saludo,
>
> --
> Ignacio Ortiz de Zúñiga
> Xailer support / Soporte de Xailer
> http://www.xailer.com
> http://www.xailer.info
> "José Ramón Castro Polinio" <jrcpoli-quitar_para_enviar ]"@terra.es
> <mailto:jrcpoli-quitar_para_enviar ]"@terra.es>> escribió en el
> mensaje news:4b125ae8$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> > Saludos:
> >
> > Iba a hacer un ejemplo con el error pero he visto que en los samples se
> > puede ver así­ que os digo los pasos.
> >
> > 1º Samples->DataControl->DBFData6
> > 2º Formulario de Artí­culos seleccionas uno con DobleClick y entramos en
> > edición, cambiamos el tipo de IVA del TDBComboBox a otro que no sea el
> > primero, le damos aceptar.
> > 3º Repetimos el paso anterior teniendo selecciona el mismo articulo que
> > hemos cambiado el tipo de IVA y le damos a editar o dobleclick y hay
> > está el error no se posiciona en el tipo de IVA correcto.
> >
> > Espero haya sabido explicarme.
> >
> > José Ramón Castro.
> >
NoAccount
Mensajes: 35
Registrado: Mié Sep 16, 2009 10:09 am

Error en TDBComboBox en Xailer2

Mensaje por NoAccount »

José Ramón,
Disculpa por las molestias. Esta misma semana publicaremos una actualización
con todos los errores corregidos.
Un saludo
--
Ignacio Ortiz de Zúñiga
Xailer team
http://www.xailer.com
http://www.xailer.info
"José Ramón Castro Polinio" <jrcpoli-quitar_para_enviar ]"@terra.es>
escribió en el mensaje news:[email=4b13cca2@svctag-j7w3v3j....]4b13cca2@svctag-j7w3v3j....[/email]
> Ignacio:
>
> Efectivamente en el Initialize de cada formulario que carga TDBComboBox he
> añadido :Refresh() y efectivamente el problema de momento se resuelve,
> espero que salga pronto la nueva versión o el update correspondiente, para
> poder enviar la nueva versión.
>
> José Ramón Castro.
>
> Ignacio Ortiz de Zúñiga escribió:
>> José Ramón,
>> Visto y corregido. El problema surge porque el evento OnCreate del
>> Datacontrol se produce antes que el evento OnInitialize del formulario.
>> En el evento TDataControl:OnCreate se asigna el DataField y entonces se
>> resuelve su valor, sin embargo, no se asigna correctamente el valor
>> debido a que su matriz aún no ha sido rellenada ya que ello se hace en
>> el evento OnInitialize del formulario. En definitiva es un problema de
>> 'timing' que antes no existía porque el valor de los datacontrols se
>> estaba refescando demasiadas veces y muchas veces de forma innecesaria.
>> Para resolverlo de momento, simplemente haz:
>> METHOD FormInitialize( oSender ) CLASS TfrmArtiEdi
>> FIELD TipIva
>> WITH OBJECT ::oDbfIva
>> :oDataSource := Application:oMainForm:oCdx
>> :lOpen := ..t.
>> ::oCboTipIva:aItems := :SaveToArray( {|Self| ::Codigo + ": "+ Trim(
>> ::Nombre ) },;
>> {|| TipIva == 2 } )
>> ::oCboTipIva:Refresh()
>> END WITH
>> ::SetPvpIva()
>> RETURN Nil
>> En la próxima versión este problema estará resuelto.
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> Xailer support / Soporte de Xailer
>> http://www.xailer.com
>> http://www.xailer.info
>> "José Ramón Castro Polinio" <jrcpoli-quitar_para_enviar ]"@terra.es
>> <mailto:jrcpoli-quitar_para_enviar ]"@terra.es>> escribió en el
>> mensaje news:4b125ae8$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> > Saludos:
>> >
>> > Iba a hacer un ejemplo con el error pero he visto que en los samples
>> se
>> > puede ver así que os digo los pasos.
>> >
>> > 1º Samples->DataControl->DBFData6
>> > 2º Formulario de Artículos seleccionas uno con DobleClick y entramos
>> en
>> > edición, cambiamos el tipo de IVA del TDBComboBox a otro que no sea el
>> > primero, le damos aceptar.
>> > 3º Repetimos el paso anterior teniendo selecciona el mismo articulo
>> que
>> > hemos cambiado el tipo de IVA y le damos a editar o dobleclick y hay
>> > está el error no se posiciona en el tipo de IVA correcto.
>> >
>> > Espero haya sabido explicarme.
>> >
>> > José Ramón Castro.
>> >
>
Responder