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.
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.
Problemas con el tMemDataSet (2)
Problemas con el tMemDataSet (2)
Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
estoy dentro del browse y edito la cantidad y para salir no presiono enter
si no que directamente hago un click en el boton 'Grabar' fijate que al
mostrar los datos que recorri del tMem solo me aparece la ultima fila o la
fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si quito
la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
maravilla el codigo.
Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
cantidad y presiono enter, si estoy en la ultima linea quiero que se agregue
una nueva pero la cantidad se me repite en la linea de abajo, como deberia
programar esto para que no me pegue la cantidad en la linea de abajo ???.
Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo y
recibire antentamente cualquier sugerencia para que funcione de la mejor
manera.
Saludos Atte.
Ing. Christian Assenza
Attached files TEST_MEM.ZIP (2.7 KB)Â
estoy dentro del browse y edito la cantidad y para salir no presiono enter
si no que directamente hago un click en el boton 'Grabar' fijate que al
mostrar los datos que recorri del tMem solo me aparece la ultima fila o la
fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si quito
la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
maravilla el codigo.
Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
cantidad y presiono enter, si estoy en la ultima linea quiero que se agregue
una nueva pero la cantidad se me repite en la linea de abajo, como deberia
programar esto para que no me pegue la cantidad en la linea de abajo ???.
Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo y
recibire antentamente cualquier sugerencia para que funcione de la mejor
manera.
Saludos Atte.
Ing. Christian Assenza
Attached files TEST_MEM.ZIP (2.7 KB)Â
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problemas con el tMemDataSet (2)
Chirtian,
Por favor mandenos un projecto completo utilizando la opción de publicar
proyecto que incluyo el propio IDE.
Gracias
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
> estoy dentro del browse y edito la cantidad y para salir no presiono enter
> si no que directamente hago un click en el boton 'Grabar' fijate que al
> mostrar los datos que recorri del tMem solo me aparece la ultima fila o la
> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si quito
> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
> maravilla el codigo.
>
> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
> cantidad y presiono enter, si estoy en la ultima linea quiero que se
> agregue una nueva pero la cantidad se me repite en la linea de abajo, como
> deberia programar esto para que no me pegue la cantidad en la linea de
> abajo ???.
>
> Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
> que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo
> y recibire antentamente cualquier sugerencia para que funcione de la mejor
> manera.
>
> Saludos Atte.
> Ing. Christian Assenza
>
>
>
Por favor mandenos un projecto completo utilizando la opción de publicar
proyecto que incluyo el propio IDE.
Gracias
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
> estoy dentro del browse y edito la cantidad y para salir no presiono enter
> si no que directamente hago un click en el boton 'Grabar' fijate que al
> mostrar los datos que recorri del tMem solo me aparece la ultima fila o la
> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si quito
> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
> maravilla el codigo.
>
> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
> cantidad y presiono enter, si estoy en la ultima linea quiero que se
> agregue una nueva pero la cantidad se me repite en la linea de abajo, como
> deberia programar esto para que no me pegue la cantidad en la linea de
> abajo ???.
>
> Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
> que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo
> y recibire antentamente cualquier sugerencia para que funcione de la mejor
> manera.
>
> Saludos Atte.
> Ing. Christian Assenza
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problemas con el tMemDataSet (2)
Aqui esta el projecto completo, el select que hago en VER A puede ser
cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba) y
entiendo que se podria crear el oSql fuera del for pero en mi aplicacion
alli llamo a una funcion que hace esto y me interesaria saber porque hace
ese comportamiento y como deberia programar para que no suceda.
Saludos
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Chirtian,
>
> Por favor mandenos un projecto completo utilizando la opción de publicar
> proyecto que incluyo el propio IDE.
>
> Gracias
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>> estoy dentro del browse y edito la cantidad y para salir no presiono
>> enter
>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>> la
>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>> quito
>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>> maravilla el codigo.
>>
>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>> como
>> deberia programar esto para que no me pegue la cantidad en la linea de
>> abajo ???.
>>
>> Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
>> que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo
>> y recibire antentamente cualquier sugerencia para que funcione de la
>> mejor
>> manera.
>>
>> Saludos Atte.
>> Ing. Christian Assenza
>>
>>
>>
>
>
Attached files VertMemdataset.zip (3.6 KB)Â
cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba) y
entiendo que se podria crear el oSql fuera del for pero en mi aplicacion
alli llamo a una funcion que hace esto y me interesaria saber porque hace
ese comportamiento y como deberia programar para que no suceda.
Saludos
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Chirtian,
>
> Por favor mandenos un projecto completo utilizando la opción de publicar
> proyecto que incluyo el propio IDE.
>
> Gracias
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>> estoy dentro del browse y edito la cantidad y para salir no presiono
>> enter
>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>> la
>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>> quito
>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>> maravilla el codigo.
>>
>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>> como
>> deberia programar esto para que no me pegue la cantidad en la linea de
>> abajo ???.
>>
>> Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
>> que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo
>> y recibire antentamente cualquier sugerencia para que funcione de la
>> mejor
>> manera.
>>
>> Saludos Atte.
>> Ing. Christian Assenza
>>
>>
>>
>
>
Attached files VertMemdataset.zip (3.6 KB)Â
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problemas con el tMemDataSet (2)
Christian,
Lo siento pero me da un error de ejecución al conectar con una base de datos
ODBC. No podría mandarnos un ejemplo más simple.
Gracias.
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
> Aqui esta el projecto completo, el select que hago en VER A puede ser
> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba) y
> entiendo que se podria crear el oSql fuera del for pero en mi aplicacion
> alli llamo a una funcion que hace esto y me interesaria saber porque hace
> ese comportamiento y como deberia programar para que no suceda.
>
> Saludos
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Chirtian,
>>
>> Por favor mandenos un projecto completo utilizando la opción de publicar
>> proyecto que incluyo el propio IDE.
>>
>> Gracias
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>> enter
>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>> la
>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>> quito
>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>> maravilla el codigo.
>>>
>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>>> como
>>> deberia programar esto para que no me pegue la cantidad en la linea de
>>> abajo ???.
>>>
>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>> pedidos
>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>> estilo
>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>> mejor
>>> manera.
>>>
>>> Saludos Atte.
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>
>>
>
>
>
Lo siento pero me da un error de ejecución al conectar con una base de datos
ODBC. No podría mandarnos un ejemplo más simple.
Gracias.
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
> Aqui esta el projecto completo, el select que hago en VER A puede ser
> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba) y
> entiendo que se podria crear el oSql fuera del for pero en mi aplicacion
> alli llamo a una funcion que hace esto y me interesaria saber porque hace
> ese comportamiento y como deberia programar para que no suceda.
>
> Saludos
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Chirtian,
>>
>> Por favor mandenos un projecto completo utilizando la opción de publicar
>> proyecto que incluyo el propio IDE.
>>
>> Gracias
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>> enter
>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>> la
>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>> quito
>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>> maravilla el codigo.
>>>
>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>>> como
>>> deberia programar esto para que no me pegue la cantidad en la linea de
>>> abajo ???.
>>>
>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>> pedidos
>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>> estilo
>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>> mejor
>>> manera.
>>>
>>> Saludos Atte.
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problemas con el tMemDataSet (2)
Eso era lo que te explicaba, en la base de datos ponele cualquiera que vos
tengas con cambiale el DSN y el cSelect el problema lo hace con cualquiera.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Christian,
>
> Lo siento pero me da un error de ejecución al conectar con una base de
> datos ODBC. No podría mandarnos un ejemplo más simple.
>
> Gracias.
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba) y
>> entiendo que se podria crear el oSql fuera del for pero en mi aplicacion
>> alli llamo a una funcion que hace esto y me interesaria saber porque hace
>> ese comportamiento y como deberia programar para que no suceda.
>>
>> Saludos
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Chirtian,
>>>
>>> Por favor mandenos un projecto completo utilizando la opción de publicar
>>> proyecto que incluyo el propio IDE.
>>>
>>> Gracias
>>>
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> http://www.xailer.com
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>> yo
>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>> enter
>>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>>> la
>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>> quito
>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>>> maravilla el codigo.
>>>>
>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>>>> como
>>>> deberia programar esto para que no me pegue la cantidad en la linea de
>>>> abajo ???.
>>>>
>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>> pedidos
>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>> estilo
>>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>>> mejor
>>>> manera.
>>>>
>>>> Saludos Atte.
>>>> Ing. Christian Assenza
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
tengas con cambiale el DSN y el cSelect el problema lo hace con cualquiera.
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Christian,
>
> Lo siento pero me da un error de ejecución al conectar con una base de
> datos ODBC. No podría mandarnos un ejemplo más simple.
>
> Gracias.
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba) y
>> entiendo que se podria crear el oSql fuera del for pero en mi aplicacion
>> alli llamo a una funcion que hace esto y me interesaria saber porque hace
>> ese comportamiento y como deberia programar para que no suceda.
>>
>> Saludos
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Chirtian,
>>>
>>> Por favor mandenos un projecto completo utilizando la opción de publicar
>>> proyecto que incluyo el propio IDE.
>>>
>>> Gracias
>>>
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> http://www.xailer.com
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>> yo
>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>> enter
>>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>>> la
>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>> quito
>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>>> maravilla el codigo.
>>>>
>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>>>> como
>>>> deberia programar esto para que no me pegue la cantidad en la linea de
>>>> abajo ???.
>>>>
>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>> pedidos
>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>> estilo
>>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>>> mejor
>>>> manera.
>>>>
>>>> Saludos Atte.
>>>> Ing. Christian Assenza
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problemas con el tMemDataSet (2)
Chirstian,
Entonces digame como reproducirlo con cualquier ejemplo que incluye Xailer.
Gracias
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
> Eso era lo que te explicaba, en la base de datos ponele cualquiera que vos
> tengas con cambiale el DSN y el cSelect el problema lo hace con
> cualquiera.
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Lo siento pero me da un error de ejecución al conectar con una base de
>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>
>> Gracias.
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba) y
>>> entiendo que se podria crear el oSql fuera del for pero en mi aplicacion
>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>
>>> Saludos
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>> Chirtian,
>>>>
>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>> publicar
>>>> proyecto que incluyo el propio IDE.
>>>>
>>>> Gracias
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> http://www.xailer.com
>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>>> yo
>>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>>> enter
>>>>> si no que directamente hago un click en el boton 'Grabar' fijate que
>>>>> al
>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila
>>>>> o la
>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>>> quito
>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona
>>>>> de
>>>>> maravilla el codigo.
>>>>>
>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en
>>>>> la
>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>>>>> como
>>>>> deberia programar esto para que no me pegue la cantidad en la linea de
>>>>> abajo ???.
>>>>>
>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>> pedidos
>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>> estilo
>>>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>>>> mejor
>>>>> manera.
>>>>>
>>>>> Saludos Atte.
>>>>> Ing. Christian Assenza
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
Entonces digame como reproducirlo con cualquier ejemplo que incluye Xailer.
Gracias
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
> Eso era lo que te explicaba, en la base de datos ponele cualquiera que vos
> tengas con cambiale el DSN y el cSelect el problema lo hace con
> cualquiera.
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Lo siento pero me da un error de ejecución al conectar con una base de
>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>
>> Gracias.
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba) y
>>> entiendo que se podria crear el oSql fuera del for pero en mi aplicacion
>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>
>>> Saludos
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>> Chirtian,
>>>>
>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>> publicar
>>>> proyecto que incluyo el propio IDE.
>>>>
>>>> Gracias
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> http://www.xailer.com
>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>>> yo
>>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>>> enter
>>>>> si no que directamente hago un click en el boton 'Grabar' fijate que
>>>>> al
>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila
>>>>> o la
>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>>> quito
>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona
>>>>> de
>>>>> maravilla el codigo.
>>>>>
>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en
>>>>> la
>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>>>>> como
>>>>> deberia programar esto para que no me pegue la cantidad en la linea de
>>>>> abajo ???.
>>>>>
>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>> pedidos
>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>> estilo
>>>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>>>> mejor
>>>>> manera.
>>>>>
>>>>> Saludos Atte.
>>>>> Ing. Christian Assenza
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problemas con el tMemDataSet (2)
Aqui esta modificado para trabajar con la base Neptuno.mdb que se encuentra
en C:XailerSamplesDataControlsNeptuno.mdb, lo unico que tienes que hacer
es crear un DSN llamado NEPTUNO.
Te recuerdo los dos problemas que tengo:
a) agrega 4 o 5 items, parate en el 4 y escribe la cantidad 'no presiones
enter' directamente una ves digitada la cantidad has un click en el boton
grabar y veras una cosa, luego parate en el 4 item escribe la cantidad
'presiona enter' y has un click en el boton grabar.
b) a medida que pones la cantidad cuando presionas enter quiero que se
agrege un nuevo registro y la columna seleccionada del browse pase a ser la
primera, fijate como lo programe en el onposedit de la columna 3 (VER2) y
notaras que al presionar enter me copia la cantidad al nuevo registro cosa
que no quiero.
Saludos Atte.
Ing. Christian Assenza
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455acc7d$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Chirstian,
>
> Entonces digame como reproducirlo con cualquier ejemplo que incluye
> Xailer.
>
> Gracias
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
>> Eso era lo que te explicaba, en la base de datos ponele cualquiera que
>> vos
>> tengas con cambiale el DSN y el cSelect el problema lo hace con
>> cualquiera.
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Christian,
>>>
>>> Lo siento pero me da un error de ejecución al conectar con una base de
>>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>>
>>> Gracias.
>>>
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> http://www.xailer.com
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba)
>>>> y
>>>> entiendo que se podria crear el oSql fuera del for pero en mi
>>>> aplicacion
>>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>>
>>>> Saludos
>>>>
>>>>
>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>> Chirtian,
>>>>>
>>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>>> publicar
>>>>> proyecto que incluyo el propio IDE.
>>>>>
>>>>> Gracias
>>>>>
>>>>> --
>>>>> Ignacio Ortiz de Zúñiga
>>>>> http://www.xailer.com
>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>>>> yo
>>>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>>>> enter
>>>>>> si no que directamente hago un click en el boton 'Grabar' fijate que
>>>>>> al
>>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila
>>>>>> o la
>>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>>>> quito
>>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona
>>>>>> de
>>>>>> maravilla el codigo.
>>>>>>
>>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en
>>>>>> la
>>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>>>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>>>>>> como
>>>>>> deberia programar esto para que no me pegue la cantidad en la linea
>>>>>> de
>>>>>> abajo ???.
>>>>>>
>>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>>> pedidos
>>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>>> estilo
>>>>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>>>>> mejor
>>>>>> manera.
>>>>>>
>>>>>> Saludos Atte.
>>>>>> Ing. Christian Assenza
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
Attached files VertMemdataset.zip (3.5 KB)Â
en C:XailerSamplesDataControlsNeptuno.mdb, lo unico que tienes que hacer
es crear un DSN llamado NEPTUNO.
Te recuerdo los dos problemas que tengo:
a) agrega 4 o 5 items, parate en el 4 y escribe la cantidad 'no presiones
enter' directamente una ves digitada la cantidad has un click en el boton
grabar y veras una cosa, luego parate en el 4 item escribe la cantidad
'presiona enter' y has un click en el boton grabar.
b) a medida que pones la cantidad cuando presionas enter quiero que se
agrege un nuevo registro y la columna seleccionada del browse pase a ser la
primera, fijate como lo programe en el onposedit de la columna 3 (VER2) y
notaras que al presionar enter me copia la cantidad al nuevo registro cosa
que no quiero.
Saludos Atte.
Ing. Christian Assenza
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455acc7d$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Chirstian,
>
> Entonces digame como reproducirlo con cualquier ejemplo que incluye
> Xailer.
>
> Gracias
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
>> Eso era lo que te explicaba, en la base de datos ponele cualquiera que
>> vos
>> tengas con cambiale el DSN y el cSelect el problema lo hace con
>> cualquiera.
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Christian,
>>>
>>> Lo siento pero me da un error de ejecución al conectar con una base de
>>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>>
>>> Gracias.
>>>
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> http://www.xailer.com
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba)
>>>> y
>>>> entiendo que se podria crear el oSql fuera del for pero en mi
>>>> aplicacion
>>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>>
>>>> Saludos
>>>>
>>>>
>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>> Chirtian,
>>>>>
>>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>>> publicar
>>>>> proyecto que incluyo el propio IDE.
>>>>>
>>>>> Gracias
>>>>>
>>>>> --
>>>>> Ignacio Ortiz de Zúñiga
>>>>> http://www.xailer.com
>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>>>> yo
>>>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>>>> enter
>>>>>> si no que directamente hago un click en el boton 'Grabar' fijate que
>>>>>> al
>>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila
>>>>>> o la
>>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>>>> quito
>>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona
>>>>>> de
>>>>>> maravilla el codigo.
>>>>>>
>>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en
>>>>>> la
>>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>>>> agregue una nueva pero la cantidad se me repite en la linea de abajo,
>>>>>> como
>>>>>> deberia programar esto para que no me pegue la cantidad en la linea
>>>>>> de
>>>>>> abajo ???.
>>>>>>
>>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>>> pedidos
>>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>>> estilo
>>>>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>>>>> mejor
>>>>>> manera.
>>>>>>
>>>>>> Saludos Atte.
>>>>>> Ing. Christian Assenza
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
Attached files VertMemdataset.zip (3.5 KB)Â
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problemas con el tMemDataSet (2)
Christian,
Al pulsar grabar me da este error:
Subsistema: BASE
Código de error: 1004
Estado: .F.
Descripción: Message not found
Operación: TOdbcDataSet:NOMBREPRODUCTO
Argumentos: [ 1] = Tipo: N Valor: 0
Fichero:
Código error SO: 0
No obstante no consigo adivinar siquiera que hace dicho método, ya que
incluso se llaman a distintas funciones desde él mismo. Te ruego por favor
que mandes un ejemplo de 10 líneas que muestre el problema. Comprende que no
puedo meterme con tu código.
Además, si es un problema de mal funcionamiento del Browse estoy seguro que
podrás reproducirlo sin tener que hacer un bucle sobre el dataset en el cual
haces un nuevo SELECT en cada iteración, y todo ello mientras se está
editando una columna en el browse.
Siento no haberte sido de más ayuda.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455b165d@news.xailer.com...]455b165d@news.xailer.com...[/email]
> Aqui esta modificado para trabajar con la base Neptuno.mdb que se
> encuentra en C:XailerSamplesDataControlsNeptuno.mdb, lo unico que
> tienes que hacer es crear un DSN llamado NEPTUNO.
>
> Te recuerdo los dos problemas que tengo:
>
> a) agrega 4 o 5 items, parate en el 4 y escribe la cantidad 'no presiones
> enter' directamente una ves digitada la cantidad has un click en el boton
> grabar y veras una cosa, luego parate en el 4 item escribe la cantidad
> 'presiona enter' y has un click en el boton grabar.
>
> b) a medida que pones la cantidad cuando presionas enter quiero que se
> agrege un nuevo registro y la columna seleccionada del browse pase a ser
> la primera, fijate como lo programe en el onposedit de la columna 3 (VER2)
> y notaras que al presionar enter me copia la cantidad al nuevo registro
> cosa que no quiero.
>
>
> Saludos Atte.
> Ing. Christian Assenza
>
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455acc7d$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Chirstian,
>>
>> Entonces digame como reproducirlo con cualquier ejemplo que incluye
>> Xailer.
>>
>> Gracias
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
>>> Eso era lo que te explicaba, en la base de datos ponele cualquiera que
>>> vos
>>> tengas con cambiale el DSN y el cSelect el problema lo hace con
>>> cualquiera.
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>> Christian,
>>>>
>>>> Lo siento pero me da un error de ejecución al conectar con una base de
>>>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>>>
>>>> Gracias.
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> http://www.xailer.com
>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>>>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>>>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba)
>>>>> y
>>>>> entiendo que se podria crear el oSql fuera del for pero en mi
>>>>> aplicacion
>>>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>>>
>>>>> Saludos
>>>>>
>>>>>
>>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>> Chirtian,
>>>>>>
>>>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>>>> publicar
>>>>>> proyecto que incluyo el propio IDE.
>>>>>>
>>>>>> Gracias
>>>>>>
>>>>>> --
>>>>>> Ignacio Ortiz de Zúñiga
>>>>>> http://www.xailer.com
>>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1),
>>>>>>> si
>>>>>>> yo
>>>>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>>>>> enter
>>>>>>> si no que directamente hago un click en el boton 'Grabar' fijate que
>>>>>>> al
>>>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima
>>>>>>> fila
>>>>>>> o la
>>>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>>>>> quito
>>>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona
>>>>>>> de
>>>>>>> maravilla el codigo.
>>>>>>>
>>>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en
>>>>>>> la
>>>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>>>>> agregue una nueva pero la cantidad se me repite en la linea de
>>>>>>> abajo,
>>>>>>> como
>>>>>>> deberia programar esto para que no me pegue la cantidad en la linea
>>>>>>> de
>>>>>>> abajo ???.
>>>>>>>
>>>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>>>> pedidos
>>>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>>>> estilo
>>>>>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>>>>>> mejor
>>>>>>> manera.
>>>>>>>
>>>>>>> Saludos Atte.
>>>>>>> Ing. Christian Assenza
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
>
Al pulsar grabar me da este error:
Subsistema: BASE
Código de error: 1004
Estado: .F.
Descripción: Message not found
Operación: TOdbcDataSet:NOMBREPRODUCTO
Argumentos: [ 1] = Tipo: N Valor: 0
Fichero:
Código error SO: 0
No obstante no consigo adivinar siquiera que hace dicho método, ya que
incluso se llaman a distintas funciones desde él mismo. Te ruego por favor
que mandes un ejemplo de 10 líneas que muestre el problema. Comprende que no
puedo meterme con tu código.
Además, si es un problema de mal funcionamiento del Browse estoy seguro que
podrás reproducirlo sin tener que hacer un bucle sobre el dataset en el cual
haces un nuevo SELECT en cada iteración, y todo ello mientras se está
editando una columna en el browse.
Siento no haberte sido de más ayuda.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455b165d@news.xailer.com...]455b165d@news.xailer.com...[/email]
> Aqui esta modificado para trabajar con la base Neptuno.mdb que se
> encuentra en C:XailerSamplesDataControlsNeptuno.mdb, lo unico que
> tienes que hacer es crear un DSN llamado NEPTUNO.
>
> Te recuerdo los dos problemas que tengo:
>
> a) agrega 4 o 5 items, parate en el 4 y escribe la cantidad 'no presiones
> enter' directamente una ves digitada la cantidad has un click en el boton
> grabar y veras una cosa, luego parate en el 4 item escribe la cantidad
> 'presiona enter' y has un click en el boton grabar.
>
> b) a medida que pones la cantidad cuando presionas enter quiero que se
> agrege un nuevo registro y la columna seleccionada del browse pase a ser
> la primera, fijate como lo programe en el onposedit de la columna 3 (VER2)
> y notaras que al presionar enter me copia la cantidad al nuevo registro
> cosa que no quiero.
>
>
> Saludos Atte.
> Ing. Christian Assenza
>
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455acc7d$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Chirstian,
>>
>> Entonces digame como reproducirlo con cualquier ejemplo que incluye
>> Xailer.
>>
>> Gracias
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
>>> Eso era lo que te explicaba, en la base de datos ponele cualquiera que
>>> vos
>>> tengas con cambiale el DSN y el cSelect el problema lo hace con
>>> cualquiera.
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>> Christian,
>>>>
>>>> Lo siento pero me da un error de ejecución al conectar con una base de
>>>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>>>
>>>> Gracias.
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> http://www.xailer.com
>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>>>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>>>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta prueba)
>>>>> y
>>>>> entiendo que se podria crear el oSql fuera del for pero en mi
>>>>> aplicacion
>>>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>>>
>>>>> Saludos
>>>>>
>>>>>
>>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>> Chirtian,
>>>>>>
>>>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>>>> publicar
>>>>>> proyecto que incluyo el propio IDE.
>>>>>>
>>>>>> Gracias
>>>>>>
>>>>>> --
>>>>>> Ignacio Ortiz de Zúñiga
>>>>>> http://www.xailer.com
>>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1),
>>>>>>> si
>>>>>>> yo
>>>>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>>>>> enter
>>>>>>> si no que directamente hago un click en el boton 'Grabar' fijate que
>>>>>>> al
>>>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima
>>>>>>> fila
>>>>>>> o la
>>>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>>>>> quito
>>>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona
>>>>>>> de
>>>>>>> maravilla el codigo.
>>>>>>>
>>>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en
>>>>>>> la
>>>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>>>>> agregue una nueva pero la cantidad se me repite en la linea de
>>>>>>> abajo,
>>>>>>> como
>>>>>>> deberia programar esto para que no me pegue la cantidad en la linea
>>>>>>> de
>>>>>>> abajo ???.
>>>>>>>
>>>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>>>> pedidos
>>>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>>>> estilo
>>>>>>> y recibire antentamente cualquier sugerencia para que funcione de la
>>>>>>> mejor
>>>>>>> manera.
>>>>>>>
>>>>>>> Saludos Atte.
>>>>>>> Ing. Christian Assenza
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problemas con el tMemDataSet (2)
Ese mensaje de error te aparece porque has dejado en blanco el codigo o el
codigo del producto no existe, prueba poner codigos de producto entre 1 y 10
y al final antes de hacer click en grabar fijate que no haya lineas sin
codigo de producto.
Ese metodo primero dentro del bucle primero resta la linea actual, luego
busca el producto, pone la descripcion y precio, calcula el neto
(producto*cantidad) y suma la linea al total nuevamente y cierro y destruyo
la consulta.
Dejando de lado el punto (a) y pasando al punto (b) que me copia las
cantidades de una linea a la linea de abajo, eso me podrias decir porque
aparece ?
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455b3a12$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Christian,
>
> Al pulsar grabar me da este error:
>
> Subsistema: BASE
> Código de error: 1004
> Estado: .F.
> Descripción: Message not found
> Operación: TOdbcDataSet:NOMBREPRODUCTO
> Argumentos: [ 1] = Tipo: N Valor: 0
> Fichero:
> Código error SO: 0
>
> No obstante no consigo adivinar siquiera que hace dicho método, ya que
> incluso se llaman a distintas funciones desde él mismo. Te ruego por favor
> que mandes un ejemplo de 10 líneas que muestre el problema. Comprende que
> no puedo meterme con tu código.
>
> Además, si es un problema de mal funcionamiento del Browse estoy seguro
> que podrás reproducirlo sin tener que hacer un bucle sobre el dataset en
> el cual haces un nuevo SELECT en cada iteración, y todo ello mientras se
> está editando una columna en el browse.
>
> Siento no haberte sido de más ayuda.
>
> Un saludo,
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=455b165d@news.xailer.com...]455b165d@news.xailer.com...[/email]
>> Aqui esta modificado para trabajar con la base Neptuno.mdb que se
>> encuentra en C:XailerSamplesDataControlsNeptuno.mdb, lo unico que
>> tienes que hacer es crear un DSN llamado NEPTUNO.
>>
>> Te recuerdo los dos problemas que tengo:
>>
>> a) agrega 4 o 5 items, parate en el 4 y escribe la cantidad 'no presiones
>> enter' directamente una ves digitada la cantidad has un click en el boton
>> grabar y veras una cosa, luego parate en el 4 item escribe la cantidad
>> 'presiona enter' y has un click en el boton grabar.
>>
>> b) a medida que pones la cantidad cuando presionas enter quiero que se
>> agrege un nuevo registro y la columna seleccionada del browse pase a ser
>> la primera, fijate como lo programe en el onposedit de la columna 3
>> (VER2) y notaras que al presionar enter me copia la cantidad al nuevo
>> registro cosa que no quiero.
>>
>>
>> Saludos Atte.
>> Ing. Christian Assenza
>>
>>
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>> news:455acc7d$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Chirstian,
>>>
>>> Entonces digame como reproducirlo con cualquier ejemplo que incluye
>>> Xailer.
>>>
>>> Gracias
>>>
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> http://www.xailer.com
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
>>>> Eso era lo que te explicaba, en la base de datos ponele cualquiera que
>>>> vos
>>>> tengas con cambiale el DSN y el cSelect el problema lo hace con
>>>> cualquiera.
>>>>
>>>>
>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>> Christian,
>>>>>
>>>>> Lo siento pero me da un error de ejecución al conectar con una base de
>>>>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>>>>
>>>>> Gracias.
>>>>>
>>>>> --
>>>>> Ignacio Ortiz de Zúñiga
>>>>> http://www.xailer.com
>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>>>>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>>>>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta
>>>>>> prueba) y
>>>>>> entiendo que se podria crear el oSql fuera del for pero en mi
>>>>>> aplicacion
>>>>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>>>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>>>>
>>>>>> Saludos
>>>>>>
>>>>>>
>>>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>>> Chirtian,
>>>>>>>
>>>>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>>>>> publicar
>>>>>>> proyecto que incluyo el propio IDE.
>>>>>>>
>>>>>>> Gracias
>>>>>>>
>>>>>>> --
>>>>>>> Ignacio Ortiz de Zúñiga
>>>>>>> http://www.xailer.com
>>>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1),
>>>>>>>> si
>>>>>>>> yo
>>>>>>>> estoy dentro del browse y edito la cantidad y para salir no
>>>>>>>> presiono
>>>>>>>> enter
>>>>>>>> si no que directamente hago un click en el boton 'Grabar' fijate
>>>>>>>> que
>>>>>>>> al
>>>>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima
>>>>>>>> fila
>>>>>>>> o la
>>>>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas),
>>>>>>>> si
>>>>>>>> quito
>>>>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C)
>>>>>>>> funciona
>>>>>>>> de
>>>>>>>> maravilla el codigo.
>>>>>>>>
>>>>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy
>>>>>>>> en
>>>>>>>> la
>>>>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que
>>>>>>>> se
>>>>>>>> agregue una nueva pero la cantidad se me repite en la linea de
>>>>>>>> abajo,
>>>>>>>> como
>>>>>>>> deberia programar esto para que no me pegue la cantidad en la linea
>>>>>>>> de
>>>>>>>> abajo ???.
>>>>>>>>
>>>>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>>>>> pedidos
>>>>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>>>>> estilo
>>>>>>>> y recibire antentamente cualquier sugerencia para que funcione de
>>>>>>>> la
>>>>>>>> mejor
>>>>>>>> manera.
>>>>>>>>
>>>>>>>> Saludos Atte.
>>>>>>>> Ing. Christian Assenza
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
codigo del producto no existe, prueba poner codigos de producto entre 1 y 10
y al final antes de hacer click en grabar fijate que no haya lineas sin
codigo de producto.
Ese metodo primero dentro del bucle primero resta la linea actual, luego
busca el producto, pone la descripcion y precio, calcula el neto
(producto*cantidad) y suma la linea al total nuevamente y cierro y destruyo
la consulta.
Dejando de lado el punto (a) y pasando al punto (b) que me copia las
cantidades de una linea a la linea de abajo, eso me podrias decir porque
aparece ?
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455b3a12$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Christian,
>
> Al pulsar grabar me da este error:
>
> Subsistema: BASE
> Código de error: 1004
> Estado: .F.
> Descripción: Message not found
> Operación: TOdbcDataSet:NOMBREPRODUCTO
> Argumentos: [ 1] = Tipo: N Valor: 0
> Fichero:
> Código error SO: 0
>
> No obstante no consigo adivinar siquiera que hace dicho método, ya que
> incluso se llaman a distintas funciones desde él mismo. Te ruego por favor
> que mandes un ejemplo de 10 líneas que muestre el problema. Comprende que
> no puedo meterme con tu código.
>
> Además, si es un problema de mal funcionamiento del Browse estoy seguro
> que podrás reproducirlo sin tener que hacer un bucle sobre el dataset en
> el cual haces un nuevo SELECT en cada iteración, y todo ello mientras se
> está editando una columna en el browse.
>
> Siento no haberte sido de más ayuda.
>
> Un saludo,
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=455b165d@news.xailer.com...]455b165d@news.xailer.com...[/email]
>> Aqui esta modificado para trabajar con la base Neptuno.mdb que se
>> encuentra en C:XailerSamplesDataControlsNeptuno.mdb, lo unico que
>> tienes que hacer es crear un DSN llamado NEPTUNO.
>>
>> Te recuerdo los dos problemas que tengo:
>>
>> a) agrega 4 o 5 items, parate en el 4 y escribe la cantidad 'no presiones
>> enter' directamente una ves digitada la cantidad has un click en el boton
>> grabar y veras una cosa, luego parate en el 4 item escribe la cantidad
>> 'presiona enter' y has un click en el boton grabar.
>>
>> b) a medida que pones la cantidad cuando presionas enter quiero que se
>> agrege un nuevo registro y la columna seleccionada del browse pase a ser
>> la primera, fijate como lo programe en el onposedit de la columna 3
>> (VER2) y notaras que al presionar enter me copia la cantidad al nuevo
>> registro cosa que no quiero.
>>
>>
>> Saludos Atte.
>> Ing. Christian Assenza
>>
>>
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>> news:455acc7d$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Chirstian,
>>>
>>> Entonces digame como reproducirlo con cualquier ejemplo que incluye
>>> Xailer.
>>>
>>> Gracias
>>>
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> http://www.xailer.com
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
>>>> Eso era lo que te explicaba, en la base de datos ponele cualquiera que
>>>> vos
>>>> tengas con cambiale el DSN y el cSelect el problema lo hace con
>>>> cualquiera.
>>>>
>>>>
>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>> Christian,
>>>>>
>>>>> Lo siento pero me da un error de ejecución al conectar con una base de
>>>>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>>>>
>>>>> Gracias.
>>>>>
>>>>> --
>>>>> Ignacio Ortiz de Zúñiga
>>>>> http://www.xailer.com
>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>>>>> Aqui esta el projecto completo, el select que hago en VER A puede ser
>>>>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta
>>>>>> prueba) y
>>>>>> entiendo que se podria crear el oSql fuera del for pero en mi
>>>>>> aplicacion
>>>>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>>>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>>>>
>>>>>> Saludos
>>>>>>
>>>>>>
>>>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>>> Chirtian,
>>>>>>>
>>>>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>>>>> publicar
>>>>>>> proyecto que incluyo el propio IDE.
>>>>>>>
>>>>>>> Gracias
>>>>>>>
>>>>>>> --
>>>>>>> Ignacio Ortiz de Zúñiga
>>>>>>> http://www.xailer.com
>>>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1),
>>>>>>>> si
>>>>>>>> yo
>>>>>>>> estoy dentro del browse y edito la cantidad y para salir no
>>>>>>>> presiono
>>>>>>>> enter
>>>>>>>> si no que directamente hago un click en el boton 'Grabar' fijate
>>>>>>>> que
>>>>>>>> al
>>>>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima
>>>>>>>> fila
>>>>>>>> o la
>>>>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas),
>>>>>>>> si
>>>>>>>> quito
>>>>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C)
>>>>>>>> funciona
>>>>>>>> de
>>>>>>>> maravilla el codigo.
>>>>>>>>
>>>>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy
>>>>>>>> en
>>>>>>>> la
>>>>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que
>>>>>>>> se
>>>>>>>> agregue una nueva pero la cantidad se me repite en la linea de
>>>>>>>> abajo,
>>>>>>>> como
>>>>>>>> deberia programar esto para que no me pegue la cantidad en la linea
>>>>>>>> de
>>>>>>>> abajo ???.
>>>>>>>>
>>>>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>>>>> pedidos
>>>>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>>>>> estilo
>>>>>>>> y recibire antentamente cualquier sugerencia para que funcione de
>>>>>>>> la
>>>>>>>> mejor
>>>>>>>> manera.
>>>>>>>>
>>>>>>>> Saludos Atte.
>>>>>>>> Ing. Christian Assenza
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problemas con el tMemDataSet (2)
Christian,
Arreglado. Muchas gracias. Adjunto el módulo con este mensaje, pero SOLO
FUNCIONA con la versión nueva de xHarbour publicada la semana pasada en este
mismo foro, no la oficial de la versión. Se puede descargar de aquí:
http://www.xailer.com/files/xharboursetup.exe
En cualquier caso esperamos publicar una nueva versión de Xailer esta misma
semana.
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455b3ff0@news.xailer.com...]455b3ff0@news.xailer.com...[/email]
> Ese mensaje de error te aparece porque has dejado en blanco el codigo o el
> codigo del producto no existe, prueba poner codigos de producto entre 1 y
> 10
> y al final antes de hacer click en grabar fijate que no haya lineas sin
> codigo de producto.
>
> Ese metodo primero dentro del bucle primero resta la linea actual, luego
> busca el producto, pone la descripcion y precio, calcula el neto
> (producto*cantidad) y suma la linea al total nuevamente y cierro y
> destruyo
> la consulta.
>
> Dejando de lado el punto (a) y pasando al punto (b) que me copia las
> cantidades de una linea a la linea de abajo, eso me podrias decir porque
> aparece ?
>
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455b3a12$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Al pulsar grabar me da este error:
>>
>> Subsistema: BASE
>> Código de error: 1004
>> Estado: .F.
>> Descripción: Message not found
>> Operación: TOdbcDataSet:NOMBREPRODUCTO
>> Argumentos: [ 1] = Tipo: N Valor: 0
>> Fichero:
>> Código error SO: 0
>>
>> No obstante no consigo adivinar siquiera que hace dicho método, ya que
>> incluso se llaman a distintas funciones desde él mismo. Te ruego por
>> favor
>> que mandes un ejemplo de 10 líneas que muestre el problema. Comprende que
>> no puedo meterme con tu código.
>>
>> Además, si es un problema de mal funcionamiento del Browse estoy seguro
>> que podrás reproducirlo sin tener que hacer un bucle sobre el dataset en
>> el cual haces un nuevo SELECT en cada iteración, y todo ello mientras se
>> está editando una columna en el browse.
>>
>> Siento no haberte sido de más ayuda.
>>
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455b165d@news.xailer.com...]455b165d@news.xailer.com...[/email]
>>> Aqui esta modificado para trabajar con la base Neptuno.mdb que se
>>> encuentra en C:XailerSamplesDataControlsNeptuno.mdb, lo unico que
>>> tienes que hacer es crear un DSN llamado NEPTUNO.
>>>
>>> Te recuerdo los dos problemas que tengo:
>>>
>>> a) agrega 4 o 5 items, parate en el 4 y escribe la cantidad 'no
>>> presiones
>>> enter' directamente una ves digitada la cantidad has un click en el
>>> boton
>>> grabar y veras una cosa, luego parate en el 4 item escribe la cantidad
>>> 'presiona enter' y has un click en el boton grabar.
>>>
>>> b) a medida que pones la cantidad cuando presionas enter quiero que se
>>> agrege un nuevo registro y la columna seleccionada del browse pase a ser
>>> la primera, fijate como lo programe en el onposedit de la columna 3
>>> (VER2) y notaras que al presionar enter me copia la cantidad al nuevo
>>> registro cosa que no quiero.
>>>
>>>
>>> Saludos Atte.
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>> news:455acc7d$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>> Chirstian,
>>>>
>>>> Entonces digame como reproducirlo con cualquier ejemplo que incluye
>>>> Xailer.
>>>>
>>>> Gracias
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> http://www.xailer.com
>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>> news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
>>>>> Eso era lo que te explicaba, en la base de datos ponele cualquiera que
>>>>> vos
>>>>> tengas con cambiale el DSN y el cSelect el problema lo hace con
>>>>> cualquiera.
>>>>>
>>>>>
>>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>>> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>> Christian,
>>>>>>
>>>>>> Lo siento pero me da un error de ejecución al conectar con una base
>>>>>> de
>>>>>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>>>>>
>>>>>> Gracias.
>>>>>>
>>>>>> --
>>>>>> Ignacio Ortiz de Zúñiga
>>>>>> http://www.xailer.com
>>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>>>>>> Aqui esta el projecto completo, el select que hago en VER A puede
>>>>>>> ser
>>>>>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta
>>>>>>> prueba) y
>>>>>>> entiendo que se podria crear el oSql fuera del for pero en mi
>>>>>>> aplicacion
>>>>>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>>>>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>>>>>
>>>>>>> Saludos
>>>>>>>
>>>>>>>
>>>>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>>>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>>>> Chirtian,
>>>>>>>>
>>>>>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>>>>>> publicar
>>>>>>>> proyecto que incluyo el propio IDE.
>>>>>>>>
>>>>>>>> Gracias
>>>>>>>>
>>>>>>>> --
>>>>>>>> Ignacio Ortiz de Zúñiga
>>>>>>>> http://www.xailer.com
>>>>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1),
>>>>>>>>> si
>>>>>>>>> yo
>>>>>>>>> estoy dentro del browse y edito la cantidad y para salir no
>>>>>>>>> presiono
>>>>>>>>> enter
>>>>>>>>> si no que directamente hago un click en el boton 'Grabar' fijate
>>>>>>>>> que
>>>>>>>>> al
>>>>>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima
>>>>>>>>> fila
>>>>>>>>> o la
>>>>>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas),
>>>>>>>>> si
>>>>>>>>> quito
>>>>>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C)
>>>>>>>>> funciona
>>>>>>>>> de
>>>>>>>>> maravilla el codigo.
>>>>>>>>>
>>>>>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy
>>>>>>>>> en
>>>>>>>>> la
>>>>>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que
>>>>>>>>> se
>>>>>>>>> agregue una nueva pero la cantidad se me repite en la linea de
>>>>>>>>> abajo,
>>>>>>>>> como
>>>>>>>>> deberia programar esto para que no me pegue la cantidad en la
>>>>>>>>> linea
>>>>>>>>> de
>>>>>>>>> abajo ???.
>>>>>>>>>
>>>>>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>>>>>> pedidos
>>>>>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>>>>>> estilo
>>>>>>>>> y recibire antentamente cualquier sugerencia para que funcione de
>>>>>>>>> la
>>>>>>>>> mejor
>>>>>>>>> manera.
>>>>>>>>>
>>>>>>>>> Saludos Atte.
>>>>>>>>> Ing. Christian Assenza
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
Attached files GridEdit.rar (6.9 KB)Â
Arreglado. Muchas gracias. Adjunto el módulo con este mensaje, pero SOLO
FUNCIONA con la versión nueva de xHarbour publicada la semana pasada en este
mismo foro, no la oficial de la versión. Se puede descargar de aquí:
http://www.xailer.com/files/xharboursetup.exe
En cualquier caso esperamos publicar una nueva versión de Xailer esta misma
semana.
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455b3ff0@news.xailer.com...]455b3ff0@news.xailer.com...[/email]
> Ese mensaje de error te aparece porque has dejado en blanco el codigo o el
> codigo del producto no existe, prueba poner codigos de producto entre 1 y
> 10
> y al final antes de hacer click en grabar fijate que no haya lineas sin
> codigo de producto.
>
> Ese metodo primero dentro del bucle primero resta la linea actual, luego
> busca el producto, pone la descripcion y precio, calcula el neto
> (producto*cantidad) y suma la linea al total nuevamente y cierro y
> destruyo
> la consulta.
>
> Dejando de lado el punto (a) y pasando al punto (b) que me copia las
> cantidades de una linea a la linea de abajo, eso me podrias decir porque
> aparece ?
>
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455b3a12$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Al pulsar grabar me da este error:
>>
>> Subsistema: BASE
>> Código de error: 1004
>> Estado: .F.
>> Descripción: Message not found
>> Operación: TOdbcDataSet:NOMBREPRODUCTO
>> Argumentos: [ 1] = Tipo: N Valor: 0
>> Fichero:
>> Código error SO: 0
>>
>> No obstante no consigo adivinar siquiera que hace dicho método, ya que
>> incluso se llaman a distintas funciones desde él mismo. Te ruego por
>> favor
>> que mandes un ejemplo de 10 líneas que muestre el problema. Comprende que
>> no puedo meterme con tu código.
>>
>> Además, si es un problema de mal funcionamiento del Browse estoy seguro
>> que podrás reproducirlo sin tener que hacer un bucle sobre el dataset en
>> el cual haces un nuevo SELECT en cada iteración, y todo ello mientras se
>> está editando una columna en el browse.
>>
>> Siento no haberte sido de más ayuda.
>>
>> Un saludo,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455b165d@news.xailer.com...]455b165d@news.xailer.com...[/email]
>>> Aqui esta modificado para trabajar con la base Neptuno.mdb que se
>>> encuentra en C:XailerSamplesDataControlsNeptuno.mdb, lo unico que
>>> tienes que hacer es crear un DSN llamado NEPTUNO.
>>>
>>> Te recuerdo los dos problemas que tengo:
>>>
>>> a) agrega 4 o 5 items, parate en el 4 y escribe la cantidad 'no
>>> presiones
>>> enter' directamente una ves digitada la cantidad has un click en el
>>> boton
>>> grabar y veras una cosa, luego parate en el 4 item escribe la cantidad
>>> 'presiona enter' y has un click en el boton grabar.
>>>
>>> b) a medida que pones la cantidad cuando presionas enter quiero que se
>>> agrege un nuevo registro y la columna seleccionada del browse pase a ser
>>> la primera, fijate como lo programe en el onposedit de la columna 3
>>> (VER2) y notaras que al presionar enter me copia la cantidad al nuevo
>>> registro cosa que no quiero.
>>>
>>>
>>> Saludos Atte.
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>> news:455acc7d$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>> Chirstian,
>>>>
>>>> Entonces digame como reproducirlo con cualquier ejemplo que incluye
>>>> Xailer.
>>>>
>>>> Gracias
>>>>
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> http://www.xailer.com
>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>> news:[email=455a5883@news.xailer.com...]455a5883@news.xailer.com...[/email]
>>>>> Eso era lo que te explicaba, en la base de datos ponele cualquiera que
>>>>> vos
>>>>> tengas con cambiale el DSN y el cSelect el problema lo hace con
>>>>> cualquiera.
>>>>>
>>>>>
>>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>>> news:4559bc0c$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>> Christian,
>>>>>>
>>>>>> Lo siento pero me da un error de ejecución al conectar con una base
>>>>>> de
>>>>>> datos ODBC. No podría mandarnos un ejemplo más simple.
>>>>>>
>>>>>> Gracias.
>>>>>>
>>>>>> --
>>>>>> Ignacio Ortiz de Zúñiga
>>>>>> http://www.xailer.com
>>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>>> news:[email=4559b360@news.xailer.com...]4559b360@news.xailer.com...[/email]
>>>>>>> Aqui esta el projecto completo, el select que hago en VER A puede
>>>>>>> ser
>>>>>>> cualquiera y sobre cualquier bd. yo no uso los campos (en esta
>>>>>>> prueba) y
>>>>>>> entiendo que se podria crear el oSql fuera del for pero en mi
>>>>>>> aplicacion
>>>>>>> alli llamo a una funcion que hace esto y me interesaria saber porque
>>>>>>> hace ese comportamiento y como deberia programar para que no suceda.
>>>>>>>
>>>>>>> Saludos
>>>>>>>
>>>>>>>
>>>>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
>>>>>>> news:455993cd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>>>> Chirtian,
>>>>>>>>
>>>>>>>> Por favor mandenos un projecto completo utilizando la opción de
>>>>>>>> publicar
>>>>>>>> proyecto que incluyo el propio IDE.
>>>>>>>>
>>>>>>>> Gracias
>>>>>>>>
>>>>>>>> --
>>>>>>>> Ignacio Ortiz de Zúñiga
>>>>>>>> http://www.xailer.com
>>>>>>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>>>>>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>>>>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1),
>>>>>>>>> si
>>>>>>>>> yo
>>>>>>>>> estoy dentro del browse y edito la cantidad y para salir no
>>>>>>>>> presiono
>>>>>>>>> enter
>>>>>>>>> si no que directamente hago un click en el boton 'Grabar' fijate
>>>>>>>>> que
>>>>>>>>> al
>>>>>>>>> mostrar los datos que recorri del tMem solo me aparece la ultima
>>>>>>>>> fila
>>>>>>>>> o la
>>>>>>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas),
>>>>>>>>> si
>>>>>>>>> quito
>>>>>>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C)
>>>>>>>>> funciona
>>>>>>>>> de
>>>>>>>>> maravilla el codigo.
>>>>>>>>>
>>>>>>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy
>>>>>>>>> en
>>>>>>>>> la
>>>>>>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que
>>>>>>>>> se
>>>>>>>>> agregue una nueva pero la cantidad se me repite en la linea de
>>>>>>>>> abajo,
>>>>>>>>> como
>>>>>>>>> deberia programar esto para que no me pegue la cantidad en la
>>>>>>>>> linea
>>>>>>>>> de
>>>>>>>>> abajo ???.
>>>>>>>>>
>>>>>>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>>>>>>> pedidos
>>>>>>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>>>>>>> estilo
>>>>>>>>> y recibire antentamente cualquier sugerencia para que funcione de
>>>>>>>>> la
>>>>>>>>> mejor
>>>>>>>>> manera.
>>>>>>>>>
>>>>>>>>> Saludos Atte.
>>>>>>>>> Ing. Christian Assenza
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
Attached files GridEdit.rar (6.9 KB)Â
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problemas con el tMemDataSet (2)
Ignacio probe lo que me envias y se me soluciono el problema de la cantidad
que se me duplicaba en la linea de abajo. Con respecto al primer problema
persiste, he modificado el programa para que ya te aparezca con datos
cargados y comente c/linea entre la 153 y 212, el bucle que es donde esta la
falla solo tiene 14 lineas. Espero que no me consideres un pesado y puedas
probarlo y ver de que se trata.
Lo unico que tenes que hacer es un click en la cantidad 25 y escribir otra y
directamente hace un click en el boton grabar, luego proba hacer un click en
la cantidad presiona enter y hace un click en grabar.
Espero no tener que molestarte mas.
Saludos Atte desde la Patagonia Argentina
Ing. Christian Assenza
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
> estoy dentro del browse y edito la cantidad y para salir no presiono enter
> si no que directamente hago un click en el boton 'Grabar' fijate que al
> mostrar los datos que recorri del tMem solo me aparece la ultima fila o la
> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si quito
> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
> maravilla el codigo.
>
> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
> cantidad y presiono enter, si estoy en la ultima linea quiero que se
> agregue
> una nueva pero la cantidad se me repite en la linea de abajo, como deberia
> programar esto para que no me pegue la cantidad en la linea de abajo ???.
>
> Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
> que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo
> y
> recibire antentamente cualquier sugerencia para que funcione de la mejor
> manera.
>
> Saludos Atte.
> Ing. Christian Assenza
>
>
>
Attached files VertMemdataset.zip (4 KB)Â
que se me duplicaba en la linea de abajo. Con respecto al primer problema
persiste, he modificado el programa para que ya te aparezca con datos
cargados y comente c/linea entre la 153 y 212, el bucle que es donde esta la
falla solo tiene 14 lineas. Espero que no me consideres un pesado y puedas
probarlo y ver de que se trata.
Lo unico que tenes que hacer es un click en la cantidad 25 y escribir otra y
directamente hace un click en el boton grabar, luego proba hacer un click en
la cantidad presiona enter y hace un click en grabar.
Espero no tener que molestarte mas.
Saludos Atte desde la Patagonia Argentina
Ing. Christian Assenza
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
> estoy dentro del browse y edito la cantidad y para salir no presiono enter
> si no que directamente hago un click en el boton 'Grabar' fijate que al
> mostrar los datos que recorri del tMem solo me aparece la ultima fila o la
> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si quito
> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
> maravilla el codigo.
>
> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
> cantidad y presiono enter, si estoy en la ultima linea quiero que se
> agregue
> una nueva pero la cantidad se me repite en la linea de abajo, como deberia
> programar esto para que no me pegue la cantidad en la linea de abajo ???.
>
> Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
> que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo
> y
> recibire antentamente cualquier sugerencia para que funcione de la mejor
> manera.
>
> Saludos Atte.
> Ing. Christian Assenza
>
>
>
Attached files VertMemdataset.zip (4 KB)Â
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problemas con el tMemDataSet (2)
Christian,
Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
> Ignacio probe lo que me envias y se me soluciono el problema de la
> cantidad que se me duplicaba en la linea de abajo. Con respecto al primer
> problema persiste, he modificado el programa para que ya te aparezca con
> datos cargados y comente c/linea entre la 153 y 212, el bucle que es donde
> esta la falla solo tiene 14 lineas. Espero que no me consideres un pesado
> y puedas probarlo y ver de que se trata.
> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir otra
> y directamente hace un click en el boton grabar, luego proba hacer un
> click en la cantidad presiona enter y hace un click en grabar.
>
> Espero no tener que molestarte mas.
>
> Saludos Atte desde la Patagonia Argentina
> Ing. Christian Assenza
>
>
>
>
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>> estoy dentro del browse y edito la cantidad y para salir no presiono
>> enter
>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>> la
>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>> quito
>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>> maravilla el codigo.
>>
>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>> agregue
>> una nueva pero la cantidad se me repite en la linea de abajo, como
>> deberia
>> programar esto para que no me pegue la cantidad en la linea de abajo ???.
>>
>> Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
>> que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo
>> y
>> recibire antentamente cualquier sugerencia para que funcione de la mejor
>> manera.
>>
>> Saludos Atte.
>> Ing. Christian Assenza
>>
>>
>>
>
>
>
Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
> Ignacio probe lo que me envias y se me soluciono el problema de la
> cantidad que se me duplicaba en la linea de abajo. Con respecto al primer
> problema persiste, he modificado el programa para que ya te aparezca con
> datos cargados y comente c/linea entre la 153 y 212, el bucle que es donde
> esta la falla solo tiene 14 lineas. Espero que no me consideres un pesado
> y puedas probarlo y ver de que se trata.
> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir otra
> y directamente hace un click en el boton grabar, luego proba hacer un
> click en la cantidad presiona enter y hace un click en grabar.
>
> Espero no tener que molestarte mas.
>
> Saludos Atte desde la Patagonia Argentina
> Ing. Christian Assenza
>
>
>
>
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>> estoy dentro del browse y edito la cantidad y para salir no presiono
>> enter
>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>> la
>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>> quito
>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>> maravilla el codigo.
>>
>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>> agregue
>> una nueva pero la cantidad se me repite en la linea de abajo, como
>> deberia
>> programar esto para que no me pegue la cantidad en la linea de abajo ???.
>>
>> Ambos problemas me preocupan de sobremanera imagina un sistema de pedidos
>> que mezcla los precios ?. Se que este es mi primer proyecto de ese estilo
>> y
>> recibire antentamente cualquier sugerencia para que funcione de la mejor
>> manera.
>>
>> Saludos Atte.
>> Ing. Christian Assenza
>>
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problemas con el tMemDataSet (2)
Ignacio el ejemplo, la seccion que tenes que revisar tiene 14 lineas y esta
toda comentada no tenes que agregar los datos ni nada. Bueno en fin dejalo,
la verdad que le dedique bastante tiempo para hacerlo y comentarlo.
Saludos
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455dbd10$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Christian,
>
> Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
> reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
>
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
>> Ignacio probe lo que me envias y se me soluciono el problema de la
>> cantidad que se me duplicaba en la linea de abajo. Con respecto al primer
>> problema persiste, he modificado el programa para que ya te aparezca con
>> datos cargados y comente c/linea entre la 153 y 212, el bucle que es
>> donde esta la falla solo tiene 14 lineas. Espero que no me consideres un
>> pesado y puedas probarlo y ver de que se trata.
>> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir
>> otra y directamente hace un click en el boton grabar, luego proba hacer
>> un click en la cantidad presiona enter y hace un click en grabar.
>>
>> Espero no tener que molestarte mas.
>>
>> Saludos Atte desde la Patagonia Argentina
>> Ing. Christian Assenza
>>
>>
>>
>>
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>> enter
>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>> la
>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>> quito
>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>> maravilla el codigo.
>>>
>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>> agregue
>>> una nueva pero la cantidad se me repite en la linea de abajo, como
>>> deberia
>>> programar esto para que no me pegue la cantidad en la linea de abajo
>>> ???.
>>>
>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>> pedidos
>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>> estilo y
>>> recibire antentamente cualquier sugerencia para que funcione de la mejor
>>> manera.
>>>
>>> Saludos Atte.
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>
>>
>>
>
>
toda comentada no tenes que agregar los datos ni nada. Bueno en fin dejalo,
la verdad que le dedique bastante tiempo para hacerlo y comentarlo.
Saludos
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455dbd10$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Christian,
>
> Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
> reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
>
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
> news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
>> Ignacio probe lo que me envias y se me soluciono el problema de la
>> cantidad que se me duplicaba en la linea de abajo. Con respecto al primer
>> problema persiste, he modificado el programa para que ya te aparezca con
>> datos cargados y comente c/linea entre la 153 y 212, el bucle que es
>> donde esta la falla solo tiene 14 lineas. Espero que no me consideres un
>> pesado y puedas probarlo y ver de que se trata.
>> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir
>> otra y directamente hace un click en el boton grabar, luego proba hacer
>> un click en la cantidad presiona enter y hace un click en grabar.
>>
>> Espero no tener que molestarte mas.
>>
>> Saludos Atte desde la Patagonia Argentina
>> Ing. Christian Assenza
>>
>>
>>
>>
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>> enter
>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>> la
>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>> quito
>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>> maravilla el codigo.
>>>
>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>> agregue
>>> una nueva pero la cantidad se me repite en la linea de abajo, como
>>> deberia
>>> programar esto para que no me pegue la cantidad en la linea de abajo
>>> ???.
>>>
>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>> pedidos
>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>> estilo y
>>> recibire antentamente cualquier sugerencia para que funcione de la mejor
>>> manera.
>>>
>>> Saludos Atte.
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>
>>
>>
>
>
- ignacio
- Site Admin
- Mensajes: 9457
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Problemas con el tMemDataSet (2)
Crhistian,
¿Dónde están el código comentado? Cuando me hagas un ejemplo de 20 líneas encantado lo reviso. Espero que lo entiendas.
Saludos
/*
* Proyecto: Sistema_Pedidos
* Fichero: test_tmem.prg
* Descripción:
* Autor:
* Fecha: 13/11/2006
*/
#include "Xailer.ch"
CLASS TForm2 FROM TForm
COMPONENT oDBBrowse1
COMPONENT Productos
COMPONENT oDBBrowse1Column3
COMPONENT oDBBrowse1Column1
COMPONENT oBtnBmp1
COMPONENT oDBBrowse1Column5
COMPONENT lblTotal
COMPONENT oButton1
COMPONENT oButton2
COMPONENT oBDIsi
DATA nItems INIT 0
DATA nTotal INIT 0
METHOD CreateForm()
METHOD FormInitialize( oSender )
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey )
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey )
METHOD BtnBmp1Click( oSender )
METHOD RecalcTotal(cTipo)
METHOD CalcNeto()
METHOD ProductosAddNew( oSender )
METHOD ProductosCancel( oSender )
METHOD ProductosEdit( oSender )
METHOD ProductosPostDelete( oSender )
METHOD ProductosPostOpen( oSender )
METHOD ProductosPreAppend( oSender )
METHOD ProductosUpdate( oSender )
METHOD Button1Click( oSender )
METHOD Button2Click( oSender )
ENDCLASS
#include "test_tmem.xfm"
//---------------------------------------------------------- --------------------
METHOD FormInitialize( oSender ) CLASS TForm2
local i, cCodigo, cDescrip, nCantidad, nUnitario, oSql
::oBDIsi:lConnected:=.T.
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad from Productos')
oSql:lDisplayErrors:=.F.
for i:=1 to 4
do case
case i==1
cCodigo:='4 '
nCantidad:=5
case i==2
cCodigo:='1 '
nCantidad:=2
case i==3
cCodigo:='8 '
nCantidad:=14
case i==4
cCodigo:='2 '
nCantidad:=25
endcase
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from Productos" + ;
" where idproducto="+alltrim(cCodigo)
oSql:Open()
cDescrip :=oSql:NombreProducto
nUnitario:=oSql:PrecioUnidad
if i==1
::Productos:Open({{cCodigo,cDescrip,nCantidad,nUnitario,0,nC antidad*nUnitario,0,21,0}} , ;
{'Codigo','Descripcion','Cantidad','Unitario' , ;
'PrecSIva','Neto','Stock','TasaIva' , ;
'Descuento' ;
})
else
::Productos:AddNew()
::Productos:Codigo :=cCodigo
::Productos:Descripcion:=cDescrip
::Productos:Cantidad :=nCantidad
::Productos:Unitario :=nUnitario
::Productos:Neto :=nCantidad*nUnitario
::Productos:UpDate()
endif
oSql:Close()
next
::RecalcTotal('TODO')
oSql:End()
::oDBBrowse1:nColSel:=3
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey ) CLASS TForm2
local nValue, cSelect, oSql
if ::Productos:lOpen .and. !lCanceled
cSelect:="select idproducto,nombreproducto,preciounidad from Productos" + ;
" where idproducto="+alltrim(Value)
oSql:=::oBDIsi:NewDataSet(cSelect)
oSql:lDisplayErrors:=.F.
oSql:Open()
if empty(Value)
::Productos:Descripcion:=''
::Productos:Unitario :=0
else
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
endif
::Productos:Codigo:=Value
::CalcNeto()
oSql:Close()
oSql:End()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD CalcNeto() CLASS tForm2
if valtype(::Productos:Unitario)<>'N'
::Productos:Unitario:=0
endif
if valtype(::Productos:Cantidad)<>'N'
::Productos:Cantidad:=0
endif
::Productos:Neto:=::Productos:Unitario*::Productos:Cantidad
RETURN(::Productos:Neto)
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey ) CLASS TForm2
if ::Productos:lOpen .and. !lCanceled
::Productos:Cantidad:=Value
::CalcNeto()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD BtnBmp1Click( oSender ) CLASS TForm2
local cAux:='', nValue, cSelect, oSql
/// DESCONECTO EL BROWSE DE LOS DATOS PARA QUE NO SE ACTUALIZE EL BROWSE ///
::Productos:lUpdLinked:=.F.
/// VOY AL PRIMER ITEM
::Productos:gotop()
/// CREO UNA CONSULTA ///
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad from Productos')
oSql:lDisplayErrors:=.F.
/// BUCLE DE RECORRIDO DE TODOS LOS ITEMS ///
while !::Productos:eof()
/// SI NO TIENE PRODUCTO PASO A LA SIGUIENTE LINEA ///
if empty(::Productos:Codigo)
::Productos:skip(1)
loop
endif
/// BUSCO EN LA TABLA EL PRODUCTO QUE RECORRO ///
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from Productos" + ;
" where idproducto="+alltrim(::Productos:Codigo)
/// ABRO LA CONSULTA
oSql:Open()
/// ACTUALIZO LOS DATOS DEL ITEM EN LA GRILLA
/// CON LOS DE LA BASE DE DATOS
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
/// CALCULO EL TOTAL DEL ITEM CANTIDAD*UNITARIO
::CalcNeto()
/// ARMO UN STRING PARA MOSTRAR AL FINAL DEL BUCLE ///
cAux+='Recorri registro '+strzero(::Productos:recno(),2) + ;
' '+alltrim(::Productos:Codigo) + ;
' '+alltrim(str(::Productos:Cantidad,9,1)) + ;
' '+alltrim(str(::Productos:Unitario,9,2)) + ;
' '+alltrim(str(::Productos:Neto,9,2))+chr(13)+chr(10)
/// CIERRO LA CONSULTA
oSql:Close()
/// PASO AL SIGUIENTE REGISTRO ///
::Productos:Skip(1)
/// FIN DEL BUCLE ///
enddo
/// VUELVO A CONECTAR EL BROWSE A LOS DATOS
::Productos:lUpdLinked:=.T.
/// DEJO EL PUNTERO EN EL PRIMER REGISTRO
::Productos:gotop()
/// DESCTRUYO LA CONSULTA
oSql:End()
/// TE MUESTRO LOS ITEMS QUE RECORRI
MsgAlert(cAux,'Ver')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosAddNew( oSender ) CLASS TForm2
::Productos:Cargo:='AGR'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosCancel( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosEdit( oSender ) CLASS TForm2
if ::Productos:Cargo<>'EDI'
::RecalcTotal('RESTA')
endif
::Productos:Cargo:='EDI'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostDelete( oSender ) CLASS TForm2
::RecalcTotal('TODO')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostOpen( oSender ) CLASS TForm2
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPreAppend( oSender ) CLASS TForm2
if ::Productos:RecCount()>=14
MsgAlert('No puede agregar mas de 14 items ...')
RETURN(.F.)
endif
RETURN(.T.)
//---------------------------------------------------------- --------------------
METHOD ProductosUpdate( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD RecalcTotal(cTipo) CLASS TForm2
local nRec:=::Productos:recno(), nAux1, nAux2
nAux1:=::Productos:Unitario*::Productos:Cantidad
do case
case cTipo=='SUMA'
::nTotal+=nAux1
::nItems+=round(::Productos:Cantidad,0)
case cTipo=='RESTA'
::nTotal-=nAux1
::nItems-=round(::Productos:Cantidad,0)
case cTipo=='TODO'
::Productos:lUpdLinked:=.F.
::Productos:gotop()
::nTotal :=0
::nItems :=0
while !::Productos:eof()
nAux1:=::Productos:Unitario*::Productos:Cantidad
::nTotal+=nAux1
::nItems +=round(::Productos:Cantidad(dsFIELD),0)
::Productos:skip(1)
enddo
::Productos:goto(nRec)
::Productos:lUpdLinked:=.T.
endcase
::lblTotal:cText:='TOTAL:'+transf(::nTotal,[email='@E]'@E[/email] 999,999.99') + ;
' ITEMS:'+str(::nItems,3)
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button1Click( oSender ) CLASS TForm2
::oBtnBmp1:lEnabled:=.F.
::Productos:AddNew()
::Productos:UpDate()
::oDbBrowse1:nColSel:=1
::oBtnBmp1:lEnabled:=.T.
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button2Click( oSender ) CLASS TForm2
if ::Productos:reccount()>1
::Productos:Delete()
else
::Productos:Edit()
::Productos:Codigo :=''
::Productos:Descripcion:=''
::Productos:Unitario :=0
::Productos:Cantidad :=0
::Productos:Neto :=0
::Productos:UpDate()
::oDBBrowse1:Refresh()
endif
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje news:[email=455df77a@news.xailer.com...]455df77a@news.xailer.com...[/email]
> Ignacio el ejemplo, la seccion que tenes que revisar tiene 14 lineas y esta
> toda comentada no tenes que agregar los datos ni nada. Bueno en fin dejalo,
> la verdad que le dedique bastante tiempo para hacerlo y comentarlo.
>
> Saludos
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455dbd10$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
>> reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
>>
>> Un saludo
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
>>> Ignacio probe lo que me envias y se me soluciono el problema de la
>>> cantidad que se me duplicaba en la linea de abajo. Con respecto al primer
>>> problema persiste, he modificado el programa para que ya te aparezca con
>>> datos cargados y comente c/linea entre la 153 y 212, el bucle que es
>>> donde esta la falla solo tiene 14 lineas. Espero que no me consideres un
>>> pesado y puedas probarlo y ver de que se trata.
>>> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir
>>> otra y directamente hace un click en el boton grabar, luego proba hacer
>>> un click en la cantidad presiona enter y hace un click en grabar.
>>>
>>> Espero no tener que molestarte mas.
>>>
>>> Saludos Atte desde la Patagonia Argentina
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>>
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>> enter
>>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>>> la
>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>> quito
>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>>> maravilla el codigo.
>>>>
>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>> agregue
>>>> una nueva pero la cantidad se me repite en la linea de abajo, como
>>>> deberia
>>>> programar esto para que no me pegue la cantidad en la linea de abajo
>>>> ???.
>>>>
>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>> pedidos
>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>> estilo y
>>>> recibire antentamente cualquier sugerencia para que funcione de la mejor
>>>> manera.
>>>>
>>>> Saludos Atte.
>>>> Ing. Christian Assenza
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
--
¿Dónde están el código comentado? Cuando me hagas un ejemplo de 20 líneas encantado lo reviso. Espero que lo entiendas.
Saludos
/*
* Proyecto: Sistema_Pedidos
* Fichero: test_tmem.prg
* Descripción:
* Autor:
* Fecha: 13/11/2006
*/
#include "Xailer.ch"
CLASS TForm2 FROM TForm
COMPONENT oDBBrowse1
COMPONENT Productos
COMPONENT oDBBrowse1Column3
COMPONENT oDBBrowse1Column1
COMPONENT oBtnBmp1
COMPONENT oDBBrowse1Column5
COMPONENT lblTotal
COMPONENT oButton1
COMPONENT oButton2
COMPONENT oBDIsi
DATA nItems INIT 0
DATA nTotal INIT 0
METHOD CreateForm()
METHOD FormInitialize( oSender )
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey )
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey )
METHOD BtnBmp1Click( oSender )
METHOD RecalcTotal(cTipo)
METHOD CalcNeto()
METHOD ProductosAddNew( oSender )
METHOD ProductosCancel( oSender )
METHOD ProductosEdit( oSender )
METHOD ProductosPostDelete( oSender )
METHOD ProductosPostOpen( oSender )
METHOD ProductosPreAppend( oSender )
METHOD ProductosUpdate( oSender )
METHOD Button1Click( oSender )
METHOD Button2Click( oSender )
ENDCLASS
#include "test_tmem.xfm"
//---------------------------------------------------------- --------------------
METHOD FormInitialize( oSender ) CLASS TForm2
local i, cCodigo, cDescrip, nCantidad, nUnitario, oSql
::oBDIsi:lConnected:=.T.
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad from Productos')
oSql:lDisplayErrors:=.F.
for i:=1 to 4
do case
case i==1
cCodigo:='4 '
nCantidad:=5
case i==2
cCodigo:='1 '
nCantidad:=2
case i==3
cCodigo:='8 '
nCantidad:=14
case i==4
cCodigo:='2 '
nCantidad:=25
endcase
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from Productos" + ;
" where idproducto="+alltrim(cCodigo)
oSql:Open()
cDescrip :=oSql:NombreProducto
nUnitario:=oSql:PrecioUnidad
if i==1
::Productos:Open({{cCodigo,cDescrip,nCantidad,nUnitario,0,nC antidad*nUnitario,0,21,0}} , ;
{'Codigo','Descripcion','Cantidad','Unitario' , ;
'PrecSIva','Neto','Stock','TasaIva' , ;
'Descuento' ;
})
else
::Productos:AddNew()
::Productos:Codigo :=cCodigo
::Productos:Descripcion:=cDescrip
::Productos:Cantidad :=nCantidad
::Productos:Unitario :=nUnitario
::Productos:Neto :=nCantidad*nUnitario
::Productos:UpDate()
endif
oSql:Close()
next
::RecalcTotal('TODO')
oSql:End()
::oDBBrowse1:nColSel:=3
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey ) CLASS TForm2
local nValue, cSelect, oSql
if ::Productos:lOpen .and. !lCanceled
cSelect:="select idproducto,nombreproducto,preciounidad from Productos" + ;
" where idproducto="+alltrim(Value)
oSql:=::oBDIsi:NewDataSet(cSelect)
oSql:lDisplayErrors:=.F.
oSql:Open()
if empty(Value)
::Productos:Descripcion:=''
::Productos:Unitario :=0
else
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
endif
::Productos:Codigo:=Value
::CalcNeto()
oSql:Close()
oSql:End()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD CalcNeto() CLASS tForm2
if valtype(::Productos:Unitario)<>'N'
::Productos:Unitario:=0
endif
if valtype(::Productos:Cantidad)<>'N'
::Productos:Cantidad:=0
endif
::Productos:Neto:=::Productos:Unitario*::Productos:Cantidad
RETURN(::Productos:Neto)
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey ) CLASS TForm2
if ::Productos:lOpen .and. !lCanceled
::Productos:Cantidad:=Value
::CalcNeto()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD BtnBmp1Click( oSender ) CLASS TForm2
local cAux:='', nValue, cSelect, oSql
/// DESCONECTO EL BROWSE DE LOS DATOS PARA QUE NO SE ACTUALIZE EL BROWSE ///
::Productos:lUpdLinked:=.F.
/// VOY AL PRIMER ITEM
::Productos:gotop()
/// CREO UNA CONSULTA ///
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad from Productos')
oSql:lDisplayErrors:=.F.
/// BUCLE DE RECORRIDO DE TODOS LOS ITEMS ///
while !::Productos:eof()
/// SI NO TIENE PRODUCTO PASO A LA SIGUIENTE LINEA ///
if empty(::Productos:Codigo)
::Productos:skip(1)
loop
endif
/// BUSCO EN LA TABLA EL PRODUCTO QUE RECORRO ///
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from Productos" + ;
" where idproducto="+alltrim(::Productos:Codigo)
/// ABRO LA CONSULTA
oSql:Open()
/// ACTUALIZO LOS DATOS DEL ITEM EN LA GRILLA
/// CON LOS DE LA BASE DE DATOS
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
/// CALCULO EL TOTAL DEL ITEM CANTIDAD*UNITARIO
::CalcNeto()
/// ARMO UN STRING PARA MOSTRAR AL FINAL DEL BUCLE ///
cAux+='Recorri registro '+strzero(::Productos:recno(),2) + ;
' '+alltrim(::Productos:Codigo) + ;
' '+alltrim(str(::Productos:Cantidad,9,1)) + ;
' '+alltrim(str(::Productos:Unitario,9,2)) + ;
' '+alltrim(str(::Productos:Neto,9,2))+chr(13)+chr(10)
/// CIERRO LA CONSULTA
oSql:Close()
/// PASO AL SIGUIENTE REGISTRO ///
::Productos:Skip(1)
/// FIN DEL BUCLE ///
enddo
/// VUELVO A CONECTAR EL BROWSE A LOS DATOS
::Productos:lUpdLinked:=.T.
/// DEJO EL PUNTERO EN EL PRIMER REGISTRO
::Productos:gotop()
/// DESCTRUYO LA CONSULTA
oSql:End()
/// TE MUESTRO LOS ITEMS QUE RECORRI
MsgAlert(cAux,'Ver')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosAddNew( oSender ) CLASS TForm2
::Productos:Cargo:='AGR'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosCancel( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosEdit( oSender ) CLASS TForm2
if ::Productos:Cargo<>'EDI'
::RecalcTotal('RESTA')
endif
::Productos:Cargo:='EDI'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostDelete( oSender ) CLASS TForm2
::RecalcTotal('TODO')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostOpen( oSender ) CLASS TForm2
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPreAppend( oSender ) CLASS TForm2
if ::Productos:RecCount()>=14
MsgAlert('No puede agregar mas de 14 items ...')
RETURN(.F.)
endif
RETURN(.T.)
//---------------------------------------------------------- --------------------
METHOD ProductosUpdate( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD RecalcTotal(cTipo) CLASS TForm2
local nRec:=::Productos:recno(), nAux1, nAux2
nAux1:=::Productos:Unitario*::Productos:Cantidad
do case
case cTipo=='SUMA'
::nTotal+=nAux1
::nItems+=round(::Productos:Cantidad,0)
case cTipo=='RESTA'
::nTotal-=nAux1
::nItems-=round(::Productos:Cantidad,0)
case cTipo=='TODO'
::Productos:lUpdLinked:=.F.
::Productos:gotop()
::nTotal :=0
::nItems :=0
while !::Productos:eof()
nAux1:=::Productos:Unitario*::Productos:Cantidad
::nTotal+=nAux1
::nItems +=round(::Productos:Cantidad(dsFIELD),0)
::Productos:skip(1)
enddo
::Productos:goto(nRec)
::Productos:lUpdLinked:=.T.
endcase
::lblTotal:cText:='TOTAL:'+transf(::nTotal,[email='@E]'@E[/email] 999,999.99') + ;
' ITEMS:'+str(::nItems,3)
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button1Click( oSender ) CLASS TForm2
::oBtnBmp1:lEnabled:=.F.
::Productos:AddNew()
::Productos:UpDate()
::oDbBrowse1:nColSel:=1
::oBtnBmp1:lEnabled:=.T.
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button2Click( oSender ) CLASS TForm2
if ::Productos:reccount()>1
::Productos:Delete()
else
::Productos:Edit()
::Productos:Codigo :=''
::Productos:Descripcion:=''
::Productos:Unitario :=0
::Productos:Cantidad :=0
::Productos:Neto :=0
::Productos:UpDate()
::oDBBrowse1:Refresh()
endif
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje news:[email=455df77a@news.xailer.com...]455df77a@news.xailer.com...[/email]
> Ignacio el ejemplo, la seccion que tenes que revisar tiene 14 lineas y esta
> toda comentada no tenes que agregar los datos ni nada. Bueno en fin dejalo,
> la verdad que le dedique bastante tiempo para hacerlo y comentarlo.
>
> Saludos
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455dbd10$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
>> reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
>>
>> Un saludo
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
>>> Ignacio probe lo que me envias y se me soluciono el problema de la
>>> cantidad que se me duplicaba en la linea de abajo. Con respecto al primer
>>> problema persiste, he modificado el programa para que ya te aparezca con
>>> datos cargados y comente c/linea entre la 153 y 212, el bucle que es
>>> donde esta la falla solo tiene 14 lineas. Espero que no me consideres un
>>> pesado y puedas probarlo y ver de que se trata.
>>> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir
>>> otra y directamente hace un click en el boton grabar, luego proba hacer
>>> un click en la cantidad presiona enter y hace un click en grabar.
>>>
>>> Espero no tener que molestarte mas.
>>>
>>> Saludos Atte desde la Patagonia Argentina
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>>
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si yo
>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>> enter
>>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>>> la
>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>> quito
>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>>> maravilla el codigo.
>>>>
>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>> agregue
>>>> una nueva pero la cantidad se me repite en la linea de abajo, como
>>>> deberia
>>>> programar esto para que no me pegue la cantidad en la linea de abajo
>>>> ???.
>>>>
>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>> pedidos
>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>> estilo y
>>>> recibire antentamente cualquier sugerencia para que funcione de la mejor
>>>> manera.
>>>>
>>>> Saludos Atte.
>>>> Ing. Christian Assenza
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Problemas con el tMemDataSet (2)
Revisa este metodo : METHOD BtnBmp1Click( oSender ) CLASS TForm2
Desde la linea 152 a la linea 214 y desde la linea 165 a la linea 201 (el
bucle) que es donde se produce el problema solo tiene 14 lineas de codigo,
por favor solo lee estas lineas y ejecuta el programa y veras el
comportamiento extraño.
Y el METHOD BtnBmp1Click( oSender ) CLASS TForm2 es el que produce la falla
Todo el otro codigo del formulario ni lo veas.
Otra, si no queres ver el codigo no lo veas, solo ejecuta el programa y
prueba lo que te digo:Lo unico que tenes que hacer es un click en la
cantidad 25 y escribir
otra y directamente hace un click en el boton grabar, luego proba hacer un
click en la cantidad presiona enter y hace un click en grabar.
Y dime si puedes reproducir la falla (insisto no veas el codigo), si la
puedes reproducir y te pica la curiosidad, solo lee las lineas del bucle
165-201 el bucle solo recorre el tMemDataSet y te informa las lineas que
recorrio con un MsgAlert.
Saludos Atte.
Ing. Christian Assenza
----- Original Message -----
From: Ignacio Ortiz de Zúñiga
Newsgroups: local.xailer.pro.es
Sent: Friday, November 17, 2006 3:20 PM
Subject: Re: Problemas con el tMemDataSet (2)
Crhistian,
¿Dónde están el código comentado? Cuando me hagas un ejemplo de 20 líneas
encantado lo reviso. Espero que lo entiendas.
Saludos
/*
* Proyecto: Sistema_Pedidos
* Fichero: test_tmem.prg
* Descripción:
* Autor:
* Fecha: 13/11/2006
*/
#include "Xailer.ch"
CLASS TForm2 FROM TForm
COMPONENT oDBBrowse1
COMPONENT Productos
COMPONENT oDBBrowse1Column3
COMPONENT oDBBrowse1Column1
COMPONENT oBtnBmp1
COMPONENT oDBBrowse1Column5
COMPONENT lblTotal
COMPONENT oButton1
COMPONENT oButton2
COMPONENT oBDIsi
DATA nItems INIT 0
DATA nTotal INIT 0
METHOD CreateForm()
METHOD FormInitialize( oSender )
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey )
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey )
METHOD BtnBmp1Click( oSender )
METHOD RecalcTotal(cTipo)
METHOD CalcNeto()
METHOD ProductosAddNew( oSender )
METHOD ProductosCancel( oSender )
METHOD ProductosEdit( oSender )
METHOD ProductosPostDelete( oSender )
METHOD ProductosPostOpen( oSender )
METHOD ProductosPreAppend( oSender )
METHOD ProductosUpdate( oSender )
METHOD Button1Click( oSender )
METHOD Button2Click( oSender )
ENDCLASS
#include "test_tmem.xfm"
//---------------------------------------------------------- --------------------
METHOD FormInitialize( oSender ) CLASS TForm2
local i, cCodigo, cDescrip, nCantidad, nUnitario, oSql
::oBDIsi:lConnected:=.T.
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad
from Productos')
oSql:lDisplayErrors:=.F.
for i:=1 to 4
do case
case i==1
cCodigo:='4 '
nCantidad:=5
case i==2
cCodigo:='1 '
nCantidad:=2
case i==3
cCodigo:='8 '
nCantidad:=14
case i==4
cCodigo:='2 '
nCantidad:=25
endcase
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(cCodigo)
oSql:Open()
cDescrip :=oSql:NombreProducto
nUnitario:=oSql:PrecioUnidad
if i==1
::Productos:Open({{cCodigo,cDescrip,nCantidad,nUnitario,0,nC antidad*nUnitario,0,21,0}}
, ;
{'Codigo','Descripcion','Cantidad','Unitario' , ;
'PrecSIva','Neto','Stock','TasaIva' , ;
'Descuento' ;
})
else
::Productos:AddNew()
::Productos:Codigo :=cCodigo
::Productos:Descripcion:=cDescrip
::Productos:Cantidad :=nCantidad
::Productos:Unitario :=nUnitario
::Productos:Neto :=nCantidad*nUnitario
::Productos:UpDate()
endif
oSql:Close()
next
::RecalcTotal('TODO')
oSql:End()
::oDBBrowse1:nColSel:=3
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey ) CLASS
TForm2
local nValue, cSelect, oSql
if ::Productos:lOpen .and. !lCanceled
cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(Value)
oSql:=::oBDIsi:NewDataSet(cSelect)
oSql:lDisplayErrors:=.F.
oSql:Open()
if empty(Value)
::Productos:Descripcion:=''
::Productos:Unitario :=0
else
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
endif
::Productos:Codigo:=Value
::CalcNeto()
oSql:Close()
oSql:End()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD CalcNeto() CLASS tForm2
if valtype(::Productos:Unitario)<>'N'
::Productos:Unitario:=0
endif
if valtype(::Productos:Cantidad)<>'N'
::Productos:Cantidad:=0
endif
::Productos:Neto:=::Productos:Unitario*::Productos:Cantidad
RETURN(::Productos:Neto)
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey ) CLASS
TForm2
if ::Productos:lOpen .and. !lCanceled
::Productos:Cantidad:=Value
::CalcNeto()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD BtnBmp1Click( oSender ) CLASS TForm2
local cAux:='', nValue, cSelect, oSql
/// DESCONECTO EL BROWSE DE LOS DATOS PARA QUE NO SE ACTUALIZE EL BROWSE
///
::Productos:lUpdLinked:=.F.
/// VOY AL PRIMER ITEM
::Productos:gotop()
/// CREO UNA CONSULTA ///
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad
from Productos')
oSql:lDisplayErrors:=.F.
/// BUCLE DE RECORRIDO DE TODOS LOS ITEMS ///
while !::Productos:eof()
/// SI NO TIENE PRODUCTO PASO A LA SIGUIENTE LINEA ///
if empty(::Productos:Codigo)
::Productos:skip(1)
loop
endif
/// BUSCO EN LA TABLA EL PRODUCTO QUE RECORRO ///
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(::Productos:Codigo)
/// ABRO LA CONSULTA
oSql:Open()
/// ACTUALIZO LOS DATOS DEL ITEM EN LA GRILLA
/// CON LOS DE LA BASE DE DATOS
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
/// CALCULO EL TOTAL DEL ITEM CANTIDAD*UNITARIO
::CalcNeto()
/// ARMO UN STRING PARA MOSTRAR AL FINAL DEL BUCLE ///
cAux+='Recorri registro '+strzero(::Productos:recno(),2) + ;
' '+alltrim(::Productos:Codigo) + ;
' '+alltrim(str(::Productos:Cantidad,9,1)) + ;
' '+alltrim(str(::Productos:Unitario,9,2)) + ;
' '+alltrim(str(::Productos:Neto,9,2))+chr(13)+chr(10)
/// CIERRO LA CONSULTA
oSql:Close()
/// PASO AL SIGUIENTE REGISTRO ///
::Productos:Skip(1)
/// FIN DEL BUCLE ///
enddo
/// VUELVO A CONECTAR EL BROWSE A LOS DATOS
::Productos:lUpdLinked:=.T.
/// DEJO EL PUNTERO EN EL PRIMER REGISTRO
::Productos:gotop()
/// DESCTRUYO LA CONSULTA
oSql:End()
/// TE MUESTRO LOS ITEMS QUE RECORRI
MsgAlert(cAux,'Ver')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosAddNew( oSender ) CLASS TForm2
::Productos:Cargo:='AGR'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosCancel( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosEdit( oSender ) CLASS TForm2
if ::Productos:Cargo<>'EDI'
::RecalcTotal('RESTA')
endif
::Productos:Cargo:='EDI'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostDelete( oSender ) CLASS TForm2
::RecalcTotal('TODO')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostOpen( oSender ) CLASS TForm2
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPreAppend( oSender ) CLASS TForm2
if ::Productos:RecCount()>=14
MsgAlert('No puede agregar mas de 14 items ...')
RETURN(.F.)
endif
RETURN(.T.)
//---------------------------------------------------------- --------------------
METHOD ProductosUpdate( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD RecalcTotal(cTipo) CLASS TForm2
local nRec:=::Productos:recno(), nAux1, nAux2
nAux1:=::Productos:Unitario*::Productos:Cantidad
do case
case cTipo=='SUMA'
::nTotal+=nAux1
::nItems+=round(::Productos:Cantidad,0)
case cTipo=='RESTA'
::nTotal-=nAux1
::nItems-=round(::Productos:Cantidad,0)
case cTipo=='TODO'
::Productos:lUpdLinked:=.F.
::Productos:gotop()
::nTotal :=0
::nItems :=0
while !::Productos:eof()
nAux1:=::Productos:Unitario*::Productos:Cantidad
::nTotal+=nAux1
::nItems +=round(::Productos:Cantidad(dsFIELD),0)
::Productos:skip(1)
enddo
::Productos:goto(nRec)
::Productos:lUpdLinked:=.T.
endcase
::lblTotal:cText:='TOTAL:'+transf(::nTotal,[email='@E]'@E[/email] 999,999.99') + ;
' ITEMS:'+str(::nItems,3)
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button1Click( oSender ) CLASS TForm2
::oBtnBmp1:lEnabled:=.F.
::Productos:AddNew()
::Productos:UpDate()
::oDbBrowse1:nColSel:=1
::oBtnBmp1:lEnabled:=.T.
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button2Click( oSender ) CLASS TForm2
if ::Productos:reccount()>1
::Productos:Delete()
else
::Productos:Edit()
::Productos:Codigo :=''
::Productos:Descripcion:=''
::Productos:Unitario :=0
::Productos:Cantidad :=0
::Productos:Neto :=0
::Productos:UpDate()
::oDBBrowse1:Refresh()
endif
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455df77a@news.xailer.com...]455df77a@news.xailer.com...[/email]
> Ignacio el ejemplo, la seccion que tenes que revisar tiene 14 lineas y
> esta
> toda comentada no tenes que agregar los datos ni nada. Bueno en fin
> dejalo,
> la verdad que le dedique bastante tiempo para hacerlo y comentarlo.
>
> Saludos
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455dbd10$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
>> reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
>>
>> Un saludo
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
>>> Ignacio probe lo que me envias y se me soluciono el problema de la
>>> cantidad que se me duplicaba en la linea de abajo. Con respecto al
>>> primer
>>> problema persiste, he modificado el programa para que ya te aparezca con
>>> datos cargados y comente c/linea entre la 153 y 212, el bucle que es
>>> donde esta la falla solo tiene 14 lineas. Espero que no me consideres un
>>> pesado y puedas probarlo y ver de que se trata.
>>> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir
>>> otra y directamente hace un click en el boton grabar, luego proba hacer
>>> un click en la cantidad presiona enter y hace un click en grabar.
>>>
>>> Espero no tener que molestarte mas.
>>>
>>> Saludos Atte desde la Patagonia Argentina
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>>
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>> yo
>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>> enter
>>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>>> la
>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>> quito
>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>>> maravilla el codigo.
>>>>
>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>> agregue
>>>> una nueva pero la cantidad se me repite en la linea de abajo, como
>>>> deberia
>>>> programar esto para que no me pegue la cantidad en la linea de abajo
>>>> ???.
>>>>
>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>> pedidos
>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>> estilo y
>>>> recibire antentamente cualquier sugerencia para que funcione de la
>>>> mejor
>>>> manera.
>>>>
>>>> Saludos Atte.
>>>> Ing. Christian Assenza
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455dfd58$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Crhistian,
¿Dónde están el código comentado? Cuando me hagas un ejemplo de 20 líneas
encantado lo reviso. Espero que lo entiendas.
Saludos
/*
* Proyecto: Sistema_Pedidos
* Fichero: test_tmem.prg
* Descripción:
* Autor:
* Fecha: 13/11/2006
*/
#include "Xailer.ch"
CLASS TForm2 FROM TForm
COMPONENT oDBBrowse1
COMPONENT Productos
COMPONENT oDBBrowse1Column3
COMPONENT oDBBrowse1Column1
COMPONENT oBtnBmp1
COMPONENT oDBBrowse1Column5
COMPONENT lblTotal
COMPONENT oButton1
COMPONENT oButton2
COMPONENT oBDIsi
DATA nItems INIT 0
DATA nTotal INIT 0
METHOD CreateForm()
METHOD FormInitialize( oSender )
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey )
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey )
METHOD BtnBmp1Click( oSender )
METHOD RecalcTotal(cTipo)
METHOD CalcNeto()
METHOD ProductosAddNew( oSender )
METHOD ProductosCancel( oSender )
METHOD ProductosEdit( oSender )
METHOD ProductosPostDelete( oSender )
METHOD ProductosPostOpen( oSender )
METHOD ProductosPreAppend( oSender )
METHOD ProductosUpdate( oSender )
METHOD Button1Click( oSender )
METHOD Button2Click( oSender )
ENDCLASS
#include "test_tmem.xfm"
//---------------------------------------------------------- --------------------
METHOD FormInitialize( oSender ) CLASS TForm2
local i, cCodigo, cDescrip, nCantidad, nUnitario, oSql
::oBDIsi:lConnected:=.T.
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad
from Productos')
oSql:lDisplayErrors:=.F.
for i:=1 to 4
do case
case i==1
cCodigo:='4 '
nCantidad:=5
case i==2
cCodigo:='1 '
nCantidad:=2
case i==3
cCodigo:='8 '
nCantidad:=14
case i==4
cCodigo:='2 '
nCantidad:=25
endcase
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(cCodigo)
oSql:Open()
cDescrip :=oSql:NombreProducto
nUnitario:=oSql:PrecioUnidad
if i==1
::Productos:Open({{cCodigo,cDescrip,nCantidad,nUnitario,0,nC antidad*nUnitario,0,21,0}}
, ;
{'Codigo','Descripcion','Cantidad','Unitario' , ;
'PrecSIva','Neto','Stock','TasaIva' , ;
'Descuento' ;
})
else
::Productos:AddNew()
::Productos:Codigo :=cCodigo
::Productos:Descripcion:=cDescrip
::Productos:Cantidad :=nCantidad
::Productos:Unitario :=nUnitario
::Productos:Neto :=nCantidad*nUnitario
::Productos:UpDate()
endif
oSql:Close()
next
::RecalcTotal('TODO')
oSql:End()
::oDBBrowse1:nColSel:=3
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey ) CLASS
TForm2
local nValue, cSelect, oSql
if ::Productos:lOpen .and. !lCanceled
cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(Value)
oSql:=::oBDIsi:NewDataSet(cSelect)
oSql:lDisplayErrors:=.F.
oSql:Open()
if empty(Value)
::Productos:Descripcion:=''
::Productos:Unitario :=0
else
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
endif
::Productos:Codigo:=Value
::CalcNeto()
oSql:Close()
oSql:End()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD CalcNeto() CLASS tForm2
if valtype(::Productos:Unitario)<>'N'
::Productos:Unitario:=0
endif
if valtype(::Productos:Cantidad)<>'N'
::Productos:Cantidad:=0
endif
::Productos:Neto:=::Productos:Unitario*::Productos:Cantidad
RETURN(::Productos:Neto)
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey ) CLASS
TForm2
if ::Productos:lOpen .and. !lCanceled
::Productos:Cantidad:=Value
::CalcNeto()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD BtnBmp1Click( oSender ) CLASS TForm2
local cAux:='', nValue, cSelect, oSql
/// DESCONECTO EL BROWSE DE LOS DATOS PARA QUE NO SE ACTUALIZE EL BROWSE
///
::Productos:lUpdLinked:=.F.
/// VOY AL PRIMER ITEM
::Productos:gotop()
/// CREO UNA CONSULTA ///
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad
from Productos')
oSql:lDisplayErrors:=.F.
/// BUCLE DE RECORRIDO DE TODOS LOS ITEMS ///
while !::Productos:eof()
/// SI NO TIENE PRODUCTO PASO A LA SIGUIENTE LINEA ///
if empty(::Productos:Codigo)
::Productos:skip(1)
loop
endif
/// BUSCO EN LA TABLA EL PRODUCTO QUE RECORRO ///
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(::Productos:Codigo)
/// ABRO LA CONSULTA
oSql:Open()
/// ACTUALIZO LOS DATOS DEL ITEM EN LA GRILLA
/// CON LOS DE LA BASE DE DATOS
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
/// CALCULO EL TOTAL DEL ITEM CANTIDAD*UNITARIO
::CalcNeto()
/// ARMO UN STRING PARA MOSTRAR AL FINAL DEL BUCLE ///
cAux+='Recorri registro '+strzero(::Productos:recno(),2) + ;
' '+alltrim(::Productos:Codigo) + ;
' '+alltrim(str(::Productos:Cantidad,9,1)) + ;
' '+alltrim(str(::Productos:Unitario,9,2)) + ;
' '+alltrim(str(::Productos:Neto,9,2))+chr(13)+chr(10)
/// CIERRO LA CONSULTA
oSql:Close()
/// PASO AL SIGUIENTE REGISTRO ///
::Productos:Skip(1)
/// FIN DEL BUCLE ///
enddo
/// VUELVO A CONECTAR EL BROWSE A LOS DATOS
::Productos:lUpdLinked:=.T.
/// DEJO EL PUNTERO EN EL PRIMER REGISTRO
::Productos:gotop()
/// DESCTRUYO LA CONSULTA
oSql:End()
/// TE MUESTRO LOS ITEMS QUE RECORRI
MsgAlert(cAux,'Ver')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosAddNew( oSender ) CLASS TForm2
::Productos:Cargo:='AGR'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosCancel( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosEdit( oSender ) CLASS TForm2
if ::Productos:Cargo<>'EDI'
::RecalcTotal('RESTA')
endif
::Productos:Cargo:='EDI'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostDelete( oSender ) CLASS TForm2
::RecalcTotal('TODO')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostOpen( oSender ) CLASS TForm2
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPreAppend( oSender ) CLASS TForm2
if ::Productos:RecCount()>=14
MsgAlert('No puede agregar mas de 14 items ...')
RETURN(.F.)
endif
RETURN(.T.)
//---------------------------------------------------------- --------------------
METHOD ProductosUpdate( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD RecalcTotal(cTipo) CLASS TForm2
local nRec:=::Productos:recno(), nAux1, nAux2
nAux1:=::Productos:Unitario*::Productos:Cantidad
do case
case cTipo=='SUMA'
::nTotal+=nAux1
::nItems+=round(::Productos:Cantidad,0)
case cTipo=='RESTA'
::nTotal-=nAux1
::nItems-=round(::Productos:Cantidad,0)
case cTipo=='TODO'
::Productos:lUpdLinked:=.F.
::Productos:gotop()
::nTotal :=0
::nItems :=0
while !::Productos:eof()
nAux1:=::Productos:Unitario*::Productos:Cantidad
::nTotal+=nAux1
::nItems +=round(::Productos:Cantidad(dsFIELD),0)
::Productos:skip(1)
enddo
::Productos:goto(nRec)
::Productos:lUpdLinked:=.T.
endcase
::lblTotal:cText:='TOTAL:'+transf(::nTotal,[email='@E]'@E[/email] 999,999.99') + ;
' ITEMS:'+str(::nItems,3)
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button1Click( oSender ) CLASS TForm2
::oBtnBmp1:lEnabled:=.F.
::Productos:AddNew()
::Productos:UpDate()
::oDbBrowse1:nColSel:=1
::oBtnBmp1:lEnabled:=.T.
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button2Click( oSender ) CLASS TForm2
if ::Productos:reccount()>1
::Productos:Delete()
else
::Productos:Edit()
::Productos:Codigo :=''
::Productos:Descripcion:=''
::Productos:Unitario :=0
::Productos:Cantidad :=0
::Productos:Neto :=0
::Productos:UpDate()
::oDBBrowse1:Refresh()
endif
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455df77a@news.xailer.com...]455df77a@news.xailer.com...[/email]
> Ignacio el ejemplo, la seccion que tenes que revisar tiene 14 lineas y
> esta
> toda comentada no tenes que agregar los datos ni nada. Bueno en fin
> dejalo,
> la verdad que le dedique bastante tiempo para hacerlo y comentarlo.
>
> Saludos
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455dbd10$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
>> reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
>>
>> Un saludo
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
>>> Ignacio probe lo que me envias y se me soluciono el problema de la
>>> cantidad que se me duplicaba en la linea de abajo. Con respecto al
>>> primer
>>> problema persiste, he modificado el programa para que ya te aparezca con
>>> datos cargados y comente c/linea entre la 153 y 212, el bucle que es
>>> donde esta la falla solo tiene 14 lineas. Espero que no me consideres un
>>> pesado y puedas probarlo y ver de que se trata.
>>> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir
>>> otra y directamente hace un click en el boton grabar, luego proba hacer
>>> un click en la cantidad presiona enter y hace un click en grabar.
>>>
>>> Espero no tener que molestarte mas.
>>>
>>> Saludos Atte desde la Patagonia Argentina
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>>
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>> yo
>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>> enter
>>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>>> la
>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>> quito
>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>>> maravilla el codigo.
>>>>
>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>> agregue
>>>> una nueva pero la cantidad se me repite en la linea de abajo, como
>>>> deberia
>>>> programar esto para que no me pegue la cantidad en la linea de abajo
>>>> ???.
>>>>
>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>> pedidos
>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>> estilo y
>>>> recibire antentamente cualquier sugerencia para que funcione de la
>>>> mejor
>>>> manera.
>>>>
>>>> Saludos Atte.
>>>> Ing. Christian Assenza
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
Desde la linea 152 a la linea 214 y desde la linea 165 a la linea 201 (el
bucle) que es donde se produce el problema solo tiene 14 lineas de codigo,
por favor solo lee estas lineas y ejecuta el programa y veras el
comportamiento extraño.
Y el METHOD BtnBmp1Click( oSender ) CLASS TForm2 es el que produce la falla
Todo el otro codigo del formulario ni lo veas.
Otra, si no queres ver el codigo no lo veas, solo ejecuta el programa y
prueba lo que te digo:Lo unico que tenes que hacer es un click en la
cantidad 25 y escribir
otra y directamente hace un click en el boton grabar, luego proba hacer un
click en la cantidad presiona enter y hace un click en grabar.
Y dime si puedes reproducir la falla (insisto no veas el codigo), si la
puedes reproducir y te pica la curiosidad, solo lee las lineas del bucle
165-201 el bucle solo recorre el tMemDataSet y te informa las lineas que
recorrio con un MsgAlert.
Saludos Atte.
Ing. Christian Assenza
----- Original Message -----
From: Ignacio Ortiz de Zúñiga
Newsgroups: local.xailer.pro.es
Sent: Friday, November 17, 2006 3:20 PM
Subject: Re: Problemas con el tMemDataSet (2)
Crhistian,
¿Dónde están el código comentado? Cuando me hagas un ejemplo de 20 líneas
encantado lo reviso. Espero que lo entiendas.
Saludos
/*
* Proyecto: Sistema_Pedidos
* Fichero: test_tmem.prg
* Descripción:
* Autor:
* Fecha: 13/11/2006
*/
#include "Xailer.ch"
CLASS TForm2 FROM TForm
COMPONENT oDBBrowse1
COMPONENT Productos
COMPONENT oDBBrowse1Column3
COMPONENT oDBBrowse1Column1
COMPONENT oBtnBmp1
COMPONENT oDBBrowse1Column5
COMPONENT lblTotal
COMPONENT oButton1
COMPONENT oButton2
COMPONENT oBDIsi
DATA nItems INIT 0
DATA nTotal INIT 0
METHOD CreateForm()
METHOD FormInitialize( oSender )
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey )
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey )
METHOD BtnBmp1Click( oSender )
METHOD RecalcTotal(cTipo)
METHOD CalcNeto()
METHOD ProductosAddNew( oSender )
METHOD ProductosCancel( oSender )
METHOD ProductosEdit( oSender )
METHOD ProductosPostDelete( oSender )
METHOD ProductosPostOpen( oSender )
METHOD ProductosPreAppend( oSender )
METHOD ProductosUpdate( oSender )
METHOD Button1Click( oSender )
METHOD Button2Click( oSender )
ENDCLASS
#include "test_tmem.xfm"
//---------------------------------------------------------- --------------------
METHOD FormInitialize( oSender ) CLASS TForm2
local i, cCodigo, cDescrip, nCantidad, nUnitario, oSql
::oBDIsi:lConnected:=.T.
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad
from Productos')
oSql:lDisplayErrors:=.F.
for i:=1 to 4
do case
case i==1
cCodigo:='4 '
nCantidad:=5
case i==2
cCodigo:='1 '
nCantidad:=2
case i==3
cCodigo:='8 '
nCantidad:=14
case i==4
cCodigo:='2 '
nCantidad:=25
endcase
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(cCodigo)
oSql:Open()
cDescrip :=oSql:NombreProducto
nUnitario:=oSql:PrecioUnidad
if i==1
::Productos:Open({{cCodigo,cDescrip,nCantidad,nUnitario,0,nC antidad*nUnitario,0,21,0}}
, ;
{'Codigo','Descripcion','Cantidad','Unitario' , ;
'PrecSIva','Neto','Stock','TasaIva' , ;
'Descuento' ;
})
else
::Productos:AddNew()
::Productos:Codigo :=cCodigo
::Productos:Descripcion:=cDescrip
::Productos:Cantidad :=nCantidad
::Productos:Unitario :=nUnitario
::Productos:Neto :=nCantidad*nUnitario
::Productos:UpDate()
endif
oSql:Close()
next
::RecalcTotal('TODO')
oSql:End()
::oDBBrowse1:nColSel:=3
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey ) CLASS
TForm2
local nValue, cSelect, oSql
if ::Productos:lOpen .and. !lCanceled
cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(Value)
oSql:=::oBDIsi:NewDataSet(cSelect)
oSql:lDisplayErrors:=.F.
oSql:Open()
if empty(Value)
::Productos:Descripcion:=''
::Productos:Unitario :=0
else
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
endif
::Productos:Codigo:=Value
::CalcNeto()
oSql:Close()
oSql:End()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD CalcNeto() CLASS tForm2
if valtype(::Productos:Unitario)<>'N'
::Productos:Unitario:=0
endif
if valtype(::Productos:Cantidad)<>'N'
::Productos:Cantidad:=0
endif
::Productos:Neto:=::Productos:Unitario*::Productos:Cantidad
RETURN(::Productos:Neto)
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey ) CLASS
TForm2
if ::Productos:lOpen .and. !lCanceled
::Productos:Cantidad:=Value
::CalcNeto()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD BtnBmp1Click( oSender ) CLASS TForm2
local cAux:='', nValue, cSelect, oSql
/// DESCONECTO EL BROWSE DE LOS DATOS PARA QUE NO SE ACTUALIZE EL BROWSE
///
::Productos:lUpdLinked:=.F.
/// VOY AL PRIMER ITEM
::Productos:gotop()
/// CREO UNA CONSULTA ///
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad
from Productos')
oSql:lDisplayErrors:=.F.
/// BUCLE DE RECORRIDO DE TODOS LOS ITEMS ///
while !::Productos:eof()
/// SI NO TIENE PRODUCTO PASO A LA SIGUIENTE LINEA ///
if empty(::Productos:Codigo)
::Productos:skip(1)
loop
endif
/// BUSCO EN LA TABLA EL PRODUCTO QUE RECORRO ///
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(::Productos:Codigo)
/// ABRO LA CONSULTA
oSql:Open()
/// ACTUALIZO LOS DATOS DEL ITEM EN LA GRILLA
/// CON LOS DE LA BASE DE DATOS
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
/// CALCULO EL TOTAL DEL ITEM CANTIDAD*UNITARIO
::CalcNeto()
/// ARMO UN STRING PARA MOSTRAR AL FINAL DEL BUCLE ///
cAux+='Recorri registro '+strzero(::Productos:recno(),2) + ;
' '+alltrim(::Productos:Codigo) + ;
' '+alltrim(str(::Productos:Cantidad,9,1)) + ;
' '+alltrim(str(::Productos:Unitario,9,2)) + ;
' '+alltrim(str(::Productos:Neto,9,2))+chr(13)+chr(10)
/// CIERRO LA CONSULTA
oSql:Close()
/// PASO AL SIGUIENTE REGISTRO ///
::Productos:Skip(1)
/// FIN DEL BUCLE ///
enddo
/// VUELVO A CONECTAR EL BROWSE A LOS DATOS
::Productos:lUpdLinked:=.T.
/// DEJO EL PUNTERO EN EL PRIMER REGISTRO
::Productos:gotop()
/// DESCTRUYO LA CONSULTA
oSql:End()
/// TE MUESTRO LOS ITEMS QUE RECORRI
MsgAlert(cAux,'Ver')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosAddNew( oSender ) CLASS TForm2
::Productos:Cargo:='AGR'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosCancel( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosEdit( oSender ) CLASS TForm2
if ::Productos:Cargo<>'EDI'
::RecalcTotal('RESTA')
endif
::Productos:Cargo:='EDI'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostDelete( oSender ) CLASS TForm2
::RecalcTotal('TODO')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostOpen( oSender ) CLASS TForm2
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPreAppend( oSender ) CLASS TForm2
if ::Productos:RecCount()>=14
MsgAlert('No puede agregar mas de 14 items ...')
RETURN(.F.)
endif
RETURN(.T.)
//---------------------------------------------------------- --------------------
METHOD ProductosUpdate( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD RecalcTotal(cTipo) CLASS TForm2
local nRec:=::Productos:recno(), nAux1, nAux2
nAux1:=::Productos:Unitario*::Productos:Cantidad
do case
case cTipo=='SUMA'
::nTotal+=nAux1
::nItems+=round(::Productos:Cantidad,0)
case cTipo=='RESTA'
::nTotal-=nAux1
::nItems-=round(::Productos:Cantidad,0)
case cTipo=='TODO'
::Productos:lUpdLinked:=.F.
::Productos:gotop()
::nTotal :=0
::nItems :=0
while !::Productos:eof()
nAux1:=::Productos:Unitario*::Productos:Cantidad
::nTotal+=nAux1
::nItems +=round(::Productos:Cantidad(dsFIELD),0)
::Productos:skip(1)
enddo
::Productos:goto(nRec)
::Productos:lUpdLinked:=.T.
endcase
::lblTotal:cText:='TOTAL:'+transf(::nTotal,[email='@E]'@E[/email] 999,999.99') + ;
' ITEMS:'+str(::nItems,3)
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button1Click( oSender ) CLASS TForm2
::oBtnBmp1:lEnabled:=.F.
::Productos:AddNew()
::Productos:UpDate()
::oDbBrowse1:nColSel:=1
::oBtnBmp1:lEnabled:=.T.
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button2Click( oSender ) CLASS TForm2
if ::Productos:reccount()>1
::Productos:Delete()
else
::Productos:Edit()
::Productos:Codigo :=''
::Productos:Descripcion:=''
::Productos:Unitario :=0
::Productos:Cantidad :=0
::Productos:Neto :=0
::Productos:UpDate()
::oDBBrowse1:Refresh()
endif
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455df77a@news.xailer.com...]455df77a@news.xailer.com...[/email]
> Ignacio el ejemplo, la seccion que tenes que revisar tiene 14 lineas y
> esta
> toda comentada no tenes que agregar los datos ni nada. Bueno en fin
> dejalo,
> la verdad que le dedique bastante tiempo para hacerlo y comentarlo.
>
> Saludos
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455dbd10$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
>> reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
>>
>> Un saludo
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
>>> Ignacio probe lo que me envias y se me soluciono el problema de la
>>> cantidad que se me duplicaba en la linea de abajo. Con respecto al
>>> primer
>>> problema persiste, he modificado el programa para que ya te aparezca con
>>> datos cargados y comente c/linea entre la 153 y 212, el bucle que es
>>> donde esta la falla solo tiene 14 lineas. Espero que no me consideres un
>>> pesado y puedas probarlo y ver de que se trata.
>>> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir
>>> otra y directamente hace un click en el boton grabar, luego proba hacer
>>> un click en la cantidad presiona enter y hace un click en grabar.
>>>
>>> Espero no tener que molestarte mas.
>>>
>>> Saludos Atte desde la Patagonia Argentina
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>>
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>> yo
>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>> enter
>>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>>> la
>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>> quito
>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>>> maravilla el codigo.
>>>>
>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>> agregue
>>>> una nueva pero la cantidad se me repite en la linea de abajo, como
>>>> deberia
>>>> programar esto para que no me pegue la cantidad en la linea de abajo
>>>> ???.
>>>>
>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>> pedidos
>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>> estilo y
>>>> recibire antentamente cualquier sugerencia para que funcione de la
>>>> mejor
>>>> manera.
>>>>
>>>> Saludos Atte.
>>>> Ing. Christian Assenza
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:455dfd58$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
Crhistian,
¿Dónde están el código comentado? Cuando me hagas un ejemplo de 20 líneas
encantado lo reviso. Espero que lo entiendas.
Saludos
/*
* Proyecto: Sistema_Pedidos
* Fichero: test_tmem.prg
* Descripción:
* Autor:
* Fecha: 13/11/2006
*/
#include "Xailer.ch"
CLASS TForm2 FROM TForm
COMPONENT oDBBrowse1
COMPONENT Productos
COMPONENT oDBBrowse1Column3
COMPONENT oDBBrowse1Column1
COMPONENT oBtnBmp1
COMPONENT oDBBrowse1Column5
COMPONENT lblTotal
COMPONENT oButton1
COMPONENT oButton2
COMPONENT oBDIsi
DATA nItems INIT 0
DATA nTotal INIT 0
METHOD CreateForm()
METHOD FormInitialize( oSender )
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey )
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey )
METHOD BtnBmp1Click( oSender )
METHOD RecalcTotal(cTipo)
METHOD CalcNeto()
METHOD ProductosAddNew( oSender )
METHOD ProductosCancel( oSender )
METHOD ProductosEdit( oSender )
METHOD ProductosPostDelete( oSender )
METHOD ProductosPostOpen( oSender )
METHOD ProductosPreAppend( oSender )
METHOD ProductosUpdate( oSender )
METHOD Button1Click( oSender )
METHOD Button2Click( oSender )
ENDCLASS
#include "test_tmem.xfm"
//---------------------------------------------------------- --------------------
METHOD FormInitialize( oSender ) CLASS TForm2
local i, cCodigo, cDescrip, nCantidad, nUnitario, oSql
::oBDIsi:lConnected:=.T.
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad
from Productos')
oSql:lDisplayErrors:=.F.
for i:=1 to 4
do case
case i==1
cCodigo:='4 '
nCantidad:=5
case i==2
cCodigo:='1 '
nCantidad:=2
case i==3
cCodigo:='8 '
nCantidad:=14
case i==4
cCodigo:='2 '
nCantidad:=25
endcase
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(cCodigo)
oSql:Open()
cDescrip :=oSql:NombreProducto
nUnitario:=oSql:PrecioUnidad
if i==1
::Productos:Open({{cCodigo,cDescrip,nCantidad,nUnitario,0,nC antidad*nUnitario,0,21,0}}
, ;
{'Codigo','Descripcion','Cantidad','Unitario' , ;
'PrecSIva','Neto','Stock','TasaIva' , ;
'Descuento' ;
})
else
::Productos:AddNew()
::Productos:Codigo :=cCodigo
::Productos:Descripcion:=cDescrip
::Productos:Cantidad :=nCantidad
::Productos:Unitario :=nUnitario
::Productos:Neto :=nCantidad*nUnitario
::Productos:UpDate()
endif
oSql:Close()
next
::RecalcTotal('TODO')
oSql:End()
::oDBBrowse1:nColSel:=3
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column1PostEdit( oSender, Value, lCanceled, nKey ) CLASS
TForm2
local nValue, cSelect, oSql
if ::Productos:lOpen .and. !lCanceled
cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(Value)
oSql:=::oBDIsi:NewDataSet(cSelect)
oSql:lDisplayErrors:=.F.
oSql:Open()
if empty(Value)
::Productos:Descripcion:=''
::Productos:Unitario :=0
else
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
endif
::Productos:Codigo:=Value
::CalcNeto()
oSql:Close()
oSql:End()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD CalcNeto() CLASS tForm2
if valtype(::Productos:Unitario)<>'N'
::Productos:Unitario:=0
endif
if valtype(::Productos:Cantidad)<>'N'
::Productos:Cantidad:=0
endif
::Productos:Neto:=::Productos:Unitario*::Productos:Cantidad
RETURN(::Productos:Neto)
//---------------------------------------------------------- --------------------
METHOD DBBrowse1Column3PostEdit( oSender, Value, lCanceled, nKey ) CLASS
TForm2
if ::Productos:lOpen .and. !lCanceled
::Productos:Cantidad:=Value
::CalcNeto()
endif
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD BtnBmp1Click( oSender ) CLASS TForm2
local cAux:='', nValue, cSelect, oSql
/// DESCONECTO EL BROWSE DE LOS DATOS PARA QUE NO SE ACTUALIZE EL BROWSE
///
::Productos:lUpdLinked:=.F.
/// VOY AL PRIMER ITEM
::Productos:gotop()
/// CREO UNA CONSULTA ///
oSql:=::oBDIsi:NewDataSet('select idproducto,nombreproducto,preciounidad
from Productos')
oSql:lDisplayErrors:=.F.
/// BUCLE DE RECORRIDO DE TODOS LOS ITEMS ///
while !::Productos:eof()
/// SI NO TIENE PRODUCTO PASO A LA SIGUIENTE LINEA ///
if empty(::Productos:Codigo)
::Productos:skip(1)
loop
endif
/// BUSCO EN LA TABLA EL PRODUCTO QUE RECORRO ///
oSql:cSelect:="select idproducto,nombreproducto,preciounidad from
Productos" + ;
" where idproducto="+alltrim(::Productos:Codigo)
/// ABRO LA CONSULTA
oSql:Open()
/// ACTUALIZO LOS DATOS DEL ITEM EN LA GRILLA
/// CON LOS DE LA BASE DE DATOS
::Productos:Descripcion:=oSql:nombreproducto
::Productos:Unitario :=oSql:PrecioUnidad
/// CALCULO EL TOTAL DEL ITEM CANTIDAD*UNITARIO
::CalcNeto()
/// ARMO UN STRING PARA MOSTRAR AL FINAL DEL BUCLE ///
cAux+='Recorri registro '+strzero(::Productos:recno(),2) + ;
' '+alltrim(::Productos:Codigo) + ;
' '+alltrim(str(::Productos:Cantidad,9,1)) + ;
' '+alltrim(str(::Productos:Unitario,9,2)) + ;
' '+alltrim(str(::Productos:Neto,9,2))+chr(13)+chr(10)
/// CIERRO LA CONSULTA
oSql:Close()
/// PASO AL SIGUIENTE REGISTRO ///
::Productos:Skip(1)
/// FIN DEL BUCLE ///
enddo
/// VUELVO A CONECTAR EL BROWSE A LOS DATOS
::Productos:lUpdLinked:=.T.
/// DEJO EL PUNTERO EN EL PRIMER REGISTRO
::Productos:gotop()
/// DESCTRUYO LA CONSULTA
oSql:End()
/// TE MUESTRO LOS ITEMS QUE RECORRI
MsgAlert(cAux,'Ver')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosAddNew( oSender ) CLASS TForm2
::Productos:Cargo:='AGR'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosCancel( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosEdit( oSender ) CLASS TForm2
if ::Productos:Cargo<>'EDI'
::RecalcTotal('RESTA')
endif
::Productos:Cargo:='EDI'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostDelete( oSender ) CLASS TForm2
::RecalcTotal('TODO')
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPostOpen( oSender ) CLASS TForm2
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD ProductosPreAppend( oSender ) CLASS TForm2
if ::Productos:RecCount()>=14
MsgAlert('No puede agregar mas de 14 items ...')
RETURN(.F.)
endif
RETURN(.T.)
//---------------------------------------------------------- --------------------
METHOD ProductosUpdate( oSender ) CLASS TForm2
if ::Productos:Cargo<>'ESP'
::RecalcTotal('SUMA')
endif
::Productos:Cargo:='ESP'
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD RecalcTotal(cTipo) CLASS TForm2
local nRec:=::Productos:recno(), nAux1, nAux2
nAux1:=::Productos:Unitario*::Productos:Cantidad
do case
case cTipo=='SUMA'
::nTotal+=nAux1
::nItems+=round(::Productos:Cantidad,0)
case cTipo=='RESTA'
::nTotal-=nAux1
::nItems-=round(::Productos:Cantidad,0)
case cTipo=='TODO'
::Productos:lUpdLinked:=.F.
::Productos:gotop()
::nTotal :=0
::nItems :=0
while !::Productos:eof()
nAux1:=::Productos:Unitario*::Productos:Cantidad
::nTotal+=nAux1
::nItems +=round(::Productos:Cantidad(dsFIELD),0)
::Productos:skip(1)
enddo
::Productos:goto(nRec)
::Productos:lUpdLinked:=.T.
endcase
::lblTotal:cText:='TOTAL:'+transf(::nTotal,[email='@E]'@E[/email] 999,999.99') + ;
' ITEMS:'+str(::nItems,3)
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button1Click( oSender ) CLASS TForm2
::oBtnBmp1:lEnabled:=.F.
::Productos:AddNew()
::Productos:UpDate()
::oDbBrowse1:nColSel:=1
::oBtnBmp1:lEnabled:=.T.
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
METHOD Button2Click( oSender ) CLASS TForm2
if ::Productos:reccount()>1
::Productos:Delete()
else
::Productos:Edit()
::Productos:Codigo :=''
::Productos:Descripcion:=''
::Productos:Unitario :=0
::Productos:Cantidad :=0
::Productos:Neto :=0
::Productos:UpDate()
::oDBBrowse1:Refresh()
endif
::oDbBrowse1:SetFocus()
RETURN Nil
//---------------------------------------------------------- --------------------
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
news:[email=455df77a@news.xailer.com...]455df77a@news.xailer.com...[/email]
> Ignacio el ejemplo, la seccion que tenes que revisar tiene 14 lineas y
> esta
> toda comentada no tenes que agregar los datos ni nada. Bueno en fin
> dejalo,
> la verdad que le dedique bastante tiempo para hacerlo y comentarlo.
>
> Saludos
>
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
> news:455dbd10$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Christian,
>>
>> Como te comento. Te ruego que hagas un ejemplo más simple o me digas como
>> reproducirlo con cualquier ejemplo que incluye Xailer. Lo siento.
>>
>> Un saludo
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>> news:[email=455d97b7@news.xailer.com...]455d97b7@news.xailer.com...[/email]
>>> Ignacio probe lo que me envias y se me soluciono el problema de la
>>> cantidad que se me duplicaba en la linea de abajo. Con respecto al
>>> primer
>>> problema persiste, he modificado el programa para que ya te aparezca con
>>> datos cargados y comente c/linea entre la 153 y 212, el bucle que es
>>> donde esta la falla solo tiene 14 lineas. Espero que no me consideres un
>>> pesado y puedas probarlo y ver de que se trata.
>>> Lo unico que tenes que hacer es un click en la cantidad 25 y escribir
>>> otra y directamente hace un click en el boton grabar, luego proba hacer
>>> un click en la cantidad presiona enter y hace un click en grabar.
>>>
>>> Espero no tener que molestarte mas.
>>>
>>> Saludos Atte desde la Patagonia Argentina
>>> Ing. Christian Assenza
>>>
>>>
>>>
>>>
>>> "Christian" <christianassenza@yahoo.com.ar> escribió en el mensaje
>>> news:[email=4558d5f2@news.xailer.com...]4558d5f2@news.xailer.com...[/email]
>>>> Por fin logre reproducir la falla, (ver seccion del codigo VER 1), si
>>>> yo
>>>> estoy dentro del browse y edito la cantidad y para salir no presiono
>>>> enter
>>>> si no que directamente hago un click en el boton 'Grabar' fijate que al
>>>> mostrar los datos que recorri del tMem solo me aparece la ultima fila o
>>>> la
>>>> fila en que estoy para abajo (debes probarlo con 4 o mas lineas), si
>>>> quito
>>>> la seccion VER 1 de (A) a (B) y quito ademas las lineas (C) funciona de
>>>> maravilla el codigo.
>>>>
>>>> Y la otra falla (ver seccion del codigo VER 2) cada ves que estoy en la
>>>> cantidad y presiono enter, si estoy en la ultima linea quiero que se
>>>> agregue
>>>> una nueva pero la cantidad se me repite en la linea de abajo, como
>>>> deberia
>>>> programar esto para que no me pegue la cantidad en la linea de abajo
>>>> ???.
>>>>
>>>> Ambos problemas me preocupan de sobremanera imagina un sistema de
>>>> pedidos
>>>> que mezcla los precios ?. Se que este es mi primer proyecto de ese
>>>> estilo y
>>>> recibire antentamente cualquier sugerencia para que funcione de la
>>>> mejor
>>>> manera.
>>>>
>>>> Saludos Atte.
>>>> Ing. Christian Assenza
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>