Option Explicit On Option Strict On Imports Extensiones Imports System.Data Imports Microsoft.Reporting.WebForms Partial Class AC_RepPresupuestoEgresos Inherits ClsPaginas #Region " PROPIEDADES " Private Property DtPresupuestoEgresos As DataTable Get Return CType(ViewState("DtPresupuestoEgresos"), DataTable) End Get Set(value As DataTable) ViewState("DtPresupuestoEgresos") = value End Set End Property Private Property EjercicioAC As Integer Get Return ViewState("EjercicioAC").ToString.ToEntero End Get Set(value As Integer) ViewState("EjercicioAC") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then txtFechaF.Text = Now.ToShortDateString CargaCombos() End If End Sub #Region " VALORES INICIALES " Private Sub CargaCombos() Dim ClsConta As New ClsContPAQi(UsuarioActual.Empresa) If ClsConta.GetEjercicios() Then DdlEjercicio.DataSource = ClsConta.DtResultados Else DdlEjercicio.DataSource = Nothing End If ClsConta.Dispose() DdlEjercicio.DataBind() DdlEjercicio.SelectedValueExist(UsuarioActual.Empresa.EjercicioActual.ToString) DdlCapituloClasificaciones.DataSource = GlobalDTACClasificadorObjetoGasto(UsuarioActual.CveEmpresa).FiltraParametros("NivelClasificacion = 1", "Codigo") DdlCapituloClasificaciones.DataBind() DdlClasificaciones.DataSource = GlobalDTACClasificadorObjetoGasto(UsuarioActual.CveEmpresa).FiltraParametros("NivelClasificacion = 4", "Codigo") DdlClasificaciones.DataBind() DdlFuenteFinanciamiento.DataSource = GlobalDTAC_FuentesFinanciamiento.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlFuenteFinanciamiento.DataBind() DdlProgramaOperativo.DataSource = GlobalDTAC_ProgramaOperativo(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("Ejercicio = {0}", DdlEjercicio.SelectedValue)) DdlProgramaOperativo.DataBind() DdlUnidadAdministrativa.DataSource = GlobalDTAC_UnidadesAdministrativas(UsuarioActual.CveEmpresa) DdlUnidadAdministrativa.DataBind() DdlTipoGasto.DataSource = GlobalDTAC_TipoGasto '.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlTipoGasto.DataBind() DdlEjercicio_SelectedIndexChanged(DdlEjercicio, EventArgs.Empty) End Sub Protected Sub DdlEjercicio_SelectedIndexChanged(sender As Object, e As EventArgs) DdlProgramaOperativo.Items.Clear() DdlProgramaOperativo.DataSource = GlobalDTAC_ProgramaOperativo(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("Ejercicio = {0}", DdlEjercicio.SelectedValue)) DdlProgramaOperativo.DataBind() DdlProgramaOperativo.Items.Insert(0, New ListItem("Todos", "-1")) LimitaFechaCorte() UPFiltros.Update() End Sub Private Sub LimitaFechaCorte() If DdlEjercicio.SelectedValue.ToEntero = Year(Now) Then Calendario2.EndDate = Now RVFechaFinal.MaximumValue = Now.ToShortDateString txtFechaF.Text = Now.ToShortDateString Else Calendario2.EndDate = String.Format("31/12/{0}", DdlEjercicio.SelectedValue.ToEntero).ToDate RVFechaFinal.MaximumValue = String.Format("31/12/{0}", DdlEjercicio.SelectedValue.ToEntero) txtFechaF.Text = String.Format("31/12/{0}", DdlEjercicio.SelectedValue.ToEntero) End If End Sub Protected Sub DdlCapituloClasificaciones_SelectedIndexChanged(sender As Object, e As EventArgs) DdlClasificaciones.Items.Clear() If DdlCapituloClasificaciones.SelectedValue.ToEntero > 1 Then DdlClasificaciones.DataSource = GlobalDTACClasificadorObjetoGasto(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("NivelClasificacion = 4 AND CodigoClasificacion LIKE '{0}%'", DdlCapituloClasificaciones.SelectedItem.Text.Substring(0, 1)), "Codigo") Else DdlClasificaciones.DataSource = GlobalDTACClasificadorObjetoGasto(UsuarioActual.CveEmpresa).FiltraParametros("NivelClasificacion = 4", "Codigo") End If DdlClasificaciones.Items.Insert(0, New ListItem("Todas", "-1")) DdlClasificaciones.DataBind() UPFiltros.Update() End Sub #End Region #Region " CARGA DATOS " Protected Sub consultar_Click(sender As Object, e As EventArgs) CargaDatos() End Sub Private Sub CargaDatos() Dim objAC As New ClsContPAQi(UsuarioActual.Empresa) Dim FechaF As Date = txtFechaF.Text.ToDate Dim Capitulo As String = If(DdlCapituloClasificaciones.SelectedValue.ToEntero = -1, "-1", GlobalDTACClasificadorObjetoGasto.FiltraParametros(String.Format("CveClasificacion = {0}", DdlCapituloClasificaciones.SelectedValue.ToEntero)).Rows(0)("Codigo").ToString.Substring(0, 1)) If objAC.GetRepPresupuestosEgresosSaldos(DdlEjercicio.SelectedValue.ToEntero, FechaF, Capitulo, DdlClasificaciones.SelectedValue.ToEntero, DdlFuenteFinanciamiento.SelectedValue.ToEntero, DdlProgramaOperativo.SelectedValue.ToEntero, DdlUnidadAdministrativa.SelectedValue.ToEntero, DdlTipoGasto.SelectedValue.ToEntero, DdlOrden.SelectedValue.ToEntero) Then DtPresupuestoEgresos = objAC.DtResultados If Not (DdlOrden.SelectedValue.ToEntero = 1 OrElse DdlOrden.SelectedValue.ToEntero = 6 OrElse DdlOrden.SelectedValue.ToEntero = 8) Then DtPresupuestoEgresos.Rows.RemoveAt(0) DtPresupuestoEgresos.Rows.RemoveAt(0) DtPresupuestoEgresos.Rows.RemoveAt(0) End If Gv.DataSource = DtPresupuestoEgresos Else Gv.DataSource = Nothing DtPresupuestoEgresos = Nothing End If objAC.Dispose() 'Carga Grid Gv.DataBind() UPPDatos.Update() End Sub Private Sub CargaDatosANT() Dim AC As New ClsContPAQi(UsuarioActual.Empresa) Dim Ejercicio As Integer = DdlEjercicio.SelectedValue.ToEntero UPPDatos.Update() Gv.DataBind() If AC.RepPresupuestoEgresosGet(Ejercicio) Then Gv.DataSource = AC.DtResultados Gv.DataBind() End If AC.Dispose() End Sub Protected Sub Gv_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles Gv.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("CodigoClasificacion") = "8" Then 'CLASIFICACION FUNCIONAL Select Case e.Row.DBCampo("Nivel") Case "5" : e.Row.Font.Bold = True End Select Else If e.Row.DBCampo("Nivel") = "5" Then e.Row.CssClass = "Totales" ElseIf e.Row.DBCampo("Nivel") = "4" Then e.Row.FCLiteral("LtlGrupo").Text = e.Row.DBCampo("Clasificacion1") e.Row.CssClass = "SubTotales2" ElseIf e.Row.DBCampo("Nivel") = "3" Then e.Row.FCLiteral("LtlGrupo").Text = e.Row.DBCampo("Clasificacion2") e.Row.CssClass = "SubTotales3" ElseIf e.Row.DBCampo("Nivel") = "2" Then e.Row.FCLiteral("LtlGrupo").Text = e.Row.DBCampo("Clasificacion3") e.Row.Font.Bold = True End If End If If e.Row.DBCampo("Comprometido").ToDecimal > e.Row.DBCampo("Vigente").ToDecimal Then e.Row.FCHyperLink("HLComprometido").ForeColor = Drawing.Color.Red If e.Row.DBCampo("Devengado").ToDecimal > e.Row.DBCampo("Comprometido").ToDecimal Then e.Row.FCHyperLink("HLDevengado").ForeColor = Drawing.Color.Red If e.Row.DBCampo("Ejercido").ToDecimal > e.Row.DBCampo("Devengado").ToDecimal Then e.Row.FCHyperLink("HLEjercido").ForeColor = Drawing.Color.Red If e.Row.DBCampo("Pagado").ToDecimal > e.Row.DBCampo("Ejercido").ToDecimal Then e.Row.FCHyperLink("HLPagado").ForeColor = Drawing.Color.Red e.Row.FCHyperLink("HLComprometido").NavigateUrl = String.Format("/AC/RepPresupuestoEgresosDetalle.aspx?MM=1&PO={0}&FF={1}&TG={2}&UA={3}&C={4}&COG={5}&FeI={6}&FeF={7}&Ej={8}", e.Row.DBCampo("CveProgramaOperativo").ToEntero, e.Row.DBCampo("CveFuenteFinanciamiento").ToEntero, e.Row.DBCampo("CveTipoGasto").ToEntero, e.Row.DBCampo("CveUnidadAdministrativa").ToEntero, e.Row.DBCampo("CveClasificacion").ToEntero, e.Row.DBCampo("CodigoOG").ToEntero, String.Format("01/01/{0}", DdlEjercicio.SelectedItem.Text), If(txtFechaF.Text <> "", txtFechaF.Text, Date.Now.ToString("dd/MM/yyyy")), DdlEjercicio.SelectedValue) e.Row.FCHyperLink("HLComprometido").CssClass = "Texto" e.Row.FCHyperLink("HLDevengado").NavigateUrl = String.Format("/AC/RepPresupuestoEgresosDetalle.aspx?MM=2&PO={0}&FF={1}&TG={2}&UA={3}&C={4}&COG={5}&FeI={6}&FeF={7}&Ej={8}", e.Row.DBCampo("CveProgramaOperativo").ToEntero, e.Row.DBCampo("CveFuenteFinanciamiento").ToEntero, e.Row.DBCampo("CveTipoGasto").ToEntero, e.Row.DBCampo("CveUnidadAdministrativa").ToEntero, e.Row.DBCampo("CveClasificacion").ToEntero, e.Row.DBCampo("CodigoOG").ToEntero, String.Format("01/01/{0}", DdlEjercicio.SelectedItem.Text), If(txtFechaF.Text <> "", txtFechaF.Text, Date.Now.ToString("dd/MM/yyyy")), DdlEjercicio.SelectedValue) e.Row.FCHyperLink("HLDevengado").CssClass = "Texto" e.Row.FCHyperLink("HLEjercido").NavigateUrl = String.Format("/AC/RepPresupuestoEgresosDetalle.aspx?MM=3&PO={0}&FF={1}&TG={2}&UA={3}&C={4}&COG={5}&FeI={6}&FeF={7}&Ej={8}", e.Row.DBCampo("CveProgramaOperativo").ToEntero, e.Row.DBCampo("CveFuenteFinanciamiento").ToEntero, e.Row.DBCampo("CveTipoGasto").ToEntero, e.Row.DBCampo("CveUnidadAdministrativa").ToEntero, e.Row.DBCampo("CveClasificacion").ToEntero, e.Row.DBCampo("CodigoOG").ToEntero, String.Format("01/01/{0}", DdlEjercicio.SelectedItem.Text), If(txtFechaF.Text <> "", txtFechaF.Text, Date.Now.ToString("dd/MM/yyyy")), DdlEjercicio.SelectedValue) e.Row.FCHyperLink("HLEjercido").CssClass = "Texto" e.Row.FCHyperLink("HLPagado").NavigateUrl = String.Format("/AC/RepPresupuestoEgresosDetalle.aspx?MM=4&PO={0}&FF={1}&TG={2}&UA={3}&C={4}&COG={5}&FeI={6}&FeF={7}&Ej={8}", e.Row.DBCampo("CveProgramaOperativo").ToEntero, e.Row.DBCampo("CveFuenteFinanciamiento").ToEntero, e.Row.DBCampo("CveTipoGasto").ToEntero, e.Row.DBCampo("CveUnidadAdministrativa").ToEntero, e.Row.DBCampo("CveClasificacion").ToEntero, e.Row.DBCampo("CodigoOG").ToEntero, String.Format("01/01/{0}", DdlEjercicio.SelectedItem.Text), If(txtFechaF.Text <> "", txtFechaF.Text, Date.Now.ToString("dd/MM/yyyy")), DdlEjercicio.SelectedValue) e.Row.FCHyperLink("HLPagado").CssClass = "Texto" 'End If 'End If End If End Sub #End Region #Region " EXPORTAR - PDF - EXCEL " Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) 'Tbl.ExportToExcel("Estado del Ejercicio del Presupuesto de Egresos ") ImprimiReporte("Excel") End Sub Protected Sub BtnImprimir_Click(sender As Object, e As EventArgs) 'Tbl.ExportToPDF("Estado del Ejercicio del Presupuesto de Egresos ") ImprimiReporte() End Sub 'No quitar porque no funciona el exporta PDF Public Overrides Sub VerifyRenderingInServerForm(control As Control) ' Verifies that the control is rendered End Sub #End Region #Region "I M P R I M I R " Protected Sub ImprimiReporte(Optional Formato As String = "PDF") Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("pImg", New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri)) params.Add(New ReportParameter("pEjercicio", DdlEjercicio.SelectedValue.ToString)) params.Add(New ReportParameter("pFechaCorte", txtFechaF.Text)) ImprimirPDF("AC/Reportes/RepPresupuestoEgresos.rdlc", DtPresupuestoEgresos, params, "ReportePresupuestoEgresos", Formato) 'Dim rds As New ReportDataSource 'rds.Name = "DataSet1" 'rds.Value = DtPresupuestoEgresos 'MasterReporteador.LocalReport.DataSources.Clear() 'MasterReporteador.LocalReport.DataSources.Add(rds) 'MasterReporteador.LocalReport.ReportPath = "AC/Reportes/RepPresupuestoEgresos.rdlc" 'MasterReporteador.ProcessingMode = ProcessingMode.Local 'MasterReporteador.LocalReport.EnableExternalImages = True 'Dim params As New List(Of ReportParameter) 'params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) 'params.Add(New ReportParameter("pImg", New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri)) 'MasterReporteador.LocalReport.SetParameters(params) 'MasterReporteador.LocalReport.Refresh() '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 = "ReportePresupuestoEgresos" 'Dim bytes As Byte() 'Try ' bytes = MasterReporteador.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 Region End Class