Option Explicit On Option Strict On Imports System.Data Imports Newtonsoft.Json Imports Newtonsoft.Json.Linq Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class Contratos_RepPresupuestos Inherits ClsPaginas #Region "P R O P I E D A D E S" Public Property DtPresupuestos() As DataTable Get Return DirectCast(ViewState("DtPresupuestos"), DataTable) End Get Set(ByVal value As DataTable) ViewState("DtPresupuestos") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then InicializaValores() End If End Sub #Region " INICIALIZA VALORES " Private Sub InicializaValores() TxtFiltrosFechaInicio.Text = $"01/09/{Now.Year - 1}" TxtFiltrosFechaFin.Text = $"31/08/{Now.Year}" DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) DdlTipoGasto.DataBind() DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1")) DdlClasificacion.DataBind() DdlProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"}), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"})) DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlProyecto.DataBind() CargaSubProyecto() UpFiltros.Update() End Sub #End Region #Region " CARGA DATOS " Private Sub CargaSubProyecto() DdlSubProyecto.Items.Clear() If DdlProyecto.SelectedValue.ToEntero > 0 Or UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then DdlSubProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, 1)) End If DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyecto.DataBind() End Sub Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs) CargaDatos() End Sub Private Sub CargaDatos() Dim CveTipoGasto = DdlTipoGasto.SelectedValue.ToEntero Dim Agrupador = DdlAgrupador.SelectedValue.ToEntero Dim FechaInicio = If(IsDate(TxtFiltrosFechaInicio.Text), TxtFiltrosFechaInicio.Text.ToDate, MinFecha) Dim FechaFin = If(IsDate(TxtFiltrosFechaFin.Text), TxtFiltrosFechaFin.Text.ToDate, MaxFecha) Dim EsMensual = ChkMensual.Checked If Not EsMensual Then Dim ObjPresupuestos As New ClsContratos If ObjPresupuestos.GetPresupuestosRep(-1, CveTipoGasto, Agrupador, FechaInicio, FechaFin, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then DtPresupuestos = ObjPresupuestos.DtResultados GvDatos.DataSource = DtPresupuestos End If ObjPresupuestos.Dispose() DivDatosMensual.Visible = False DivRepDatos.Visible = True DivIndicadores.Visible = True GvDatos.DataBind() GvDatos.HeaderRow.Cells(0).Text = If(Agrupador = 1, "Clasificación", "Centro de Costo") UpDatos.Update() Else Dim ObjPresupuestos As New ClsContratos If ObjPresupuestos.GetPresupuestosMensualRep(-1, CveTipoGasto, Agrupador, FechaInicio, FechaFin, UsuarioActual.CveEmpresa, DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlClasificacion.SelectedValue.ToEntero) Then DtPresupuestos = ObjPresupuestos.DtResultados GvDatosMensual.DataSource = DtPresupuestos End If ObjPresupuestos.Dispose() DivDatosMensual.Visible = True DivRepDatos.Visible = False DivIndicadores.Visible = False GvDatosMensual.DataBind() GvDatosMensual.HeaderRow.Cells(0).Text = If(Agrupador = 1, "Clasificación", "Centro de Costo") UpDatosMensual.Update() End If Select Case Agrupador Case 1 'CLASIFICACON HpGrafica.Visible = False CargaIndicadores(EsMensual) Case 2 'CENTRO DE COSTO HpGrafica.Visible = True CargaIndicadores(EsMensual) End Select UpAcciones.Update() UpModalGrafica.Update() UpIndicadores.Update() If EsMensual Then RegistraScript($"CargaChartMensual({HdnJsonProyecto.Value},{HdnJsonGraficos.Value});", "2") Else RegistraScript($"CargaChartProyecto({HdnJsonProyecto.Value});", "2") End If End Sub Private Sub CargaIndicadores(EsMensual As Boolean, Optional Tipo As String = "1") If DtPresupuestos IsNot Nothing And GvDatos.Rows.Count > 0 Then Dim DtDatos = DtPresupuestos.FiltraParametros($"Tipo = {Tipo}") If EsMensual Then Dim jsonGraphs = New JArray() Dim jsonData = New JArray() Dim Random = New Random() Dim JEnero As New JObject Dim JNombreEnero = New JProperty("Mes", "Enero") JEnero.Add(JNombreEnero) Dim JFebrero As New JObject Dim JNombreFebrero = New JProperty("Mes", "Febrero") JFebrero.Add(JNombreFebrero) Dim JMarzo As New JObject Dim JNombreMarzo = New JProperty("Mes", "Marzo") JMarzo.Add(JNombreMarzo) Dim JAbril As New JObject Dim JNombreAbril = New JProperty("Mes", "Abril") JAbril.Add(JNombreAbril) Dim JMayo As New JObject Dim JNombreMayo = New JProperty("Mes", "Mayo") JMayo.Add(JNombreMayo) Dim JJunio As New JObject Dim JNombreJunio = New JProperty("Mes", "Junio") JJunio.Add(JNombreJunio) Dim JJulio As New JObject Dim JNombreJulio = New JProperty("Mes", "Julio") JJulio.Add(JNombreJulio) Dim JAgosto As New JObject Dim JNombreAgosto = New JProperty("Mes", "Agosto") JAgosto.Add(JNombreAgosto) Dim JSeptiembre As New JObject Dim JNombreSeptiembre = New JProperty("Mes", "Septiembre") JSeptiembre.Add(JNombreSeptiembre) Dim JOctubre As New JObject Dim JNombreOctubre = New JProperty("Mes", "Octubre") JOctubre.Add(JNombreOctubre) Dim JNoviembre As New JObject Dim JNombreNoviembre = New JProperty("Mes", "Noviembre") JNoviembre.Add(JNombreNoviembre) Dim JDiciembre As New JObject Dim JNombreDiciembre = New JProperty("Mes", "Diciembre") JDiciembre.Add(JNombreDiciembre) For Each Dr As DataRow In DtDatos.Rows Dim NombreValorAgrupador As String = $"Valor{ Dr("Agrupador").ToString()}" Dim HtmlColor = String.Format("#{0:X6}", Random.Next(&H1000000)) Dim jGraph = New JObject(New JProperty("valueAxis", "v1"), New JProperty("lineColor", HtmlColor), New JProperty("bullet", "round"), New JProperty("bulletBorderThickness", 1), New JProperty("hideBulletsCount", 30), New JProperty("fillAlphas", 0), New JProperty("title", Dr("Agrupador").ToString()), New JProperty("valueField", NombreValorAgrupador) ) jsonGraphs.Add(jGraph) Dim ValorEnero = Dr("EneroEjercido").ToString.ToDecimal() Dim JValorEnero = New JProperty(NombreValorAgrupador, ValorEnero) JEnero.Add(JValorEnero) Dim ValorFebrero = Dr("FebreroEjercido").ToString.ToDecimal() Dim JValorFebrero = New JProperty(NombreValorAgrupador, ValorFebrero) JFebrero.Add(JValorFebrero) Dim ValorMarzo = Dr("MarzoEjercido").ToString.ToDecimal() Dim JValorMarzo = New JProperty(NombreValorAgrupador, ValorMarzo) JMarzo.Add(JValorMarzo) Dim ValorAbril = Dr("AbrilEjercido").ToString.ToDecimal() Dim JValorAbril = New JProperty(NombreValorAgrupador, ValorAbril) JAbril.Add(JValorAbril) Dim ValorMayo = Dr("MayoEjercido").ToString.ToDecimal() Dim JValorMayo = New JProperty(NombreValorAgrupador, ValorMayo) JMayo.Add(JValorMayo) Dim ValorJunio = Dr("JunioEjercido").ToString.ToDecimal() Dim JValorJunio = New JProperty(NombreValorAgrupador, ValorJunio) JJunio.Add(JValorJunio) Dim ValorJulio = Dr("JulioEjercido").ToString.ToDecimal() Dim JValorJulio = New JProperty(NombreValorAgrupador, ValorJulio) JJulio.Add(JValorJulio) Dim ValorAgosto = Dr("AgostoEjercido").ToString.ToDecimal() Dim JValorAgosto = New JProperty(NombreValorAgrupador, ValorAgosto) JAgosto.Add(JValorAgosto) Dim ValorSeptiembre = Dr("SeptiembreEjercido").ToString.ToDecimal() Dim JValorSeptiembre = New JProperty(NombreValorAgrupador, ValorSeptiembre) JSeptiembre.Add(JValorSeptiembre) Dim ValorOctubre = Dr("OctubreEjercido").ToString.ToDecimal() Dim JValorOctubre = New JProperty(NombreValorAgrupador, ValorOctubre) JOctubre.Add(JValorOctubre) Dim ValorNoviembre = Dr("NoviembreEjercido").ToString.ToDecimal() Dim JValorNoviembre = New JProperty(NombreValorAgrupador, ValorNoviembre) JNoviembre.Add(JValorNoviembre) Dim ValorDiciembre = Dr("DiciembreEjercido").ToString.ToDecimal() Dim JValorDiciembre = New JProperty(NombreValorAgrupador, ValorDiciembre) JDiciembre.Add(JValorDiciembre) Next jsonData.Add(JEnero) jsonData.Add(JFebrero) jsonData.Add(JMarzo) jsonData.Add(JAbril) jsonData.Add(JMayo) jsonData.Add(JJunio) jsonData.Add(JJulio) jsonData.Add(JAgosto) jsonData.Add(JSeptiembre) jsonData.Add(JOctubre) jsonData.Add(JNoviembre) jsonData.Add(JDiciembre) HdnJsonProyecto.Value = jsonData.ToString HdnJsonGraficos.Value = jsonGraphs.ToString Else Dim DrPresupuesto = DtPresupuestos.FiltroPrimero("Tipo = 0 AND CveAgrupador IS NULL") Dim Autorizado = DrPresupuesto("Autorizado").ToString.ToDecimal Dim Ejercido = DrPresupuesto("Ejercido").ToString.ToDecimal Dim PorEjercer = DrPresupuesto("PorEjercer").ToString.ToDecimal Dim EjercidoPorcentaje = DrPresupuesto("EjercidoPorcentaje").ToString.ToDecimal Dim PorEjercerPorcentaje = DrPresupuesto("PorEjercerPorcentaje").ToString.ToDecimal LtlAutorizado.Text = Autorizado.FormatoNumero LtlEjercido.Text = Ejercido.FormatoNumero LtlPorEjercer.Text = PorEjercer.FormatoNumero PBEjercido.Style.Remove("width") PBEjercido.Style.Add("width", $"{EjercidoPorcentaje.ToString}%") PBPorEjercer.Style.Remove("width") PBPorEjercer.Style.Add("width", $"{PorEjercerPorcentaje.ToString}%") LtlPorcentajeEjercido.Text = EjercidoPorcentaje.FormatoNumero + " %" LtlPorcentajePorEjercer.Text = PorEjercerPorcentaje.FormatoNumero + " %" Dim json = New JArray( From dr In DtDatos Select New JObject( New JProperty("Agrupador", dr("Agrupador").ToString()), New JProperty("Autorizado", dr("Autorizado").ToString().ToDecimal().FormatoNumero), New JProperty("Ejercido", dr("Ejercido").ToString().ToDecimal().FormatoNumero), New JProperty("PorEjercer", dr("PorEjercer").ToString().ToDecimal().FormatoNumero), New JProperty("AutorizadoProporcion", 100), New JProperty("EjercidoProporcion", dr("EjercidoPorcentaje").ToString().ToDecimal()), New JProperty("PorEjercerProporcion", dr("PorEjercerPorcentaje").ToString().ToDecimal())) ) HdnJsonProyecto.Value = json.ToString End If Else LtlAutorizado.Text = "" LtlEjercido.Text = "" LtlPorEjercer.Text = "" PBEjercido.Style.Remove("width") PBPorEjercer.Style.Remove("width") End If End Sub Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Select Case e.Row.DBCampo("Tipo").ToEntero Case 0 e.Row.CssClass = "Totales" Case 1 e.Row.CssClass = "SubTotales" End Select If e.Row.DBCampo("Autorizado").ToDecimal = 0 Then e.Row.Cells(1).Text = "-" End If If e.Row.DBCampo("Ejercido").ToDecimal = 0 Then e.Row.Cells(2).Text = "-" End If If e.Row.DBCampo("EjercidoPorcentaje").ToDecimal = 0 Then e.Row.Cells(3).Text = "-" End If If e.Row.DBCampo("PorEjercer").ToDecimal = 0 Then e.Row.Cells(4).Text = "-" End If If e.Row.DBCampo("PorEjercerPorcentaje").ToDecimal = 0 Then e.Row.Cells(5).Text = "-" End If If e.Row.DBCampo("Pagado").ToDecimal = 0 Then e.Row.Cells(6).Text = "-" End If If e.Row.RowIndex > 0 Then Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero Dim EsProyecto = False Dim FechaFin = e.Row.DBCampo("FechaFFiltro").ToDate.ToShortDateString Dim FechaInicio = e.Row.DBCampo("FechaIFiltro").ToDate.ToShortDateString If Not CveAgrupador > 0 Then If DdlAgrupador.SelectedValue.ToEntero = 2 Then CveAgrupador = e.Row.DBCampo("CveProyecto").ToEntero Else CveAgrupador = e.Row.DBCampo("CveClasificacion").ToEntero End If EsProyecto = True End If Dim Css = "Texto" Dim Liga = $"/Contratos/RepPresupuestosDetalle.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={False}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}" e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + "" End If End If End Sub #End Region Protected Sub ChkMensual_CheckedChanged(sender As Object, e As EventArgs) Handles ChkMensual.CheckedChanged DivRepDatos.Visible = Not ChkMensual.Checked DivDatosMensual.Visible = ChkMensual.Checked UpDatos.Update() UpDatosMensual.Update() End Sub Protected Sub GvDatosMensual_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then Select Case e.Row.DBCampo("Tipo").ToEntero Case 0 e.Row.CssClass = "Totales" Case 1 e.Row.CssClass = "SubTotales" End Select If e.Row.DBCampo("EneroEjercido").ToDecimal = 0 Then e.Row.Cells(3).Text = "-" End If If e.Row.DBCampo("EneroPagado").ToDecimal = 0 Then e.Row.Cells(5).Text = "-" End If If e.Row.DBCampo("FebreroEjercido").ToDecimal = 0 Then e.Row.Cells(7).Text = "-" End If If e.Row.DBCampo("FebreroPagado").ToDecimal = 0 Then e.Row.Cells(9).Text = "-" End If If e.Row.DBCampo("MarzoEjercido").ToDecimal = 0 Then e.Row.Cells(11).Text = "-" End If If e.Row.DBCampo("MarzoPagado").ToDecimal = 0 Then e.Row.Cells(13).Text = "-" End If If e.Row.DBCampo("AbrilEjercido").ToDecimal = 0 Then e.Row.Cells(15).Text = "-" End If If e.Row.DBCampo("AbrilPagado").ToDecimal = 0 Then e.Row.Cells(17).Text = "-" End If If e.Row.DBCampo("MayoEjercido").ToDecimal = 0 Then e.Row.Cells(19).Text = "-" End If If e.Row.DBCampo("MayoPagado").ToDecimal = 0 Then e.Row.Cells(21).Text = "-" End If If e.Row.DBCampo("JunioEjercido").ToDecimal = 0 Then e.Row.Cells(23).Text = "-" End If If e.Row.DBCampo("JunioPagado").ToDecimal = 0 Then e.Row.Cells(25).Text = "-" End If If e.Row.DBCampo("JulioEjercido").ToDecimal = 0 Then e.Row.Cells(27).Text = "-" End If If e.Row.DBCampo("JulioPagado").ToDecimal = 0 Then e.Row.Cells(29).Text = "-" End If If e.Row.DBCampo("AgostoEjercido").ToDecimal = 0 Then e.Row.Cells(31).Text = "-" End If If e.Row.DBCampo("AgostoPagado").ToDecimal = 0 Then e.Row.Cells(33).Text = "-" End If If e.Row.DBCampo("SeptiembreEjercido").ToDecimal = 0 Then e.Row.Cells(35).Text = "-" End If If e.Row.DBCampo("SeptiembrePagado").ToDecimal = 0 Then e.Row.Cells(37).Text = "-" End If If e.Row.DBCampo("OctubreEjercido").ToDecimal = 0 Then e.Row.Cells(39).Text = "-" End If If e.Row.DBCampo("OctubrePagado").ToDecimal = 0 Then e.Row.Cells(41).Text = "-" End If If e.Row.DBCampo("NoviembreEjercido").ToDecimal = 0 Then e.Row.Cells(43).Text = "-" End If If e.Row.DBCampo("NoviembrePagado").ToDecimal = 0 Then e.Row.Cells(45).Text = "-" End If If e.Row.DBCampo("DiciembreEjercido").ToDecimal = 0 Then e.Row.Cells(47).Text = "-" End If If e.Row.DBCampo("DiciembrePagado").ToDecimal = 0 Then e.Row.Cells(49).Text = "-" End If If e.Row.DBCampo("TotalEjercido").ToDecimal = 0 Then e.Row.Cells(50).Text = "-" End If If e.Row.DBCampo("TotalPagado").ToDecimal = 0 Then e.Row.Cells(52).Text = "-" End If If e.Row.RowIndex > 0 Then If DdlAgrupador.SelectedValue.ToEntero = 2 Then If e.Row.DBCampo("CveAgrupador").ToEntero > 0 Or e.Row.DBCampo("CveProyecto").ToEntero > 0 Then Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero Dim EsProyecto = False If Not e.Row.DBCampo("CveAgrupador").ToEntero > 0 Then CveAgrupador = e.Row.DBCampo("CveProyecto").ToEntero EsProyecto = True End If Dim FechaFin = e.Row.DBCampo("FechaFFiltro").ToDate.ToShortDateString Dim FechaInicio = e.Row.DBCampo("FechaIFiltro").ToDate.ToShortDateString Dim Css = "Texto" Dim Liga = $"/Contratos/RepPresupuestosDetalle.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={True}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}" e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + "" End If Else If e.Row.DBCampo("CveAgrupador").ToEntero > 0 Then Dim CveAgrupador = e.Row.DBCampo("CveAgrupador").ToEntero Dim EsProyecto = False If Not e.Row.DBCampo("CveAgrupador").ToEntero > 0 Then CveAgrupador = e.Row.DBCampo("CveProyecto").ToEntero EsProyecto = True End If Dim FechaFin = e.Row.DBCampo("FechaFFiltro").ToDate.ToShortDateString Dim FechaInicio = e.Row.DBCampo("FechaIFiltro").ToDate.ToShortDateString Dim Css = "Texto" Dim Liga = $"/Contratos/RepPresupuestosDetalle.aspx?&CveAgrupador={CveAgrupador}&CveClasificacion={e.Row.DBCampo("CveClasificacionFiltro")}&CveProyecto={e.Row.DBCampo("CveProyectoFiltro")}&CveSubProyecto={e.Row.DBCampo("CveSubProyectoFiltro")}&CveTipoGasto={e.Row.DBCampo("CveTipoGastoFiltro")}&Agrupador={e.Row.DBCampo("AgrupadorFiltro")}&Mensual={True}&EsProyecto={EsProyecto}&FechaFin={FechaFin}&FechaInicio={FechaInicio}" e.Row.Cells(0).Text = "" + e.Row.Cells(0).Text + "" End If End If End If End If End Sub Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) CargaSubProyecto() End Sub #Region " IMPRESION - NUEVO " Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click GenerarPDF("EXCEL") End Sub Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click GenerarPDF() End Sub Private Sub GenerarPDF(Optional Formato As String = "PDF") Dim Agrupador = If(DdlAgrupador.SelectedValue = "-1", "", $" Agrupador: {DdlAgrupador.SelectedItem.Text}") Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $" Proyecto: {DdlProyecto.SelectedItem.Text}") Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $" SubProyecto: {DdlSubProyecto.SelectedItem.Text}") Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $" Clasificación: {DdlClasificacion.SelectedItem.Text}") Dim TipoGasto = If(DdlTipoGasto.SelectedValue = "-1", "", $" Tipo Gasto: {DdlTipoGasto.SelectedItem.Text}") Dim FechaIn As String = $" Fecha Inicio: {TxtFiltrosFechaInicio.Text}" Dim FechaFn As String = $" Fecha Fin: {TxtFiltrosFechaFin.Text}" If TxtFiltrosFechaInicio.Text = "" Then FechaIn = "" If TxtFiltrosFechaFin.Text = "" Then FechaFn = "" If DtPresupuestos.Rows.Count > 0 Then 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) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) params.Add(New ReportParameter("AgrupadoPor", $"{FechaIn}{FechaFn}{Agrupador}{Proyecto}{SubProyecto}{Clasificacion}{TipoGasto}")) params.Add(New ReportParameter("Autorizado", LtlAutorizado.Text.FormatoNumero())) params.Add(New ReportParameter("Ejercido", LtlEjercido.Text.FormatoNumero())) params.Add(New ReportParameter("PorEjercer", LtlPorEjercer.Text.FormatoNumero())) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}")) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF("Empresas/Grales/Formatos/RepPresupuestoAnual.rdlc", DtPresupuestos, params, "Reporte de Presupuestos Anual", Formato) Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If End Sub #End Region End Class