Formulario para facturación.

He creado un formulario para una facturación pero debo de incluir en el de talle de la fcatura un numero de recete medica la cual pienso se debe capturar previamente. Y dependiendo del cliente como hago para que me muestre solo las recetas pencientes por facturar, que de un list pueda selelccionar los que requiero es y pasarlas a un nuevo list para enviarlas a facturación .
Espero me puedas ayudar de antemano gracias.

1 Respuesta

Respuesta
Ok, mira supongo que en el formulario de facturación tienes como mínimo dos tablas, la parte del encabezado de la factura (PADRE) y la de los movimientos (detalle) (HIJO), y tal vez algunas más, pero en la tabla del encabezado de la factura (PADRE) agrega un campo que se llame impreso (por ejemplo) tipo lógico, ahora bien, en el objeto tipo listbox pon en la propiedad RowSourceType = 3, y en la de RowSource pon:
Select encabezado_de_factura.folio_factura,encabezado_de_factura.fecha_factura,..... from encabezado_de_factura where !encabezado_de_factura.impreso order by encabezado_de_factura.folio_factura
Esto te seleccionara solo las facturas que no estén impresas, ahora ya que elegiste del listbox has de tener un botón imprimir, bueno...
Cuando mandes a imprimir suponiendo que tu código del botón imprimir es este:
report form factura prev noconsole .....etc.
ahora pon:
report form factura FOR THISFORM.LISTBOX_COMO_SE_LLAME.VALUE=encabezado_de_factura.FOLIO_DE_FACTURA prev noconsole..... etc.
if messagebox("se imprimio correctamente la factura",36,"Impresion")=6 && si se imprimio correctamente
repl encabezado_de_factura.impresa with .t.
Endif
De hecho seria todo, pero, recuerda que para actualizar el listbox le debes de mandar la instrucción THISFORM. LISTBOX_COMO_SE_LLAME. REQUERY(), y ejecutara el query otra vez y se actualizaran las facturas pendientes de imprimir.
Ok, creo que realice exitosamenta parte del código que me enviaste pero lo que no logro es seleccionar más de un registro, es decir selelccionar varios de un list para que por medio de un botón se carguen al otro list. Esto con la intención de quitar o poner registros en el segundo grid.
Espero tua comentarios gracias.
En el listbox hay una propiedad que se llama MULTISELECT ponlo a verdadero y así podrás seleccionar varios a la vez, pero entonces ya no imprimas según el valor del listbox si no debes de hacer una pequeña rutina como esta:
FOR xt = 1 TO ThisForm.ListBox1.ListCount
IF ThisForm.ListBox1.Selected
report form factura FOR ThisForm.COMO_SE_LLAME.List=encabezado_de_factura.FOLIO_DE_FACTURA prev noconsole..... etc.
** y lo de "¿se imprimió bieb si no, etc...)"
Endif
endfor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas