diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 2732e461b..abc48596e 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -5221,7 +5221,7 @@ Public Class ClsVentas
Return Retorno
End Function
- Public Function AutorizacionLimitesUpdate(CveAutorizacion As Integer, CveCliente As Integer, CveVendedor As Integer, Importe As Decimal, CveEstatus As Integer) As Boolean
+ Public Function AutorizacionLimitesUpdate(CveAutorizacion As Integer, CveCliente As Integer, CveVendedor As Integer, Importe As Decimal, CveEstatus As Integer, CveUsuarioAutorizo As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_AutorizacionLimitesUpdate", CommandType.StoredProcedure)
@@ -5233,7 +5233,7 @@ Public Class ClsVentas
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
.Add("@Importe", SqlDbType.Money).Value = Importe
.Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus
-
+ .Add("@CveUsuarioAutorizo", SqlDbType.Int).Value = CveUsuarioAutorizo
End With
Try
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index 6d332ce2c..579856c52 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -452,6 +452,7 @@ Namespace Modelos
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetVenta(CveVenta, CveEmpresa, VerificaAlmacen:=VerificaAlmacen) Then
If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
+
setValues(ObjVentas.DtResultados.Rows(0))
SetMetodoPago()
SetMoneda()
@@ -466,26 +467,33 @@ Namespace Modelos
Else
Me.VentaDesglosaIEPS = True
End If
+
SetTotales(ObjVentas.DtResultados, ObjVentas)
+
If CargaDTDetalle Then
If ObjVentas.GetVentaDetalle(CveVenta) Then
Me.DtDetalle = ObjVentas.DtResultados.Copy()
End If
End If
+
+ If CargaDatosCliente Then SetCliente()
+
+ If CargaDatosRelacionados Then IniciaValoresVentas(EsCancelacion)
+
+ If String.IsNullOrEmpty(DirectorioServidor) Then DirectorioServidor = ModExtensiones.DirectorioBaseEmpresas
+
+ Me.DirectorioServidor = DirectorioServidor
+ Timbre = New CFDITimbre
End If
Else
+ Me.CveVenta = -1
+ Me.CveEmpresa = -1
+ Me.CveCliente = -1
+
ErrorList.Add("No se pudo cargar la información de la factura.")
End If
+
ObjVentas.Dispose()
-
- If CargaDatosCliente Then SetCliente()
-
- If CargaDatosRelacionados Then IniciaValoresVentas(EsCancelacion)
-
- If String.IsNullOrEmpty(DirectorioServidor) Then DirectorioServidor = ModExtensiones.DirectorioBaseEmpresas
-
- Me.DirectorioServidor = DirectorioServidor
- Timbre = New CFDITimbre
End Sub
Private Sub SetTotales(dtVentas As DataTable, ObjVentas As ClsVentas)
Dim TmpDTImpuestos As New DataTable
@@ -6331,93 +6339,94 @@ Namespace Modelos
For Each CveRemision As Integer In ListaRemisionesCancelar
Dim ObjRemision As New Factura(UsuarioActual, CveRemision, UsuarioActual.CveEmpresa, VerificaAlmacen:=True)
- If ObjRemision IsNot Nothing AndAlso ObjRemision.SaldoAlmacen <> 0 Then
+ If ObjRemision IsNot Nothing AndAlso ObjRemision.CveVenta > 0 Then
- Dim SaldoAlmacenExA As Decimal = 0
- Dim SaldoAlmacenUsados As Decimal = 0
- Dim DtSaldosAlmacenRemision As DataTable = Nothing
- 'VERIFICA SI HACE FALTA DEVOLVER PRODUCTOS Y USADOS EN ESPECIFICO
- If Not ErrorCancelar Then
- If ObjInventario.GetSaldoVentaDetalleAlmacen(ObjRemision.CveVenta, UsuarioActual.CveEmpresa) Then
- DtSaldosAlmacenRemision = ObjInventario.DtResultados.Copy()
- Else
- ErrorCancelar = True
- MensajeError = "Ocurrió un error al cargar los saldos de devolución. Por favor vuelva a intentar."
- End If
- End If
-
-
- Dim DtDevRemision As DataTable = DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}")
-
- Dim DtDevMovs As DataTable = DtDevRemision.FiltraParametros("", DistinctColumns:={"CveMovimiento", "CveRemision", "CveAlmacen", "CveAlmacenDestino"})
-
- For Each RowDevolucion As DataRow In DtDevMovs.Rows
- CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero()
- CveAlmacenDevolucion = RowDevolucion("CveAlmacenDestino").ToString().ToEntero()
-
- If CveAlmacen > 0 AndAlso DtSaldosAlmacenRemision IsNot Nothing Then
- SaldoAlmacenExA = DtSaldosAlmacenRemision.SUMD("SaldoAlmacen", $"CveAlmacen = {CveAlmacen}")
- End If
-
- If SaldoAlmacenExA <> 0 Then
- If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")}"), ObjVentas, ObjInventario, ObjConta) Then
+ If ObjRemision.SaldoAlmacen <> 0 Then
+ Dim SaldoAlmacenExA As Decimal = 0
+ Dim SaldoAlmacenUsados As Decimal = 0
+ Dim DtSaldosAlmacenRemision As DataTable = Nothing
+ 'VERIFICA SI HACE FALTA DEVOLVER PRODUCTOS Y USADOS EN ESPECIFICO
+ If Not ErrorCancelar Then
+ If ObjInventario.GetSaldoVentaDetalleAlmacen(ObjRemision.CveVenta, UsuarioActual.CveEmpresa) Then
+ DtSaldosAlmacenRemision = ObjInventario.DtResultados.Copy()
+ Else
ErrorCancelar = True
- MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión."
- Exit For
+ MensajeError = "Ocurrió un error al cargar los saldos de devolución. Por favor vuelva a intentar."
End If
End If
- Next
- 'CANCELAR MOVIMIENTOS DE USADOS SI TIENE
- If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
- Dim CveAlmacenUsado As Integer = 0
- Dim CveMovimientoUsado As Integer = 0
+ Dim DtDevRemision As DataTable = DtDevoluciones.FiltraParametros($"CveRemision={CveRemision}")
- If ObjInventario.GetInv_Mov(ObjRemision.CveVenta, UsuarioActual.CveEmpresa) Then
- CveMovimientoUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
- CveAlmacenUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
- Else
- ErrorCancelar = True
- MensajeError = "Ocurrió un error al cargar los datos de devolución de usado. Por favor vuelva a intentar."
- End If
+ Dim DtDevMovs As DataTable = DtDevRemision.FiltraParametros("", DistinctColumns:={"CveMovimiento", "CveRemision", "CveAlmacen", "CveAlmacenDestino"})
- If CveAlmacenUsado > 0 AndAlso DtSaldosAlmacenRemision IsNot Nothing Then
- SaldoAlmacenUsados = DtSaldosAlmacenRemision.SUMD("SaldoAlmacen", $"CveAlmacen = {CveAlmacenUsado}")
- End If
+ For Each RowDevolucion As DataRow In DtDevMovs.Rows
+ CveAlmacen = RowDevolucion("CveAlmacen").ToString().ToEntero()
+ CveAlmacenDevolucion = RowDevolucion("CveAlmacenDestino").ToString().ToEntero()
- If Not ErrorCancelar AndAlso CveMovimientoUsado > 0 AndAlso SaldoAlmacenUsados <> 0 Then
- If CancelarInventarioUsado(ObjRemision, CveAlmacenUsado, CveMovimientoUsado, ObjInventario, ObjConta, Contabilizable:=False) <= 0 Then
- ErrorCancelar = True
- MensajeError = "Ocurrió un error al cancelar los usados. Por favor vuelva a intentar."
+ If CveAlmacen > 0 AndAlso DtSaldosAlmacenRemision IsNot Nothing Then
+ SaldoAlmacenExA = DtSaldosAlmacenRemision.SUMD("SaldoAlmacen", $"CveAlmacen = {CveAlmacen}")
End If
+
+ If SaldoAlmacenExA <> 0 Then
+ If Not CancelarMovimientosRemision(CveRemision, CveAlmacen, CveAlmacenDevolucion, DtDevRemision.FiltraParametros($"CveMovimiento={RowDevolucion("CveMovimiento")}"), ObjVentas, ObjInventario, ObjConta) Then
+ ErrorCancelar = True
+ MensajeError = "Ocurrió un error al cancelar los movimientos de la remisión."
+ Exit For
+ End If
+ End If
+
+ Next
+
+ 'CANCELAR MOVIMIENTOS DE USADOS SI TIENE
+ If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ Dim CveAlmacenUsado As Integer = 0
+ Dim CveMovimientoUsado As Integer = 0
+
+ If ObjInventario.GetInv_Mov(ObjRemision.CveVenta, UsuarioActual.CveEmpresa) Then
+ CveMovimientoUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
+ CveAlmacenUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
+ Else
+ ErrorCancelar = True
+ MensajeError = "Ocurrió un error al cargar los datos de devolución de usado. Por favor vuelva a intentar."
+ End If
+
+ If CveAlmacenUsado > 0 AndAlso DtSaldosAlmacenRemision IsNot Nothing Then
+ SaldoAlmacenUsados = DtSaldosAlmacenRemision.SUMD("SaldoAlmacen", $"CveAlmacen = {CveAlmacenUsado}")
+ End If
+
+ If Not ErrorCancelar AndAlso CveMovimientoUsado > 0 AndAlso SaldoAlmacenUsados <> 0 Then
+ If CancelarInventarioUsado(ObjRemision, CveAlmacenUsado, CveMovimientoUsado, ObjInventario, ObjConta, Contabilizable:=False) <= 0 Then
+ ErrorCancelar = True
+ MensajeError = "Ocurrió un error al cancelar los usados. Por favor vuelva a intentar."
+ End If
+ End If
+
+ 'CANCELAR MOVIMIENTOS DE GARANTIA SI TIENE
+ If Not ErrorCancelar AndAlso Not GenerarMovimientoGarantia(15, "Salida Garantía", ClsPaginas.NowADS(), ObjRemision, ObjAcum, ObjInventario, ObjConta) Then
+ ErrorCancelar = True
+ End If
+
+ 'CANCELA LOS FOLIOS DE GARANTIA
+ If Not ErrorCancelar AndAlso Not ObjAcum.UpdateGarantiaCancelacion(ObjRemision.CveVenta) Then
+ ErrorCancelar = True
+ MensajeError = "Ocurrió un error al actualizar la garantía"
+ End If
+
End If
- End If
+ If DtDevRemision IsNot Nothing Then
+ DtDevRemision.Dispose()
+ End If
- 'CANCELAR MOVIMIENTOS DE GARANTIA SI TIENE
- If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
- If Not GenerarMovimientoGarantia(15, "Salida Garantía", ClsPaginas.NowADS(), ObjRemision, ObjAcum, ObjInventario, ObjConta) Then
- ErrorCancelar = True
+ If DtDevMovs IsNot Nothing Then
+ DtDevMovs.Dispose()
End If
End If
- 'CANCELA LOS FOLIOS DE GARANTIA
- If Not ErrorCancelar Then
- If Not ObjAcum.UpdateGarantiaCancelacion(ObjRemision.CveVenta) Then
- ErrorCancelar = True
- MensajeError = "Ocurrió un error al actualizar la garantía"
- End If
- End If
-
- If DtDevRemision IsNot Nothing Then
- DtDevRemision.Dispose()
- End If
-
- If DtDevMovs IsNot Nothing Then
- DtDevMovs.Dispose()
- End If
-
+ Else
+ ErrorCancelar = True
+ MensajeError = "Ocurrió un error al cargar los datos de la remisión. Por favor vuelva a intentar."
End If
If ObjRemision IsNot Nothing Then
diff --git a/Ventas/CatAutorizacionLimites.aspx b/Ventas/CatAutorizacionLimites.aspx
index 295100756..517fb0db7 100644
--- a/Ventas/CatAutorizacionLimites.aspx
+++ b/Ventas/CatAutorizacionLimites.aspx
@@ -127,13 +127,14 @@
-
+
+
diff --git a/Ventas/CatAutorizacionLimites.aspx.vb b/Ventas/CatAutorizacionLimites.aspx.vb
index 2c36f3c7b..91757d72a 100644
--- a/Ventas/CatAutorizacionLimites.aspx.vb
+++ b/Ventas/CatAutorizacionLimites.aspx.vb
@@ -263,7 +263,7 @@ Partial Class Ventas_CatAutorizacionLimites
End If
Dim ObjVentas As New ClsVentas
- If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion) Then
+ If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion, UsuarioActual.CveUsuario) Then
Alert("El límite de crédito fue autorizado.")
End If
ObjVentas.Dispose()
@@ -280,7 +280,7 @@ Partial Class Ventas_CatAutorizacionLimites
Dim CveEstatusAutorizacion As Integer = 3
Dim ObjVentas As New ClsVentas
- If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion) Then
+ If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion, UsuarioActual.CveUsuario) Then
Alert("El límite de crédito fue rechazado.")
End If
ObjVentas.Dispose()