Foros del Web » Programación para mayores de 30 ;) » .NET »

Imprimir factura

Estas en el tema de Imprimir factura en el foro de .NET en Foros del Web. Hola,tengo que imprimir una factura ,si imprimo una sola factura se ve bien pero cuando imprimo varias a la vez se superponen es decir estan ...
  #1 (permalink)  
Antiguo 23/03/2009, 12:05
JR88
Invitado
 
Mensajes: n/a
Puntos:
Imprimir factura

Hola,tengo que imprimir una factura ,si imprimo una sola factura se ve bien pero cuando imprimo varias a la vez se superponen es decir estan todas las facturas unas encima de otras,lo que quiero es que me imprima una factura y sus lineas de factura en una pagina y la siguiente factura en otro pagina etc





Private Sub ListadoPrueba_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles listadoprueba.PrintPage
e.PageSettings.Margins.Left = 200
e.PageSettings.Margins.Top = 100


Dim fuentedatos As New Font("Comic sans ms", 12)
e.Graphics.DrawString("Año", fuentedatos, Brushes.Blue, 50, 20)
e.Graphics.DrawString("NºFac", fuentedatos, Brushes.Blue, 100, 20)
e.Graphics.DrawString("Fecha", fuentedatos, Brushes.Blue, 200, 20)
e.Graphics.DrawString("CodCli", fuentedatos, Brushes.Blue, 300, 20)
e.Graphics.DrawString("Nombre cliente", fuentedatos, Brushes.Blue, 400, 20)
' e.Graphics.DrawString("Cod_Forma", fuentedatos, Brushes.Blue, 600, 20)
e.Graphics.DrawString("Cod_Forma", fuentedatos, Brushes.Blue, 600, 20)
e.Graphics.DrawLine(Pens.Red, 20, 50, 800, 50)
e.HasMorePages = False 'Por defecto xa esta a false pero por seas caso
' e.Graphics.PageUnit = GraphicsUnit.Millimeter

' y = 60


'Imprimimos a cabeceira de factura
For Each filaCF In dsFacturC.Tables("facturc").Rows
e.Graphics.DrawString(filaCF("Año").ToString, fuentedatos, Brushes.Black, 50, 60)
e.Graphics.DrawString(filaCF("nfac").ToString, fuentedatos, Brushes.Black, 100, 60)
e.Graphics.DrawString(filaCF("codcli").ToString, fuentedatos, Brushes.Black, 300, 60)
e.Graphics.DrawString(filaCF("codforma").ToString, fuentedatos, Brushes.Black, 600, 60)

'y += 20
'If y > 1000 Then
' y = 60
' e.HasMorePages = True
'End If
e.Graphics.DrawString("Nº Linea", fuentedatos, Brushes.Blue, 40, 100)
e.Graphics.DrawString("Año Albar", fuentedatos, Brushes.Blue, 150, 100)
e.Graphics.DrawString("Nº Albar", fuentedatos, Brushes.Blue, 250, 100)
e.Graphics.DrawString("Cod Producto", fuentedatos, Brushes.Blue, 350, 100)
e.Graphics.DrawString("Descripción", fuentedatos, Brushes.Blue, 480, 100)
e.Graphics.DrawString("Unidades", fuentedatos, Brushes.Blue, 620, 100)
e.Graphics.DrawString("Precio", fuentedatos, Brushes.Blue, 720, 100)

y = 150

For Each filaLF In dsFacturC.Tables("facturl").Rows
'Imprimimos as liñas de factura cando o ano e o codigo da factura sexa igual o da liña de factura
If filaCF("año").ToString = filaLF("año").ToString And filaCF("nfac").ToString = filaLF("nfact").ToString Then
e.Graphics.DrawString(filaLF("nlinea").ToString, fuentedatos, Brushes.Black, 40, y)
e.Graphics.DrawString(filaLF("Añoalb").ToString, fuentedatos, Brushes.Black, 150, y)
e.Graphics.DrawString(filaLF("Nalbaran").ToString, fuentedatos, Brushes.Black, 250, y)
e.Graphics.DrawString(filaLF("facturl.codprod").To String, fuentedatos, Brushes.Black, 350, y)
e.Graphics.DrawString(filaLF("descri").ToString, fuentedatos, Brushes.Black, 480, y)
e.Graphics.DrawString(filaLF("unidades").ToString, fuentedatos, Brushes.Black, 620, y)
e.Graphics.DrawString(filaLF("precio").ToString, fuentedatos, Brushes.Black, 720, y)

y += 20
If y > 1000 Then
y = 150
e.HasMorePages = True
End If
End If


Next
Next
End Sub
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




La zona horaria es GMT -6. Ahora son las 09:45.