From 7af02644a5c8d0be4a96ea8567551130754294c6 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Thu, 22 Aug 2024 12:01:09 -0700 Subject: [PATCH] --FIX. Realizar devolucion almacen en cancelaciones por respuesta --- Ventas/RepCancelacionesPorRespuesta.aspx.cs | 44 +++++++++++++++++---- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx.cs b/Ventas/RepCancelacionesPorRespuesta.aspx.cs index 5c4189503..96b5afc7d 100644 --- a/Ventas/RepCancelacionesPorRespuesta.aspx.cs +++ b/Ventas/RepCancelacionesPorRespuesta.aspx.cs @@ -569,22 +569,52 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas } else { - //SI REGISTRA SALIDA DE ALMACÉN EN AUTOMÁTICO Y ES DEVOLUCION QUE REALIZE EL MOVMIENTO DE SALIDA DE ALMACEN - if ((UsuarioActual.Empresa.Funcionalidad(567) == "1" || UsuarioActual.Empresa.Funcionalidad(531) == "1") && factura.TipoDocto == "Dev" && factura.SaldoAlmacen != 0) + //EN BDH, SI ES DEVOLUCION, QUE REALICE LA SALIDA DE ALMACEN + if (UsuarioActual.Empresa.Funcionalidad(531) == "1" && factura.TipoDocto == "Dev" && factura.SaldoAlmacen != 0) { factura.RealizarDevolucionAlmacen = 1; } + //SI REGISTRA SALIDA DE ALMACÉN EN AUTOMÁTICO, QUE REALIZE EL MOVIMIENTO DE ALMACEN EN AUTOMATICO + if (UsuarioActual.Empresa.Funcionalidad(567) == "1" && factura.TipoDocto.Contiene("Ing", "Dev") && factura.SaldoAlmacen != 0) + { + factura.RealizarDevolucionAlmacen = 1; + } + + //SI ES EMPRESA DE COBRO POR CAJA Y TIENE PERMISO 'PERMITE DEVOLVER PRODUCTO EN UNA CANCELACION', QUE REALIZE EL MOVIMIENTO DE ALMACEN EN AUTOMATICO + if (UsuarioActual.TienePermisoProceso(269) && UsuarioActual.Empresa.Funcionalidad(109) == "1" && factura.TipoDocto.Contiene("Ing", "Dev") && factura.SaldoAlmacen != 0) + { + factura.RealizarDevolucionAlmacen = 1; + } + + //EN TODAS LAS EMPRESAS. SI ES REMISION FACTURADA DEBE REALIZAR EL MOVIMIENTO DE ALMACEN EN AUTOMATICO + if (factura.TipoDocto == "Ing") + { + using (var ObjVentas = new ClsVentas()) + { + if (ObjVentas.GetRemisionesRelacionadas(CveVenta, factura.TipoDocto)) + { + if (ObjVentas.DtResultados.Copy().Rows.Count > 0) + { + factura.RealizarDevolucionAlmacen = 1; + } + } + else + { + retorno = new Modelos.Factura.MCancelacionVentaMensaje(); + retorno.Mensaje = "No se pudo verificar si tiene remisiones relacionadas"; + retorno.HuboError = true; + return retorno; + } + } + } + bool AplicaCancelacionConPagos = false; - if (UsuarioActual.Empresa.Funcionalidad(382) == "1" || UsuarioActual.Empresa.Funcionalidad(109) == "1" ) + if (UsuarioActual.Empresa.Funcionalidad(382) == "1" || UsuarioActual.Empresa.Funcionalidad(109) == "1") { AplicaCancelacionConPagos = true; } - if (UsuarioActual.TienePermisoProceso(269) && UsuarioActual.Empresa.Funcionalidad(109) == "1" && factura.TipoDocto == "Ing" && factura.SaldoAlmacen != 0) - { - factura.RealizarDevolucionAlmacen = 1; - } retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse, AplicaCancelacionConPagos: AplicaCancelacionConPagos); }