Diseño de impresión de la factura
Hola! Estoy desarrollando un sistema de facturacion y necesito hacer un formulario que le permita al usuario diseñar sus propios formatos de factura para luego aplicarlos a un reporte en crystal reports.
No se si lo voy a poder hacer con cristal reports o voy a necesitar de otro componente para los reportes. Tampoco sé como hacer esto asi que necesitaria que alguien me diga por donde empezar?
Gracias
Diego Ares
[email protected]
PD= La pista que me dieron es que puedo utiliar la propiedad PRINTER de VB (aunque se me va a complicar bastante y no se como hacerlo)
No se si lo voy a poder hacer con cristal reports o voy a necesitar de otro componente para los reportes. Tampoco sé como hacer esto asi que necesitaria que alguien me diga por donde empezar?
Gracias
Diego Ares
[email protected]
PD= La pista que me dieron es que puedo utiliar la propiedad PRINTER de VB (aunque se me va a complicar bastante y no se como hacerlo)
hola, yo tambien he tenido esa curiosidad, y he pensado mucho en esto, aunque aun no lo hago mi ideas es crear un formulario, en este caso con 3 apartados que serian encabezado, cuerpo y pie de pagina..
en cada apartado se podra ir definiendo en este caso una nueva linea hasta un limite para cada uno de los apartados, asi por ejemplo no puedes poner el encabezado a media pagina, en cada apartado y por cada linea se especificaran el texto a imprimir, y las corrdenadas de este mismo, en el caso del cuerpo del cuerpo, podria hacerse una rutina generica en la cual se especifique si se imprimira el resultado de un recordset o el contenido de un listvies(como ejemplo por ser el mas sencillo de recorrerl), en el cual se podrian agregar las columnas y lineas del detalle, y para no hacer muchas comprobaciones de margen se podria establecer cuantas lineas contendra cada informe como maxio, a este apartado se le podria mandar tanto el rs como el control en los cuales iniciara un bucle desde el primer elemento hasta el ultimo, y en caso de exceder el margen que el resto lo haga en otra pagina.
para el pie de pagina seria igual que para el encabezado,
el problema mas dificil de resolver seria la rutina generica para poder imprimir todo esto, que una ves tenido definico dada parte del documento, se iran guardando sus valores en un archivo ini del cual a la hora de utilizarlo solo se llame a el procedimiento generico que imprime un reporte, el cual obitnene los datos que estan establecidos en el archivo, y en cuanto al contenido o detalle del docuemento este se obrendra directamente de un cotron o un rs. obedeciendo lo guardado como configuracion en el archivo.
este tema es un poco complicado ya que priemero se tendria que diseñar en este caso el "diseñador del reporte" que lo unico que contendra es las coordenadas del encabezado en cada una de sus lineas, tambien se podira incluir tamaño, tipo etc, y el texto a imprimir al igual que el pie de pagina, en tanto que el cuerpo, contendra tanto el origen del detalle por ejemplo una var strin que diga rs o control, con lo cual se implementara ya en codigo vb la forma de como tratar este objeto. asi como tambien el numero maximo de elementos para el detalle por hoja, el numero de columnas, nombre de col, coordenadas desde donde se imprime la col. y las coordenadas de las lineas que daran al reporte el estilo de una tabla si es que asi se desea, aunque esta parte se podria omitir en el ini y establecerlo en el codigo vb..
por cierto, como complemento se pondria un tipo preview, en el cual se iran plasmando los resultados del elemento modificado a una escala representativa del documento original
bueno, como esto no tiene fin por el momento hasta aqui le dejo, se que estara algo enredado pero sepero te sirva por lo menos para darte una idea. claro todo esto se haria con el print, pero de seguro si utilizamos esta forma de trabajar es posible que se pueda crear una rutina o herramienta util para generar reportes desde el propio vb, que de seguro para muchos sera de gran utilidad. la verdad es que hace tiempo tengo esta idea asi como otras pero por falta de tiempo no puedo comenzarlas. estas ideas facilitarian mucho los problemas que siempre enfrentamos al hacer reportes de manera sencilla y sin mucho esfuerzo pero como todo tiene un precio, pues el de ahora esta en poder llevarlo acabo
bueno, es todo. y espero un dia poder comenzar con esto.
en cada apartado se podra ir definiendo en este caso una nueva linea hasta un limite para cada uno de los apartados, asi por ejemplo no puedes poner el encabezado a media pagina, en cada apartado y por cada linea se especificaran el texto a imprimir, y las corrdenadas de este mismo, en el caso del cuerpo del cuerpo, podria hacerse una rutina generica en la cual se especifique si se imprimira el resultado de un recordset o el contenido de un listvies(como ejemplo por ser el mas sencillo de recorrerl), en el cual se podrian agregar las columnas y lineas del detalle, y para no hacer muchas comprobaciones de margen se podria establecer cuantas lineas contendra cada informe como maxio, a este apartado se le podria mandar tanto el rs como el control en los cuales iniciara un bucle desde el primer elemento hasta el ultimo, y en caso de exceder el margen que el resto lo haga en otra pagina.
para el pie de pagina seria igual que para el encabezado,
el problema mas dificil de resolver seria la rutina generica para poder imprimir todo esto, que una ves tenido definico dada parte del documento, se iran guardando sus valores en un archivo ini del cual a la hora de utilizarlo solo se llame a el procedimiento generico que imprime un reporte, el cual obitnene los datos que estan establecidos en el archivo, y en cuanto al contenido o detalle del docuemento este se obrendra directamente de un cotron o un rs. obedeciendo lo guardado como configuracion en el archivo.
este tema es un poco complicado ya que priemero se tendria que diseñar en este caso el "diseñador del reporte" que lo unico que contendra es las coordenadas del encabezado en cada una de sus lineas, tambien se podira incluir tamaño, tipo etc, y el texto a imprimir al igual que el pie de pagina, en tanto que el cuerpo, contendra tanto el origen del detalle por ejemplo una var strin que diga rs o control, con lo cual se implementara ya en codigo vb la forma de como tratar este objeto. asi como tambien el numero maximo de elementos para el detalle por hoja, el numero de columnas, nombre de col, coordenadas desde donde se imprime la col. y las coordenadas de las lineas que daran al reporte el estilo de una tabla si es que asi se desea, aunque esta parte se podria omitir en el ini y establecerlo en el codigo vb..
por cierto, como complemento se pondria un tipo preview, en el cual se iran plasmando los resultados del elemento modificado a una escala representativa del documento original
bueno, como esto no tiene fin por el momento hasta aqui le dejo, se que estara algo enredado pero sepero te sirva por lo menos para darte una idea. claro todo esto se haria con el print, pero de seguro si utilizamos esta forma de trabajar es posible que se pueda crear una rutina o herramienta util para generar reportes desde el propio vb, que de seguro para muchos sera de gran utilidad. la verdad es que hace tiempo tengo esta idea asi como otras pero por falta de tiempo no puedo comenzarlas. estas ideas facilitarian mucho los problemas que siempre enfrentamos al hacer reportes de manera sencilla y sin mucho esfuerzo pero como todo tiene un precio, pues el de ahora esta en poder llevarlo acabo
bueno, es todo. y espero un dia poder comenzar con esto.