CAMPOS NUMÉRICOS INTRODUCIR UN NUMERO


([N1] alamillos) #1

Miguel, siento mucho lo que te pasa y entiendo tu frustación.

Yo solucionado la forma de introducir un número de la siguiente forma, te pongo un ejemplo. Como verás en V7 no podemos usar los campos numéricos como en la V6, que lo introducimos directamente en el campo de la tabla por medio del campo en un formulario, te pongo un ejemplo de linea de asiento, como verás la linea tiene el debe y el haber, pues bien si intentas introducir directamente el numero en el campo del formulario te sale un cero dado que es un campo numérico, ese dichoso cero te fastidia un montón en el momento de introucir un número asi que lo mejor es crear una variable texto , no lo hagas con variable numérica porque seguirias teniendo el mismo problema, introduce la cantidad en la variable numerica y luego asocia la tecla Aceptar a un evento en el que te convierta la cadena a numero y ya lo tienes de una forma limpia se introduce un numero.

Como verás en el ejemplo la parte superior son campos numéricos y la parte inferior son variables de texto.

[attachment=15624,1290]


([N4] info) #2

Gracias jdalamillos
pero ¿como solucionas el tema de permitir que en una cadena teoricamente númerica se pueda introducir cualquier caracter?
Antes de la comprobación en el evento claro.

un saludo
Miguel


([N1] alamillos) #3

Buenas Miguel.
No hace falta hacer comprobación, si metes un caracter que no sea numérico el resultado es cero. si en la tabla al campo numerico le pones la propiedad de signo verdadero, el resultado cuando metes una cantidad negativa también te da correcto.
Saludos.
Juan Díaz


([N4] info) #4

Hola Juan, Gracias
No se si te entiendo mal
me referiaa que no se deberia permitir teclear un caracter no numerico en un campo que a efectos del usuario es numerico
aunque luego lo compruebes.
un saludo
Miguel


([N1] alamillos) #5

Bueno eso no lo he intentado pero paso a investigarlo, si lo descubro lo pongo en el foro.
Saludos
Juan Diaz


([N4] info) #6

OK, ya mirare yo tambien haber si hay otra sol.
Miguel


([N4] info) #7

Postdata:
Para esto si estaría bien lo que alguien comentaba, ante cosas que no funcionan y mientras se solucionan "RAPIDEMENT"
un sitio donde velneo ponga una solucion alternativa "IF EXIST",

respuesta Velneo el 22/06/2009 11:19 UTC ya ha llovido........., luego dicen que si nos cabreamos algunos.
---Edición de campos numéricos: Realmente el control apropiado para la edición de campos numéricos es el control “MicroScrollers”.
--- En lo que respecta a tu pregunta sobre el uso del control de edición y los decimales, en cuanto tengamos alguna novedad al respecto serás convenientemente informado.


([N1] alamillos) #8

El control microScrollers yo no lo uso por ser antiestético, no me gusta nada, es feisimo, y puede inducir al error al usuario final, así que o cambian la forma del microsSrollers, por cierto puse una idea sobre este asunto. o yo no lo uso para nada, prefiero trabajar con variables.


([N4] info) #9

YA, Si el problema es que unas veces se dice una cosa y otras otra y ademas tampoco funciona el microscroler como debiera con el punto decilam coma etc... y lo que digo es ya esto trae cola desde hace mas de un año y na de na.
Miguel


([N4] Jorge) #10

Se me ocurre una posible solución sencilla de implementar, ocultar los microscrollers mediante CSS.

Si el microscroller se oculta tendremos algo parecido a lo que necesitamos. La solución no es perfecta pero no parece demasiado dolorosa de implementar.

Espero no meter demasiado la pata.

Atentamente,
Jorge Hontoria
http://tipesoft.com


([N2] overall) #11

Hola a todos, siguiendo con el tema de la introducción de números, pero desviándolo un poco, quisiera comentar un punto también muy importante.

Los decimales con los que trabajamos; me explico.

