Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class Inventarios_RepRSCO Inherits ClsPaginas Private Property DTDatos As DataTable Get If ViewState("DTDatos") Is Nothing Then ViewState("DTDatos") = New DataTable End If Return DirectCast(ViewState("DTDatos"), DataTable) End Get Set(ByVal value As DataTable) ViewState("DTDatos") = value End Set End Property Private Sub Inventarios_RepRSCO_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then CargaCombos() End If End Sub Public Sub CargaDatos() Dim ObjInventarios As New ClsInventarios LnkDescargaExcel.Visible = False If ObjInventarios.RepCompuestosVigencia(DdlCompuesto.SelectedValue.ToEntero, DdlProveedores.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, 1, UsuarioActual.CveEmpresa) Then DTDatos = ObjInventarios.DtResultados GvDatos.DataSource = DTDatos If DTDatos IsNot Nothing AndAlso DTDatos.Rows.Count > 0 Then LnkDescargaExcel.Visible = True UpAcciones.Update() End If Else GvDatos.DataSource = Nothing End If ObjInventarios.Dispose() GvDatos.DataBind() UpDatos.Update() End Sub Private Sub CargaCombos() DdlProveedores.setEsWebService(True) DdlProveedores.Attributes.Add("data-metodo", "getproveedores") DdlProveedores.SelectedText = "Todos" DdlProveedores.SelectedValue = "-1" Dim ObjPS As New ClsProductosServicios If ObjPS.GetCompuestosActivos(UsuarioActual.CveEmpresa) Then DdlCompuesto.DataSource = ObjPS.DtResultados Else DdlCompuesto.DataSource = Nothing End If ObjPS.Dispose() DdlCompuesto.DataBind() DdlCompuesto.Items.Insert(0, New ListItem("Todos", "-1")) txtFechaF.Text = Now.ToString("dd/MM/yyyy") txtFechaI.Text = txtFechaF.Text.ToDate.AddMonths(-2).ToString("dd/MM/yyyy") End Sub Protected Sub LnkDescargaExcel_Click(sender As Object, e As EventArgs) ImprimirReporte("EXCEL") End Sub Private Sub ImprimirReporte(Optional Formato As String = "PDF") Dim ObjTareas As New ClsOIEventos Dim params As New List(Of ReportParameter) 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 FechaI, FechaF As String FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text) FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text) params.Add(New ReportParameter("Filtros", FiltrosUsados())) 'params.Add(New ReportParameter("GPO", DdlGrupo.SelectedItem.Text)) params.Add(New ReportParameter("Titulo", "Reporte RSCO")) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("FechaInicio", FechaI)) params.Add(New ReportParameter("FechaFin", FechaF)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}")) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF("Empresas\Grales\Formatos\RepRSCO.rdlc", DTDatos, params, "RepRSCO" & Now.ToString("yyyyMMddmmss"), Formato:=Formato) End Sub Private Function FiltrosUsados() As String Dim Filtros As String = "" If DdlProveedores.SelectedValue.ToEntero > 0 Then Filtros = $"Proveedor: {DdlProveedores.txtText.Value}, " End If If DdlCompuesto.SelectedValue.ToEntero > 0 Then Filtros = Filtros & $"Compuesto: {DdlProveedores.txtText.Value}, " End If Filtros = Filtros & $"Fecha Inicio: {txtFechaI.Text}, Fecha Fin: {txtFechaF.Text}" Return Filtros End Function Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CargaDatos() End Sub End Class