Haciendo un intermedio en la serie sobre cómo crear una aplicación utilizando Oracle Apex, quiero ofrecerles este «truco» para poder calcular el valor de un campo numérico a partir de otros dos campos.
Para esto, lógicamente necesitamos una página que contenga una región con tres campos de tipo texto:
- Los campos con los valores a utilizar PX_1 y PX_2 (donde X es el número de página de la aplicación).
- El campo donde dejaremos en resultado de la operación PX_TOTAL.
Para realizar la suma de los campos PX_1 y PX_2, primero copie el siguiente código en la «Cabezera HTML» de la Página:
<script type=»text/javascript»>
function sumaItems()
{
function getVal(item)
{
if(document.getElementById(item).value != «»)
return parseFloat(document.getElementById(item).value);
else
return 0;
}
document.getElementById(‘PX_TOTAL’).value =
getVal(‘PX_1’) + getVal(‘PX_2’);
}
</script>
Por supuesto, cambie los nombres de variables por los que usted está utilizando.
Segundo: en el campo PX_2, en los «Atributos de Elemento de Pantalla HTML», escriba el siguiente código:
onBlur=»javascript:sumaItems()»
Eso es todo, ahora ejecute su página y escriba dos valores numéricos en los campos PX_1 y PX_2, luego del campo PX_2 pulse la tecla de tabulación y el campo PX_TOTAL será calculado y su valor mostrado.
Como es de suponer, puede realizar cualquier otro tipo de cálculos más complejos.
Puede ver este ejemplo implementado para suma, resta, multiplicación y división en mi aplicación de ejemplo en OTN, en la siguiente dirección: http://apex.oracle.com/pls/otn/f?p=56897.
Nice post u have here 😀 Added to my RSS reader
Felicitaciones por la idea.
Quisiera saber como puedo insertar datos a una tabla desde una aplicacion en apex, pues con el boton «add row» apararece un registro vacio pero no me permite ingresar valores en algunos campos. Espero puedas ayudarme!
Hola Ilsen:
Con mucho gusto te puedo ayudar, lo que si me gustaría es que me des un poco más de información, acerca del problema que tienes, porque con lo que escribes es un poco dificil darte una respuesta. Lo normal es que si creaste la forma contra una Tabla o Vista y le agregaste la funcionalidad de agregar registros ésta se pueda efectuar sin ningún problema, así que si me describes lo que hiciste y el resultado que estás obteniendo (mensajes de error), con mucho gusto te ayudo a resolver tu problema.
Saludos.
Hola Eddie:
Gracias por responder. Lo que hice fue crear un tabular form sobre un esquema y en las operaciones permitidas seleccione la opcion: Update, insert and delete luego seleccioné el nombre de la tabla, selecciono la clave primaria y cuando ejecuto la aplicacion este campo no se puede modificar, pues aparece como «null».
Ilsen:
Hay ciertas consideraciones que tienes que tomar en cuenta cuando utilizas la herramienta Apex, una de ellas es en cuanto a las llaves primarias. Lo normal en este campo, es que NO PUEDAS modificar manualmente las llaves primarias, las debes «manejar» por medio de un trigger, ya sea con el uso de una secuencia o de alguna función que te genere la llave, por esa razón es que tienes esos problemas.
Por lo demás, en la forma tabular es que definas que campos puedes modificar y cuales no.
Espero que esto te sirva, si aún tienes alguna duda al respecto estoy para servirte.
Saludos.
Gracias por la información, ahora estoy utilizando una secuencia y un trigger para generar mi llave primaria, y mi aplicacion por ahora ya no tiene problemas.
Buenos días,
Estoy empezando en el mundo de Apex, y estoy tratando de desarrollar un pequeño producto, para utilizar variables globales a los que se le asigna un valor o se puede utilizar en todo el producto, necesito una guía para saber cómo puedo configurar este tipo de variables , ¿cómo puedo acceder a ellas, y cómo puedo asignar.
Gracias…
hola no se si aun puedan ofrecer ayuda con el tema… a la fecha estoy trabajando en apex 4.2, y necesito implementar esta funcion de sume, el problema es que ya he reemplazado todos los campos como dice en el tuto, y no me funciona, agradeceria su ayuda pues me urge implementarlo, tambien si es posible exponer servicios web desde apex, gracias.
Fabio …
Buenas amigos. Escribo para ver si existe la posibilidad de que me ayuden a sumar campos con contenido numerico dentro de una tabular form.
Tengo un tabular frm con las siguientes columnas : producto,precio,cantidad,subtotal .cada fila representa un producto diferente pero necesito que cada vez q el usuario cambio la cantidad del producto , en otro campo (sub-total) se genere el calculo de la cantidad de productos por el precio unitario
Mucho sabria agradecerles si me dan una pronta respuesta.
Yo quiero hacer lo mismo que Armando JVM, algún aporte?
Para Armando y Max, aca les dejo el enlace a la publicación en donde explico como realizar lo que desean: http://www.expertos-oracle-apex.com/?p=463
Muy buen dia, espero sigas dando información, realmente lo necesito.
Estoy utilizando tu script pero solo me funciona en la primera fila de mi tabla, las filas de la tabla están generadas por un while que saca información de una base de datos, que me sugiere que haga para poder hacer que el script me funcione en cada una de las filas que genera el while. Muchas gracias.