Option Explicit On Option Strict On Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class AC2_RepAnexoCatalogo Inherits ClsPaginas #Region "PROPIEDADES" Private Property DtDatos As DataTable Get DtDatos = DirectCast(ViewState("DtDatos"), DataTable) End Get Set(ByVal value As DataTable) ViewState("DtDatos") = value End Set End Property Private Property FechaInicio As Date Get FechaInicio = ViewState("FechaInicio").ToString.ToDate End Get Set(value As Date) ViewState("FechaInicio") = value End Set End Property Private Property FechaFin As Date Get FechaFin = ViewState("FechaFin").ToString.ToDate End Get Set(value As Date) ViewState("FechaFin") = value End Set End Property Private Property IdCuenta As Integer Get IdCuenta = ViewState("CveCuenta").ToString.ToEntero End Get Set(value As Integer) ViewState("CveCuenta") = value End Set End Property 'Private Property DTCuentas As DataTable ' Get ' Return CType(ViewState("DTCuentas"), DataTable) ' End Get ' Set(value As DataTable) ' ViewState("DTCuentas") = value ' End Set 'End Property Private Property CveProyecto As String Get CveProyecto = ViewState("CveProyecto").ToString End Get Set(value As String) ViewState("CveProyecto") = value End Set End Property Private Property CveSubProyecto As String Get CveSubProyecto = ViewState("CveSubProyecto").ToString End Get Set(value As String) ViewState("CveSubProyecto") = value End Set End Property Private Property TipoReporte As Integer Get TipoReporte = ViewState("TP").ToString.ToEntero End Get Set(value As Integer) ViewState("TP") = 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 'If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso UsuarioActual.CveEmpresa <> 119 Then ' Response.Redirect($"/Contabilidad/RepAnexoCatalogo.aspx") 'End If Dim ErrorParametros = True DtDatos = Nothing CargaTipoCuentas() FechaInicio = NowADS().FirstDayOfMonth FechaFin = NowADS() 'If UsuarioActual.Empresa.UsaAC Then ' TipoReporte = -1 'Else ' TipoReporte = 1 ' tdTipoReporte.Visible = True ' tdTipoReporte2.Visible = True 'End If If Request("CveCuenta") IsNot Nothing AndAlso IsNumeric(Request("CveCuenta")) AndAlso Request("CveCuenta").ToEntero > 0 Then 'If Request("FI") IsNot Nothing AndAlso Request("FI").ToString.Length = 10 AndAlso Request("FI").ToDate > "01/01/1000".ToDate Then If Request("FF") IsNot Nothing AndAlso Request("FF").ToString.Length = 10 AndAlso Request("FF").ToDate > "01/01/1000".ToDate Then IdCuenta = Request("CveCuenta").ToEntero 'FechaInicio = Request("FI").ToDate FechaFin = Request("FF").ToDate DdlCuentas.SelectedValueExist(IdCuenta) If Request("FI") IsNot Nothing AndAlso Request("FI").ToString.Length = 10 AndAlso Request("FI").ToDate > "01/01/1000".ToDate Then FechaInicio = Request("FI").ToDate Else If Request("ER") IsNot Nothing AndAlso Request("ER").ToString = "1" Then FechaInicio = DateSerial(Year(FechaFin), Month(FechaFin), 1) Else FechaInicio = ("1900/01/01").ToDate End If End If If Request("CM") IsNot Nothing AndAlso IsNumeric(Request("CM")) AndAlso Request("CM").ToEntero > 0 Then DdlCuenta.SelectedValueExist(Request("CM").ToString) End If If Request("CveProyecto") IsNot Nothing AndAlso IsNumeric(Request("CveProyecto")) Then CveProyecto = Request("CveProyecto").ToString DdlProyecto.SelectedValueExist(CveProyecto) DdlProyecto_SelectedIndexChanged(Nothing, Nothing) End If If Request("CveSubProyecto") IsNot Nothing AndAlso IsNumeric(Request("CveSubProyecto")) Then CveSubProyecto = Request("CveSubProyecto").ToString DdlSubproyecto.SelectedValueExist(CveSubProyecto) End If ErrorParametros = False If Request("TP") IsNot Nothing AndAlso IsNumeric(Request("TP")) AndAlso Request("TP").ToEntero > 0 Then TipoReporte = Request("TP").ToEntero DdlTipoReporte.SelectedValue = TipoReporte.ToString End If End If 'End If End If txtFechaI.Text = FechaInicio.ToShortDateString txtFechaF.Text = FechaFin.ToShortDateString If Not ErrorParametros Then CargaDatos() End If End If End Sub #Region "CARGA DATOS Y GRID" Private Sub CargaTipoCuentas() 'Dim ObjTipoCuenta As New ClsContPAQi(UsuarioActual.Empresa) Dim ObjTipoCuenta As New ClsContabilidad Dim strGlobal As String = "" If ObjTipoCuenta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa) Then DdlCuentas.DataSource = ObjTipoCuenta.DtResultados.FiltraParametros("Codigo NOT IN ('_ACTIVO', '_PASIVO', '_CAPITAL', '_CUADRE', '_ESTADISTICAS', '_ORDEN', '_RACREEDOR', '_RDEUDOR', '_UTILIDAD')") ' DdlCuentas.DataSource = ObjTipoCuenta.DtResultados End If ObjTipoCuenta.Dispose() DdlCuentas.DataBind() CargarCentrosDeCosto(DdlProyecto, DdlSubproyecto, LblProyecto, LblSubProyecto, divProyecto:=divProyecto) End Sub Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged CargarSubProyecto(DdlSubproyecto, DdlProyecto.SelectedValue, "Todos") End Sub Private Sub CargaDatos() 'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) Dim ObjConta As New ClsContabilidad If Request("TipoReporte") IsNot Nothing Then TipoReporte = If(TipoReporte = -1, -1, DdlTipoReporte.SelectedValue.ToEntero) Else TipoReporte = DdlTipoReporte.SelectedValue.ToEntero End If 'Dim CveSubProyecto As String CveSubProyecto = DdlSubproyecto.SelectedValue.ToEntero.ToString CveProyecto = DdlProyecto.SelectedValue.ToEntero.ToString If ObjConta.GetAnexoCatalogo(IdCuenta, FechaInicio, FechaFin, DdlCuenta.SelectedValue.ToEntero, CveProyecto.ToEntero, CveSubProyecto.ToEntero, UsuarioActual.CveEmpresa, TipoReporte) Then If Request("CveCuenta") IsNot Nothing AndAlso IsNumeric(Request("CveCuenta")) AndAlso Request("CveCuenta").ToEntero > 0 Then DtDatos = ObjConta.DtResultados.FiltraParametros(" SaldoInicial <> 0 OR Cargos <> 0 OR Abonos <> 0") Else DtDatos = ObjConta.DtResultados End If CargaGrid() Else DtDatos = Nothing Alert("Ocurrio un error al cargar los datos del Anexo del Catálogo.", TipoMensaje.MsgError) End If ObjConta.Dispose() End Sub Private Sub CargaGrid() GvDatos.DataSource = DtDatos 'GvDatos.Dispose() GvDatos.DataBind() UpDatos.Update() If DtDatos.Rows.Count > 0 Then RegistraScript("Scroll();") End If End Sub #End Region Protected Sub GvIngresos_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("CveCuenta").ToEntero = IdCuenta Then e.Row.ControlStyle.Font.Bold = True 'e.Row.ControlStyle.Font.Size = 9 'e.Row.ControlStyle.Height = 30 Else e.Row.ControlStyle.Font.Bold = False End If 'If e.Row.DBCampo("CtaMayor") = "4" Or e.Row.DBCampo("CtaMayor") = "1" Then ' e.Row.ControlStyle.Font.Bold = True 'End If 'Acomoda Deudor y Acreedor If e.Row.DBCampo("Tipo") <> "D" Then 'e.Row.FCLabel("LbSaldoInicial").Text = String.Format("{0}{1}", e.Row.DBCampo("SaldoInicial").FormatoNumero, "          ") e.Row.FCLabel("LbSaldoInicial2").Visible = True e.Row.FCLabel("LbSaldoActual").Visible = True End If 'Colorea NEGATIVOS If e.Row.DBCampo("SaldoInicial").ToString.ToDouble < 0 Then e.Row.FCLabel("LbSaldoInicial").ForeColor = Drawing.Color.Red End If If e.Row.DBCampo("Cargos").ToString.ToDouble < 0 Then e.Row.FCLabel("LbCargos").ForeColor = Drawing.Color.Red End If If e.Row.DBCampo("Abonos").ToString.ToDouble < 0 Then e.Row.FCLabel("LbAbonos").ForeColor = Drawing.Color.Red End If If e.Row.DBCampo("SaldoActual").ToString.ToDouble < 0 Then e.Row.FCHyperLink("HLSaldoActual").ForeColor = Drawing.Color.Red End If e.Row.FCHyperLink("HLSaldoActual").NavigateUrl = String.Format("/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx?CveCuenta={0}&FI={1}&FF={2}&CveProyecto={3}&CveSubProyecto={4}&TP={5}", e.Row.DBCampo("CveCuenta"), FechaInicio.ToShortDateString, FechaFin.ToShortDateString, CveProyecto, CveSubProyecto, TipoReporte) End If End Sub Protected Sub LnkImprimir_Click(sender As Object, e As EventArgs) Handles LnkImprimir.Click If Not IsNothing(DtDatos) Then ImprimirReporte() End If End Sub Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click If Not IsNothing(DtDatos) Then ImprimirReporte("Excel") 'GvDatos.ExportToExcelG("AnexoCatalogo" & NowADS().ToShortDateString & ".xlsx") 'GvDatos.ExportToExcelG("ExistenciasHorizontal.xlsx", "Anexo Catalogo", UsuarioActual, "".ToString, 100, 200) End If End Sub Private Sub ImprimirReporte(Optional Formato As String = "PDF") 'ubicacion del rdlc Dim reportpath As String = "Contabilidad/Reportes/RepAnexoCatalogo.rdlc" 'nombre del reporte Dim fileName As String = "AnexoCatalogo" 'parametros a enviar al reporte Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("IdCuenta", IdCuenta.ToString)) params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("usuarioImprimio", UsuarioActual.Nombre)) Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") params.Add(New ReportParameter("pImg", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) params.Add(New ReportParameter("pFechaFin", FechaFin.ToString("dd/MM/yyyy"))) params.Add(New ReportParameter("pFechaInicio", FechaInicio.ToString("dd/MM/yyyy"))) ImprimirPDF(reportpath, DtDatos, params, fileName, Formato) End Sub Public Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click If DdlCuentas.SelectedValue.ToEntero = -1 Then Alert("El campo Cuenta es obligatorio.", TipoMensaje.MsgError) Else FechaInicio = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", NowADS(), txtFechaI.Text.ToDate) FechaFin = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", NowADS(), txtFechaF.Text.ToDate) IdCuenta = DdlCuentas.SelectedValue.ToEntero CargaDatos() End If 'RegistraScript("Enable();") End Sub Public Overrides Sub VerifyRenderingInServerForm(control As Control) End Sub End Class