Option Explicit On Option Strict On Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class Conta_RepMovimientosAuxiliaresCatalogo 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 DtTotales As DataTable Get DtTotales = DirectCast(ViewState("DtTotales"), DataTable) End Get Set(ByVal value As DataTable) ViewState("DtTotales") = 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 CveSubProyecto As String ' Get ' CveSubProyecto = ViewState("CveSubProyecto").ToString ' End Get ' Set(value As String) ' ViewState("CveSubProyecto") = value ' End Set 'End Property Private Property IdCuenta As Integer Get IdCuenta = ViewState("IdCuenta").ToString.ToEntero End Get Set(value As Integer) ViewState("IdCuenta") = value End Set End Property Private Property TotalPadre As Boolean Get TotalPadre = CBool(ViewState("TotalPadre")) End Get Set(value As Boolean) ViewState("TotalPadre") = 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 TipoReporte As String Get TipoReporte = ViewState("TP").ToString End Get Set(value As String) ViewState("TP") = value End Set End Property Private Property Cuenta As String Get Return ViewState("Cuenta").ToString End Get Set(value As String) ViewState("Cuenta") = 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 Then Response.Redirect($"/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx") End If Dim ErrorParametros = True CargaTipoCuentas() 'TxtCuenta.Enabled = False DdlMoneda.DataSource = GlobalDTMonedas 'DdlMoneda.Dispose() DdlMoneda.DataBind() TxtFechaDel.Text = Now.FirstDayOfMonth.ToShortDateString TxtFechaAl.Text = Now.LastDayOfMonth.ToShortDateString If Request("CveCuenta") IsNot Nothing AndAlso IsNumeric(Request("CveCuenta")) AndAlso Request("CveCuenta").ToEntero > 0 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 'HdnCveCuenta.Value = IdCuenta.ToString FechaFin = Request("FF").ToDate TxtFechaAl.Text = FechaFin.ToShortDateString DdlCuentas.SelectedValueExist(IdCuenta) If DdlCuentas.SelectedValue.ToEntero <> -1 Then 'RegistraScript("Enable();") DdlTipoCuentas.SelectedValueExist(-2) End If If Request("FI") IsNot Nothing AndAlso Request("FI").ToString.Length = 10 AndAlso Request("FI").ToDate > "01/01/1000".ToDate Then FechaInicio = Request("FI").ToDate TxtFechaDel.Text = FechaInicio.ToShortDateString Else FechaInicio = DateSerial(Year(FechaFin), Month(FechaFin), 1) TxtFechaDel.Text = FechaInicio.ToShortDateString End If If Request("CveSubProyecto") IsNot Nothing Then If IsNumeric(Request("CveSubProyecto")) Then DdlSubproyecto.SelectedValueExist(Request("CveSubProyecto").ToString) End If End If ErrorParametros = False If Request("TP") IsNot Nothing AndAlso IsNumeric(Request("TP")) AndAlso Request("TP").ToEntero > 0 Then TipoReporte = Request("TP").ToString ' DdlTipoReporte.SelectedValue = TipoReporte.ToString End If ''If DdlTipoCuentas.Items.FindByValue(IdCuenta.ToString) IsNot Nothing Then '' DdlTipoCuentas.SelectedValue = IdCuenta.ToString ''Else '' DdlTipoCuentas.SelectedValue = "-2" '' TxtCuenta.Enabled = True '' If DTCuentas.FiltraParametros(String.Format("Cvecuenta = {0}", IdCuenta)).Rows.Count > 0 Then '' TxtCuenta.Text = DTCuentas.FiltraParametros(String.Format("CveCuenta = {0}", IdCuenta)).Rows(0)("Codigo").ToString '' End If ''End If End If End If If Not ErrorParametros Then TotalPadre = True TipoReporte = "1" CargaDatos() End If End If End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) If DdlTipoCuentas.SelectedValue.ToEntero = -2 AndAlso DdlCuentas.SelectedValue.ToEntero = -1 Then Alert("El campo Cuenta es obligatorio.", TipoMensaje.MsgError) Else FechaInicio = If(TxtFechaDel.Text = "" Or TxtFechaDel.Text = "__/__/____", Date.Now, TxtFechaDel.Text.ToDate) FechaFin = If(TxtFechaAl.Text = "" Or TxtFechaAl.Text = "__/__/____", Date.Now, TxtFechaAl.Text.ToDate) IdCuenta = If(DdlTipoCuentas.SelectedValue.ToEntero = -2, DdlCuentas.SelectedValue.ToEntero, DdlTipoCuentas.SelectedValue.ToEntero) CargaDatos() End If ' Imprimir_click(sender, e) 'RegistraScript("Enable();") End Sub #Region "C A R G A - D A T O S" Public Function WSCuentas() As String Dim Str As New StringBuilder Dim i As Integer = 0 Dim dt As DataTable = DTCuentas For Each dr As DataRow In dt.Rows i += 1 Str.AppendFormat("{{value:""{0}"",label:""{1}""}}{2}", dr("CveCuenta"), dr("Codigo").ToString.Replace("""", ""), If(i < dt.Rows.Count, ",", "")) Next Return Str.ToString End Function Private Sub CargaTipoCuentas() ' Dim ObjTipoCuenta As New ClsContPAQi(UsuarioActual.Empresa) Dim ObjTipoCuenta As New ClsContabilidad '(UsuarioActual.Empresa) Dim strGlobal As String = "" DdlSubproyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, -1) DdlSubproyecto.DataBind() If ObjTipoCuenta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa, 1, -1) Then Dim dr As DataRow = ObjTipoCuenta.DtResultados.FiltroPrimero("Codigo IN ('_GLOBAL')") If dr IsNot Nothing Then strGlobal = dr.Item(0).ToString DTCuentas = ObjTipoCuenta.DtResultados DdlTipoCuentas.DataSource = ObjTipoCuenta.DtResultados.FiltraParametros("Codigo IN ('_ACTIVO', '_BPASIVO', '_CAPITAL', '_CUADRE', '_ESTADISTICAS', '_ORDEN', '_RACREEDOR', '_RDEUDOR', '_UTILIDAD')") End If DdlTipoCuentas.DataBind() 'If strGlobal.Length > 0 Then DdlTipoCuentas.Items.Insert(0, New ListItem("Todas", strGlobal)) DdlTipoCuentas.Items.Insert(0, New ListItem("Todas las Cuentas", "1")) DdlTipoCuentas.Items.Add(New ListItem("Algun específico", "-2")) DdlTipoCuentas.SelectedIndex = 1 DdlCuentas.Enabled = True If ObjTipoCuenta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa) Then DdlCuentas.DataSource = ObjTipoCuenta.DtResultados End If ObjTipoCuenta.Dispose() DdlCuentas.DataBind() End Sub Private Sub CargaDatos() 'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) Dim CveSubProyecto As String = DdlSubproyecto.SelectedValue.ToString TipoReporte = DdlTipoReporte.SelectedValue.ToString If TipoReporte = "1" And DdlCuentas.SelectedValue.ToEntero < 0 Then Alert("No ha seleccionado cuenta, Favor de especificar una", TipoMensaje.MsgAdvertencia) Exit Sub End If IdCuenta = DdlCuentas.SelectedValue.ToEntero Cuenta = DdlCuentas.SelectedItem.ToString Dim ObjConta As New ClsContabilidad If ObjConta.GetMovimientosAuxiliaresCatalogo(IdCuenta, FechaInicio, FechaFin, DdlMoneda.SelectedValue.ToEntero, CveSubProyecto, UsuarioActual.CveEmpresa, TipoReporte) Then DtDatos = ObjConta.DtResultados DtTotales = DtDatos.Clone 'InsertaTotales() CargaGrid() Else DtDatos = Nothing End If ObjConta.Dispose() End Sub #End Region Private Sub InsertaTotales() Dim i = 0 Dim Aumento = 0 Dim Row As DataRow Dim Row2 As DataRow 'Llena DtTotales For Each dr As DataRow In DtDatos.Rows If dr("Concepto").ToString = "" Then Row = DtTotales.NewRow Row("CveCuenta") = -1 Row("CargosMovto") = If(DdlMoneda.SelectedValue = "1", dr("Cargos"), dr("CargosME")) Row("AbonosMovto") = If(DdlMoneda.SelectedValue = "1", dr("Abonos"), dr("AbonosME")) Row("Saldo") = dr("SaldoActual") Row("CtaMayor") = dr("CtaMayor") Row("Concepto") = String.Format("Total {0}:", dr("Nombre")) Row("Nombre") = dr("Nombre") DtTotales.Rows.Add(Row) Row("Clasificacion") = i End If i += 1 Next 'Inserta Totales en DtDatos For Each dr As DataRow In DtTotales.Rows i = 0 If dr("CtaMayor").ToString = "1" Then DtDatos.ImportRow(dr) End If If dr("CtaMayor").ToString = "2" Then For index = dr("Clasificacion").ToString.ToEntero + Aumento To DtDatos.Rows.Count If DtDatos.Rows(index)("Nombre").ToString <> dr("Nombre").ToString Then i = index Exit For End If Next Row2 = DtDatos.NewRow Row2.ItemArray = dr.ItemArray DtDatos.Rows.InsertAt(Row2, i + Aumento) Aumento += 1 End If Next End Sub #Region "G R I D - GV DATOS" Private Sub CargaGrid() GvDatos.DataSource = DtDatos 'GvDatos.Dispose() GvDatos.DataBind() UpDatos.Update() End Sub Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("Concepto") = "" Then e.Row.ControlStyle.Font.Bold = True e.Row.ControlStyle.Height = 35 'Cuando es Titulo If e.Row.DBCampo("SaldoActual") = "" Then CType(e.Row.FindControl("tr2"), HtmlTableRow).Visible = False 'Cuando Es Total Else CType(e.Row.FindControl("tr1"), HtmlTableRow).Visible = False 'Anterior para TotalPadre 'If e.Row.DBCampo("CtaMayor").ToString = "2" And (e.Row.DBCampo("Nivel3").ToString <> "" Xor e.Row.DBCampo("Orden").ToString.Length = 18) Then ' e.Row.FCLabel("LbReferencia").Text = "Total:" 'Else ' e.Row.FCLabel("LbConcepto").Text = String.Format("Total {0}:", e.Row.DBCampo("Nombre").ToString) 'End If If TotalPadre Then CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells(3).Width = "1px" 'CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells.Remove(CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells(3)) CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells(3).Align = "Right" CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells(3).Width = "400px" If e.Row.RowIndex + 1 = DtDatos.Rows.Count Then CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells(4).Attributes.Add("style", "border-top: 1px solid black;") CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells(5).Attributes.Add("style", "border-top: 1px solid black;") CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells(6).Attributes.Add("style", "border-top: 1px solid black;") End If e.Row.FCLabel("LbReferencia").Text = String.Format("Total {0}:", e.Row.DBCampo("Nombre").ToString) Else TotalPadre = True e.Row.FCLabel("LbReferencia").Font.Bold = False e.Row.FCLabel("LbReferencia").Text = "Total:" CType(e.Row.FindControl("tr2"), HtmlTableRow).Cells(4).Align = "Right" End If 'e.Row.FCLabel("LbReferencia").Text = String.Format("Total {0}:", If(e.Row.DBCampo("CtaMayor").ToString = "2", "", e.Row.DBCampo("Nombre").ToString)) e.Row.FCLabel("LbCargos").Text = e.Row.DBCampo("Cargos").ToString.FormatoNumero(If(DdlMoneda.SelectedValue = "1", 2, 4)) e.Row.FCLabel("LbAbonos").Text = e.Row.DBCampo("Abonos").ToString.FormatoNumero(If(DdlMoneda.SelectedValue = "1", 2, 4)) e.Row.FCLabel("LbSaldo").Text = e.Row.DBCampo("SaldoActual").ToString.FormatoNumero(If(DdlMoneda.SelectedValue = "1", 2, 4)) End If Else TotalPadre = False e.Row.ControlStyle.Font.Bold = False CType(e.Row.FindControl("tr1"), HtmlTableRow).Visible = False e.Row.FCHyperLink("HLPoliza").NavigateUrl = String.Format("/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={0}", e.Row.DBCampo("CvePoliza")) If e.Row.DBCampo("CargosMovto").ToDouble <> 0 Then e.Row.FCLabel("LbCargos").Text = e.Row.DBCampo("CargosMovto").ToString.FormatoNumero(If(DdlMoneda.SelectedValue = "1", 2, 4)) If e.Row.DBCampo("AbonosMovto").ToDouble <> 0 Then e.Row.FCLabel("LbAbonos").Text = e.Row.DBCampo("AbonosMovto").ToString.FormatoNumero(If(DdlMoneda.SelectedValue = "1", 2, 4)) If e.Row.DBCampo("Saldo").ToDouble <> 0 Then e.Row.FCLabel("LbSaldo").Text = e.Row.DBCampo("Saldo").ToString.FormatoNumero(If(DdlMoneda.SelectedValue = "1", 2, 4)) End If 'COLOREA NEGATIVOS If e.Row.FCLabel("LbCargos").Text.ToDouble < 0 Then e.Row.FCLabel("LbCargos").ForeColor = Drawing.Color.Red Else e.Row.FCLabel("LbCargos").ForeColor = Drawing.Color.Black End If If e.Row.FCLabel("LbAbonos").Text.ToDouble < 0 Then e.Row.FCLabel("LbAbonos").ForeColor = Drawing.Color.Red Else e.Row.FCLabel("LbAbonos").ForeColor = Drawing.Color.Black End If If e.Row.FCLabel("LbSaldo").Text.ToDouble < 0 Then e.Row.FCLabel("LbSaldo").ForeColor = Drawing.Color.Red Else e.Row.FCLabel("LbSaldo").ForeColor = Drawing.Color.Black End If If e.Row.FCLabel("LbSaldoInicial").Text.ToDouble < 0 Then e.Row.FCLabel("LbSaldoInicial").ForeColor = Drawing.Color.Red Else e.Row.FCLabel("LbSaldoInicial").ForeColor = Drawing.Color.Black End If End If End Sub #End Region Protected Sub Imprimir_click(sender As Object, e As EventArgs) Handles Imprimir.Click If DdlTipoCuentas.SelectedValue.ToEntero = -2 AndAlso DdlCuentas.SelectedValue.ToEntero = -1 Then Alert("El campo Cuenta es obligatorio.", TipoMensaje.MsgError) Else FechaInicio = If(TxtFechaDel.Text = "" Or TxtFechaDel.Text = "__/__/____", Date.Now, TxtFechaDel.Text.ToDate) FechaFin = If(TxtFechaAl.Text = "" Or TxtFechaAl.Text = "__/__/____", Date.Now, TxtFechaAl.Text.ToDate) IdCuenta = If(DdlTipoCuentas.SelectedValue.ToEntero = -2, DdlCuentas.SelectedValue.ToEntero, DdlTipoCuentas.SelectedValue.ToEntero) 'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) 'If ObjConta.GetAnexoCatalogo(IdCuenta, FechaInicio, FechaFin) Then 'DtDatos = ObjConta.DtResultados DtDatos = DtDatos ImprimirReporte() End If End Sub Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click ImprimirReporte("Excel") 'Dim htmlTabe As New HtmlTable 'Dim RutaLogo As String = $"{UsuarioActual.Empresa.Ruta}Logo.png" 'Dim strinLiteral As String = "" 'Dim EncabezadoLiteral As New LiteralControl 'If System.IO.File.Exists(RutaLogo) Then ' RutaLogo = $"http://{Request.Url.Host }/Empresas/{UsuarioActual.CveEmpresa}/Logo.png" ' strinLiteral = $"
{UsuarioActual.Empresa.Empresa} |
' Fecha:{Now.ToString("dd/MM/yyyy")} | '|||||||
| ' Filtros Cuenta: {DdlCuentas.SelectedItem.Text} Fecha inicio: { TxtFechaDel.Text} Fecha Fin: {TxtFechaAl.Text} ' | ' | |||||||
| ' | {UsuarioActual.Empresa.Empresa} |
' Fecha:{Now.ToString("dd/MM/yyyy")} | '|||||||
| ' Filtros Cuenta: {DdlCuentas.SelectedItem.Text} Fecha inicio: { TxtFechaDel.Text} Fecha Fin: {TxtFechaAl.Text} ' | ' | ||||||||