Option Strict On Option Explicit On Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class Bancos_Reportes Inherits ClsPaginas Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 'CType(Me.Master, BaseMasterPage).EsPopup = True If Not Page.IsPostBack Then If Request("Opcion") IsNot Nothing Then Select Case Request("Opcion") Case "ImprimeMov" If Request("CveIE") IsNot Nothing AndAlso Request("CveIE").ToString.ToEntero > 0 Then ImprimeMov(Request("CveIE").ToEntero) End If End Select End If End If End Sub Private Sub ImprimeMov(CveIE As Integer) Dim ObjIE As New ClsBancos() Dim DtGvRH As New DataTable Dim DtComprobacion As New DataTable Dim ParamComprobacion As New DataTable 'Movimientos Relacionados de Comprobacion - Hijo If ObjIE.GetBancosIEMovimientosHijo(CveIE, UsuarioActual.CveEmpresa) Then DtGvRH = ObjIE.DtResultados End If If DtGvRH IsNot Nothing AndAlso DtGvRH.Rows.Count > 0 Then If ObjIE.GetBancosIE(CveIE, UsuarioActual.CveEmpresa) Then ParamComprobacion = ObjIE.DtResultados End If Dim ObjMov As New ClsMovimientos For Each dr As DataRow In DtGvRH.Rows If ObjMov.GetPersonalCajaChica(UsuarioActual.CveEmpresa, dr("CveCompra").ToString.ToEntero) Then DtComprobacion.Merge(ObjMov.DtResultados.FiltraParametros("CveCompra =" + dr("CveCompra").ToString)) End If Next ObjMov.Dispose() Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos\Reembolso.rdlc", UsuarioActual.Empresa.Ruta)) Dim Imagen As New System.IO.FileInfo(String.Format("{0}Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) Dim params As New List(Of ReportParameter) If Archivo.Exists Then If UsuarioActual.CveEmpresa = 72 Then params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToString)) params.Add(New ReportParameter("CveCajaChica", DtComprobacion.Rows(0)("CveCajaChica").ToString)) params.Add(New ReportParameter("CveFyE", "0")) ' params.Add(New ReportParameter("cuentaRetiro", "Cuenta retiro: " & ParamComprobacion.Rows(0)("BancoNumCuentaMoneda").ToString)) params.Add(New ReportParameter("CajaChica", "Caja chica: " & ParamComprobacion.Rows(0)("BancoNumCuentaMoneda").ToString)) params.Add(New ReportParameter("observaciones", "Observaciones: " & ParamComprobacion.Rows(0)("Observaciones").ToString)) params.Add(New ReportParameter("folio", ParamComprobacion.Rows(0)("Folio").ToString)) params.Add(New ReportParameter("fecha", ParamComprobacion.Rows(0)("FechaDocumento").ToString)) params.Add(New ReportParameter("importe", ParamComprobacion.Rows(0)("Importe").ToString)) params.Add(New ReportParameter("TotAbono", DtComprobacion.SUM("Abonado").ToString)) ImprimirPDF(String.Format("{0}Formatos\Reembolso.rdlc", UsuarioActual.Empresa.Ruta), DtComprobacion, params, String.Format("IE{0}", CveIE), Formato:="PDF") Else params.Add(New ReportParameter("Numero", "")) ' params.Add(New ReportParameter("Anio", DtComprobacion.FiltraParametros("CveCompra > 0").MAX("Fecha").ToDate.Year.ToString)) params.Add(New ReportParameter("Nombre", DtComprobacion.MAX("SubProyecto"))) params.Add(New ReportParameter("Fecha", Now.Date.ToString)) params.Add(New ReportParameter("Elaboro", "")) params.Add(New ReportParameter("Autorizo", "")) params.Add(New ReportParameter("ElaboroPuesto", "")) params.Add(New ReportParameter("AutorizoPuesto", "")) ImprimirPDF(String.Format("{0}Formatos\Reembolso.rdlc", UsuarioActual.Empresa.Ruta), DtComprobacion.FiltraParametros("CveCompra > 0"), params, String.Format("IE{0}", CveIE), RDSName:="DsCompras") End If Else params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToString)) params.Add(New ReportParameter("cuentaRetiro", "Cuenta retiro: " & ParamComprobacion.Rows(0)("BancoNumCuentaMoneda").ToString)) params.Add(New ReportParameter("CajaChica", "Caja chica: " & ParamComprobacion.Rows(0)("BancoNumCuentaMoneda").ToString)) params.Add(New ReportParameter("observaciones", "Observaciones: " & ParamComprobacion.Rows(0)("Observaciones").ToString)) params.Add(New ReportParameter("folio", ParamComprobacion.Rows(0)("Folio").ToString)) params.Add(New ReportParameter("fecha", ParamComprobacion.Rows(0)("FechaDocumento").ToString)) params.Add(New ReportParameter("importe", ParamComprobacion.Rows(0)("Importe").ToString)) params.Add(New ReportParameter("TotAbono", DtComprobacion.SUM("Abonado").ToString)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF("Empresas/Grales/Formatos/RepRembolsosComprobaciones.rdlc", DtComprobacion, params, String.Format("IE{0}", CveIE), Formato:="PDF") End If Else If ObjIE.GetBancosIE(CveIE, UsuarioActual.CveEmpresa) Then If ObjIE.DtResultados.Rows.Count > 0 Then Dim dtMovs As DataTable 'obtengo los movimientos pagados Dim Mov As New ClsContabilidad If Mov.GetPrePolizasDetalle(-1, CveIE) Then dtMovs = Mov.DtResultados.FiltraParametros("CveConceptoContable IN (17,2,312)") If Not UsuarioActual.CveEmpresa.Contiene(13, 83) Then 'CONVIERTO A PESOS CUANDO SE PAGA CON PESOS FACTURAS DE DOLARES For Each Dr As DataRow In dtMovs.Rows Dr("Importe") = Dr("ImporteMN").ToString.ToDecimal Dr("ImporteNC") = Dr("ImporteNC").ToString.ToDecimal * Dr("TC").ToString.ToDecimal Dr("Total") = Dr("Total").ToString.ToDecimal * Dr("TC").ToString.ToDecimal Dr("Saldo") = Dr("Saldo").ToString.ToDecimal * Dr("TC").ToString.ToDecimal Next End If 'TblBancos.ExportToPDF("Listado") Dim dtnc As New DataTable Dim ObjCompra As New ClsCompras() If ObjCompra.GetComprasNotasCredito(-1, -1, CveIE) Then dtnc = ObjCompra.DtResultados End If ObjCompra.Dispose() 'cargo el reporte con los datos Dim rds2 = New ReportDataSource("DataSet2", dtnc) Dim rds = New ReportDataSource("DataSet1", dtMovs) rv.LocalReport.DataSources.Clear() rv.LocalReport.DataSources.Add(rds) rv.LocalReport.DataSources.Add(rds2) rv.LocalReport.ReportPath = ModExtensiones.DirectorioBaseEmpresas & "Bancos\Reportes\rptChequeMovimientos.rdlc" rv.LocalReport.Refresh() Dim paramList As New List(Of ReportParameter) With paramList Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) .Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) .Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) .Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) .Add(New ReportParameter("Cuenta", ObjIE.NumCuenta, True)) .Add(New ReportParameter("Fecha", ObjIE.FechaDocumento.ToString("dd/MM/yyyy"), True)) .Add(New ReportParameter("Paguese", ObjIE.PagueseA.Trim, True)) .Add(New ReportParameter("Importe", ObjIE.Importe.ToString, True)) .Add(New ReportParameter("Observaciones", ObjIE.Observaciones, True)) .Add(New ReportParameter("Folio", ObjIE.Folio, True)) .Add(New ReportParameter("MonedaAbreviatura", ObjIE.MonedaAbreviatura, True)) If Imagen.Exists Then .Add(New ReportParameter("LogoPath", logouri)) Else .Add(New ReportParameter("LogoPath", "")) End If End With rv.LocalReport.SetParameters(paramList) rv.LocalReport.Refresh() End If Mov.Dispose() GeneraPDF(String.Format("IE{0}", CveIE)) End If End If End If ObjIE.Dispose() End Sub Public Sub GeneraPDF(Optional Nombre As String = "Reporte") Dim warnings As Warning() = Nothing Dim streamids As String() = Nothing Dim mimeType As String = Nothing Dim encoding As String = Nothing Dim extension As String = Nothing Dim fileName As String = Nombre Dim bytes As Byte() Try bytes = Me.rv.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings) Response.Buffer = True Response.Clear() Response.ContentType = mimeType Response.AddHeader("content-disposition", String.Format("attachment; filename={0}.{1}", fileName, extension)) Response.BinaryWrite(bytes) ' create the file Response.Flush() ' send it to the client to download Response.End() Catch ex As Exception End Try End Sub End Class