From 82bcde1451873026650be2883025fc58a88b49a0 Mon Sep 17 00:00:00 2001 From: HECTOR RODRIGUEZ Date: Wed, 7 Apr 2021 20:24:58 -0700 Subject: [PATCH] Traspaso de saldos --- App_Code/ClsContabilidad.vb | 24 ++++++- Contabilidad2/CatCuentas.aspx | 2 +- Contabilidad2/CatCuentas.aspx.vb | 104 ++++++++++++++++++++++++++----- 3 files changed, 113 insertions(+), 17 deletions(-) diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 23f649d54..bde65432e 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -4543,7 +4543,7 @@ Public Class ClsContabilidad Public Function UpdateCuenta(CveCuenta As Integer, Nombre As String, Tipo As String, CtaMayor As Integer, CveMoneda As Integer, Optional DigAgrupador As Integer = -1, Optional CveAgrupadorSAT As Integer = -1, Optional NomIdioma As String = "", Optional CveConceptoAdmin As Integer = -1, Optional CveProveedor As Integer = -1, Optional CveCliente As Integer = -1, Optional CveClasificacion As Integer = -1, Optional PorcentajeImpuesto As Decimal = -1, - Optional CveBancoCuenta As Integer = -1, Optional CveAlmacen As Integer = -1) As Boolean + Optional CveBancoCuenta As Integer = -1, Optional CveAlmacen As Integer = -1, Optional Afectable As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Conta_UpdateCuentas") @@ -4564,6 +4564,7 @@ Public Class ClsContabilidad .Add("@PorcentajeImpuesto", SqlDbType.Money).Value = PorcentajeImpuesto .Add("@CveBancoCuenta", SqlDbType.Int).Value = CveBancoCuenta .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + .Add("@Afectable", SqlDbType.Int).Value = Afectable End With Try @@ -6398,5 +6399,26 @@ Public Class ClsContabilidad #End Region + Public Function UpdateTraspasoPrepoliza(CveEmpresa As Integer, CveCuenta As Integer, CveCuentaNueva As Integer) As Boolean + Dim Retorno = False + + DataAdapter("PA_Conta_Traspaso_Prepolizas") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta + .Add("@CveCuentaNueva", SqlDbType.Int).Value = CveCuentaNueva + + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + Me.OnError("Ocurrió un error al obtener traspasar las Prepolizas", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + End Class \ No newline at end of file diff --git a/Contabilidad2/CatCuentas.aspx b/Contabilidad2/CatCuentas.aspx index 24cf2ec21..9f026eb56 100644 --- a/Contabilidad2/CatCuentas.aspx +++ b/Contabilidad2/CatCuentas.aspx @@ -225,7 +225,7 @@
- + diff --git a/Contabilidad2/CatCuentas.aspx.vb b/Contabilidad2/CatCuentas.aspx.vb index c8c3f3b34..4c55dd786 100644 --- a/Contabilidad2/CatCuentas.aspx.vb +++ b/Contabilidad2/CatCuentas.aspx.vb @@ -31,6 +31,24 @@ Partial Class Contabilidad2_CatCuentas ViewState("idsel") = value End Set End Property + + Private Property CvePadre As Integer + Get + Return ViewState("CvePadre").ToString.ToEntero() + End Get + Set(value As Integer) + ViewState("CvePadre") = value + End Set + End Property + + Private Property Afectable As Boolean + Get + Return ViewState("Afectable").ToString + End Get + Set(value As Boolean) + ViewState("Afectable") = value + End Set + End Property #Region "Contabilidadnew" Private Property CveProveedor As Integer Get @@ -168,6 +186,7 @@ Partial Class Contabilidad2_CatCuentas Protected Sub agregar_Click(sender As Object, e As EventArgs) Handles ArbolCuentas.addclick LimpiarCampos() Dim dt As New DataTable + 'IDSelected = HdnID.Value.ToEntero() "ul" + itempadre.Cve; Dim obj As ADServerControl.DragableItem = DirectCast(sender, ADServerControl.DragableItem) IDSelected = obj.Cve @@ -182,6 +201,12 @@ Partial Class Contabilidad2_CatCuentas DTcuenta.SelectedValue = dr("Tipo").ToString() DcuentaMayor.SelectedValue = dr("CtaMayor").ToString LblSubCuenta.Text = dr("Nombre").ToString + Afectable = dr("Afectable").ToString + CvePadre = dr("CvePadre").ToString.ToEntero + End If + + If Afectable Then + Alert("Se va crear una subcuenta en una cuenta afectable", TipoMensaje.MsgAdvertencia) End If TxtCuenta.Enabled = True @@ -298,7 +323,6 @@ Partial Class Contabilidad2_CatCuentas Dim CveAlmacen As Integer = DdlAlmacen.SelectedValue.ToEntero() If DdlAgrupadorSAT.SelectedValue.ToEntero > 0 Then - If ObjConta.UpdateCuenta(IDSelected.ToEntero, Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToString.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString, CveConceptoAdmin:=CveConceptoAdmin, CveProveedor:=CveProveedor, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeImpuesto, @@ -372,18 +396,66 @@ Partial Class Contabilidad2_CatCuentas 'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) Dim ObjConta As New ClsContabilidad - - Dim ObjConta2 As ClsContPAQi - - Dim CuentaEfectivo As Integer = 0 Dim Afectable As Integer = 1 'If(DcuentaMayor.SelectedValue <> 2, 0, 1) ' cuando sea tipo 2, va a ser afectable Tcuenta.Text.Replace("-", "") Dim idnew As Integer = 0 + Dim CveConceptoContable As Integer = DdlConcepto.SelectedValue.ToEntero() + Dim row As DataRow = Nothing + Dim CveTipoSaldo As Integer = 0 + Dim PorcentajeIVA As Decimal = -1 + Dim drt As DataRow + Dim CveConceptoAdmin As Integer = -1 + Dim CveProveedor As Integer = -1 + Dim CveCliente As Integer = -1 + Dim CveClasificacion As Integer = -1 + Dim PorcentajeImpuesto As Decimal = -1 + Dim CveBancoCuenta As Integer = -1 + Dim CveAlmacen As Integer = -1 + Dim CvePersonal As Integer = -1 + If DdlAgrupadorSAT.SelectedValue.ToEntero > 0 Then - idnew = ObjConta.AddCuenta(IDSelected, TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, - DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString) + + If CveConceptoContable > 0 Then + row = DtConceptosconta.FiltroPrimero(String.Format("CveConceptoContable={0}", CveConceptoContable)) + CveTipoSaldo = row("CveTipoSaldo").ToString.ToEntero() + End If + If Not IsNothing(row) Then + If CveTipoSaldo = 3 Then + PorcentajeIVA = TxtPorcentaje.ToEntero / 100 + End If + End If + + If Afectable Then + If ObjConta.GetCuentas(IDSelected, "-1", -1, UsuarioActual.CveEmpresa) Then + drt = ObjConta.DtResultados.FiltroPrimero(String.Format("CveCuenta={0}", IDSelected)) + CveConceptoAdmin = IIf(drt("CveConceptoAdmin").ToString.ToEntero = 0, -1, drt("CveConceptoAdmin").ToString.ToEntero) + CveProveedor = IIf(drt("CveProveedor").ToString.ToEntero = 0, -1, drt("CveProveedor").ToString.ToEntero) + CveCliente = IIf(drt("CveCliente").ToString.ToEntero = 0, -1, drt("CveCliente").ToString.ToEntero) + CveClasificacion = IIf(drt("CveClasificacion").ToString.ToEntero = 0, -1, drt("CveClasificacion").ToString.ToEntero) + PorcentajeImpuesto = IIf(drt("PorcentajeImpuesto").ToString.ToEntero = 0, -1, drt("PorcentajeImpuesto").ToString.ToEntero) + CveBancoCuenta = IIf(drt("CveBancoCuenta").ToString.ToEntero = 0, -1, drt("CveBancoCuenta").ToString.ToEntero) + 'CveAlmacen = IIf(drt("CveAlmacen").ToString.ToEntero = 0, -1, drt("CveAlmacen").ToString.ToEntero) + 'CvePersonal = IIf(drt("CvePersonal").ToString.ToEntero = 0, -1, drt("CvePersonal").ToString.ToEntero) + End If + + idnew = ObjConta.AddCuenta(CvePadre, TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, + DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString, CveConceptoAdmin:=CveConceptoAdmin, CveProveedor:=CveProveedor, CveCliente:=CveCliente, + CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeImpuesto, CveBancoCuenta:=CveBancoCuenta) + If idnew > 0 Then + If ObjConta.UpdateTraspasoPrepoliza(UsuarioActual.CveEmpresa, IDSelected, idnew) Then + ObjConta.RollBack() + ObjConta.Dispose() + Exit Sub + End If + End If + + Else + idnew = ObjConta.AddCuenta(IDSelected, TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, + DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString, PorcentajeImpuesto:=PorcentajeIVA) + End If + Else Alert("Es necesario agregar el campo 'Agrupador SAT'", TipoMensaje.MsgError) End If @@ -401,14 +473,12 @@ Partial Class Contabilidad2_CatCuentas End If - Dim codigoPadre As String = DtDatos.FiltroPrimeroValor("Codigo", $"CveCuenta={IDSelected}") 'Tsubcuenta.Text + codigoPadre = DtDatos.FiltroPrimeroValor("Codigo", $"CveCuenta={IDSelected}") 'Tsubcuenta.Text If UsuarioActual.Empresa.TipoContabilidad = 2 Then ObjConta2 = New ClsContPAQi(UsuarioActual.Empresa) If ObjConta2.GetCuentas(-1, "-1", -1) Then - Dim IdPadre As Integer = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"Codigo='{codigoPadre}'").ToEntero - Dim IdAgrupador As Integer - + IdPadre = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"Codigo='{codigoPadre}'").ToEntero If ObjConta2.GetAgrupadoresSAT() Then IdAgrupador = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"CodigoNombre='{DdlAgrupadorSAT.SelectedItem.Text}'").ToEntero End If @@ -453,17 +523,20 @@ Partial Class Contabilidad2_CatCuentas End If ArbolCuentas.additem(objul, idnew, IDSelected, String.Format("{0} - {1}", TxtCuenta.Text, Tnombre.Text)) - LimpiarCampos() - updatos.Update() + CargaDatos() - Alert("La cuenta se guardo correctamente") End If + If ObjConta2 IsNot Nothing Then ObjConta2.Dispose() + End If + LimpiarCampos() + updatos.Update() + Alert("La cuenta se guardo correctamente") + End If ObjConta.Dispose() - If ObjConta2 IsNot Nothing Then ObjConta2.Dispose() End Sub @@ -564,6 +637,7 @@ Partial Class Contabilidad2_CatCuentas Case 2 pnlOpcion2.Visible = True Case 3 + pnlOpcion2.Visible = True pnlOpcion3.Visible = True If DdlClasificacion.Items.Count < 2 Then DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=1)