diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index 419794e5b..a80ace836 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -5664,9 +5664,9 @@ Namespace Modelos
'''
'''
'''
- Public Function CancelarFactura(RealizarDevolucionAlmacen As Integer, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional CveMotivoCancelacion As Integer = -1, Optional Motivo As String = "", Optional ValidarSAT As Boolean = True, Optional CveEstadoCancelacion As Integer = 0, Optional CancelarBoletos As Boolean = False, Optional ForzarDevolucion As Boolean = False, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos, Optional CveEstatusFacturaAsignado As Integer = -1, Optional CvePACEspecifico As Integer = -1) As MCancelacionVentaMensaje
+ Public Function CancelarFactura(RealizarDevolucionAlmacen As Integer, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional CveMotivoCancelacion As Integer = -1, Optional Motivo As String = "", Optional ValidarSAT As Boolean = True, Optional CveEstadoCancelacion As Integer = 0, Optional CancelarBoletos As Boolean = False, Optional ForzarDevolucion As Boolean = False, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos, Optional CveEstatusFacturaAsignado As Integer = -1, Optional CvePACEspecifico As Integer = -1, Optional TransaccionCompartida As SqlClient.SqlTransaction = Nothing) As MCancelacionVentaMensaje
'Comprobante emitido con errores sin relación
- Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveMotivoCancelacion:=CveMotivoCancelacion, MotivoCancelacion:=Motivo, CveEstadoCancelacion:=CveEstadoCancelacion, CancelarBoletos:=CancelarBoletos, ForzarDevolucion:=ForzarDevolucion, CancelacionPagos:=CancelacionPagos, CveEstatusFacturaAsignado:=CveEstatusFacturaAsignado, ValidarSAT:=ValidarSAT, CvePACEspecifico:=CvePACEspecifico)
+ Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveMotivoCancelacion:=CveMotivoCancelacion, MotivoCancelacion:=Motivo, CveEstadoCancelacion:=CveEstadoCancelacion, CancelarBoletos:=CancelarBoletos, ForzarDevolucion:=ForzarDevolucion, CancelacionPagos:=CancelacionPagos, CveEstatusFacturaAsignado:=CveEstatusFacturaAsignado, ValidarSAT:=ValidarSAT, CvePACEspecifico:=CvePACEspecifico, TransaccionCompartida:=TransaccionCompartida)
End Function
Private Function CancelarVenta(ObjFactura As Modelos.Factura, UsuarioActual As Usuario, Optional EsRefacturacion As Boolean = False, Optional RealizarDevolucionAlmacen As Integer = 0,
@@ -5674,7 +5674,8 @@ Namespace Modelos
Optional AcuseCancelacion As String = "", Optional CveMotivoCancelacion As Integer = -1, Optional MotivoCancelacion As String = "",
Optional FolioSustitucion As String = "", Optional ValidarSAT As Boolean = True, Optional CveEstadoCancelacion As Integer = 0,
Optional CancelarBoletos As Boolean = False, Optional ForzarDevolucion As Boolean = False, Optional CancelacionPagos As OpcionesCancelacionPagos = OpcionesCancelacionPagos.SinPagos,
- Optional CvePACEspecifico As Integer = -1) As MCancelacionVentaMensaje
+ Optional CvePACEspecifico As Integer = -1,
+ Optional TransaccionCompartida As SqlClient.SqlTransaction = Nothing) As MCancelacionVentaMensaje
Dim Retorno As New MCancelacionVentaMensaje()
Dim ErrorList As New List(Of String)
@@ -6136,7 +6137,12 @@ Namespace Modelos
End If
End If
- Dim ObjVentas As New ClsVentas() : ObjVentas.IniciaTransacSQL()
+ Dim ObjVentas As ClsVentas = Nothing
+ If TransaccionCompartida IsNot Nothing Then
+ ObjVentas = New ClsVentas(TransaccionCompartida)
+ Else
+ ObjVentas = New ClsVentas() : ObjVentas.IniciaTransacSQL()
+ End If
Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
Dim ObjBancos As New ClsBancos(ObjVentas.IniciaTransacSQL())
Dim ObjInventario As New ClsInventarios(ObjVentas.IniciaTransacSQL())
@@ -6925,7 +6931,7 @@ Namespace Modelos
OnError("Ocurrió un error al cancelar el documento", ex)
Finally
If Not ErrorCancelar Then
- ObjVentas.Commit()
+ If TransaccionCompartida Is Nothing Then ObjVentas.Commit()
If CveEstatus = 5 Then
Dim MensajeAlert As New StringBuilder
@@ -6954,12 +6960,14 @@ Namespace Modelos
End If
Retorno.CveEstatus = CveEstatus
+ If TransaccionCompartida Is Nothing Then
+ ObjVentas.Dispose()
+ ObjBancos.Dispose()
+ ObjInventario.Dispose()
+ ObjContrato.Dispose()
+ ObjConta.Dispose()
+ End If
- ObjVentas.Dispose()
- ObjBancos.Dispose()
- ObjInventario.Dispose()
- ObjContrato.Dispose()
- ObjConta.Dispose()
End Try
Return Retorno