Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como Imprimir una Factura desde Visual Basic??

Estas en el tema de Como Imprimir una Factura desde Visual Basic?? en el foro de Visual Basic clásico en Foros del Web. Hola a tod@s: Estoy desarrollando una aplicación que recoge información de clientes y al final debe imprimirla en unas hojas impresas (del mismo estilo que ...
  #1 (permalink)  
Antiguo 03/02/2003, 21:23
 
Fecha de Ingreso: marzo-2002
Ubicación: Quito
Mensajes: 99
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta Como Imprimir una Factura desde Visual Basic??

Hola a tod@s:

Estoy desarrollando una aplicación que recoge información de clientes y al final debe imprimirla en unas hojas impresas (del mismo estilo que una factura), la hoja es de formato A4, traté de poner un gif como fondo del formulario para ahí poner labels en los lugares correspondientes, pero el gif es demasiado grande y no aparece completo. Alguien puede darme una sugerencia??

Agradezco su tiempo y paciencia.
__________________
Pablo Robayo
  #2 (permalink)  
Antiguo 04/02/2003, 11:10
 
Fecha de Ingreso: febrero-2003
Ubicación: Costa Rica
Mensajes: 133
Antigüedad: 21 años, 2 meses
Puntos: 0
Pregunta

Pregunta: Estas utilizando Crystal Report, si no, podría ser una solución utilizarlo.

Además, te permitirá utilizar varios tipos de facturas u otros comprobantes y cambiarlos en forma simple.

Saludos. RB.
  #3 (permalink)  
Antiguo 04/02/2003, 11:27
 
Fecha de Ingreso: marzo-2002
Ubicación: Quito
Mensajes: 99
Antigüedad: 22 años, 1 mes
Puntos: 0


rojobe55 gracias por tu pronta respuesta; te cuento que no estoy usando crystar reports (hasta donde entiendo funciona con recordsets). Básicamente mi aplicación recoge información del usuario mediante textboxes y las asigna a sus respectivas variables.
Luego el usuario debe ser capáz de imprimir en una hoja blanca A4 tanto el formulario como los datos y luego si quiere grabar el archivo. Para generar el archivo ya tengo una idea básica y además tengo tiempo para investigar mejor como generar mi propio archivo aleatorio (random), pero en cambio con la impresión no

La pregunta es: ¿puedo con Crystar R... imprimir el formulario y los datos?

Cualquier pista es bienvenida
__________________
Pablo Robayo
  #4 (permalink)  
Antiguo 04/02/2003, 16:01
 
Fecha de Ingreso: enero-2003
Ubicación: Resistencia, Chaco, Argentina
Mensajes: 18
Antigüedad: 21 años, 3 meses
Puntos: 0
Las posibilidades de impresión con VB son:

1. Usar el objeto Printer de VB
2. Usar el método PrintForm del formulario.
3. Usar un programa Generador de Reportes, como Crystal Reports, VideoSoft Reports, etc.

Aunque hay algunas otras, pero no son necesarias.

Si lo que necesitas imprimir no es muy complejo, podrás usar el objeto Printer de VB, y escribir las rutinas necesarias para imprimir desde VB. Este es útil para imprimir Tickets, listados sencillos, o sobre formularios de papel pre-impreso (no te confundas con los formularios de VB).

Si usás el método PrintForm tendrás que diseñar el formulario lo más parecido al papel, y tendrás que pensar qué hacés con los botones y otros controles que no querés que salgan impresos. Una solución podría ser diseñar un formulario esclusivo para imprimir, con color de fondo blanco, y con los controles y datos necesarios que querés que aparzcan en el papel, y usar el método PrintForm del formulario, así:

Me.PrintForm

Por último, si querés lograr informes más sofisticados, podés usar Crystal Reports (aunque hay otras herramientas, yo me incliné por esta que además de ser muy completa, Microsoft la incluyó en VS.NET). CR te permite diseñar reportes, listados, informes de referencia cruzada, con datos que provienen de algún origen de datos, por ejemplo, una BD.

Sin embargo, tendrás que dedicar un tiempo a conocer esta herramienta y cómo usarla junto a VB.

Lamentablemente, muy poca gente usa herramientas como esta, y por lo tanto cuesta un poco conseguir buena información. Parece que la mayoría de los programadores, solo desarrolla aplicaciones que no tienen o tienen necesidades muy simples de impresión.

Si buscás en guille.costasol.net , podrás encontrar algunas entregas sobre Crystal Reports.

Bueno, cuando decidas que hacér, contame.

Saludos.
__________________
Gustavo Azcona®
  #5 (permalink)  
Antiguo 04/02/2003, 16:36
 
Fecha de Ingreso: marzo-2002
Ubicación: Quito
Mensajes: 99
Antigüedad: 22 años, 1 mes
Puntos: 0
Gustavo Azcona

Nuevamente gracias, dado el poco tiempo que tengo para desarrollo, me inclino por la segunda opción. Ahora, tengo un formulario "frmPreview" en el que coloqué un picture con la imagen del formulario y sobre el unos labels que colocan la información correspondiente.

Mi dificultad radica en imprimir este formulario con el tamaño adecuado, hice unas pruebas de impresión modificando un programa que encontré en www.portalvb.com (logré imprimir, el gif con que probé sale muy desproporcionado):


Dim lAlto As Long
Dim lAncho As Long

With Printer
.ScaleMode = 1
'Propiedades del tamaño del alto y ancho de la impresora
lAlto = .ScaleHeight
lAncho = .ScaleWidth
End With

lAlto = lAlto \ 6 - frmImprimir.pctRequisitos.ScaleHeight \ 2

lAncho = lAncho \ 6 - Imprimir.pctRequisitos.ScaleWidth \ 4

Printer.EndDoc


Es correcto el código que usé?
__________________
Pablo Robayo
  #6 (permalink)  
Antiguo 04/02/2003, 17:03
 
Fecha de Ingreso: enero-2003
Ubicación: Resistencia, Chaco, Argentina
Mensajes: 18
Antigüedad: 21 años, 3 meses
Puntos: 0
No veo una instrucción Printer.Print en tu código.
__________________
Gustavo Azcona®
  #7 (permalink)  
Antiguo 04/02/2003, 21:52
 
Fecha de Ingreso: marzo-2002
Ubicación: Quito
Mensajes: 99
Antigüedad: 22 años, 1 mes
Puntos: 0
De acuerdo

Hola

El código que puse antes (aunque no lo entiendo completamente) hace que imprima, pero bueno ¿donde coloco printer.print?

Gracias por tu ayuda
__________________
Pablo Robayo
  #8 (permalink)  
Antiguo 05/02/2003, 17:27
 
Fecha de Ingreso: marzo-2002
Ubicación: Quito
Mensajes: 99
Antigüedad: 22 años, 1 mes
Puntos: 0
Realmente he dedicado mucho tiempo y no logro los resultados que necesito. Ahora lo que voy a intentar es desde visual basic mandar las variables hacia el Acrobat y que imprima automáticamente. Me parace complicado, pero tengo mucha más documentación para trabajar con acrobat y VB que solo imprimir desde VB.

Gracias a todos los que me respondieron y por favor al administrador de este hilo, pudes cerrar esta pregunta.

Pablo Robayo
__________________
Pablo Robayo
  #9 (permalink)  
Antiguo 10/03/2008, 07:05
 
Fecha de Ingreso: marzo-2008
Mensajes: 1
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Como Imprimir una Factura desde Visual Basic??

Cita:
Iniciado por pablorobayo Ver Mensaje
Realmente he dedicado mucho tiempo y no logro los resultados que necesito. Ahora lo que voy a intentar es desde visual basic mandar las variables hacia el Acrobat y que imprima automáticamente. Me parace complicado, pero tengo mucha más documentación para trabajar con acrobat y VB que solo imprimir desde VB.

Gracias a todos los que me respondieron y por favor al administrador de este hilo, pudes cerrar esta pregunta.

Pablo Robayo
LA ÚNICA OPCION REALMENTE FACIL DE USAR ES EL CRYSTAL REPORT, LAMENTO QUE HAYAS PERDIDO TANTO TIEMPO ESTUDIANDO OTRA COSA.

COMO SE HACE:
1.- CREAR DESDE EL CRYSTAL UN DOCUMENTO CON VARIABLES EN BLANCO
TOMÁ EN CUENTA LOS NOMBRES CON LOS CUALES LOS CREASTE
2.- UBICALOS EN LA POSICION QUE NECESITES QUE SE IMPRIMAN
3.- LUEGO ES PROGRAMACION DE VISUAL BASIC TE PASO A EXPLICAR:

WITH CRYSTALREPORT1

.Formulas(0) = "COPIAS ='FACTURA'"
.Formulas(1) = "FECHA ='" & Format(Date, "DD MM YY") & "'"
.Formulas(2) = "NUMERO ='" & NUMERO_FACTURA & "'"
.Formulas(3) = "LAHORA ='" & Time & "'"

.Action = 2

END WITH

ESPERO TE SIRVA Y HAYAS COMPRENDIDO, SI ESTO LO MANEJÁS TENDRÁS RESUELTO EL PROBLEMA A FUTURO AL 100% SIEMPRE EN LA IMPRESION SE TROPIEZA UNO CON EL TIEMPO.

ALEX.
  #10 (permalink)  
Antiguo 10/03/2008, 07:34
 
Fecha de Ingreso: julio-2007
Ubicación: Delante del PC (Barcelona
Mensajes: 157
Antigüedad: 16 años, 9 meses
Puntos: 2
Re: Como Imprimir una Factura desde Visual Basic??

y porque no utilizas un excel? o un word?
  #11 (permalink)  
Antiguo 10/03/2008, 16:25
Avatar de Kruzado  
Fecha de Ingreso: marzo-2007
Mensajes: 307
Antigüedad: 17 años, 1 mes
Puntos: 17
Re: Como Imprimir una Factura desde Visual Basic??

aqui tienes yn ejemplo de como generar un listado mediante codigo de visual, espero te sirva, solo tendras que tomarte un tiempo para definis las coordenadas par aimprimir

Printer.ScaleMode = 4 'define que vas a imprimir en formato caracteres
Printer.Orientation = 1 'define la orientacion del papel (normal o apaisado)
Printer.CurrentX = 0 ' la coordenada x en que se va a imprimir
Printer.CurrentY = 0 ' la coordenada y en la que se va a imprimir

Dim Imagen As Picture
Set Imagen = LoadPicture("negrochico.bmp")
Printer.PaintPicture Imagen, 0, 0 ', 4300, 600 ' que imprima imagen en x = 0 en Y = 0, ancho = 4300, alto = 600
Set con = base.OpenRecordset("select * from ccomanda1 where impreso='NO' and comanda.mesa='" & mesa & "' and tipodoc = 0 and numdoc = 0 order by tipo", dbOpenDynaset)
old = Printer.FontSize
Printer.Font = "Trebuchet MS" ' define el tipo de letra
Printer.FontSize = 14 ' el tamaño de la letra

Printer.CurrentX = 0
Printer.CurrentY = 8
Printer.Print " COMANDA MESA " & con("comanda.mesa") ' el printer.print imprime en la impresora, segun las coordenadas currentx(columna) y currenty(fila) que le diste
Printer.CurrentX = 0
Printer.CurrentY = 10
Printer.Print "Garzón " & con("nombre")
Printer.CurrentX = 0
Printer.CurrentY = 11
Printer.Print "Sector " & con("descripcionu")
printer.enddoc ' finaliza el documento y lo envia a impresora

de yapa te va omo imprimir una imagen, espero te sirva
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:43.