Según el negocio del cliente, el precio del artículo, al igual que las unidades, podrá ser desde 2 a 6 decimales. Así que nosotros tendremos que definir dichos campos con 6 decimales, para cubrir todas las posibles instalaciones. Nosotros podemos controlar el tema de los redondeos, presentación en pantalla, informes, etc..., pero no el campo de edición donde introducimos los datos, que siempre nos aparecerán los 6 decimales, muy molesto y engorroso para la persona que introduce los datos y el mal efecto que hace.

Como podríamos presentas solo 2 decimales en la introducción de datos si hemos definido 6?

Saludos
Overall
Luis Palomo
overall@massoicb.com
www.overall-bcn.com/v7


([N2] gegeo) #12

@overall,

No se si utilizando numberToString(#CAMPO, "L", 2) en el contenido del control te solucionaria eso.

Pero en cualquier caso, si opera con 6 decimales, ¿te piden que solo introduzcan 2 ?

Saludos


([N1] alamillos) #13

Buenas tardes, he realizado pruebas con 6 decimales y el resultado es correcto, al convertir la cadena de texto en numerico lo redondea correctamente a la configuración de decimales deseada.
Saludos a todos
Juan Díaz.


([N2] overall) #14

Hola gegeo, la opción que me das ya la probé, pero no funciona, siempre aparecen los 6 decimales.
Hay clientes que necesitan 4 o 6 decimales para tratar las unidades, ya que sus productos lo requieren, en cambio muchos otros, solo operan con 2 decimales. Lo que quiero es que cada uno pueda introducir los datos con los decimales que quiera, y no tener que ver siempre 6 decimales cuando nunca los vas a necesitar. Queda fatal ver siempre 6 decimales y al cliente le molesta mucho. A través de máscaras o de alguna función se debería poder gobernar esta opción.

Hola Juan, el redondeo lo hace bien, pero me repito en lo anterior, si solo trabajo con 2 decimales, pera que quiero ver 6.

Saludos
Overall
Luis Palomo
overall@massoicb.com
www.overall-bcn.com/v7


([N1] alamillos) #15

Overall
Tu mete 6 decimales pero solo veras 2, porque al campo le has dicho que quieres dos decimales, pero si lo que quieres es que cada cliente puede configurar el mismo el numero de decimales que desea ver, creo que tal como está V7 no puede ser.
Se me ocurre que tendrias que hacer una mini-aplicación para conseguir lo que tu quieres.
Saludos
Juan Díaz


([N2] overall) #16

Hola Juan, el campo tiene 6 decimales, por lo que siempre se verán 6 cuando estemos editando el campo en vClient.
Gracias a todos.
Saludos
Overall
Luis Palomo
overall@massoicb.com
www.overall-bcn.com/v7


([N1] alamillos) #17

Buenos dias
Siguiendo la opción que da Jorge Hontoria ¿que os parece estos microScrolers?
a veces la solución es mucho mas fácil de lo que parece.
Saludos
Juan Diaz

[attachment=15703,1294]


([N1] Giuseppe::Komenco) #18

@Juan Díaz

Buenos días Juan,

Como complemento a la imágen de Juan Díaz....

Estoy mirando la documentación, y no sólo se puede desactivar, si no que se puede también cambiar la imágen....
El Microscroller es un QSpinBox, y su configuración de CSS es: http://doc.trolltech.com/4.5/stylesheet-examples.html#customizing-qspinbox

Por lo que, por ejemplo, con:
QSpinBox::up-arrow {
image: url(:/images/up_arrow.png);
width: 7px;
height: 7px;
}

Podemos modificar la imágen, ancho y alto que representa la flecha arriba en este caso.

O con
QSpinBox::up-arrow:disabled

Deshabilitaríamos la flecha arriba (que no sé si es exactamente lo que habrá hecho Juan, no he tenido tiempo de probarlo).

Un saludo.


([N1] alamillos) #19

Lo que he hecho es simplemente tapar las flechas con un fondo igual que el formulario, simplemente.


([N4] Jorge) #20

Me parece que existen dos clases para tratar el estilo de los SpinBox...

QSpinBox
QDoubleSpinBox

Podeis hacer lo que querais con ellos... cambiar los iconos, ocultarlos, cambiarlos de lugar... nosotros tenemos implementado en la versión Maemo unos bastante potentillos.

Atentamente,
Jorge Hontoria
http://tipesoft.com