Commit inicial Ventas Productivo
This commit is contained in:
250
AC/RegDevengadoIngresos.aspx.vb
Normal file
250
AC/RegDevengadoIngresos.aspx.vb
Normal file
@@ -0,0 +1,250 @@
|
||||
Imports System.Data
|
||||
Imports Extensiones
|
||||
Partial Class AC_RegDevengadoIngresos
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region "PROPIEDADES"
|
||||
Private Property DtPresupuestos As DataTable
|
||||
Get
|
||||
DtPresupuestos = DirectCast(ViewState("DtPresupuestos"), DataTable)
|
||||
End Get
|
||||
|
||||
Set(ByVal value As DataTable)
|
||||
ViewState("DtPresupuestos") = 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
|
||||
CargaCuenta()
|
||||
CargaPresupuestos()
|
||||
TxtImporte.Attributes.Add("onkeyup", String.Format("LimitaImporte(this);"))
|
||||
End If
|
||||
End Sub
|
||||
Private Sub CargaCuenta()
|
||||
DdlCuenta.Items.Clear()
|
||||
Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario)
|
||||
'If CveMoneda > 0 Then
|
||||
' dt = dt.FiltraParametros(String.Format("CveMoneda = {0}", CveMoneda))
|
||||
|
||||
'End If
|
||||
DdlCuenta.DataSource = dt
|
||||
DdlCuenta.DataBind()
|
||||
DdlCuenta.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
End Sub
|
||||
Private Sub CargaPresupuestos()
|
||||
Dim AC As New ClsAC
|
||||
If AC.GetPresupuestoIngresos(-1, UsuarioActual.Empresa.EjercicioActual, True, UsuarioActual.CveEmpresa) Then
|
||||
DtPresupuestos = AC.DtResultados.Copy
|
||||
End If
|
||||
AC.Dispose()
|
||||
CboPresupuesto.DataSource = DtPresupuestos
|
||||
CboPresupuesto.DataBind()
|
||||
End Sub
|
||||
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
|
||||
Dim ErrorMovimientos = False
|
||||
|
||||
If TxtImporte.Text.ToDouble <= 0 Then
|
||||
Alert("El total de la compra debe ser mayor a: 0.00", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.UsaAC Then
|
||||
Dim TotalRecaudar = Math.Round(TxtImporte.Text.ToDouble, 2)
|
||||
|
||||
If Not RegistraDevengado() Then
|
||||
If ChkDevengar.Checked Then
|
||||
If RegistraRecaudado() Then
|
||||
ErrorMovimientos = True
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
ErrorMovimientos = True
|
||||
End If
|
||||
|
||||
If Not ErrorMovimientos Then
|
||||
Alert("Movimiento registrado con exito", TipoMensaje.MsgInformacion)
|
||||
Limpiar()
|
||||
Else
|
||||
Alert("Ocurrio un error al registrar el movimiento", TipoMensaje.MsgError)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Limpiar()
|
||||
CboPresupuesto.SelectedValue = -1
|
||||
TxtImporte.Text = ""
|
||||
TxtFecha.Text = "__/__/____"
|
||||
ChkDevengar.Checked = False
|
||||
End Sub
|
||||
Private Function RegistraDevengado() As Boolean
|
||||
Dim ObjContaAC As ClsContPAQi = Nothing
|
||||
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
|
||||
ObjContaAC.IniciaTransacSQL()
|
||||
Dim TotalDevengar = Math.Round(TxtImporte.Text.ToDouble, 2)
|
||||
Dim ErrorAC As Boolean = False
|
||||
'Dim Total As Double = GvAC.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCTextBox("TxtImporte").Text.ToDouble)
|
||||
Dim IDPoliza As Integer = ObjContaAC.AddPoliza(4, "Devengado", TotalDevengar * 2, TotalDevengar * 2, UsuarioActual.CveUsuario, TxtFecha.Text.ToDate)
|
||||
|
||||
If IDPoliza > 0 Then
|
||||
Dim dr As DataRow = DtPresupuestos.FiltroPrimero(String.Format("CvePresupuestoIngreso = {0}", CboPresupuesto.SelectedValue))
|
||||
|
||||
If dr IsNot Nothing Then
|
||||
If ObjContaAC.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, False, TotalDevengar, "", CboPresupuesto.SelectedItem.Text, 0, Now, "") Then
|
||||
If ObjContaAC.AddMovimiento(IDPoliza, dr("IdCuentaPorEjecutar").ToString.ToEntero, True, TotalDevengar, "", CboPresupuesto.SelectedItem.Text, 0, Now, "") Then
|
||||
|
||||
'AFECTAR MATRIZ INGRESOS
|
||||
Dim RegistroMatriz As DataRow = GlobalDTAC_MatrizIngresos.FiltroPrimero(String.Format("CodigoRubroIngreso = {0} ", dr("CodigoRubroIngreso").ToString))
|
||||
If RegistroMatriz IsNot Nothing AndAlso RegistroMatriz("CuentaCargo").ToString.ToEntero > 0 Then
|
||||
Dim DtCuentas As DataTable = Nothing
|
||||
If ObjContaAC.GetCuentas(-1, "-1", -1) Then
|
||||
DtCuentas = ObjContaAC.DtResultados
|
||||
End If
|
||||
Dim CuentaCargo As Integer = DtCuentas.FiltraParametros(String.Format("Codigo = '{0}'", RegistroMatriz("CuentaCargo").ToString)).Rows(0)("Id").ToString.ToEntero
|
||||
Dim CuentaAbono As Integer = DtCuentas.FiltraParametros(String.Format("Codigo = '{0}'", RegistroMatriz("CuentaAbono").ToString)).Rows(0)("Id").ToString.ToEntero
|
||||
If ObjContaAC.AddMovimiento(IDPoliza, CuentaCargo, False, TotalDevengar, "", CboPresupuesto.SelectedItem.Text, 0, Now, "") Then
|
||||
'actualizo el idcuenta del presupuesto
|
||||
If Not ObjContaAC.AddMovimiento(IDPoliza, CuentaAbono, True, TotalDevengar, "", CboPresupuesto.SelectedItem.Text, 0, Now, "") Then
|
||||
ErrorAC = True
|
||||
End If
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
'TERMINA AFECTAR MATRIZ INGRESOS
|
||||
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
|
||||
If Not ErrorAC Then
|
||||
ObjContaAC.Commit()
|
||||
Else
|
||||
Alert("Ocurrio un error al devengar", TipoMensaje.MsgError)
|
||||
ObjContaAC.RollBack()
|
||||
End If
|
||||
ObjContaAC.Dispose()
|
||||
|
||||
Return ErrorAC
|
||||
End Function
|
||||
|
||||
Private Function RegistraRecaudado() As Boolean
|
||||
Dim TotalRecaudar = Math.Round(TxtImporte.Text.ToDouble, 2)
|
||||
Dim ErrorAC As Boolean = False
|
||||
|
||||
'registra el movimiento en bancos
|
||||
Dim ObjContaAC As ClsContPAQi = Nothing
|
||||
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
|
||||
Dim ObjIE As New ClsBancos
|
||||
ObjContaAC.IniciaTransacSQL()
|
||||
Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
|
||||
|
||||
|
||||
Dim IDPoliza As Integer = ObjContaAC.AddPoliza(4, "Recaudado", TotalRecaudar * 2, TotalRecaudar * 2, UsuarioActual.CveUsuario, TxtFecha.Text.ToDate)
|
||||
Dim CvePrePoliza = -1
|
||||
Dim NumPoliza = ObjContaAC.Folio.ToString
|
||||
Dim CveIE = -1
|
||||
|
||||
If IDPoliza > 0 Then
|
||||
Dim Folio As String = ObjIE.GetNextFolio(DdlCuenta.SelectedValue.ToEntero, 2).ToString
|
||||
CvePrePoliza = ObjMov.AddPrePolizas("Vta", 11, TxtImporte.Text.Trim.ToDouble, TxtImporte.Text.Trim.ToDouble, 1, TxtFecha.Text.ToDate, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
If CvePrePoliza > 0 Then
|
||||
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, 2, TxtFecha.Text.Trim.ToDate, Folio, UsuarioActual.Empresa.Empresa, TxtImporte.Text.Trim.ToDouble, 1, 1, "", "", False, True, IDPoliza, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
Dim IdCuentaContable As Integer = DdlCuenta.SelectedValue.ToEntero
|
||||
|
||||
If CveIE > 0 Then
|
||||
Dim dr As DataRow = DtPresupuestos.FiltroPrimero(String.Format("CvePresupuestoIngreso = {0}", CboPresupuesto.SelectedValue))
|
||||
|
||||
If dr IsNot Nothing Then
|
||||
'registro movimiento a la cuenta 814
|
||||
If ObjContaAC.AddMovimiento(IDPoliza, dr("IdCuentaRecaudado").ToString.ToEntero, False, TotalRecaudar, "", CboPresupuesto.SelectedItem.Text, 0, Now, "") Then
|
||||
'registro movimeinto a la cuenta 815
|
||||
If ObjContaAC.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, True, TotalRecaudar, "", CboPresupuesto.SelectedItem.Text, 0, Now, "") Then
|
||||
'registro movimiento a donde se donde
|
||||
If Not ObjContaAC.AddMovimiento(IDPoliza, IdCuentaContable, False, TotalRecaudar, "", CboPresupuesto.SelectedItem.Text, 0, Now, "") Then
|
||||
'descuento a la cuenta bancaria
|
||||
If ObjContaAC.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, True, TotalRecaudar, "", CboPresupuesto.SelectedItem.Text, 0, Now, "") Then
|
||||
ErrorAC = True
|
||||
End If
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
End If
|
||||
|
||||
'Detalles de PrePoliza
|
||||
If Not ErrorAC Then
|
||||
If ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDouble, "", 30, "", Now, 0, -1, CveIE) Then
|
||||
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, TxtImporte.Text.ToDouble, "", 4, "", Now, 0, -1, CveIE) Then
|
||||
ErrorAC = True
|
||||
End If
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
End If
|
||||
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
|
||||
Else
|
||||
ErrorAC = True
|
||||
End If
|
||||
|
||||
'Actualiza la CvePrePoliza
|
||||
If Not ErrorAC Then
|
||||
If Not ObjIE.UpdateIEPrePoliza(TxtFecha.Text.ToDate, NumPoliza, IDPoliza, CvePrePoliza, CveIE, -1) Then
|
||||
ErrorAC = True
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not ErrorAC Then
|
||||
Alert("El movimiento se registró correctamente.", TipoMensaje.MsgInformacion)
|
||||
ObjIE.Commit()
|
||||
ObjContaAC.Commit()
|
||||
Else
|
||||
Alert("Ocurrió un error al registrar el movimiento.", TipoMensaje.MsgError)
|
||||
ObjContaAC.RollBack()
|
||||
ObjIE.RollBack()
|
||||
End If
|
||||
ObjContaAC.Dispose()
|
||||
ObjIE.Dispose()
|
||||
|
||||
Return ErrorAC
|
||||
End Function
|
||||
|
||||
|
||||
Protected Sub ChkDevengar_CheckedChanged(sender As Object, e As EventArgs) Handles ChkDevengar.CheckedChanged
|
||||
TrCuenta.Visible = ChkDevengar.Checked
|
||||
End Sub
|
||||
|
||||
Protected Sub CboPresupuesto_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa)
|
||||
Dim importe As Double
|
||||
If ObjConta.GetACSaldosIngresos(UsuarioActual.Empresa.EjercicioActual, 2) Then
|
||||
importe = ObjConta.DtResultados.FiltroPrimero(String.Format("CvePresupuestoIngreso = {0}", CboPresupuesto.SelectedValue.ToString))("PorDevengar").ToString.ToDouble
|
||||
End If
|
||||
RegistraScript(String.Format("AsignarImporte({0});", importe))
|
||||
TxtImporte.Text = "0"
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user