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)