457 lines
19 KiB
VB.net
457 lines
19 KiB
VB.net
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 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 AndAlso UsuarioActual.CveEmpresa <> 119 Then
|
|
' Response.Redirect($"/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx")
|
|
'End If
|
|
|
|
Dim ErrorParametros = True
|
|
|
|
CargaTipoCuentas()
|
|
'TxtCuenta.Enabled = False
|
|
|
|
txtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString
|
|
txtFechaF.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
|
|
|
|
FechaFin = Request("FF").ToDate
|
|
txtFechaF.Text = FechaFin.ToShortDateString
|
|
|
|
DdlCuentas.SelectedValueExist(Request("CveCuenta").ToEntero)
|
|
|
|
|
|
If Request("FI") IsNot Nothing AndAlso Request("FI").ToString.Length = 10 AndAlso Request("FI").ToDate > "01/01/1000".ToDate Then
|
|
FechaInicio = Request("FI").ToDate
|
|
txtFechaI.Text = FechaInicio.ToShortDateString
|
|
Else
|
|
FechaInicio = DateSerial(Year(FechaFin), Month(FechaFin), 1)
|
|
TxtFechaF.Text = FechaInicio.ToShortDateString
|
|
End If
|
|
|
|
If Request("CveProyecto") IsNot Nothing AndAlso IsNumeric(Request("CveProyecto")) Then
|
|
DdlProyecto.SelectedValueExist(Request("CveProyecto"))
|
|
DdlProyecto_SelectedIndexChanged(Nothing, Nothing)
|
|
End If
|
|
|
|
If Request("CveSubProyecto") IsNot Nothing AndAlso IsNumeric(Request("CveSubProyecto")) Then
|
|
DdlSubproyecto.SelectedValueExist(Request("CveSubProyecto"))
|
|
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 DdlCuentas.SelectedValue.ToEntero = -1 Then
|
|
Alert("El campo Cuenta es obligatorio.", TipoMensaje.MsgError)
|
|
Else
|
|
FechaInicio = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", Date.Now, txtFechaI.Text.ToDate)
|
|
FechaFin = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", Date.Now, txtFechaF.Text.ToDate)
|
|
|
|
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 ClsContabilidad
|
|
DdlCuentas.Enabled = True
|
|
|
|
If ObjTipoCuenta.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa) Then
|
|
DTCuentas = ObjTipoCuenta.DtResultados
|
|
DdlCuentas.DataSource = ObjTipoCuenta.DtResultados.FiltraParametros("Codigo NOT IN ('_ACTIVO', '_PASIVO', '_CAPITAL', '_CUADRE', '_ESTADISTICAS', '_ORDEN', '_RACREEDOR', '_RDEUDOR', '_UTILIDAD')")
|
|
|
|
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 CveProyecto As Integer = DdlProyecto.SelectedValue.ToEntero
|
|
Dim CveSubProyecto As Integer = DdlSubproyecto.SelectedValue.ToEntero
|
|
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
|
|
|
|
Cuenta = DdlCuentas.SelectedItem.ToString
|
|
Dim ObjConta As New ClsContabilidad
|
|
If ObjConta.GetMovimientosAuxiliaresCatalogo(DdlCuentas.SelectedValue.ToEntero, FechaInicio, FechaFin, -1, CveProyecto, CveSubProyecto, UsuarioActual.CveEmpresa, TipoReporte, DdlOpcionCuentas.SelectedValue.ToEntero) Then
|
|
DtDatos = ObjConta.DtResultados
|
|
DtTotales = DtDatos.Clone
|
|
|
|
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("1" = "1", dr("Cargos"), dr("CargosME"))
|
|
Row("AbonosMovto") = If("1" = "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("1" = "1", 2, 4))
|
|
e.Row.FCLabel("LbAbonos").Text = e.Row.DBCampo("Abonos").ToString.FormatoNumero(If("1" = "1", 2, 4))
|
|
e.Row.FCLabel("LbSaldo").Text = e.Row.DBCampo("SaldoActual").ToString.FormatoNumero(If("1" = "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("1" = "1", 2, 4))
|
|
If e.Row.DBCampo("AbonosMovto").ToDouble <> 0 Then e.Row.FCLabel("LbAbonos").Text = e.Row.DBCampo("AbonosMovto").ToString.FormatoNumero(If("1" = "1", 2, 4))
|
|
If e.Row.DBCampo("Saldo").ToDouble <> 0 Then e.Row.FCLabel("LbSaldo").Text = e.Row.DBCampo("Saldo").ToString.FormatoNumero(If("1" = "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 DdlCuentas.SelectedValue.ToEntero = -1 Then
|
|
Alert("El campo Cuenta es obligatorio.", TipoMensaje.MsgError)
|
|
Else
|
|
FechaInicio = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", Date.Now, txtFechaI.Text.ToDate)
|
|
FechaFin = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", Date.Now, txtFechaF.Text.ToDate)
|
|
|
|
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 = $"<table style='width:{ GvDatos.Width }px'><tr>
|
|
' <td colspan='3' style='width:15%;height:150px; text-align:center; vertical-align:middle;font-weight: bold;'><img width='200px' height='150px' style='max-height:150px!important;max-width:200px!important' src='{RutaLogo}' /> </td>
|
|
' <td colspan='3' style='width:70%;height:150px; text-align:center; vertical-align:middle;font-weight: bold; display: block;'><p><span>{UsuarioActual.Empresa.Empresa} </span><br><span> Movimientos Auxiliares del Catálogo<p></td>
|
|
' <td colspan='3' style='width:15%;height:150px; text-align:center; vertical-align:middle;font-weight: bold;'> Fecha:{Now.ToString("dd/MM/yyyy")}</td>
|
|
' </tr>
|
|
' <tr>
|
|
' <td style='text-align:left;' colspan='6'>
|
|
' <b>Filtros Cuenta:</b> {DdlCuentas.SelectedItem.Text} <b>Fecha inicio: </b>{ TxtFechaDel.Text} <b>Fecha Fin:</b> {TxtFechaAl.Text}
|
|
' <td>
|
|
' </tr>
|
|
' </table>"
|
|
'Else
|
|
' strinLiteral = $"<table style='width:{ GvDatos.Width }px'><tr>
|
|
' <td colspan='3' style='width:15%;height:150px; text-align:center; vertical-align:middle;font-weight: bold;'> </td>
|
|
' <td colspan='3' style='width:70%;height:150px; text-align:center; vertical-align:middle;font-weight: bold; display: block;'><p><span>{UsuarioActual.Empresa.Empresa} </span><br><span> Movimientos Auxiliares del Catálogo<p></td>
|
|
' <td colspan='3' style='width:15%;height:150px; text-align:center; vertical-align:middle;font-weight: bold;'> Fecha:{Now.ToString("dd/MM/yyyy")}</td>
|
|
' </tr>
|
|
' <tr>
|
|
' <td style='text-align:left;' colspan='9'>
|
|
' <b>Filtros Cuenta:</b> {DdlCuentas.SelectedItem.Text} <b>Fecha inicio: </b>{ TxtFechaDel.Text} <b>Fecha Fin:</b> {TxtFechaAl.Text}
|
|
' <td>
|
|
|
|
' <tr>
|
|
' </table>"
|
|
'End If
|
|
|
|
'EncabezadoLiteral.Text = strinLiteral
|
|
'GvDatos.ExportToExcel($"MovimientosAuxiliares_{Now.ToString("yyyyMMddmmss")}", Encabezado2:=EncabezadoLiteral)
|
|
|
|
End Sub
|
|
|
|
Private Sub ImprimirReporte(Optional Formato As String = "PDF")
|
|
|
|
Dim params As New List(Of ReportParameter)
|
|
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")))
|
|
params.Add(New ReportParameter("pFechaInicio", FechaInicio.ToString("dd/MM/yyyy")))
|
|
params.Add(New ReportParameter("CveMoneda", "1"))
|
|
params.Add(New ReportParameter("Cuenta", Cuenta))
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepMovimientosAuxiliaresCatalogo.rdlc", DtDatos, params, "MovimientosAuxiliares", Formato)
|
|
|
|
End Sub
|
|
Public Overrides Sub VerifyRenderingInServerForm(control As Control)
|
|
|
|
End Sub
|
|
|
|
|
|
End Class
|