Transaccionalidad para la creacion de nuevas cuentas

This commit is contained in:
HECTOR RODRIGUEZ
2021-05-31 17:22:04 -07:00
parent ad1a97ec0d
commit 402d0e2e88

View File

@@ -402,7 +402,7 @@ Partial Class Contabilidad2_CatCuentas
'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) 'Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa)
Dim ObjConta As New ClsContabilidad Dim ObjConta As New ClsContabilidad
Dim CuentaEfectivo As Integer = 0 Dim CuentaEfectivo As Integer = 0
Dim Afectable As Integer = 1 'If(DcuentaMayor.SelectedValue <> 2, 0, 1) ' cuando sea tipo 2, va a ser afectable 'Dim Afectable As Integer = 1 'If(DcuentaMayor.SelectedValue <> 2, 0, 1) ' cuando sea tipo 2, va a ser afectable
Tcuenta.Text.Replace("-", "") Tcuenta.Text.Replace("-", "")
Dim idnew As Integer = 0 Dim idnew As Integer = 0
@@ -426,6 +426,7 @@ Partial Class Contabilidad2_CatCuentas
Dim DigAgrup As Integer Dim DigAgrup As Integer
Dim CveAgrupadorSat As Integer Dim CveAgrupadorSat As Integer
Dim NomIdioma As String Dim NomIdioma As String
Dim TieneError As Boolean = False
If DdlAgrupadorSAT.SelectedValue.ToEntero > 0 Then If DdlAgrupadorSAT.SelectedValue.ToEntero > 0 Then
If CveConceptoContable > 0 Then If CveConceptoContable > 0 Then
@@ -437,7 +438,7 @@ Partial Class Contabilidad2_CatCuentas
PorcentajeIVA = TxtPorcentaje.ToEntero / 100 PorcentajeIVA = TxtPorcentaje.ToEntero / 100
End If End If
End If End If
ObjConta.IniciaTransacSQL()
If Afectable Then If Afectable Then
If ObjConta.GetCuentas(IDSelected, "-1", -1, UsuarioActual.CveEmpresa) Then If ObjConta.GetCuentas(IDSelected, "-1", -1, UsuarioActual.CveEmpresa) Then
drt = ObjConta.DtResultados.FiltroPrimero(String.Format("CveCuenta={0}", IDSelected)) drt = ObjConta.DtResultados.FiltroPrimero(String.Format("CveCuenta={0}", IDSelected))
@@ -456,13 +457,12 @@ Partial Class Contabilidad2_CatCuentas
DigAgrup = IIf(drt("DigAgrup").ToString.ToEntero = -1, -1, drt("DigAgrup").ToString.ToEntero) DigAgrup = IIf(drt("DigAgrup").ToString.ToEntero = -1, -1, drt("DigAgrup").ToString.ToEntero)
CveAgrupadorSat = IIf(drt("CveAgrupadorSAT").ToString.ToEntero = 0, -1, drt("CveAgrupadorSAT").ToString.ToEntero) CveAgrupadorSat = IIf(drt("CveAgrupadorSAT").ToString.ToEntero = 0, -1, drt("CveAgrupadorSAT").ToString.ToEntero)
NomIdioma = IIf(drt("NomIdioma").ToString = "", "", drt("NomIdioma").ToString.ToEntero) NomIdioma = IIf(drt("NomIdioma").ToString = "", "", drt("NomIdioma").ToString.ToEntero)
idnew = ObjConta.AddCuenta(CvePadre, TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, 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, DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, DdlAgrupadorSAT.SelectedValue.ToEntero, TxtNomIngles.Text.ToString, CveConceptoAdmin:=CveConceptoAdmin, CveProveedor:=CveProveedor, CveCliente:=CveCliente,
CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeImpuesto, CveBancoCuenta:=CveBancoCuenta) CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeImpuesto, CveBancoCuenta:=CveBancoCuenta)
If idnew > 0 Then If idnew > 0 Then
If Not ObjConta.UpdateTraspasoPrepoliza(UsuarioActual.CveEmpresa, IDSelected, idnew) Then If Not ObjConta.UpdateTraspasoPrepoliza(UsuarioActual.CveEmpresa, IDSelected, idnew) Then
If ObjConta.UpdateCuenta(IDSelected.ToEntero, NombreCuenta, TipoCuenta, CuentaMayor, CveMoneda, If Not ObjConta.UpdateCuenta(IDSelected.ToEntero, NombreCuenta, TipoCuenta, CuentaMayor, CveMoneda,
DigAgrup, CveAgrupadorSat, NomIdioma) Then DigAgrup, CveAgrupadorSat, NomIdioma) Then
ObjConta.RollBack() ObjConta.RollBack()
ObjConta.Dispose() ObjConta.Dispose()
@@ -496,7 +496,7 @@ Partial Class Contabilidad2_CatCuentas
codigoPadre = DtDatos.FiltroPrimeroValor("Codigo", $"CveCuenta={IDSelected}") 'Tsubcuenta.Text codigoPadre = DtDatos.FiltroPrimeroValor("Codigo", $"CveCuenta={IDSelected}") 'Tsubcuenta.Text
If UsuarioActual.Empresa.TipoContabilidad = 2 Then If UsuarioActual.Empresa.TipoContabilidad = 2 Then
ObjConta2 = New ClsContPAQi(UsuarioActual.Empresa) ObjConta2 = New ClsContPAQi(UsuarioActual.Empresa)
ObjConta2.IniciaTransacSQL()
If ObjConta2.GetCuentas(-1, "-1", -1) Then If ObjConta2.GetCuentas(-1, "-1", -1) Then
IdPadre = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"Codigo='{codigoPadre}'").ToEntero IdPadre = ObjConta2.DtResultados.FiltroPrimeroValor("Id", $"Codigo='{codigoPadre}'").ToEntero
If ObjConta2.GetAgrupadoresSAT() Then If ObjConta2.GetAgrupadoresSAT() Then
@@ -507,53 +507,66 @@ Partial Class Contabilidad2_CatCuentas
Dim idnew2 As Integer = ObjConta2.AddCuenta(TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, CuentaEfectivo, DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, TxtNomIngles.Text.Trim, Afectable, IdPadre, IdAgrupador) Dim idnew2 As Integer = ObjConta2.AddCuenta(TxtCuenta.Text.Replace("-", ""), Tnombre.Text, DTcuenta.SelectedValue.ToString, DcuentaMayor.SelectedValue.ToString.ToEntero, CuentaEfectivo, DdlMoneda.SelectedValue.ToEntero, TxtDigAgrup.Text.ToEntero, TxtNomIngles.Text.Trim, Afectable, IdPadre, IdAgrupador)
If idnew2 > 0 Then If idnew2 > 0 Then
If ObjConta.UpdateCuentaCompaq(idnew, idnew2, UsuarioActual.CveEmpresa) Then If Not ObjConta.UpdateCuentaCompaq(idnew, idnew2, UsuarioActual.CveEmpresa) Then
TieneError = True
ObjConta2.RollBack()
ObjConta.RollBack()
Alert("Ocurrio un error al vincultar la cuenta con SIG y Compaq", TipoMensaje.MsgError)
End If End If
Else
TieneError = True
ObjConta2.RollBack()
Alert("Ocurrio un error al crear la cuenta en Compaq", TipoMensaje.MsgError)
End If End If
End If End If
End If End If
ObjConta2.Dispose() ObjConta2.Dispose()
End If End If
If Not TieneError Then
Dim dr As DataRow = DtDatos.NewRow Dim dr As DataRow = DtDatos.NewRow
dr("CveCuenta") = idnew dr("CveCuenta") = idnew
dr("CuentaFormato") = TxtCuenta.Text dr("CuentaFormato") = TxtCuenta.Text
'dr("CuentaFormato") = Tcuenta.Text 'dr("CuentaFormato") = Tcuenta.Text
dr("Nombre") = Tnombre.Text dr("Nombre") = Tnombre.Text
dr("CtaCodigo") = String.Format("{0} - {1}", TxtCuenta.Text, Tnombre.Text) dr("CtaCodigo") = String.Format("{0} - {1}", TxtCuenta.Text, Tnombre.Text)
'dr("CtaCodigo") = String.Format("{0} - {1}", Tcuenta.Text, Tnombre.Text) 'dr("CtaCodigo") = String.Format("{0} - {1}", Tcuenta.Text, Tnombre.Text)
dr("Tipo") = DTcuenta.SelectedValue.ToString dr("Tipo") = DTcuenta.SelectedValue.ToString
dr("CtaMayor") = DcuentaMayor.SelectedValue.ToString dr("CtaMayor") = DcuentaMayor.SelectedValue.ToString
dr("CvePadre") = IDSelected dr("CvePadre") = IDSelected
dr("Codigo") = Tnombre.Text dr("Codigo") = Tnombre.Text
dr("CveMoneda") = DdlMoneda.SelectedValue.ToEntero dr("CveMoneda") = DdlMoneda.SelectedValue.ToEntero
dr("DigAgrup") = TxtDigAgrup.Text.Trim.ToEntero dr("DigAgrup") = TxtDigAgrup.Text.Trim.ToEntero
dr("NomIdioma") = TxtNomIngles.Text.Trim dr("NomIdioma") = TxtNomIngles.Text.Trim
DtDatos.Rows.Add(dr) DtDatos.Rows.Add(dr)
ArbolCuentas.DataSource = DtDatos ArbolCuentas.DataSource = DtDatos
'.Attributes.Add("data-hijos","0"); '.Attributes.Add("data-hijos","0");
Dim item As ADServerControl.DragableItem = DirectCast(ArbolCuentas.FindControl(String.Format("{0}", IDSelected)), ADServerControl.DragableItem) Dim item As ADServerControl.DragableItem = DirectCast(ArbolCuentas.FindControl(String.Format("{0}", IDSelected)), ADServerControl.DragableItem)
item.Attributes.Item("data-hijos") = item.Attributes.Item("data-hijos").ToEntero + 1 item.Attributes.Item("data-hijos") = item.Attributes.Item("data-hijos").ToEntero + 1
Dim objul As ADServerControl.DragableUL = DirectCast(ArbolCuentas.FindControl(String.Format("ul{0}", IDSelected)), ADServerControl.DragableUL) Dim objul As ADServerControl.DragableUL = DirectCast(ArbolCuentas.FindControl(String.Format("ul{0}", IDSelected)), ADServerControl.DragableUL)
If (IsNothing(objul)) Then If (IsNothing(objul)) Then
objul = New ADServerControl.DragableUL objul = New ADServerControl.DragableUL
objul.ID = String.Format("ul{0}", item.Cve) objul.ID = String.Format("ul{0}", item.Cve)
item.Controls.Add(objul) item.Controls.Add(objul)
End If
ArbolCuentas.additem(objul, idnew, IDSelected, String.Format("{0} - {1}", TxtCuenta.Text, Tnombre.Text))
CargaDatos()
End If End If
ArbolCuentas.additem(objul, idnew, IDSelected, String.Format("{0} - {1}", TxtCuenta.Text, Tnombre.Text))
CargaDatos()
End If End If
If ObjConta2 IsNot Nothing Then ObjConta2.Dispose() If ObjConta2 IsNot Nothing Then ObjConta2.Dispose()
End If End If
Else
TieneError = True
ObjConta.RollBack()
Alert("Ocurrio un error al crear la cuenta", TipoMensaje.MsgError)
End If
If Not TieneError Then
ObjConta.Commit()
LimpiarCampos() LimpiarCampos()
updatos.Update() updatos.Update()
Alert("La cuenta se guardo correctamente") Alert("La cuenta se guardo correctamente", TipoMensaje.MsgInformacion)
End If End If
ObjConta.Dispose() ObjConta.Dispose()