Re:Re:Ejecutar proceso por cada linea, similar a callout

Inicio Foros Foro principal Desarrolladores Ejecutar proceso por cada linea, similar a callout Re:Re:Ejecutar proceso por cada linea, similar a callout

#34440
Javier AderJavier Ader
Participante

Buenas, me meto jaja. No se si termino yo también de entender, pero si los campos son para “consulta” (e.d, no los vas a editar) y se genera un grupo de estos campos por cada fila entonces me imagino que no tenes que usar callouts (esos metodos se usan solo para producir cambios o validaciones en tiempo de edición) si no columans virtuales.
Ejecuta esta sentencia sql para ver ejemplos de tabla que tienen columanas virtuales y como se usan

Code:
select t.tablename,c.columnname, c.columnsql , c.* from
ad_column c
inner join ad_table t on (c.ad_table_id = t.ad_table_id)
where
c.columnsql is not null

(fijate que lo que podes poner es casi cualquier sentencia sql que genere un solo valor; la complejidad es arbitraria siempre y cuando las referencias a las columnas de la “tabla madre” estén bien definidas; si no, te va a tirar un error semántico a nivel sql )
Ahora, estos columnas virtuales a su vez van a tener un representación visual via un campo (igual que cualquier otra columna); no lo chequie, pero me da la sensación que estos campos a su vez pueder ser modificados via callouts seteados en otras columnas no virtuales.
Por ej, digamos que Juguetes tiene dos columnas no virtuales Peso1 y Peso2; y queres un tercer valor solo visual que sea el PesoTotal = Peso1 + Peso2. Esto se hace a nivel de Tabla (en Libertya) agregando (a mano) una columna llamada PesoTotal y setenadole el valor en sql (Peso1 + Peso2) (si no eso no anduviese, probar con (Juguetes.Peso1 + Juguetes.Peso2) ). Esta columa la podes usar desde un pestaña que muestre los juguetes.
Ahora, esto creo que tiene el problema de que si el usuario modifica Peso1 o Peso2, el PesoTotal en la ventana no se va a recalcular hasta que salve la fila (pero cuando carge los Juguetes van a mostrar el valor correcto)…. si uno quisiese hilar fino, se le podría setear un callout un Peso1 y otro en Peso2 (o el mismo en los dos…) que vaya moficando “en vivo” el valor del campo PesoTotal (pero ojo, esto ultimo nunca lo probe y no se si los camos asociados a columnas virtuales se pueden modificar via callouts, pero casi seguro que si… es mas casi seguro que se esta haciendo con alguna de las columans virtuales que existen en uso).

PD : Ojo, no se si es muy recomendable usar este tipo de cosas muy a la ligera… el valor de las columans virtuales se va a calcular por cada una de las filas que traigas; si el sql usadas en esta es muy complejo o trae muchos datos puede potencialmente hacerte ralentar mucho la carga inicial de la tabla (si es muy compleja, el servidor va tardar mucho en calcular; si es muy “grande” a nivel de datos, va a tardar mucho en poder enviarlos)