Files
SIG/Contabilidad/RepAnexoCatalogo.aspx.vb
2024-07-24 03:40:15 -07:00

314 lines
12 KiB
VB.net

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 Then Response.Redirect($"/Contabilidad/RepAnexoCatalogoCI.aspx")
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)
divProyecto.Visible = True
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, VisualizacionReporte:=1)
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, "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")
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?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