Capturar datos de un grid

Buen Día Señor experto
Agradezco su valiosa colaboración. Tengo un problema con la captura de una información que tengo en un grid, necesito darle doble click a un item que me muestra este grid y pasarlo a otra tabla cursor para seleccionar más item me explico estoy haciendo un programa de facturación en el cual yo puedo facturar varios servicios con una sola factura. Consulta de Oftalmología más Examen de Biometría estos servicios los muestra en un grid con mucho más servicios necesito que al darle doble click a uno me lo almance en una tlabla para almacenar otros si es el caso.
Al igual cada servicio tiene un valor me gustaría también tener el código para general el valor en letras agradezco mucho su colaboración.
(xxxxxx)
{"lat":3.86618141349598,"lng":-76.6401100158691}

1 respuesta

Respuesta
1
mil disculpas por la demora, bueno, lo que creo que quieres es tener un form con un grid vinculado a un cursor que vaye acumulando lo que el usuario seleccione de una lista, bueno, para ello en el evento init de tu grid puedes hacer lo siguiente
thisform.grid1.recordsource = ' ' &&para que el grid no se dañe
create cursor temp(codigo N(2), descripcion C(30), cantidad N(12), precio N(12,2))
thisform.grid1.recordsource = 'temp'
Bueno, con esto ya tienes el cursor, luego tendrías otro objeto en donde seleccionarías los servicios, puede ser un combo o list vinculado a la tabla servicios o algo por el estilo, supongamos que tienes vinculado la tabla servicios a un combo.
thisform.combo1.rowsourcetype = 2
thisform.combo1.rowsource = 'servicios'
Luego en el evento click de este combo cargaras en algun texbox el precio del servicio, o sea cuando el usuario le de click al combo este hara
thisform.txt_precio.value = servicios.precio
luego el usuario ingresara la cantidad en algun text y presionar algun boton agregar, este boton agregar tendria en su evento click lo siguiente.
Se le temp
Append blank
replace codigo with val(thisform.combo1.value) &&esto depende de la propiedad boundcolumn, asegurate de que el codigo del servicio sea la primera columna
replace descripcion with thisform.combo1.displayvalue
replace cantidad  with thiform.txt_cantidad.value
replace precio      with thisform.precio.value
thiform.grid1.refresh
PD: oLVIDE LOS subtotales, etc, pero bueno, esta es la idea.
Gracias por contestarme!
Me gustaría hacer lo mismo pero con un grid al hacer doble click que lo almacene en el otro no estoy tratando de hacer con el ejemplo que me enviaste pero no lo he podido hacer nuevamente te pido la ayuda gracias por su valiosa colaboración..
(xxxxxx)
Colombia
NO se si entendi, en vez del combo quieres usar otro grid?, lo unico que va cambiar es
que en vez de
thisform.combo1.rowsource = 'servicios'
tendrias thisform.grid2.recordsource = 'servicios'
Y para traer lo seleccionado tendrás que programar en el evento click o lostfocus del text de la columna que quieras la forma de buscar o guardar el dato en una variable para que luego se almacene en el cursor, la diferencia es mínima
Gracias por su valiosa colaboración pero este es el problema de origuen que no se como hacer para traer lo seleccionado en el grid a una tabla temporal le he intentado mucho pero no lo he podido lograr agradezco que me ayude con este tema. Al igual la otra opción es muy buena también pero necesito que sea en un grid espero no molestarlo mucho pero necesito de su valiosa ayuda y mil y mil gracias...
Lo que pasa es que lo seleccionado en el grid quieres traer a una tabla temporal?,bueno l.o seleccionado el en grid es justo el registro actual de la tabla vincualada al grid, es decir
si el grid.recordsource = "clientes"
Entonces si en el grid comienzas a moverte el se ira moviendo por los registros, y lo único que haces es tomar los valores seleccionado el campo porejemlo
se le clientes
xReg = cli_codigo
* luego para buscaresto en otra tabla por ejemplo seleeciono un cliente y quiero ver todas sus facturas hago asi
select * from facturas where fac_cliente=xReg into cursor factus
thisform.grid2.recordsource = 'factus'
Es lo que yo haría, no se si entendí

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas