mjpedreira1
21st September 2005, 10:34
Hola,

si tengo una pantalla de mantenimiento de varios registros, ¿cómo puedo detectar que ninguno de ellos está marcado?

Gracias

bilmaa
21st September 2005, 20:09
puedes ver la variable g.n.marked que te da el numero de ocurrencias seleccionadas

mjpedreira1
23rd September 2005, 13:12
Me sirve la respuesta.

De dónde sacaste información de estas variables??

Muchas gracias

petguego
29th December 2005, 03:07
Eso yo tampoco lo conocia, tengo otra pregunta, si uno marca varios registros y tengo que hacer un proceso con cada registro marcado, como puedo procesar solo los marcados??? Gracias

zancudo
30th December 2005, 14:44
Aqui adjunto un ejemplo para detectar lineas seleccionadas :

choice.user.1:
on.choice:
if marked then
if hay.mas.de.una.lin.sel() then
message("Debe seleccionar sólo una linea!")
else
for i=1 to filled.occ
if mark.table(i) then
do.occ(i, pasa.num.orden)
endif
endfor
zoom.to$("tcmaro406m000", z.session, "", "", 0)
endif
else
message("Debe seleccionar una linea!")
endif




function domain tcbool hay.mas.de.una.lin.sel()
{
domain tcbool aux
long i, kk

kk = 0

for i=1 to filled.occ
if mark.table(i) then
kk = kk + 1
endif
endfor

if kk>1 then
aux = true
else
aux = false
endif

return(aux)
}

wgarcia
18th April 2006, 20:31
Saludos,

La variable predfinida marked toma el valor true si existe por lo menos 1 registro seleccionado, esto quiere decir que no nos da el numero de selecciones hechas por el usuario. La cantidad de registros seleccionados se guarda en la variable predefinida "number.of.marks" la cual nos devuelve la cantidad de registros seleccionados en la grilla.
El arreglo "mark.table(indice)" nos indica cuales de los registros de la grilla estan seleccionados (si el valor es igual a 1) y la variable predefinida actual.cc guarda el numero del registro actual. Esto significa que con mark.table(actual.occ) puedes ejecutar la funcion que necesites para los registros seleccionados solamente.


Buena suerte!!

BirgitCuya
6th September 2007, 01:56
Tengo una pantalla de mantenimiento de varios registros (mas de los que se ven en pantalla) y necesito numerar todas las lineas.

Si aplico actual.cc me muestra bien solo el primer grupo de registros, pero si avanzo me reinicia la secuencia y no puedo ver el total de lineas que tengo seleccionadas para el mantenimiento (no son lineas marcadas)

¿como me aconsejan manejarlo?

Gracias