cargar una queue
-
- Al nivel de RZ
- Mensajes: 210
- Registrado: Vie Feb 25, 2011 7:16 pm
- Contactar:
cargar una queue
hola amigos
otra consulta
como puedo cargar una queue de 1 al 50
item
1
2
3
4
5
.
.
.
.
50
desde ya gracias
otra consulta
como puedo cargar una queue de 1 al 50
item
1
2
3
4
5
.
.
.
.
50
desde ya gracias
-
- Ayudante de Santa
- Mensajes: 53
- Registrado: Lun Feb 07, 2011 10:50 pm
- Contactar:
-
- Al nivel de RZ
- Mensajes: 210
- Registrado: Vie Feb 25, 2011 7:16 pm
- Contactar:
Re: cargar una queue
hola leo
no carga con este codigo
solo carga una sola linea
item
50
##
asi carga
adjunto una imagen de la planilla esta en word,, debe verse asi alli esta cargada nombre de los alumnos asta el item 39
y del item 40 al 50 estan vacia, esa es la forma que debe salir la planilla
en un curso maximo hay 50 alumnos,, puede que aya menos alumnos peo siempre el item debe imprimir asta el nrode orden 50
o sea si hay 45 alumnos imprime los 45 alumnos y esos 5 que falta se tiene que imprimer asta llegar al 50
item alumnos
1
2
.
.
44 juan perez
45 maria sanabria
46
47
48
49
50
en este caso imprime asta el nro de orden 45 y luego debeb imprimer 5 registros varios
creo que me explico bien,,
edgar fernando
no carga con este codigo
solo carga una sola linea
item
50
##
asi carga
adjunto una imagen de la planilla esta en word,, debe verse asi alli esta cargada nombre de los alumnos asta el item 39
y del item 40 al 50 estan vacia, esa es la forma que debe salir la planilla
en un curso maximo hay 50 alumnos,, puede que aya menos alumnos peo siempre el item debe imprimir asta el nrode orden 50
o sea si hay 45 alumnos imprime los 45 alumnos y esos 5 que falta se tiene que imprimer asta llegar al 50
item alumnos
1
2
.
.
44 juan perez
45 maria sanabria
46
47
48
49
50
en este caso imprime asta el nro de orden 45 y luego debeb imprimer 5 registros varios
creo que me explico bien,,
edgar fernando
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
-
- Al nivel de RZ
- Mensajes: 306
- Registrado: Dom Feb 06, 2011 10:02 pm
- Ubicación: Trelew, Chubut, Argentina
- Contactar:
Re: cargar una queue
Hola Edgar
primero recorres la tabla de alumnos y cargas la queue con alumnos (no se sabe cuantos son pero son menos de 50)
free(queue)
loop .... ! buscar los alumnos condicion de filtro ,etc..
add(queue) ! carga los registros
. !
luego
loop while records(queue)<50
que:campo=''
add(queue)
.
asi la queu siempre tendra 50 registros
saludos
Daniel
primero recorres la tabla de alumnos y cargas la queue con alumnos (no se sabe cuantos son pero son menos de 50)
free(queue)
loop .... ! buscar los alumnos condicion de filtro ,etc..
add(queue) ! carga los registros
. !
luego
loop while records(queue)<50
que:campo=''
add(queue)
.
asi la queu siempre tendra 50 registros
saludos
Daniel
-
- Al nivel de RZ
- Mensajes: 210
- Registrado: Vie Feb 25, 2011 7:16 pm
- Contactar:
Re: cargar una queue
hola daniel
no carga
yo le cree una tabla donde puse nro de orde y curso como campo y los genero el nro de orden del 1 al 50 asta alli todo bien
lo relaciono con mi formulario por el campo ord:curso y for:curso
en mi reporte quiero usar las 2 tablas como principal le coloco mi tabla ordencontrol
item alumnos/as sexo
ord:item for:nomape for:sexo
el nro de orden o item me ace como quiero del 1 al 50,, pero en nombre de alumno me repite el primer nombre de alumno me repite 50 veces
alguna sugerecia
edgar fernando
no carga
yo le cree una tabla donde puse nro de orde y curso como campo y los genero el nro de orden del 1 al 50 asta alli todo bien
lo relaciono con mi formulario por el campo ord:curso y for:curso
en mi reporte quiero usar las 2 tablas como principal le coloco mi tabla ordencontrol
item alumnos/as sexo
ord:item for:nomape for:sexo
el nro de orden o item me ace como quiero del 1 al 50,, pero en nombre de alumno me repite el primer nombre de alumno me repite 50 veces
alguna sugerecia
edgar fernando
-
- Al nivel de RZ
- Mensajes: 108
- Registrado: Dom Abr 17, 2011 6:07 pm
- Contactar:
Re: cargar una queue
este es un ejemplo de una lista que se carga desde un Browse, vos adaptalo:
FREE (QUE_Alumnos_Del_Curso)
SET(BRW12::VIEW:BROWSE)
LOC:Contador = 0 !****** variable del tipo long
!aqui cargo la QUEUE desde el browse
LOOP
NEXT (BRW12::VIEW:BROWSE)
IF ERRORCODE() THEN BREAK.
Q_Orden_En_Registro = MAT3:IdNumOrdenEnRegistroAsistencia
Q_ApellidoYnombre = Lej:ApellidoYnombre
LOC:Contador += 1 !**** Otra opcion para sumar el contado LOC:Contador = LOC:Contador + 1
ADD(QUE_Alumnos_Del_Curso)
END
!al finalizar evaluamnos el valos del contador
!para asegurarno bien de que solo vamos a cargar 50 lines
If LOC:Contador < 50 then
LOOP I# = LOC:Contador TO 50 BY 1
Q_Orden_En_Registro = Q_Orden_En_Registro + 1
Q_ApellidoYnombre = ''
ADD(QUE_Alumnos_Del_Curso)
END !END LOOP
END !END IF
!PARA QUE NO TE REPITA EL ULTIMO NOMBRE DE LA LISTA EN LOS REGISTROS
!SUBSIGUIENTES LE ASIGNO UN VALOR VACIO AL NOMBRE
!ESO CON CADA CAMPO QUE TENGA
Espeo que te funcione saludos desde SAlta - Argentina
FREE (QUE_Alumnos_Del_Curso)
SET(BRW12::VIEW:BROWSE)
LOC:Contador = 0 !****** variable del tipo long
!aqui cargo la QUEUE desde el browse
LOOP
NEXT (BRW12::VIEW:BROWSE)
IF ERRORCODE() THEN BREAK.
Q_Orden_En_Registro = MAT3:IdNumOrdenEnRegistroAsistencia
Q_ApellidoYnombre = Lej:ApellidoYnombre
LOC:Contador += 1 !**** Otra opcion para sumar el contado LOC:Contador = LOC:Contador + 1
ADD(QUE_Alumnos_Del_Curso)
END
!al finalizar evaluamnos el valos del contador
!para asegurarno bien de que solo vamos a cargar 50 lines
If LOC:Contador < 50 then
LOOP I# = LOC:Contador TO 50 BY 1
Q_Orden_En_Registro = Q_Orden_En_Registro + 1
Q_ApellidoYnombre = ''
ADD(QUE_Alumnos_Del_Curso)
END !END LOOP
END !END IF
!PARA QUE NO TE REPITA EL ULTIMO NOMBRE DE LA LISTA EN LOS REGISTROS
!SUBSIGUIENTES LE ASIGNO UN VALOR VACIO AL NOMBRE
!ESO CON CADA CAMPO QUE TENGA
Espeo que te funcione saludos desde SAlta - Argentina
-
- Al nivel de RZ
- Mensajes: 210
- Registrado: Vie Feb 25, 2011 7:16 pm
- Contactar:
Re: cargar una queue
hola amigo
SET(BRW12::VIEW:BROWSE)
yo le puse BRW1 que es el mio
en esta linea da error
edgar fernando
SET(BRW12::VIEW:BROWSE)
yo le puse BRW1 que es el mio
en esta linea da error
edgar fernando
-
- Al nivel de RZ
- Mensajes: 108
- Registrado: Dom Abr 17, 2011 6:07 pm
- Contactar:
Re: cargar una queue
NEXT (BRW12::VIEW:BROWSE)
Cambia tambien esta linea por BRW1
Cambia tambien esta linea por BRW1
-
- Al nivel de RZ
- Mensajes: 210
- Registrado: Vie Feb 25, 2011 7:16 pm
- Contactar:
Re: cargar una queue
si tb lo cambie pero da error en el primero en el SET
dime la queue debe ser globalo local, este codigo se pone en el reporte o en el browse
dime la queue debe ser globalo local, este codigo se pone en el reporte o en el browse
-
- Al nivel de RZ
- Mensajes: 306
- Registrado: Dom Feb 06, 2011 10:02 pm
- Ubicación: Trelew, Chubut, Argentina
- Contactar:
Re: cargar una queue
Hola edgar, el codigo que te envie era solo el boceto de lo que podrias usar,
una version un poco mas completa seria...
el siguiente codigo se puede colocar en embebido open window o bien luego de abrir la tabla alumnos
luego de donde dice relate:alumnos.open
free(miqueue) ! miqueue es una queue declarada como local en el procedimiento del reporte, contiene un campo string para el numero de orden
! y otro para el nombre del alumno...
contador=0 !variable local para generar el nro de orden
clear(alu:record)
alu:curso=glob_curso !relacionar el campo global del curso a imprimir con al campo de la tabla de alumnos, para que el SET() y los sucesivos NEXT()
!traigan los registros ordenados por curso
set(alu:indice_por curso,alu:indice_por_curso) ! usar la key de la tabla de alumnos para recorrer la tabla en el orden alfabetico del curso
!
loop while eof(alumnos)=false
next(alumnos)
if alu:curso<>glob_curso then break. ! si el alumno no es del curso deseado, terminar el ciclo de carga
contador=contador+1
miq:orden=contador
miq:nombre=alu:nombre
add(miqueue) ! si el alumno es del curso deseado, contarlo y agregarlo a la queue
. !
loop while records(miqueue)<50
miq:nombre=''
miq:orden=''
add(miqueue)
.
luego, el reporte debe configurarse para que reciba los datos de una queue en vez de usar una tabla,ver adjunto,
la tabla alumnos debe declararse en tables tal como si se tratara de un reporte convencional
en la banda de detalle se debe hacer referencia a los campos de la queue miq:orden y miq:nombre...
el resto es cosmetica..
una version un poco mas completa seria...
el siguiente codigo se puede colocar en embebido open window o bien luego de abrir la tabla alumnos
luego de donde dice relate:alumnos.open
free(miqueue) ! miqueue es una queue declarada como local en el procedimiento del reporte, contiene un campo string para el numero de orden
! y otro para el nombre del alumno...
contador=0 !variable local para generar el nro de orden
clear(alu:record)
alu:curso=glob_curso !relacionar el campo global del curso a imprimir con al campo de la tabla de alumnos, para que el SET() y los sucesivos NEXT()
!traigan los registros ordenados por curso
set(alu:indice_por curso,alu:indice_por_curso) ! usar la key de la tabla de alumnos para recorrer la tabla en el orden alfabetico del curso
!
loop while eof(alumnos)=false
next(alumnos)
if alu:curso<>glob_curso then break. ! si el alumno no es del curso deseado, terminar el ciclo de carga
contador=contador+1
miq:orden=contador
miq:nombre=alu:nombre
add(miqueue) ! si el alumno es del curso deseado, contarlo y agregarlo a la queue
. !
loop while records(miqueue)<50
miq:nombre=''
miq:orden=''
add(miqueue)
.
luego, el reporte debe configurarse para que reciba los datos de una queue en vez de usar una tabla,ver adjunto,
la tabla alumnos debe declararse en tables tal como si se tratara de un reporte convencional
en la banda de detalle se debe hacer referencia a los campos de la queue miq:orden y miq:nombre...
el resto es cosmetica..
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados