Progress - Imprimir Registros Seleccionados en un Browse normal

 
Vista:

Imprimir Registros Seleccionados en un Browse normal

Publicado por marietta (56 intervenciones) el 07/06/2012 17:34:44
Hola,

Quiero imprimir los registros que el usuario seleccione en el browse, en pantalla solo se ven 15 registros osea si escoge 6 o 50 registros eso es lo que quiero que se imprima, en el orden que el usuario haya dado en la seleccion del search de las columnas.

Trabajo en Distribuido, el browse se llena con tabla temporal pueden ser 1 a mas de 12000 registros. intente usar el IS-ROW-SELECTED(n), pero no me resulta ya que por lo que veo toma lo que esta en el viewport..... o me falta algo... este es parte del codigo para la impresion que se me ocurrio, imprime pero no me esta funcionando porque la lista (del "IS-ROW-SELECTED") solo estaria guardando de uno hasta la cantidad que se ve en el viewport, asique no me sirve... alguna idea de como poder hacerlo? si esque se puede... gracias

hquery:GET-FIRST(NO-LOCK, NO-WAIT).
DO icount = 1 TO hquery:NUM-RESULTS:

/* IF hquery:IS-ROW-SELECTED(icount) no me sirve */
/* IF hBuffer:IS-ROW-SELECTED(icount) no me sirve */
/* PUT icount BR_tmp-ref:IS-ROW-SELECTED(icount) . */

/*solo lo que esta en ventana, mostrando lo toma para mostrarme al seleccinar*/
IF BR_tmp-ref:IS-ROW-SELECTED(icount) = TRUE
THEN DO:
PUT INTEGER(ht_item:BUFFER-VALUE) FORMAT ">>,>>9" AT 1
ht_referencia:BUFFER-VALUE FORMAT "xxxxxxxxx-x" AT 8
ht_descripcion:BUFFER-VALUE FORMAT "x(30)" AT 20
ht_modelo:BUFFER-VALUE FORMAT "x(15)" AT 52
INTEGER(ht_stock7:BUFFER-VALUE) FORMAT "->>,>>9" AT 69
INTEGER(ht_stock8:BUFFER-VALUE) FORMAT "->>,>>9" AT 77.
END.
hquery:GET-NEXT(NO-LOCK, NO-WAIT).
END.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Imprimir Registros Seleccionados en un Browse normal

Publicado por DparteD (129 intervenciones) el 08/06/2012 11:37:19
Buenas.

Creo que lo que vas a tener que hacer es crearte un Tabla Temporal que contenga las (row-id) de las row seleccionadas y soportarte en ella para imprimir. añadiendo la row-id cuando se seleccione y borrandola cuando se deseleccione, ya que creo que IS-SELECTED-ROW unicamente es valido para la ventana actual y no para todo el browse.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir Registros Seleccionados en un Browse normal

Publicado por DparteD (129 intervenciones) el 08/06/2012 14:39:17
hola de nuevo.

Dandole vueltas al tema creo que si en lugar de leer on el indice (icount)

lo hicieses con una variable que tenga cargado el valor de NUM-SELECTED-ROWS (que contiene el numero total de rows selecionadas) , podria funcionarte.


DEF VAR NROWS AS INTEGER NO-UNDO.

NROWS = NUM-SELECTED-ROWS.
IF NROWS > 0 TEHN DO:
DO A = 1 TO NROWS
IF hquery:IS-ROW-SELECTED(A) THEN DO:
......
.......
END.
END.
END.

Algo mas o menos asi.....
Espero haberme explicado....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir Registros Seleccionados en un Browse normal

Publicado por marietta (56 intervenciones) el 08/06/2012 22:48:10
Hola, gracias,

Probe lo que me indicaste pero no me funciono, pero me puse a buscar con la instruccion que anotaste (NUM-SELECTED-ROWS) y encontre un ejemplo de una grabacion en tabla y este codigo me funciono, osea un hibrido con lo que yo tenia mas tu instruccion NUM-SELECTED-ROWS y la que encontre FETCH-SELECTED-ROW, quedo asi:

DO icount = 1 TO nombrowse:NUM-SELECTED-ROWS:
IF nombrowse:FETCH-SELECTED-ROW(icount)
THEN DO:
PUT INTEGER(ht_item:BUFFER-VALUE) FORMAT ">>,>>9" AT 1
ht_referencia:BUFFER-VALUE FORMAT "xxxxxxxxx-x" AT 8
ht_descripcion:BUFFER-VALUE FORMAT "x(30)" AT 20
ht_modelo:BUFFER-VALUE FORMAT "x(15)" AT 52
INTEGER(ht_stock7:BUFFER-VALUE) FORMAT "->>,>>9" AT 69
END.
END.

ahora puedo seleccionar con ctrl y con shif, las filas que quiero imprimir del browse :) , hay un detallito con el shif pero soy feliz gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir Registros Seleccionados en un Browse normal

Publicado por DparteD (129 intervenciones) el 09/06/2012 13:02:50
Muy bien, tu has economizado lo que te indique, aunque creo que me explique mal, el bucle que te comente con NUM-SELECT-ROWS deberia hacerse dentro del bucle principal de lectura del Browse. pero tu solucio es muy elegante y meagrada que semos capaces de tarbajar y mejorar una idea.. ;). enhorabuena.

¿que te pasa con el Sifh?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar