332 lines
13 KiB
VB.net
332 lines
13 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class AC_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 DateTime
|
|
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("IdCuenta").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("IdCuenta") = value
|
|
End Set
|
|
End Property
|
|
Private Property IdSegNeg As Integer
|
|
Get
|
|
IdSegNeg = ViewState("IdSegNeg").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("IdSegNeg") = 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 Integer
|
|
Get
|
|
TipoReporte = ViewState("TipoReporte").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("TipoReporte") = 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 = 1 Then
|
|
Response.Redirect($"/Contabilidad/RepAnexoCatalogo.aspx")
|
|
End If
|
|
|
|
If UsuarioActual.Empresa.UsaContabilidad Or UsuarioActual.Empresa.UsaAC Then
|
|
InicializaValores()
|
|
CargaURLParametros()
|
|
BtnConsultar.Enabled = True
|
|
Else
|
|
Alert("La empresa no usa Contabilidad ni Armonización Contable", TipoMensaje.MsgError)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
|
|
#Region " INCIALIZA VALORES "
|
|
Private Sub InicializaValores()
|
|
DtDatos = Nothing
|
|
CargaTipoCuentas()
|
|
CargaSegmentosNegocio()
|
|
FechaInicio = DateSerial(Year(NowADS()), Month(NowADS()), 1)
|
|
FechaFin = NowADS()
|
|
|
|
If UsuarioActual.Empresa.UsaAC Then
|
|
TipoReporte = -1
|
|
Else
|
|
TipoReporte = 1
|
|
tdTipoReporte.Visible = True
|
|
tdTipoReporte2.Visible = True
|
|
End If
|
|
End Sub
|
|
Public Function WSCuentas() As String
|
|
Dim Str As New StringBuilder
|
|
Dim i As Integer = 0
|
|
Dim dt As DataTable = DTCuentas '.FiltraParametros("Afectable = 1")
|
|
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
|
|
For Each dr As DataRow In dt.Rows
|
|
i += 1
|
|
Str.AppendFormat("{{value:""{0}"",label:""{1}{3}""}}{2}", dr("Id"), dr("CtaCodigo").ToString.Replace("""", ""), If(i < dt.Rows.Count, ",", ""), If(dr("Afectable").ToString = "1", " *", ""))
|
|
Next
|
|
|
|
End If
|
|
|
|
|
|
Return Str.ToString
|
|
End Function
|
|
Private Sub CargaTipoCuentas()
|
|
Dim ObjTipoCuenta As New ClsContPAQi(UsuarioActual.Empresa)
|
|
Dim strGlobal As String = ""
|
|
|
|
If ObjTipoCuenta.GetCuentas(-1, "-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 '.FiltraParametros("Afectable = 1")
|
|
DdlTipoCuentas.DataSource = ObjTipoCuenta.DtResultados.FiltraParametros("Codigo IN ('_ACTIVO', '_BPASIVO', '_CAPITAL', '_CUADRE', '_ESTADISTICAS', '_ORDEN', '_RACREEDOR', '_RDEUDOR', '_UTILIDAD')")
|
|
End If
|
|
ObjTipoCuenta.Dispose()
|
|
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 = 0
|
|
|
|
End Sub
|
|
Private Sub CargaSegmentosNegocio()
|
|
Dim ObjContpaq As New ClsContPAQi(UsuarioActual.Empresa)
|
|
Dim strGlobal As String = ""
|
|
|
|
If ObjContpaq.GetSegmentosNegocio(-1, "-1") Then
|
|
DdlSegmentoNegocio.DataSource = ObjContpaq.DtResultados
|
|
DdlSegmentoNegocio.DataBind()
|
|
End If
|
|
ObjContpaq.Dispose()
|
|
DdlSegmentoNegocio.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
DdlSegmentoNegocio.SelectedValue = "-1"
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#Region "CARGA DATOS"
|
|
Private Sub CargaURLParametros()
|
|
|
|
Dim ErrorParametros = True
|
|
|
|
If Request("ID") IsNot Nothing AndAlso IsNumeric(Request("ID")) AndAlso Request("ID").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("ID").ToEntero
|
|
'FechaInicio = Request("FI").ToDate
|
|
FechaFin = Request("FF").ToDate
|
|
|
|
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
|
|
FechaInicio = DateSerial(Year(FechaFin), Month(FechaFin), 1)
|
|
End If
|
|
DdlTipoCuentas.SelectedValueExist("-2")
|
|
HdnCveCuenta.Value = IdCuenta.ToString
|
|
TxtCuenta.Text = DTCuentas.FiltroPrimeroValor("CtaCodigo", $"Id={Request("ID")}")
|
|
|
|
If Request("CM") IsNot Nothing AndAlso IsNumeric(Request("CM")) AndAlso Request("CM").ToEntero > 0 Then
|
|
DdlCuenta.SelectedValueExist(Request("CM").ToString)
|
|
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
|
|
|
|
If Request("IdSegNeg") IsNot Nothing AndAlso IsNumeric(Request("IdSegNeg")) AndAlso Request("IdSegNeg").ToEntero > 0 Then
|
|
IdSegNeg = Request("IdSegNeg").ToEntero
|
|
|
|
DdlSegmentoNegocio.SelectedValue = IdSegNeg.ToString
|
|
End If
|
|
End If
|
|
'End If
|
|
End If
|
|
|
|
UPFiltros.Update()
|
|
TxtFechaDel.Text = FechaInicio.ToShortDateString
|
|
TxtFechaAl.Text = FechaFin.ToShortDateString
|
|
|
|
If Not ErrorParametros Then
|
|
CargaDatos()
|
|
End If
|
|
End Sub
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
|
|
|
|
If DdlTipoCuentas.SelectedValue.ToEntero = -2 AndAlso TxtCuenta.Text.Trim = "" Then
|
|
Alert("El campo Cuenta es obligatorio.", TipoMensaje.MsgError)
|
|
Else
|
|
FechaInicio = If(TxtFechaDel.Text = "" Or TxtFechaDel.Text = "__/__/____", NowADS(), TxtFechaDel.Text.ToDate)
|
|
FechaFin = If(TxtFechaAl.Text = "" Or TxtFechaAl.Text = "__/__/____", NowADS(), TxtFechaAl.Text.ToDate)
|
|
IdCuenta = If(DdlTipoCuentas.SelectedValue.ToEntero = -2, HdnCveCuenta.Value.ToEntero, DdlTipoCuentas.SelectedValue.ToEntero)
|
|
CargaDatos()
|
|
|
|
RegistraScript("Enable();")
|
|
End If
|
|
End Sub
|
|
Private Sub CargaDatos()
|
|
Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa)
|
|
|
|
TipoReporte = If(TipoReporte = -1, -1, DdlTipoReporte.SelectedValue.ToEntero)
|
|
|
|
If ObjConta.GetAnexoCatalogo(IdCuenta, FechaInicio, FechaFin, DdlCuenta.SelectedValue.ToEntero, TipoReporte, DdlSegmentoNegocio.SelectedValue.ToEntero) Then
|
|
|
|
If Request("ID") IsNot Nothing AndAlso IsNumeric(Request("ID")) AndAlso Request("ID").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.DataBind()
|
|
UpDatos.Update()
|
|
If DtDatos.Rows.Count > 0 Then
|
|
RegistraScript("Scroll();")
|
|
End If
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#Region "GV ROW DATA BOUND"
|
|
Protected Sub GvIngresos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
If e.Row.DBCampo("Id").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("/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx?ID={0}&FI={1}&FF={2}&IdSegNeg={3}", e.Row.DBCampo("ID"), FechaInicio.ToShortDateString, FechaFin.ToShortDateString, DdlSegmentoNegocio.SelectedValue.ToEntero)
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#Region " IMPRIMIR "
|
|
Protected Sub LnkImprimir_Click(sender As Object, e As EventArgs) Handles LnkImprimir.Click
|
|
If Not IsNothing(DtDatos) Then
|
|
ImprimirReporte()
|
|
Else
|
|
Alert("Primero debe consultar el Anexo del Catálogo", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click
|
|
If Not IsNothing(DtDatos) Then
|
|
ImprimirReporte("Excel")
|
|
Else
|
|
Alert("Primero debe consultar el Anexo del Catálogo", TipoMensaje.MsgAdvertencia)
|
|
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))
|
|
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")))
|
|
|
|
ImprimirPDF(reportpath, DtDatos, params, fileName, Formato)
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
|
|
|
|
End Class
|