Option Explicit On
Option Strict On
Imports Extensiones
Imports System.Data
Partial Class AF_RepDepreciacion
Inherits ClsPaginas
#Region "PROPIEDADES"
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
txtFechaI.Text = DateTime.Now.AddMonths(1).AddDays(-1).ToString("dd/MM/yyyy")
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
If GvDatos.Rows.Count = 0 Then Alert("No se encontraron Registros con los filtros actuales.", TipoMensaje.MsgAdvertencia)
End Sub
Protected Sub BtnGenerarDepreciacion_Click(sender As Object, e As System.EventArgs) Handles BtnGenerarDepreciacion.Click
If GvDatos.Rows.Count > 0 Then
Dim CveActivoFijo As Integer
Dim ObjInventario As New ClsInventarios
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim ErrorMovInv As Boolean = False
Dim ConceptoPoliza As String = String.Format("Depreciación - {0}", txtFechaI.Text)
Dim CveSubProyecto As Integer = DdlSubProyecto.SelectedValue.ToEntero
Dim CvePrePoliza = ObjConta.AddPrePolizas("Depreciacion", 74, 0, 0, 1, txtFechaI.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
For Each RowsDt As GridViewRow In GvDatos.Rows
CveActivoFijo = RowsDt.DataKey("CveActivoFijo").ToEntero
Dim MontoDepreciacion As Decimal = RowsDt.FCLiteral("LtlDepreciacionMensual").Text.ToDecimal
If MontoDepreciacion > 0 And CveActivoFijo <> 0 Then
Dim ConceptoPolizaDetalle As String = String.Format("Depreciación - {0} - {1}", txtFechaI.Text, RowsDt.FCLiteral("LtlDescripcion").Text)
If CvePrePoliza > 0 Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -MontoDepreciacion, -MontoDepreciacion, 270, ConceptoPolizaDetalle, ConceptoPolizaDetalle, 0, CveActivoFijo:=CveActivoFijo, CveSubProyecto:=CveSubProyecto) Then
ErrorMovInv = True
Exit For
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, MontoDepreciacion, MontoDepreciacion, 101, ConceptoPolizaDetalle, ConceptoPolizaDetalle, 0, CveActivoFijo:=CveActivoFijo, CveSubProyecto:=CveSubProyecto) Then
ErrorMovInv = True
Exit For
End If
Else
ErrorMovInv = True
Exit For
End If
End If
Next
If ErrorMovInv = False Then
ObjInventario.Commit()
ObjInventario.Dispose()
ObjConta.Dispose()
Dim MensajeAlert As New StringBuilder
MensajeAlert.Append("Se ha generado la depreciación")
MensajeAlert.AppendFormat("
ver PrePóliza", CvePrePoliza)
Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion)
Else
ObjInventario.RollBack()
ObjInventario.Dispose()
ObjConta.Dispose()
End If
Else
Alert("Debera consultar la informacion previo a la generacion de la depreciación", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub BtnDepreciacion_Click(sender As Object, e As EventArgs) Handles BtnDepreciacion.Click
CargaProyecto()
UpModalTiposD.Update()
RegistraScript(String.Format("$('#{0}').modal();", "DivDepreciacion"))
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
#Region " C A R G A - D A T O S "
Public Sub CargaDatos()
Dim ObjAF As New ClsAF
If ObjAF.GetRepActivosFijosDepreciacion(UsuarioActual.CveEmpresa, txtFechaI.Text.ToDate) Then
GvDatos.DataSource = ObjAF.DtResultados
GvDatos.DataBind()
UPDatos.Update()
End If
ObjAF.Dispose()
End Sub
#End Region
#Region "G V - D A T O S "
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DataKey("CveActivoFijo") = "0" Then
e.Row.BackColor = System.Drawing.Color.LightGray
e.Row.Font.Bold = True
e.Row.Font.Size = 10
e.Row.FCLiteral("LtlDepreciacion").Text = "%"
End If
End If
End Sub
#End Region
#Region "CARGA COMBOS FILTRO"
Private Sub CargaProyecto()
DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa).FiltraParametros("", "", {"CveProyecto", "Proyecto"})
DdlProyecto.DataBind()
CargaSubProyecto()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
#End Region
#Region "DDLS SELECTED INDEX CHANGED"
#End Region
End Class