Problemas de impresión

Hola Maxisis, vieras que le estoy ayudando a un amigo que tiene una ferretería pequeña y tienen un sistema hecho en fox y tenía varios problemas, ya corregí muchos de ellos según me enseñaste en mi proyecto, quité las tablas de los formularios y cambié los replace por insert, funciona mucho mejor, pero tengo un inconveniente, a la hora de imprimir hago un select xxx desde la tabla into cursor encabezado y otro igual para el detalle pero en ocasiones me imprime solo algunas de las lineas del detalle aunque en el cursor si están todas. ¿Tienes idea de qué puede ser? Al reporte también le quité todas las tablas que tenía y los campos llaman directo al cursor por ejemplo encabezado. Cliente o detalle. Código
Saludos

1 respuesta

Respuesta
1
Pueden ser muchas cosas. Me inclino a que sea algo del reporte. Fíjate en las propiedes de los campos de detalle a ver si no tienen puesta alguna condición para mostrar o no, o si tienen puesto "No imprimir valores repetidos". Fíjate por ese lado. Sino mandame el reporte a mi mail y lo veo.
He revisado todos los valores y los veo bien, incluso, a veces funciona bien y a veces no. Si me regalas tu dirección de correo te envío el reporte para ver si le llegas al problema.
Saludos
Disculpame la demora. El fin de semana ni me acerqué a la compu.
Te cuento lo que veo según lo que me enviaste.
Estás haciendo un reporte con 2 cursores, y hay campos que no están reverenciando al cursor (por ejemplo, nom, ced, ubi, tel...). Tené en cuenta que los reportes trabajan tomando el cursor o tabla que viene en el área de trabajo actual, y al llegar a la sección de detalle repiten la línea tantas veces como registros hay en la tabla o cursor en uso. Si por algún motivo queda seleccionada la tabla "encafac2" (que supongo tiene un solo registro), va a imprimir un solo registro de detalle. Lo que te sugiero es que trabajes con un único cursor (por lo menos hasta que le tomes bien la mano a los reportes).
Podrías hacer así:
select temfac.numfac, temfac.CODCLIENT, temfac.fechaprev, temfac.vence, temfac.cliente, temfac.telefono, temfac.direccion, temfac.subtotal, temfac.impuesto, temfac.totalcol, temfac.id_vend, temfac.transporte, temfac.descuento, temfac.contado, temfac.aparta, temfac.id_vend, detfac.codigo, detfac.articulo, detfac.color, detfac.cantidad, detfac.p_unit, detfac.totalart, detfac.grex
from temfac
left join detfac on temfac.numfac = detfac.factura

where temfac.numfac = thisform.txtnumero.value
into cursor <elnombrequequieras>
De esta forma vas a tener todo en un solo cursor (obviamente vas a tener todos los datos de cabecera repetidos en cada registro, pero como es una consulta chica no te va a dar problemas.
Ojo. Esta consulta no la probé y puede tener algún error de redacción que no noté, pero es para mostrarte la idea.
Si probás esto, acordate de revisar los campos del reporte, que siguen reverenciando a los cursores y posiblemente tengas que arreglarlo.
Suerte !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas