Hola
Llevo 3 días con esto y no hay manera... a ver si sabési decirme pq. pasa y solucionarlo. Tengo un form que cobra por servicaixa y muestra un pdf con un report(active report) del cobro. De esta manera:
---------------------------
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If AltaRealizada Then
ImpresiónServiCaixa()
Me.Cobrar.Enabled = False
Me.imgLogo.Visible = True
Me.Button2.Text = "Cerrar sesión"
else:end if
End sub
-------------------------------
Private Sub ImpresiónServiCaixa()
Dim dt As New DataTable
Dim dr As DataRow
'Formato datatable listado
dt.Columns.Add("PeriodoPago", GetType(String))
dt.Columns.Add("Emisora", GetType(String))
dt.Columns.Add("NumeroReferencia", GetType(String))
dt.Columns.Add("Identificacion", GetType(String))
dt.Columns.Add("Importe", GetType(Decimal))
dt.Columns.Add("BarCode", GetType(String))
dt.Columns.Add("Nombre", GetType(String))
dt.Columns.Add("Direccion", GetType(String))
dt.Columns.Add("Poblacion", GetType(String))
dr = dt.NewRow
Dim sEmisora As String = "05645656"
Dim sSufijo As String = "566"
Dim sReferencia As String = "999" & Format(CInt(Me.numMACodMat.Value), "00000000")
Dim sIdentificacion As String = "645645"
Dim sImporte As String = Format((numMAPreMat.Value * 100), "0000000000")
Dim sParidad As String = "0"
'-----
'Cálculo 2 Dígitos de Control del Nºde Referencia
Dim Cálculo As Double = CDbl(sEmisora)
Cálculo += CDbl(sSufijo)
Cálculo += CDbl(sReferencia)
Cálculo += CDbl(sIdentificacion)
Cálculo += CDbl(sImporte)
Cálculo = (Cálculo / 97) - Int((Cálculo / 97))
Cálculo = Int(Cálculo * 100)
Cálculo = 100 - Cálculo
'-----
'Agregamos los 2 dígitos de control
sReferencia &= Format(Cálculo, "00")
dr("PeriodoPago") = "" 'Now
dr("Emisora") = sEmisora & sSufijo
dr("NumeroReferencia") = sReferencia
dr("Identificacion") = sIdentificacion
dr("Importe") = numMAPreMat.Value
dr("BarCode") = "6756757" & sEmisora & sSufijo & sReferencia & sIdentificacion & sImporte & sParidad
dr("Nombre") = "Nom: "
dr("Nombre") &= Trim(Me.txtMANomCog.Text)
dr("Direccion") = "Direccion"
dr("Poblacion") = "CP -- Población"
dt.Rows.Add(dr)
Dim r As New rptServiCaixa
r.DataSource = dt
Try
r.Run(False)
Catch eRunReport As DataDynamics.ActiveReports.ReportException
Response.Clear()
Response.Write("<h1>Error report:</h1>")
Response.Write(eRunReport.ToString())
Return
End Try
'Se borran las cabeceras actuales de HTTP
Response.ClearContent()
Response.ClearHeaders()
'Abrir en la misma ventana
'Response.AddHeader("content-disposition", "inline")
'Abrir en nueva ventana
Response.AddHeader("content-disposition", "attachment; filename=ServiCaixa.pdf")
Response.ContentType = "application/pdf"
Dim pdf As New PdfExport
Dim memStream As New System.IO.MemoryStream
pdf.Export(r.Document, memStream)
Response.BinaryWrite(memStream.ToArray())
Response.End()
End If
--------------------------------
Abre el pdf bien pero el código
Me.Cobrar.Enabled = False
Me.imgLogo.Visible = True
Me.Button2.Text = "Cerrar sesión"
no lo ejecuta y no se pq. SI le quito el Sub Servicaixa si lo hace así que debe ser algo en el Sub servicaixa que he de cambiar... pero el que? Lo de response.end lo probé de quitar pero nada
Gracias