From 3a30aa50bb04e4ff5b2e314905002cf052decc95 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 16 Aug 2024 09:00:22 -0700 Subject: [PATCH 01/19] -- parametro adicional para OS --- Ventas/Ventas.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 4f4db7147..73147059c 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -14518,7 +14518,7 @@ Partial Class Ventas 'Si viene de OS, Se guarda CveVenta en OS If CveOS > 0 Then - If Not ObjOS.UpdateVentaOS(factura.CveVenta, CveOS) Then + If Not ObjOS.UpdateVentaOS(factura.CveVenta, CveOS, UsuarioActual.CveEmpresa) Then ErrorList.Add("Ocurrió un error al guardar la venta en Ordenes de Servicio") End If End If From 705080e5d4e634b3aba6b37dfa55c98654a23936 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 19 Aug 2024 16:24:15 -0700 Subject: [PATCH 02/19] =?UTF-8?q?SMS=20-=20OS,=20poder=20hacer=20la=20canc?= =?UTF-8?q?elaci=C3=B3n=20de=20una=20OS/Pedido.=20cuando=20la=20OS=20no=20?= =?UTF-8?q?est=C3=A9=20como=20finalizada.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/Modelos.vb | 115 +++++--- Ashx/SIGWeb.ashx | 2 +- Compras/Compras.aspx.vb | 2 +- OS/OrdenesServicios.aspx | 4 +- OS/OrdenesServicios.aspx.vb | 71 ++++- PortalCliente/PortalCliente.aspx.vb | 2 +- RH/CatPersonal.aspx | 69 +++-- RH/CatPersonal.aspx.vb | 311 +++----------------- Transportes/RepBoletos.aspx.vb | 2 +- Ventas/RepCancelacionesPorRespuesta.aspx.cs | 4 +- Ventas/Ventas.aspx.vb | 6 +- 11 files changed, 236 insertions(+), 352 deletions(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 579856c52..74e044cef 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -646,7 +646,7 @@ Namespace Modelos ObjVentas.Dispose() - If Me.RealizarDevolucionAlmacen Then + If Me.RealizarDevolucionAlmacen = 1 Then Me.CveAlmacenDevolucion = Me.CveAlmacenDevolucionVenta End If @@ -5523,12 +5523,12 @@ Namespace Modelos ''' ''' ''' - Public Function CancelarFactura(RealizarDevolucionAlmacen As Boolean, 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 AplicaCancelacionConPagos As Boolean = False, Optional GeneraIxCconPago As Boolean = False) 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 AplicaCancelacionConPagos As Boolean = False, Optional GeneraIxCconPago As Boolean = False) 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, AplicaCancelacionConPagos:=AplicaCancelacionConPagos, GeneraIxCconPago:=GeneraIxCconPago) End Function - Private Function CancelarVenta(ObjFactura As Modelos.Factura, UsuarioActual As Usuario, Optional EsRefacturacion As Boolean = False, Optional RealizarDevolucionAlmacen As Boolean = False, + Private Function CancelarVenta(ObjFactura As Modelos.Factura, UsuarioActual As Usuario, Optional EsRefacturacion As Boolean = False, Optional RealizarDevolucionAlmacen As Integer = 0, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional CveEstatusFacturaAsignado As Integer = -1, Optional FechaCancelacion As String = "-1", 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, @@ -5684,7 +5684,7 @@ Namespace Modelos Dim RevivirRemisiones As Boolean = Not EsRefacturacion AndAlso ((TieneRemisionesRelacionadas AndAlso ListaRemisionesCancelar Is Nothing) OrElse (DtRemisionesRelacionadas.Rows.Count > ListaRemisionesCancelar.Count)) 'REMISION YA SE DEBE HACER POR EL PROCESO DE DEVOLUCION DE ALMACEN - If Not EsRefacturacion AndAlso (ObjFactura.SaldoAlmacen <> 0 AndAlso ObjFactura.EsDevolucionVenta.Contiene(0, 1)) AndAlso Not RealizarDevolucionAlmacen And RevivirRemisiones = False Then + If Not EsRefacturacion AndAlso (ObjFactura.SaldoAlmacen <> 0 AndAlso ObjFactura.EsDevolucionVenta.Contiene(0, 1)) AndAlso Not (RealizarDevolucionAlmacen.Contiene(1, 2)) And RevivirRemisiones = False Then Retorno.Mensaje = "La factura no se puede cancelar debido a que tiene movimientos de inventario." Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia @@ -6128,7 +6128,7 @@ Namespace Modelos If Not ErrorCancelar AndAlso TieneSalida Then - If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen Then + If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen = 1 Then 'REALIZA DEVOLUCION A LAS SALIDAS PENDIENTES If Not ObjFactura.TipoDocto.Contiene("Rem", "Ped") Then For Each RowMovimiento As DataRow In DtSalidas.Rows @@ -6225,50 +6225,50 @@ Namespace Modelos Dim TotalCostoAcumulado As Decimal = 0 Dim cont As Integer = 1 - Dim CvePrePolizaDev As Integer = ObjConta.AddPrePolizas("Modelos/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - 'SE AGREGA MOVIMIENTO SEPARADO POR LA CUENTA DE VENTAS (ER) - For Each RowInv As DataRow In tmpCostos.Rows - ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundAD() - TotalCostoAcumulado += ValorInventario + Dim CvePrePolizaDev As Integer = ObjConta.AddPrePolizas("Modelos/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + 'SE AGREGA MOVIMIENTO SEPARADO POR LA CUENTA DE VENTAS (ER) + For Each RowInv As DataRow In tmpCostos.Rows + ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundAD() + TotalCostoAcumulado += ValorInventario - 'CUANDO ES EL ÚLTIMO MOVIMIENTO Y HAY DIFERENCIAS EN LOS IMPORTES - If cont = DtCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then - ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado) + 'CUANDO ES EL ÚLTIMO MOVIMIENTO Y HAY DIFERENCIAS EN LOS IMPORTES + If cont = DtCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then + ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado) + End If + + If Not ErrorCancelar Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, False, Multiplicador * ValorInventario, Multiplicador * ValorInventario, 69, SerieFolio, SerieFolio, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then + ErrorCancelar = True End If + End If + cont += 1 + Next - If Not ErrorCancelar Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, False, Multiplicador * ValorInventario, Multiplicador * ValorInventario, 69, SerieFolio, SerieFolio, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then - ErrorCancelar = True - End If - End If - cont += 1 - Next + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, True, Multiplicador * TotalCosto, Multiplicador * TotalCosto, 68, SerieFolio, SerieFolio, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto) Then + ErrorCancelar = True + End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, True, Multiplicador * TotalCosto, Multiplicador * TotalCosto, 68, SerieFolio, SerieFolio, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto) Then + 'AUTOCONTA - EL MOVIMIENTO 1 ES EL DE VENTA + + Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" + + If UsuarioActual.CveEmpresa = 119 AndAlso ObjFactura.TipoDocto.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then + AutoConta = False + End If + + If Not ErrorCancelar AndAlso ObjConta.ValidacionesPrePoliza(CvePrePolizaDev, UsuarioActual) Then + If ObjConta.ValorPolizaDescuadre > 0 Then + GuardaLogAD($"Modelos/RecepcionEntrega | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") ErrorCancelar = True End If + End If - 'AUTOCONTA - EL MOVIMIENTO 1 ES EL DE VENTA - - Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" - - If UsuarioActual.CveEmpresa = 119 AndAlso ObjFactura.TipoDocto.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then - AutoConta = False - End If - - If Not ErrorCancelar AndAlso ObjConta.ValidacionesPrePoliza(CvePrePolizaDev, UsuarioActual) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - GuardaLogAD($"Modelos/RecepcionEntrega | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - ErrorCancelar = True - End If - End If - - If AutoConta And Not ErrorCancelar Then - If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaDev, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al contabilizar la prepoliza." - End If + If AutoConta And Not ErrorCancelar Then + If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaDev, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al contabilizar la prepoliza." End If + End If ' Else 'ErrorCancelar = True 'MensajeError = "Ocurrió un Error al ingresar las prepolizas" @@ -6277,8 +6277,8 @@ Namespace Modelos End If End If - 'AGREGA BITACORA A VENTA - If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen AndAlso CveMovimientoDevolucion > 0 Then + 'AGREGA BITACORA A VENTA + If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen = 1 AndAlso CveMovimientoDevolucion > 0 Then Dim MensajeBitacora As String = "Devuelta" If Not ObjEventos.AddEventoBitacora(String.Format("Venta {2} en Folio: {1}", CveMovimientoDevolucion, Folio, MensajeBitacora), "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVenta) Then MensajeError = "Ocurrió un error al agregar la bitacora." @@ -6443,7 +6443,7 @@ Namespace Modelos End If 'CANCELACION DE MOVIMIENTOS DE REMISION, PEDIDOS - If Not ErrorCancelar AndAlso ObjFactura.TipoDocto.Contiene("Rem", "Ped") AndAlso RealizarDevolucionAlmacen AndAlso ObjFactura.SaldoAlmacen <> 0 Then + If Not ErrorCancelar AndAlso ObjFactura.TipoDocto.Contiene("Rem", "Ped") AndAlso RealizarDevolucionAlmacen = 1 AndAlso ObjFactura.SaldoAlmacen <> 0 Then Dim CveMovimientoUsado As Integer = -1 Dim CveAlmacenUsado As Integer = 0 Dim CveAlmacenGeneral As Integer = 0 @@ -6547,7 +6547,7 @@ Namespace Modelos 'EMPRESA HOSPITALARIA - SI ES PEDIDO LA DEVOLUCION SE DEBE HACER DESPUES DE CANCELAR EL PEDIDO If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso ObjFactura.TipoDocto = "Ped" Then - If Not RealizarDevolucionAlmacen AndAlso TieneAlmacen Then + If Not RealizarDevolucionAlmacen = 1 AndAlso TieneAlmacen Then If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 1, AplicaDevolucionCompleta:=True) Then ErrorCancelar = True MensajeError = "No se pudo actualizar el estatus de almacen del pedido" @@ -6556,6 +6556,22 @@ Namespace Modelos End If End If + If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso ObjFactura.TipoDocto = "Ped" Then + If Not RealizarDevolucionAlmacen.Contiene(1, 2) AndAlso TieneAlmacen Then + If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 1, AplicaDevolucionCompleta:=True) Then + ErrorCancelar = True + MensajeError = "No se pudo actualizar el estatus de almacen del pedido" + End If + End If + End If + + 'If RealizarDevolucionAlmacen = 2 AndAlso TieneAlmacen Then + ' If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 1, AplicaDevolucionCompleta:=True) Then + ' ErrorCancelar = True + ' MensajeError = "No se pudo actualizar el estatus de almacen del pedido" + ' End If + 'End If + 'CANCELA CONTRATOS If Not ErrorCancelar Then If ObjFactura.CveContrato > 0 AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant") Then @@ -6665,6 +6681,7 @@ Namespace Modelos If Not ObjVentas.UpdateEstatusOCRelacionada(ObjFactura.CveVenta, CveEstatusCancelacion, ObjFactura.CveEmpresa) Then ErrorCancelar = True MensajeError = "Ocurrió un error al cancelar la orden de servicio" + else End If End If End If @@ -6673,12 +6690,14 @@ Namespace Modelos 'MARCA LA VENTA PARA REALIZAR LA DEVOLUCION POSTERIORMENTE If Not ErrorCancelar Then - If RealizarDevolucionAlmacen AndAlso CveAlmacenDevolucion > 0 Then - If Not ObjVentas.UpdateVentaRealizarDevolucion(CveVenta, RealizarDevolucionAlmacen, CveAlmacenDevolucion) Then + + If RealizarDevolucionAlmacen = 1 AndAlso CveAlmacenDevolucion > 0 Then + If Not ObjVentas.UpdateVentaRealizarDevolucion(CveVenta, True, CveAlmacenDevolucion) Then ErrorCancelar = True MensajeError = "Ocurrió un error al marcar la venta para devolución" End If End If + End If 'ACTUALIZA ESTATUS @@ -7628,7 +7647,7 @@ Namespace Modelos Public Property TipoDocto As String Public Property TipoComprobante As String Public Property RefDocto As String = "" - Public Property RealizarDevolucionAlmacen As Boolean + Public Property RealizarDevolucionAlmacen As Integer Public Property CveAlmacenDevolucionVenta As Integer Public Property TipoDocumento As String diff --git a/Ashx/SIGWeb.ashx b/Ashx/SIGWeb.ashx index cc2504d43..eedb48556 100644 --- a/Ashx/SIGWeb.ashx +++ b/Ashx/SIGWeb.ashx @@ -1723,7 +1723,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState ObjFacturaCancelacion.CveAlmacenDevolucion = CveAlmacenDevolucion If ObjFacturaCancelacion.TipoDocto = "Rem" Then - Dim respuesta = ObjFacturaCancelacion.CancelarFactura(True, New List(Of Integer)) + Dim respuesta = ObjFacturaCancelacion.CancelarFactura(1, New List(Of Integer)) If respuesta IsNot Nothing Then retorno = JsonConvert.SerializeObject(respuesta) End If diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 36a6ab867..4c49b4a31 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -6729,7 +6729,7 @@ Partial Class Compras_Compras Next If importeMNTemp > 0 Then - importeMNTemp = importeMNTemp - TxtDescuento.Text.ToDecimal + 'importeMNTemp = importeMNTemp - TxtDescuento.Text.ToDecimal If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMNTemp, importeMNTemp, ConceptoContabilizacionNC, Referencia, Concepto, CveCompra:=CveCompra, CveCompraAmortizacion:=CveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True diff --git a/OS/OrdenesServicios.aspx b/OS/OrdenesServicios.aspx index 713b9ab26..dbc6ce8af 100644 --- a/OS/OrdenesServicios.aspx +++ b/OS/OrdenesServicios.aspx @@ -529,7 +529,9 @@ - + + + diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index ccb64cfc1..07cb31eff 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -5,6 +5,8 @@ Imports Extensiones Imports System.IO Imports System.Data Imports System.Data.SqlClient +Imports System.Diagnostics +Imports System.ServiceModel.Security Partial Class OS_OrdenesServicios Inherits ClsPaginas @@ -470,6 +472,13 @@ Partial Class OS_OrdenesServicios DVUsuarioAtendio3.Visible = True End If End If + + If TipoEstatus.Contiene(1, 2, 3, 4) And CveVenta <= 0 Then + BtnCancelar.Visible = True + Else + BtnGuardar.Visible = False + End If + End If End Sub @@ -911,7 +920,13 @@ Partial Class OS_OrdenesServicios End Sub Private Sub CargaEstatusOS() DdlEstatusOS.Items.Clear() - DdlEstatusOS.DataSource = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa) + If TipoEstatus = 5 Then + DdlEstatusOS.DataSource = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa) + DdlEstatusOS.Enabled = False + Else + DdlEstatusOS.DataSource = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltraParametros(" TipoEstatus <> 5 ") + End If + DdlEstatusOS.DataBind() 'DdlEstatusOS.SelectedValue = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", "TipoEstatus = 1", "Orden ASC") End Sub @@ -3579,4 +3594,58 @@ Partial Class OS_OrdenesServicios End If End If End Sub + + Protected Sub BtnCancelar_Click(sender As Object, e As EventArgs) + + + Dim CveEstatusOrdenServicioCancelacion As Integer = GlobalDTEstatusOrdenServicios(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveEstatusOrdenServicio", " TipoEstatus = 5 ").ToEntero + Dim CveAlmacenDevolucion As Integer + Dim CveMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMotivoCancelacion", "CveSATMotivoCancelacion IN (3)").ToEntero + + If Not CveEstatusOrdenServicioCancelacion > 0 Then + Alert("No se encontro el esatus de cancelacion", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + If Not CveMotivoCancelacion > 0 Then + Alert("No se encontro la clave el motivo de cancelacion", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim ObjFacturaCancelacion As New Modelos.Factura(UsuarioActual, CvePedido, UsuarioActual.CveEmpresa, EsCancelacion:=True, VerificaAlmacen:=True) + + Try + + Dim resp As Modelos.Factura.MCancelacionVentaMensaje = Nothing + + If ObjFacturaCancelacion IsNot Nothing AndAlso ObjFacturaCancelacion.CveVenta > 0 Then + + Dim SWatch As New Stopwatch + SWatch.Start() + + Dim DevAlm As Boolean = True + + ObjFacturaCancelacion.CveAlmacenDevolucion = CveAlmacenDevolucion + + resp = ObjFacturaCancelacion.CancelarFactura(2, New List(Of Integer), CveMotivoCancelacion:=CveMotivoCancelacion, Motivo:="Cancelacion de Orden de servicio") + + If resp.HuboError Then + Alert($"Se presento un error al cancelar la orden de servicio, {resp.Mensaje}".ToString(), TipoMensaje.MsgError) + Else + Alert($"la orden de servicio se cancelada correctamente, {resp.Mensaje}", resp.TipoMensaje, " location.reload(true); ") + + Dim objGeneral As New ClsGenerales + objGeneral.AddHistorialBitacora(256, -1, -1, -1, CveOS, -1, -1, -1, "Cancelada", DdlEstatusOS.SelectedItem.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", "", "") + objGeneral.Dispose() + + + End If + + End If + + Catch ex As Exception + Alert("Se presento un error al cancelar la orden de servicio") + End Try + + End Sub End Class \ No newline at end of file diff --git a/PortalCliente/PortalCliente.aspx.vb b/PortalCliente/PortalCliente.aspx.vb index a52d8ebde..2c06bdd99 100644 --- a/PortalCliente/PortalCliente.aspx.vb +++ b/PortalCliente/PortalCliente.aspx.vb @@ -1741,7 +1741,7 @@ Partial Class Ventas_PortalCliente If GvRow.DataKey("CveVenta").ToEntero() > 0 Then Dim ObjFactura As New Modelos.Factura(UsuarioActual, GvRow.DataKey("CveVenta").ToEntero(), UsuarioActual.CveEmpresa) If ObjFactura IsNot Nothing Then - Dim Resp = ObjFactura.CancelarFactura(RealizarDevolucionAlmacen:=False, ListaRemisionesCancelar:=New List(Of Integer)) + Dim Resp = ObjFactura.CancelarFactura(0, ListaRemisionesCancelar:=New List(Of Integer)) Alert(Resp.Mensaje, If(Resp.HuboError, TipoMensaje.MsgError, TipoMensaje.MsgInformacion)) End If Else diff --git a/RH/CatPersonal.aspx b/RH/CatPersonal.aspx index 943b7d063..7508c99b0 100644 --- a/RH/CatPersonal.aspx +++ b/RH/CatPersonal.aspx @@ -462,19 +462,19 @@ - MetodoPago + Metodo de Pago   - TipoContrato + Tipo Contrato   - MotivoBaja + Motivo Baja   @@ -486,7 +486,7 @@ - FechaIngreso + Fecha Ingreso @@ -502,13 +502,13 @@ - SalarioDiarioPago + Salario Diario Pago - SalarioDiario + Salario Diario @@ -520,7 +520,7 @@ - SalarioDiarioSS + Salario DiarioSS @@ -532,37 +532,37 @@ - NumDiasAguinaldo + Num Dias Aguinaldo - PorPrimaVacacional + Por Prima Vacacional - Ubicacion + Ubicación - FechaNacimiento + Fecha Nacimiento - LugarNacimiento + Lugar Nacimiento - Direccion + Dirección @@ -604,19 +604,19 @@ - NombrePadre + Nombre Padre - NombreMadre + Nombre Madre - ClienteAsignado + Cliente Asignado @@ -669,6 +669,12 @@ + + Correo Personal + + + + @@ -749,7 +755,7 @@
- +
@@ -766,11 +772,11 @@
- +
- +
@@ -778,7 +784,7 @@
- +
@@ -789,10 +795,10 @@
- +
- +
@@ -800,21 +806,21 @@
- +
- +
- +
- +
- +
@@ -837,19 +843,22 @@
- +
- +
- +
+
+ +
diff --git a/RH/CatPersonal.aspx.vb b/RH/CatPersonal.aspx.vb index 5f0caa47a..31984727b 100644 --- a/RH/CatPersonal.aspx.vb +++ b/RH/CatPersonal.aspx.vb @@ -349,272 +349,55 @@ Partial Class RH_CatPersonal #Region "P E R Z O N A L I Z A R" Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click - - If ChkCodigo.Checked Then - GvDatos.Columns(0).Visible = True - Else - GvDatos.Columns(0).Visible = False - End If - - If ChkNombre.Checked Then - GvDatos.Columns(1).Visible = True - Else - GvDatos.Columns(1).Visible = False - End If - - If ChkNSS.Checked Then - GvDatos.Columns(2).Visible = True - Else - GvDatos.Columns(2).Visible = False - End If - - If ChlRFC.Checked Then - GvDatos.Columns(3).Visible = True - Else - GvDatos.Columns(3).Visible = False - End If - - If ChkTurno.Checked Then - GvDatos.Columns(4).Visible = True - Else - GvDatos.Columns(4).Visible = False - End If - - If ChkPuesto.Checked Then - GvDatos.Columns(5).Visible = True - Else - GvDatos.Columns(5).Visible = False - End If - - If ChkDepartamento.Checked Then - GvDatos.Columns(6).Visible = True - Else - GvDatos.Columns(6).Visible = False - End If - - If ChkRuta.Checked Then - GvDatos.Columns(7).Visible = True - Else - GvDatos.Columns(7).Visible = False - End If - - If ChkEscolaridad.Checked Then - GvDatos.Columns(8).Visible = True - Else - GvDatos.Columns(8).Visible = False - End If - - If ChkEstadoCivil.Checked Then - GvDatos.Columns(9).Visible = True - Else - GvDatos.Columns(9).Visible = False - End If - - If ChkGenero.Checked Then - GvDatos.Columns(10).Visible = True - Else - GvDatos.Columns(10).Visible = False - End If - - If ChkEstatusPersonal.Checked Then - GvDatos.Columns(11).Visible = True - Else - GvDatos.Columns(11).Visible = False - End If - - If ChkSubProyecto.Checked Then - GvDatos.Columns(12).Visible = True - Else - GvDatos.Columns(12).Visible = False - End If - - If ChkSupervisor.Checked Then - GvDatos.Columns(13).Visible = True - Else - GvDatos.Columns(13).Visible = False - End If - - If ChkTipoPeriodo.Checked Then - GvDatos.Columns(14).Visible = True - Else - GvDatos.Columns(14).Visible = False - End If - - If ChkMetodoPago.Checked Then - GvDatos.Columns(15).Visible = True - Else - GvDatos.Columns(15).Visible = False - End If - - If ChkTipoContrato.Checked Then - GvDatos.Columns(16).Visible = True - Else - GvDatos.Columns(16).Visible = False - End If - - If ChkMotivoBaja.Checked Then - GvDatos.Columns(17).Visible = True - Else - GvDatos.Columns(17).Visible = False - End If - - If ChkProyecto.Checked Then - GvDatos.Columns(18).Visible = True - Else - GvDatos.Columns(18).Visible = False - End If - - If ChkFechaIngreso.Checked Then - GvDatos.Columns(19).Visible = True - Else - GvDatos.Columns(19).Visible = False - End If - If ChkSeInscribioSS.Checked Then - GvDatos.Columns(20).Visible = True - Else - GvDatos.Columns(20).Visible = False - End If - If ChkSalarioDiarioPago.Checked Then - GvDatos.Columns(21).Visible = True - Else - GvDatos.Columns(21).Visible = False - End If - If ChkSalarioDiario.Checked Then - GvDatos.Columns(22).Visible = True - Else - GvDatos.Columns(22).Visible = False - End If - - If ChkSDI.Checked Then - GvDatos.Columns(23).Visible = True - Else - GvDatos.Columns(23).Visible = False - End If - - If ChkSalarioDiarioSS.Checked Then - GvDatos.Columns(24).Visible = True - Else - GvDatos.Columns(24).Visible = False - End If - - If ChkBono.Checked Then - GvDatos.Columns(25).Visible = True - Else - GvDatos.Columns(25).Visible = False - End If - - If ChkNumDiasAguinaldo.Checked Then - GvDatos.Columns(26).Visible = True - Else - GvDatos.Columns(26).Visible = False - End If - - If ChkPorPrimaVacacional.Checked Then - GvDatos.Columns(27).Visible = True - Else - GvDatos.Columns(27).Visible = False - End If - - If ChkUbicacion.Checked Then - GvDatos.Columns(28).Visible = True - Else - GvDatos.Columns(28).Visible = False - End If - - If ChkFechaNacimiento.Checked Then - GvDatos.Columns(29).Visible = True - Else - GvDatos.Columns(29).Visible = False - End If - - If ChkLugarNacimiento.Checked Then - GvDatos.Columns(30).Visible = True - Else - GvDatos.Columns(30).Visible = False - End If - - If ChkDireccion.Checked Then - GvDatos.Columns(31).Visible = True - Else - GvDatos.Columns(31).Visible = False - End If - - If ChkCP.Checked Then - GvDatos.Columns(32).Visible = True - Else - GvDatos.Columns(32).Visible = False - End If - - If ChkCiudad.Checked Then - GvDatos.Columns(33).Visible = True - Else - GvDatos.Columns(33).Visible = False - End If - - If ChkEstado.Checked Then - GvDatos.Columns(34).Visible = True - Else - GvDatos.Columns(34).Visible = False - End If - - If ChkTelefono.Checked Then - GvDatos.Columns(35).Visible = True - Else - GvDatos.Columns(35).Visible = False - End If - - If ChkCelular.Checked Then - GvDatos.Columns(36).Visible = True - Else - GvDatos.Columns(36).Visible = False - End If - - If ChkCURP.Checked Then - GvDatos.Columns(37).Visible = True - Else - GvDatos.Columns(37).Visible = False - End If - If ChkNombrePadre.Checked Then - GvDatos.Columns(38).Visible = True - Else - GvDatos.Columns(38).Visible = False - End If - If ChkNombreMadre.Checked Then - GvDatos.Columns(39).Visible = True - Else - GvDatos.Columns(39).Visible = False - End If - - If ChkClienteAsignado.Checked Then - GvDatos.Columns(40).Visible = True - Else - GvDatos.Columns(40).Visible = False - End If - - If ChkUsuario.Checked Then - GvDatos.Columns(42).Visible = True - Else - GvDatos.Columns(42).Visible = False - End If - If ChkRiesgoPuesto.Checked Then - GvDatos.Columns(43).Visible = True - Else - GvDatos.Columns(43).Visible = False - End If - If ChkRegistroPatronal.Checked Then - GvDatos.Columns(44).Visible = True - Else - GvDatos.Columns(44).Visible = False - End If - If ChkTipodeSalario.Checked Then - GvDatos.Columns(45).Visible = True - Else - GvDatos.Columns(45).Visible = False - End If + GvDatos.Columns(0).Visible = ChkCodigo.Checked + GvDatos.Columns(1).Visible = ChkNombre.Checked + GvDatos.Columns(2).Visible = ChkNSS.Checked + GvDatos.Columns(3).Visible = ChlRFC.Checked + GvDatos.Columns(4).Visible = ChkTurno.Checked + GvDatos.Columns(5).Visible = ChkPuesto.Checked + GvDatos.Columns(6).Visible = ChkDepartamento.Checked + GvDatos.Columns(7).Visible = ChkRuta.Checked + GvDatos.Columns(8).Visible = ChkEscolaridad.Checked + GvDatos.Columns(9).Visible = ChkEstadoCivil.Checked + GvDatos.Columns(10).Visible = ChkGenero.Checked + GvDatos.Columns(11).Visible = ChkEstatusPersonal.Checked + GvDatos.Columns(12).Visible = ChkSubProyecto.Checked + GvDatos.Columns(13).Visible = ChkSupervisor.Checked + GvDatos.Columns(14).Visible = ChkTipoPeriodo.Checked + GvDatos.Columns(15).Visible = ChkMetodoPago.Checked + GvDatos.Columns(16).Visible = ChkTipoContrato.Checked + GvDatos.Columns(17).Visible = ChkMotivoBaja.Checked + GvDatos.Columns(18).Visible = ChkProyecto.Checked + GvDatos.Columns(19).Visible = ChkFechaIngreso.Checked + GvDatos.Columns(20).Visible = ChkSeInscribioSS.Checked + GvDatos.Columns(21).Visible = ChkSalarioDiarioPago.Checked + GvDatos.Columns(22).Visible = ChkSalarioDiario.Checked + GvDatos.Columns(23).Visible = ChkSDI.Checked + GvDatos.Columns(24).Visible = ChkSalarioDiarioSS.Checked + GvDatos.Columns(25).Visible = ChkBono.Checked + GvDatos.Columns(26).Visible = ChkNumDiasAguinaldo.Checked + GvDatos.Columns(27).Visible = ChkPorPrimaVacacional.Checked + GvDatos.Columns(28).Visible = ChkUbicacion.Checked + GvDatos.Columns(29).Visible = ChkFechaNacimiento.Checked + GvDatos.Columns(30).Visible = ChkLugarNacimiento.Checked + GvDatos.Columns(31).Visible = ChkDireccion.Checked + GvDatos.Columns(32).Visible = ChkCP.Checked + GvDatos.Columns(33).Visible = ChkCiudad.Checked + GvDatos.Columns(34).Visible = ChkEstado.Checked + GvDatos.Columns(35).Visible = ChkTelefono.Checked + GvDatos.Columns(36).Visible = ChkCelular.Checked + GvDatos.Columns(37).Visible = ChkCURP.Checked + GvDatos.Columns(38).Visible = ChkNombrePadre.Checked + GvDatos.Columns(39).Visible = ChkNombreMadre.Checked + GvDatos.Columns(40).Visible = ChkClienteAsignado.Checked + GvDatos.Columns(42).Visible = ChkUsuario.Checked + GvDatos.Columns(43).Visible = ChkRiesgoPuesto.Checked + GvDatos.Columns(44).Visible = ChkRegistroPatronal.Checked + GvDatos.Columns(45).Visible = ChkTipodeSalario.Checked GvDatos.Columns(46).Visible = ChkBanco.Checked GvDatos.Columns(47).Visible = ChkCuentaBancaria.Checked - GvDatos.Columns(48).Visible = ChkClaBE.Checked - + GvDatos.Columns(48).Visible = ChkCLABE.Checked + GvDatos.Columns(49).Visible = ChkCorreo.Checked If (GvDatos.Rows.Count > 0) Then GvDatos.UseAccessibleHeader = True diff --git a/Transportes/RepBoletos.aspx.vb b/Transportes/RepBoletos.aspx.vb index 11e309130..45385581d 100644 --- a/Transportes/RepBoletos.aspx.vb +++ b/Transportes/RepBoletos.aspx.vb @@ -78,7 +78,7 @@ Partial Class ListadoBoletos If ObjRem.DtDetalle.Rows.Count > 0 Then 'SI SOLO TIENE UNA PARTIDA CANCELAR LA REMISION If ObjRem.DtDetalle.Rows.Count = 1 OrElse BoletosVigentes <= 1 Then - Dim RespCancelacion = ObjRem.CancelarFactura(False, ValidarSAT:=False, CancelarBoletos:=True, ListaRemisionesCancelar:=New List(Of Integer)) + Dim RespCancelacion = ObjRem.CancelarFactura(0, ValidarSAT:=False, CancelarBoletos:=True, ListaRemisionesCancelar:=New List(Of Integer)) If RespCancelacion IsNot Nothing Then TieneError = RespCancelacion.HuboError Else diff --git a/Ventas/RepCancelacionesPorRespuesta.aspx.cs b/Ventas/RepCancelacionesPorRespuesta.aspx.cs index ba4f8cd91..5c4189503 100644 --- a/Ventas/RepCancelacionesPorRespuesta.aspx.cs +++ b/Ventas/RepCancelacionesPorRespuesta.aspx.cs @@ -572,7 +572,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas //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) { - factura.RealizarDevolucionAlmacen = true; + factura.RealizarDevolucionAlmacen = 1; } bool AplicaCancelacionConPagos = false; @@ -583,7 +583,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas if (UsuarioActual.TienePermisoProceso(269) && UsuarioActual.Empresa.Funcionalidad(109) == "1" && factura.TipoDocto == "Ing" && factura.SaldoAlmacen != 0) { - factura.RealizarDevolucionAlmacen = true; + factura.RealizarDevolucionAlmacen = 1; } retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse, AplicaCancelacionConPagos: AplicaCancelacionConPagos); diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 55ea1a365..450acef42 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -26067,7 +26067,9 @@ Partial Class Ventas AplicaCancelacionConPagos = True End If - resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion, AplicaCancelacionConPagos:=AplicaCancelacionConPagos) + + + resp = ObjFacturaCancelacion.CancelarFactura(If(ChkDevAlm.Checked, 1, 0), ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion, AplicaCancelacionConPagos:=AplicaCancelacionConPagos) strMensaje.Append(resp.Mensaje) Dim DtBonificaciones As DataTable = Nothing @@ -26084,7 +26086,7 @@ Partial Class Ventas Try 'VERIFICA SI TIENE RNC DE BONIFICACION Dim Bon As New Modelos.Factura(UsuarioActual, RowBon("CveVentaBonificacion").ToString().ToEntero(), UsuarioActual.CveEmpresa, VerificaAlmacen:=False) - Dim respBon As Modelos.Factura.MCancelacionVentaMensaje = Bon.CancelarFactura(False, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion) + Dim respBon As Modelos.Factura.MCancelacionVentaMensaje = Bon.CancelarFactura(0, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion) If respBon.HuboError Then strMensaje.AppendFormat("
Ocurrió un error al cancelar la remisión de NC de bonificación {0} .", Bon.SerieFolio) Else From be822b9ab4d10f106875800805cfdccbcc0c1cd2 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 19 Aug 2024 16:55:40 -0700 Subject: [PATCH 03/19] =?UTF-8?q?Li=20piar=20codigo=20de=20prueba=20=20SMS?= =?UTF-8?q?=20-=20OS,=20poder=20hacer=20la=20cancelaci=C3=B3n=20de=20una?= =?UTF-8?q?=20OS/Pedido.=20cuando=20la=20OS=20no=20est=C3=A9=20como=20fina?= =?UTF-8?q?lizada.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/Modelos.vb | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 74e044cef..5bc220c03 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -6556,21 +6556,7 @@ Namespace Modelos End If End If - If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso ObjFactura.TipoDocto = "Ped" Then - If Not RealizarDevolucionAlmacen.Contiene(1, 2) AndAlso TieneAlmacen Then - If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 1, AplicaDevolucionCompleta:=True) Then - ErrorCancelar = True - MensajeError = "No se pudo actualizar el estatus de almacen del pedido" - End If - End If - End If - 'If RealizarDevolucionAlmacen = 2 AndAlso TieneAlmacen Then - ' If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 1, AplicaDevolucionCompleta:=True) Then - ' ErrorCancelar = True - ' MensajeError = "No se pudo actualizar el estatus de almacen del pedido" - ' End If - 'End If 'CANCELA CONTRATOS If Not ErrorCancelar Then From 13a263b9fafc5c1c7c600cdb4c8f366b1cc0c539 Mon Sep 17 00:00:00 2001 From: RPimienta Date: Tue, 20 Aug 2024 00:46:59 -0600 Subject: [PATCH 04/19] Ajuste en compras para que si tienes la funcionalidad 109 te pongo la um base y haga conversiones si es necesario en cantidad y pu --- Compras/Compras.aspx.vb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 4c49b4a31..a24cdb404 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -2290,6 +2290,28 @@ Partial Class Compras_Compras Alert("El xml no contiene la etiqueta 'método de pago', favor de verificar la emisión con el proveedor.", TipoMensaje.MsgAdvertencia) BtnGuardar.Visible = False End If + + If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then + For Each item As DataRow In TmpDT.Rows + Dim EquivalenciaBase = GlobalDTProductosServiciosEquivalencias(item("CvePS").ToString().ToEntero(), -1, UsuarioActual.CveEmpresa).FiltroPrimero("UnidadBase = 1") + If EquivalenciaBase IsNot Nothing Then + If item("CveUM").ToString() <> EquivalenciaBase("CveUM").ToString() Then + Dim EquivalenciaACambiar = GlobalDTProductosServiciosEquivalencias(item("CvePS").ToString().ToEntero(), item("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa).FiltroPrimero("") + If EquivalenciaACambiar IsNot Nothing Then + Dim Cantidad As Decimal = Math.Round(item("Cantidad").ToString().ToDecimal() / EquivalenciaACambiar("Cantidad").ToString().ToDecimal(), 6) + Dim PU As Decimal = Math.Round((item("Total").ToString().ToDecimal() + item("Descuento").ToString().ToDecimal()) / Cantidad, 6) + item("Cantidad") = Cantidad + item("PU") = PU + End If + item("CveUM") = EquivalenciaBase("CveUM") + item("UM") = EquivalenciaBase("UM") + End If + End If + Next + GvPS.DataSource = TmpDT + GvPS.DataBind() + UpPS.Update() + End If End If Else Alert("No se Encontró la Factura", TipoMensaje.MsgAdvertencia) From b68976a4ce990a9eb81523832b401e683ff9cb60 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 06:28:26 -0700 Subject: [PATCH 05/19] -- conceptos de pago en anticipo de clientes --- App_Code/ClsPaginas.vb | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 2e5a4205a..15bd17430 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -9199,7 +9199,7 @@ Public Class ClsPaginas Retorno.CveConcepto = If(CveTipoProveedorTipoDocto = 1, 312, 309) Retorno.CveConceptoComplementario = If(CveTipoProveedorTipoDocto = 1, 206, 310) End Select - Case 11 ' anticipos + Case 11 ' anticipos proveedores/acreedores Select Case CveMoneda Case 1 'pesos Retorno.CveConcepto = If(CveTipoProveedorTipoDocto = 1, 21, 56) @@ -9207,7 +9207,7 @@ Public Class ClsPaginas Retorno.CveConcepto = If(CveTipoProveedorTipoDocto = 1, 339, 346) Retorno.CveConceptoComplementario = If(CveTipoProveedorTipoDocto = 1, 340, 347) End Select - Case 15 ' notas de crédito + Case 15 ' notas de crédito proveedores/acreedores Select Case CveMoneda Case 1 'pesos Retorno.CveConcepto = If(CveTipoProveedorTipoDocto = 1, 60, 324) @@ -9239,6 +9239,14 @@ Public Class ClsPaginas Retorno.CveConcepto = 92 'falta nuevo concepto Retorno.CveConceptoComplementario = 332 End Select + Case 12 ' anticipos de clientes + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = 11 + Case 2 'dólares + Retorno.CveConcepto = 296 + Retorno.CveConceptoComplementario = 227 + End Select End Select Else 'cuando es la provisión Select Case CveTipoSaldo @@ -9250,7 +9258,7 @@ Public Class ClsPaginas Retorno.CveConcepto = If(CveTipoProveedorTipoDocto = 1, 311, 306) Retorno.CveConceptoComplementario = If(CveTipoProveedorTipoDocto = 1, 201, 307) End Select - Case 11 ' anticipos + Case 11 ' anticipos proveedores/acreedores Select Case CveMoneda Case 1 'pesos Retorno.CveConcepto = If(CveTipoProveedorTipoDocto = 1, 10, 48) @@ -9258,7 +9266,7 @@ Public Class ClsPaginas Retorno.CveConcepto = If(CveTipoProveedorTipoDocto = 1, 338, 345) Retorno.CveConceptoComplementario = If(CveTipoProveedorTipoDocto = 1, 340, 347) End Select - Case 15 ' notas de crédito + Case 15 ' notas de crédito proveedores/acreedores Select Case CveMoneda Case 1 'pesos Retorno.CveConcepto = If(CveTipoProveedorTipoDocto = 1, 18, 323) @@ -9290,6 +9298,14 @@ Public Class ClsPaginas Retorno.CveConcepto = 66 'falta nuevo concepto Retorno.CveConceptoComplementario = 332 End Select + Case 12 ' anticipos de clientes + Select Case CveMoneda + Case 1 'pesos + Retorno.CveConcepto = 3 + Case 2 'dólares + Retorno.CveConcepto = 295 + Retorno.CveConceptoComplementario = 226 + End Select End Select End If From be9830a34925d370e161ac8263f535a16ba0b406 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 06:29:27 -0700 Subject: [PATCH 06/19] -- vencimientos lineas --- App_Code/ClsVentas.vb | 3 +- Ventas/Clientes.aspx | 42 +++++++++++++++------------ Ventas/Clientes.aspx.vb | 26 +++++++++++++++-- Ventas/RepVencimientosCredito.aspx | 20 +++++++++---- Ventas/RepVencimientosCredito.aspx.cs | 8 +++-- 5 files changed, 70 insertions(+), 29 deletions(-) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index abc48596e..0673bb5c0 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -6322,7 +6322,7 @@ Public Class ClsVentas End Function - Public Function GetLineasAdicionalesVencimientos(CveCliente As Integer, TipoLinea As Integer, FechaInicio As Date, FechaFin As Date, CveMoneda As Integer, CveEmpresa As Integer) As Boolean + Public Function GetLineasAdicionalesVencimientos(CveCliente As Integer, TipoLinea As Integer, FechaInicio As Date, FechaFin As Date, CveMoneda As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_LineasAdicionalesVencimientosGet") @@ -6332,6 +6332,7 @@ Public Class ClsVentas .Add("@FechaFin", SqlDbType.Date).Value = FechaFin .Add("@TipoLinea", SqlDbType.Int).Value = TipoLinea .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With Try diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index ef7407d92..15d088193 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -1736,11 +1736,12 @@
- Parametros + Crédito +      
-
- +
+
@@ -1836,7 +1837,7 @@
- +
@@ -1864,6 +1865,16 @@
+
+
+
+ +
+
+ +
+
+
@@ -1937,6 +1948,14 @@
+
+
+ +
+ +
+
+
@@ -4632,20 +4651,7 @@
-
-
-
- -
-
- -
- -
- -
-
-
+
" style="display: inline-block; margin-right: -20px; width: 150px;" /> diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 814cd34a5..661750fb4 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -919,7 +919,9 @@ Partial Class Clientes CargaCombosLineasAdicionales() TabLineasAdicionales.Visible = True LnkAgregarLineaAdicional.Visible = True - GetLineasAdicionales() + GetLineasAdicionales() + divQuebranto1.Visible = True + divQuebranto2.Visible = True End If If UsuarioActual.Empresa.Funcionalidad(109) <> "1" Then @@ -1689,8 +1691,6 @@ Partial Class Clientes 'Horario TxtHorario.Text = ObjClientes.Horario - - TxtObsDiasRevision.Text = ObjClientes.ObservacionRevision TxtReferenciaFiscal.Text = ObjClientes.ReferenciaFiscal TxtCelular.Text = ObjClientes.Celular @@ -1705,6 +1705,9 @@ Partial Class Clientes ChkEnDemanda.Checked = ObjClientes.EnDemanda TxtNombreFirmas.Text = ObjClientes.CreditoRegistroFirmas + If ObjClientes.EnQuebranto Then LblAlertaQuebranto.Text = "En Quebranto" + If ObjClientes.EnDemanda Then LblAlertaQuebranto.Text &= "En Demanda" + '7eleven TxtProveedor.Text = ObjClientes.SevenEleven_NumProveedor @@ -1851,6 +1854,23 @@ Partial Class Clientes GvCxCHistorial.DataSource = dt.AsEnumerable().Take(22).CopyToDataTable() End If Retorno = True + If UsuarioActual.CveEmpresa.Contiene(119, 158) Then + Dim tdtt As DataTable = DtCxCActivas.FiltraParametros("DiasVencidos > 0") + If tdtt.Rows.Count > 0 Then + Dim tstr As String = "Facturas con vencimiento:
" + Dim tdtsaldo As DataTable = tdtt.FiltraParametros("CveMoneda = 1") + If tdtsaldo.Rows.Count > 0 Then + tstr &= tdtt.Rows.Count & $" - ${tdtsaldo.SUM("Saldo").FormatoNumero} Pesos.
" + End If + tdtsaldo = tdtt.FiltraParametros("CveMoneda = 2") + If tdtsaldo.Rows.Count > 0 Then + tstr &= tdtsaldo.Rows.Count & $" - ${tdtsaldo.SUM("Saldo").FormatoNumero} Dólares.
" + End If + + Alert(tstr, TipoMensaje.MsgAdvertencia) + End If + End If + Else GvCxC.DataSource = Nothing DtCxCActivas = Nothing diff --git a/Ventas/RepVencimientosCredito.aspx b/Ventas/RepVencimientosCredito.aspx index c29f49f8f..3322ead8b 100644 --- a/Ventas/RepVencimientosCredito.aspx +++ b/Ventas/RepVencimientosCredito.aspx @@ -82,9 +82,11 @@ - + +
+
Agrupador:
@@ -99,7 +101,11 @@
@@ -122,8 +128,7 @@
- @@ -134,7 +139,12 @@ - + + + +   + +
diff --git a/Ventas/RepVencimientosCredito.aspx.cs b/Ventas/RepVencimientosCredito.aspx.cs index 2bb092c17..b7dd35217 100644 --- a/Ventas/RepVencimientosCredito.aspx.cs +++ b/Ventas/RepVencimientosCredito.aspx.cs @@ -70,7 +70,11 @@ public partial class Ventas_RepVencimientosCredito : ClsPaginas DdlClientes.setEsWebService(true); DdlClientes.Attributes.Add("data-metodo", "getcliente"); DdlClientes.SelectedText = "Todos"; - DdlClientes.SelectedValue = "-1"; + DdlClientes.SelectedValue = "-1"; + DdlSubProyectos.Items.Insert(0, new ListItem("Todos", "-1")); + DdlSubProyectos.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa); + DdlSubProyectos.DataBind(); + } protected void BtnConsultar_Click(object sender, EventArgs e) @@ -85,7 +89,7 @@ public partial class Ventas_RepVencimientosCredito : ClsPaginas ClsVentas objVentas = new ClsVentas(); - if (objVentas.GetLineasAdicionalesVencimientos( DdlClientes.SelectedValue.ToEntero(), DdlTipoLinea.SelectedValue.ToEntero(), txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), -1, UsuarioActual.CveEmpresa)) + if (objVentas.GetLineasAdicionalesVencimientos( DdlClientes.SelectedValue.ToEntero(), DdlTipoLinea.SelectedValue.ToEntero(), txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), -1, DdlSubProyectos.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa)) { GvD.DataSource = objVentas.DtResultados; From 75efa3e525f68e3b795aa843b57ae192d4baa66c Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 06:29:46 -0700 Subject: [PATCH 07/19] - mejora --- Transportes/RepContratos.aspx.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Transportes/RepContratos.aspx.vb b/Transportes/RepContratos.aspx.vb index 7c80c0c08..d11cf1856 100644 --- a/Transportes/RepContratos.aspx.vb +++ b/Transportes/RepContratos.aspx.vb @@ -21,10 +21,10 @@ Partial Class ListadoContratos #End Region #Region "Carga Página" Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load - txtFechaI.Text = DateTime.Now.AddMonths(-1).ToShortDateString - txtFechaF.Text = DateTime.Now.AddDays(7).ToShortDateString If Not IsPostBack Then + txtFechaI.Text = DateTime.Now.AddMonths(-1).ToShortDateString + txtFechaF.Text = DateTime.Now.AddDays(7).ToShortDateString InicializaCombos() CargaDatos() End If From 3da59a90a33896b14e882c9fc0c5a34ab8a6cd96 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 06:30:04 -0700 Subject: [PATCH 08/19] -- mejora --- Sistemas/CatSesiones.aspx.vb | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/Sistemas/CatSesiones.aspx.vb b/Sistemas/CatSesiones.aspx.vb index 2d0ad96bd..915212911 100644 --- a/Sistemas/CatSesiones.aspx.vb +++ b/Sistemas/CatSesiones.aspx.vb @@ -433,21 +433,22 @@ Partial Class Sistemas_CatSesiones Private Sub CargaSubProyectos() 'Carga SubProyectos - GlobalDTSubProyectos(UsuarioActual.CveEmpresa) = Nothing - Dim ObjSubProyectos As New ClsSubProyectos + GlobalDTSubProyectos(UsuarioActual.CveEmpresa) = Nothing + GlobalDTSubProyectosUsuarios(-1, -1, UsuarioActual.CveEmpresa) = Nothing + 'Dim ObjSubProyectos As New ClsSubProyectos 'If ObjSubProyectos.GetSubProyectos Then ' Application("GlobalDTSubProyectos") = ObjSubProyectos.DtResultados 'Else ' Application("GlobalDTSubProyectos") = Nothing 'End If - If ObjSubProyectos.GetSubProyectosUsuarios Then - Application("GlobalDTProyectosUsuarios") = ObjSubProyectos.DtResultados.FiltraParametros("", "", {"Proyecto", "CveProyecto", "CveUsuario", "CveEmpresa", "CveEstatusProyecto"}) - Application("GlobalDTSubProyectosUsuarios") = ObjSubProyectos.DtResultados - Else - Application("GlobalDTProyectosUsuarios") = Nothing - Application("GlobalDTSubProyectosUsuarios") = Nothing - End If - ObjSubProyectos.Dispose() + 'If ObjSubProyectos.GetSubProyectosUsuarios Then + ' Application("GlobalDTProyectosUsuarios") = ObjSubProyectos.DtResultados.FiltraParametros("", "", {"Proyecto", "CveProyecto", "CveUsuario", "CveEmpresa", "CveEstatusProyecto"}) + ' Application("GlobalDTSubProyectosUsuarios") = ObjSubProyectos.DtResultados + 'Else + ' Application("GlobalDTProyectosUsuarios") = Nothing + ' Application("GlobalDTSubProyectosUsuarios") = Nothing + 'End If + 'ObjSubProyectos.Dispose() 'Fin Carga Proyectos End Sub @@ -591,7 +592,7 @@ Partial Class Sistemas_CatSesiones Case "" dt = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) Case Else - dt = DirectCast(HttpContext.Current.Application(DdlVariable.SelectedValue & "-" & UsuarioActual.CveEmpresa), DataTable) + dt = DirectCast(Application(DdlVariable.SelectedValue & "-" & UsuarioActual.CveEmpresa), DataTable) End Select Gv.DataSource = dt From d1bdf720c32b4b3c99b5ecfc68d5ef26cc3e6577 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 06:35:47 -0700 Subject: [PATCH 09/19] =?UTF-8?q?-=20SMS=20-cancelar=20una=20remisi=C3=B3n?= =?UTF-8?q?=20y=20liberar=20en=20OS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsOS.vb | 25 +++++++++++- App_Code/Modelos.vb | 92 ++++++++++++++++++++++++++------------------- 2 files changed, 77 insertions(+), 40 deletions(-) diff --git a/App_Code/ClsOS.vb b/App_Code/ClsOS.vb index 3b0a253bc..717f0c40e 100644 --- a/App_Code/ClsOS.vb +++ b/App_Code/ClsOS.vb @@ -1337,7 +1337,7 @@ Public Class ClsOS Return Retorno End Function - Public Function UpdateVentaOS(CveVenta As Integer, CveOS As Integer, Optional Paciente As String = "-1", Optional Episodio As String = "-1", Optional FolioAdicional As String = "") As Boolean + Public Function UpdateVentaOS(CveVenta As Integer, CveOS As Integer, CveEmpresa As Integer, Optional Paciente As String = "-1", Optional Episodio As String = "-1", Optional FolioAdicional As String = "") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_UpdateVentaOS") @@ -1345,6 +1345,7 @@ Public Class ClsOS With SqlAdapter.SelectCommand.Parameters .Add("@CveVenta", SqlDbType.Int).Value = CveVenta .Add("@CveOS", SqlDbType.Int).Value = CveOS + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@Paciente", SqlDbType.VarChar).Value = Paciente .Add("@Episodio", SqlDbType.VarChar).Value = Episodio .Add("@FolioAdicional", SqlDbType.VarChar).Value = FolioAdicional @@ -1361,6 +1362,28 @@ Public Class ClsOS Return Retorno End Function + Public Function LiberarVentaOS(CveVenta As Integer, CveEmpresa As Integer, Optional CveOS As Integer = -1) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_OS_LiberarVentaOS") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@CveOS", SqlDbType.Int).Value = CveOS + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + + Catch ex As Exception + OnError("Ocurrió un error al guardar la venta en la Orden de Servicio.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + Public Function GetOrdenesServicioDevolucionMaterial(CveOS As Integer, CveVenta As Integer, Opcion As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OS_OrdenesServicioDevolucionMaterialGet") diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 579856c52..30b432f89 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -2353,7 +2353,7 @@ Namespace Modelos 'Si viene de OS, Se guarda CveVenta en OS If CveOS > 0 Then - If Not ObjOS.UpdateVentaOS(factura.CveVenta, CveOS) Then + If Not ObjOS.UpdateVentaOS(factura.CveVenta, CveOS, UsuarioActual.CveEmpresa) Then ErrorList.Add("Ocurrió un error al guardar la venta en Ordenes de Servicio") End If End If @@ -5995,6 +5995,7 @@ Namespace Modelos Dim ObjEventos As New ClsOIEventos(ObjVentas.IniciaTransacSQL()) Dim ObjAcum As New ClsAcumuladores(ObjVentas.IniciaTransacSQL()) Dim ObjClientes As New ClsClientes(ObjVentas.IniciaTransacSQL()) + Dim ObjOS As New ClsOS(ObjVentas.IniciaTransacSQL()) Try If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then @@ -6225,50 +6226,50 @@ Namespace Modelos Dim TotalCostoAcumulado As Decimal = 0 Dim cont As Integer = 1 - Dim CvePrePolizaDev As Integer = ObjConta.AddPrePolizas("Modelos/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - 'SE AGREGA MOVIMIENTO SEPARADO POR LA CUENTA DE VENTAS (ER) - For Each RowInv As DataRow In tmpCostos.Rows - ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundAD() - TotalCostoAcumulado += ValorInventario + Dim CvePrePolizaDev As Integer = ObjConta.AddPrePolizas("Modelos/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + 'SE AGREGA MOVIMIENTO SEPARADO POR LA CUENTA DE VENTAS (ER) + For Each RowInv As DataRow In tmpCostos.Rows + ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundAD() + TotalCostoAcumulado += ValorInventario - 'CUANDO ES EL ÚLTIMO MOVIMIENTO Y HAY DIFERENCIAS EN LOS IMPORTES - If cont = DtCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then - ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado) + 'CUANDO ES EL ÚLTIMO MOVIMIENTO Y HAY DIFERENCIAS EN LOS IMPORTES + If cont = DtCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then + ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado) + End If + + If Not ErrorCancelar Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, False, Multiplicador * ValorInventario, Multiplicador * ValorInventario, 69, SerieFolio, SerieFolio, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then + ErrorCancelar = True End If + End If + cont += 1 + Next - If Not ErrorCancelar Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, False, Multiplicador * ValorInventario, Multiplicador * ValorInventario, 69, SerieFolio, SerieFolio, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then - ErrorCancelar = True - End If - End If - cont += 1 - Next + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, True, Multiplicador * TotalCosto, Multiplicador * TotalCosto, 68, SerieFolio, SerieFolio, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto) Then + ErrorCancelar = True + End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, True, Multiplicador * TotalCosto, Multiplicador * TotalCosto, 68, SerieFolio, SerieFolio, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto) Then + 'AUTOCONTA - EL MOVIMIENTO 1 ES EL DE VENTA + + Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" + + If UsuarioActual.CveEmpresa = 119 AndAlso ObjFactura.TipoDocto.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then + AutoConta = False + End If + + If Not ErrorCancelar AndAlso ObjConta.ValidacionesPrePoliza(CvePrePolizaDev, UsuarioActual) Then + If ObjConta.ValorPolizaDescuadre > 0 Then + GuardaLogAD($"Modelos/RecepcionEntrega | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") ErrorCancelar = True End If + End If - 'AUTOCONTA - EL MOVIMIENTO 1 ES EL DE VENTA - - Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1" - - If UsuarioActual.CveEmpresa = 119 AndAlso ObjFactura.TipoDocto.Contiene("Ant", "Rem", "RNC", "Cot", "Ped", "Pd2", "PA", "Egs", "Dev") Then - AutoConta = False - End If - - If Not ErrorCancelar AndAlso ObjConta.ValidacionesPrePoliza(CvePrePolizaDev, UsuarioActual) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - GuardaLogAD($"Modelos/RecepcionEntrega | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - ErrorCancelar = True - End If - End If - - If AutoConta And Not ErrorCancelar Then - If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaDev, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then - ErrorCancelar = True - MensajeError = "Ocurrió un error al contabilizar la prepoliza." - End If + If AutoConta And Not ErrorCancelar Then + If Not ObjConta.ContabilizarPrePoliza(CvePrePolizaDev, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then + ErrorCancelar = True + MensajeError = "Ocurrió un error al contabilizar la prepoliza." End If + End If ' Else 'ErrorCancelar = True 'MensajeError = "Ocurrió un Error al ingresar las prepolizas" @@ -6556,6 +6557,8 @@ Namespace Modelos End If End If + + 'CANCELA CONTRATOS If Not ErrorCancelar Then If ObjFactura.CveContrato > 0 AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant") Then @@ -6613,6 +6616,16 @@ Namespace Modelos End If End If + 'EMPRESA HOSPITALARIA - SI SE CANCELA UNA REMISIÓN DEBE DE DESVINCULARSE DE LA OS y retornarle el estatus en proceso + If Not ErrorCancelar AndAlso UsuarioActual.Empresa.Funcionalidad(578) = "1" AndAlso ObjFactura.TipoDocto = "Rem" Then + + If Not ObjOS.LiberarVentaOS(ObjFactura.CveVenta, UsuarioActual.CveEmpresa) Then + ErrorCancelar = True + MensajeError = "No se pudo actualizar el estatus de almacen del pedido" + End If + + End If + 'POLIZA DE CANCELACION 'If Not ErrorCancelar Then ' If UsuarioActual.Empresa.UsaAC Then @@ -7080,13 +7093,14 @@ Namespace Modelos Dim CveMovimientoEntradaDevRem As Integer = 0 Dim FolioMovimientoEntradaDevRem As Integer = 0 Dim Fecha As DateTime = ClsPaginas.NowADS() + Dim tCveOS As Integer = DtMovDetalle.MAX("CveOS").ToEntero 'SALIDA DE (ENTREGA POR ADELANTADO) - CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(CveAlmacen, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Mod/CancExAR1") + CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(CveAlmacen, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Mod/CancExAR1", CveOS:=tCveOS) FolioMovimientoSalidaDevRem = ObjInventario.Folio 'ENTRADA A (ALMACEN GENERAL) - CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Mod/CancExAR2") + CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveRemision, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="Mod/CancExAR2", CveOS:=tCveOS) FolioMovimientoEntradaDevRem = ObjInventario.Folio If Not (CveMovimientoSalidaDevRem > 0 And CveMovimientoEntradaDevRem > 0) Then From 5b4b5dd92a4861eab004e2bdca5fcde93e1c9a79 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 06:41:18 -0700 Subject: [PATCH 10/19] -- parametro adicional de empresa, en actualiza estatus OS --- OS/OrdenesServicios.aspx.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index ccb64cfc1..2410af31a 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -3287,7 +3287,7 @@ Partial Class OS_OrdenesServicios ProcesoOK = False End If If ProcesoOK Then - If Not ObjOS.UpdateVentaOS(Respuesta.CveVenta, CveOS, TxtPacienteModal.Text.Trim, TxtEpisodioModal.Text.Trim, FolioAdicional:=TxtFolioRemisionModal.Text.Trim) Then + If Not ObjOS.UpdateVentaOS(Respuesta.CveVenta, CveOS, UsuarioActual.CveEmpresa, TxtPacienteModal.Text.Trim, TxtEpisodioModal.Text.Trim, FolioAdicional:=TxtFolioRemisionModal.Text.Trim) Then ProcesoOK = False End If End If @@ -3301,7 +3301,7 @@ Partial Class OS_OrdenesServicios If ProcesoOK Then - If Not ObjOS.UpdateVentaOS(-1, CveOS, TxtPacienteModal.Text.Trim, TxtEpisodioModal.Text.Trim) Then + If Not ObjOS.UpdateVentaOS(-1, CveOS, UsuarioActual.CveEmpresa, TxtPacienteModal.Text.Trim, TxtEpisodioModal.Text.Trim) Then ProcesoOK = False End If End If From fe951fa738bf4d9618d867a335f0bec2b9132a1b Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 06:43:23 -0700 Subject: [PATCH 11/19] =?UTF-8?q?--=20reducci=C3=B3n=20de=20tama=C3=B1o=20?= =?UTF-8?q?de=20txt=20descuento?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OC/OC.aspx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OC/OC.aspx b/OC/OC.aspx index 9f94cd93f..a32cd644a 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -481,15 +481,15 @@ Descuento: - + - Descuento Pronto Pago: + %Desc. Pronto Pago: - + From 59b18484d1d1f95eac76b7fe3a2b2cf351a8877b Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 06:46:14 -0700 Subject: [PATCH 12/19] =?UTF-8?q?--=20reducir=20espacio=20vac=C3=ADo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/RepRemisiones.aspx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Ventas/RepRemisiones.aspx b/Ventas/RepRemisiones.aspx index 924545b5f..df62c4fe9 100644 --- a/Ventas/RepRemisiones.aspx +++ b/Ventas/RepRemisiones.aspx @@ -207,12 +207,11 @@
- -
+
- " style="display: inline-block; width: 150px;" /> - " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> + " style="display: inline-block; margin-right: -20px; width: 150px;" /> +" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
From e9b6149f474567c896bf80e102892f71e0850293 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 20 Aug 2024 12:07:33 -0700 Subject: [PATCH 13/19] =?UTF-8?q?--=20activaci=C3=B3n=20para=20la=20empres?= =?UTF-8?q?a=20"factis"=20condiciones=20de=20pago=20"no=20aplica"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/Ventas.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 1916c9590..486ca74ee 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -13212,7 +13212,7 @@ Partial Class Ventas Timbre.Comprobante.Serie = Obj.Serie Timbre.Comprobante.Fecha = Obj.FechaCP Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33 - Timbre.Comprobante.CondicionesdePago = If(UsuarioActual.CveEmpresa.Contiene(15, 76), "No Aplica", Obj.FormaPago33) + Timbre.Comprobante.CondicionesdePago = If(UsuarioActual.CveEmpresa.Contiene(15, 76, 189), "No Aplica", Obj.FormaPago33) Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT Timbre.Comprobante.SubTotal = Obj.SubTotal Timbre.Comprobante.Descuentos = Obj.Descuento From 0ebb63f0ad73205961fab4a9da3ca8e9e9bc3836 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Wed, 21 Aug 2024 00:24:48 -0700 Subject: [PATCH 14/19] SMS OS Remisiones en 0 --- App_Code/ClsInventarios.vb | 3 +- Inventarios/RepNotasSinAlmacen.aspx | 17 ++++-- Inventarios/RepNotasSinAlmacen.aspx.vb | 1 + OS/OrdenesServicios.aspx.vb | 74 ++++++++++++++++++++++++++ 4 files changed, 89 insertions(+), 6 deletions(-) diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index fd14b2e9a..0813ad5c8 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -6247,13 +6247,14 @@ Public Class ClsInventarios Return Retorno End Function - Public Function UpdatePedidoDetalleCantidad(CveVentaDetalle As Integer, Cantidad As Decimal) As Boolean + Public Function UpdatePedidoDetalleCantidad(CveVentaDetalle As Integer, Cantidad As Decimal, Optional Opcion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasDetalleCantidadUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle .Add("@Cantidad", SqlDbType.Money).Value = Cantidad + .Add("@Opcion", SqlDbType.Int).Value = Opcion End With Try diff --git a/Inventarios/RepNotasSinAlmacen.aspx b/Inventarios/RepNotasSinAlmacen.aspx index e6270a0dd..bbe1ffb73 100644 --- a/Inventarios/RepNotasSinAlmacen.aspx +++ b/Inventarios/RepNotasSinAlmacen.aspx @@ -170,23 +170,30 @@ DataKeyNames="EsDevolucionVenta" data-sort="true" EmptyDataText="No se encontraron resultados." AutoGenerateColumns="False" > + <%--0--%> - - - <%-- --%> - + <%--1--%> + - + <%--2--%> + <%--3--%> + <%--4--%> + <%--5--%> + <%--6--%> + <%--7--%> + <%--8--%> + + <%--9--%> diff --git a/Inventarios/RepNotasSinAlmacen.aspx.vb b/Inventarios/RepNotasSinAlmacen.aspx.vb index bf204bdb0..e7d5a7c78 100644 --- a/Inventarios/RepNotasSinAlmacen.aspx.vb +++ b/Inventarios/RepNotasSinAlmacen.aspx.vb @@ -88,6 +88,7 @@ Partial Class RepNotasSinAlmacen GvVentas.Columns(6).Visible = True GvVentas.Columns(7).Visible = True GvVentas.Columns(8).Visible = True + GvVentas.Columns(9).Visible = True TxtFechaF.Text = NowADS.AddDays(3).ToShortDateString GvVentas.Columns(4).Visible = False diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index c19e0616e..b5ae93825 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -7,6 +7,11 @@ Imports System.Data Imports System.Data.SqlClient Imports System.Diagnostics Imports System.ServiceModel.Security +Imports RVCFDI.RVLTimbrado +Imports Microsoft.Owin.Security.Provider +Imports Telerik.Web.UI + + Partial Class OS_OrdenesServicios Inherits ClsPaginas @@ -3139,6 +3144,37 @@ Partial Class OS_OrdenesServicios ProcesoOK = False End If + + Dim DT_Ventas_Detalles As DataTable = DTSolicitudDev.FiltraParametros("", "", {"CantidadPedido", "CvePS", "CveVentaDetalle"}) + DT_Ventas_Detalles.Columns.Add("CantidadUsada", GetType(Decimal)) + DT_Ventas_Detalles.AcceptChanges() + + For Each dRow As DataRow In DT_Ventas_Detalles.Rows + + For Each gvRow As GridViewRow In GvMU.Rows + + Dim CantidadUsada As Decimal = gvRow.FCTextBox("TxtUtilizado").Text.ToDecimal + + If dRow("CvePS").ToString.ToDecimal = gvRow.DataKey("CvePS").ToDecimal AndAlso CantidadUsada > 0 Then + + dRow("CantidadUsada") = dRow("CantidadUsada").ToString.ToDecimal + CantidadUsada + + End If + Next + + Next + + For Each dRow As DataRow In DT_Ventas_Detalles.Rows + Dim CantidadUsada As Decimal = dRow("CantidadUsada").ToString.ToDecimal + If dRow("CantidadUsada").ToString.ToDecimal < dRow("CantidadPedido").ToString.ToDecimal Then + If Not ObjInventario.UpdatePedidoDetalleCantidad(dRow("CveVentaDetalle").ToString.ToEntero, CantidadUsada, 2) Then + ProcesoOK = False + Exit For + End If + End If + Next + + Else If ProcesoOK Then Dim AplicaDevolucion As Boolean = False @@ -3424,6 +3460,44 @@ Partial Class OS_OrdenesServicios Dim CveMoneda As Integer = -1 Dim tCveVendedor As Integer = -1 + + Dim CountDetalles As Integer = 0 + Dim PuEnCero As Boolean = False + + For Each GvRow As GridViewRow In GvMU.Rows + + Dim CantidadRegistro As Decimal = GvRow.FCTextBox("TxtUtilizado").Text.ToDecimal + Dim PU As Decimal = GvRow.DataKey("PU").ToDecimal + Dim CodigoPS As String = GvRow.DataKey("CodigoPS") + + If CantidadRegistro > 0 Then + If PU > 0 Then + CountDetalles = CountDetalles + 1 + Else + Alert($"Prodcuto {CodigoPS} con precio unitario en cero.", TipoMensaje.MsgAdvertencia) + PuEnCero = True + End If + End If + + Next + + If PuEnCero Then + Respuesta.CveVenta = -1 + Respuesta.SerieFolio = "" + Respuesta.dtdetalle = New DataTable + Return Respuesta + End If + + If CountDetalles = 0 Then + Respuesta.CveVenta = -1 + Respuesta.SerieFolio = "" + Respuesta.dtdetalle = New DataTable + Alert("Remision sin detalles.", TipoMensaje.MsgAdvertencia) + Return Respuesta + End If + + + If ObjVentas.GetVenta(CvePedido, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Copy().Rows(0) CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero From a09e28cd9b78065fbaaf5286698e5d922a88bc81 Mon Sep 17 00:00:00 2001 From: RPimienta Date: Wed, 21 Aug 2024 03:14:14 -0600 Subject: [PATCH 15/19] Catalogo ps, subproyectos y vendedores --- App_Code/ClsPaginas.vb | 2 +- App_Code/ClsVentas.vb | 54 +++++++++++ Ventas/CatPSSubProyectosVendedores.aspx | 94 ++++++++++++++++++ Ventas/CatPSSubProyectosVendedores.aspx.vb | 107 +++++++++++++++++++++ 4 files changed, 256 insertions(+), 1 deletion(-) create mode 100644 Ventas/CatPSSubProyectosVendedores.aspx create mode 100644 Ventas/CatPSSubProyectosVendedores.aspx.vb diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 15bd17430..2a64841fe 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -10819,7 +10819,7 @@ Public Class ClsPaginas PaginaDict.Add("/Ventas/RepComisionesSMS.aspx".ToUpper(), 1347) PaginaDict.Add("/Ventas/RepVencimientosCredito.aspx".ToUpper(), 146) PaginaDict.Add("/Ventas/CatMotivosDevoluciones.aspx".ToUpper(), 786) - + PaginaDict.Add("/Ventas/CatPSSubProyectosVendedores.aspx".ToUpper(), 787) #End Region #Region "Varios" diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 0673bb5c0..99efd2b31 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -7426,6 +7426,60 @@ Public Class ClsVentas Return Retorno End Function +#Region "PRODUCTOS/SERVICIOS, SUBPROYECTOS Y VENDEDORES" + + Public Function GetPSSubProyectosVendedores(CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ProductosSubProyectosVendedoresGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los ps, subproyectos y vendedores.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddPSSubProyectosVendedores(CvePS As Integer, CveSubProyecto As Integer, CveVendedor As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ProductosSubProyectosVendedoresAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al guardar el ps, subproyecto y vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function RemovePSSubProyectosVendedores(CvePS As Integer, CveSubProyecto As Integer, CveVendedor As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ProductosSubProyectosVendedoresRemove") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar el ps, subproyecto y vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + +#End Region + #Region "IDisposable Support" diff --git a/Ventas/CatPSSubProyectosVendedores.aspx b/Ventas/CatPSSubProyectosVendedores.aspx new file mode 100644 index 000000000..79eb37461 --- /dev/null +++ b/Ventas/CatPSSubProyectosVendedores.aspx @@ -0,0 +1,94 @@ +<%@ Page Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="True" CodeFile="CatPSSubProyectosVendedores.aspx.vb" Inherits="Ventas_CatPSSubProyectosVendedores" %> + + + + + + + Catalogo de Productos/Servicios, SubProyectos y Vendedores + + + + + + + + +
  • + Agregar
  • +
    +
    +
    + + + +
    + " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + + diff --git a/Ventas/CatPSSubProyectosVendedores.aspx.vb b/Ventas/CatPSSubProyectosVendedores.aspx.vb new file mode 100644 index 000000000..ba9d7ffb6 --- /dev/null +++ b/Ventas/CatPSSubProyectosVendedores.aspx.vb @@ -0,0 +1,107 @@ +Option Explicit On +Option Strict On + +Imports System.Data +Imports Extensiones + +Partial Class Ventas_CatPSSubProyectosVendedores + + Inherits ClsPaginas + + Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) + If Not IsPostBack Then + CargaDatos() + CargaCombos() + End If + End Sub + + Protected Sub CargaDatos() + Dim ObjVentas As ClsVentas = New ClsVentas() + + If ObjVentas.GetPSSubProyectosVendedores(UsuarioActual.CveEmpresa) Then + GvPSSubProyectosVendedores.DataSource = ObjVentas.DtResultados + GvPSSubProyectosVendedores.DataBind() + End If + + ObjVentas.Dispose() + UpDatos.Update() + End Sub + + Protected Sub CargaCombos() + + DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then + DdlPS.SelectedText = "" + DdlPS.SelectedValue = "-1" + Else + DdlPS.ddl.Items.Clear() + DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) + DdlPS.ddl.DataBind() + DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) + End If + + DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) + DdlVendedor.DataBind() + DdlVendedor.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlSubProyecto.DataSource = GlobalDTSubProyectos(UsuarioActual.CveEmpresa) + DdlSubProyecto.DataBind() + DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1")) + UpModalAdd.Update() + End Sub + + + Protected Sub LimpiaRegistro() + DdlPS.SelectedValue = "-1" + DdlPS.SelectedText = "" + DdlVendedor.SelectedIndex = 0 + DdlSubProyecto.SelectedIndex = 0 + UpModalAdd.Update() + End Sub + + Protected Sub LnkAgregar_Click(ByVal sender As Object, ByVal e As EventArgs) + RegistraScript("$('#DModalAdd').modal();") + LimpiaRegistro() + UpModalAdd.Update() + End Sub + + Protected Sub BtnAdd_Click(ByVal sender As Object, ByVal e As EventArgs) + If DdlPS.SelectedValue = "" Then + Alert("Tiene que seleccionar un producto/servicio.") + Return + End If + + If DdlVendedor.SelectedValue = "-1" Then + Alert("Tiene que seleccionar un vendedor.") + Return + End If + + If DdlSubProyecto.SelectedValue = "-1" Then + Alert("Tiene que seleccionar un subproyecto.") + Return + End If + + Dim ObjVentas As ClsVentas = New ClsVentas() + Dim Continuar As Boolean = ObjVentas.AddPSSubProyectosVendedores(DdlPS.SelectedValue.ToEntero(), DdlSubProyecto.SelectedValue.ToEntero(), DdlVendedor.SelectedValue.ToEntero()) + ObjVentas.Dispose() + + If Continuar Then + RegistraScript("$('#DModalAdd').modal('hide');") + LimpiaRegistro() + Alert("El registro se ha agregado") + CargaDatos() + End If + End Sub + + Protected Sub LnkEliminar_Click(ByVal sender As Object, ByVal e As EventArgs) + Dim gvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) + Dim ObjVentas As ClsVentas = New ClsVentas() + Dim Continuar As Boolean = ObjVentas.RemovePSSubProyectosVendedores(gvRow.DataKey("CvePS").ToEntero(), gvRow.DataKey("CveSubProyecto").ToEntero(), gvRow.DataKey("CveVendedor").ToEntero()) + ObjVentas.Dispose() + + If Continuar Then + CargaDatos() + Alert("El registro se ha eliminado") + End If + End Sub + +End Class From e061d2c047a6e7f05d8b809ed848d46744bfbb5b Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 21 Aug 2024 07:10:26 -0700 Subject: [PATCH 16/19] =?UTF-8?q?-=20retroalimentaci=C3=B3n=20de=20vencimi?= =?UTF-8?q?entos=20de=20cr=C3=A9ditos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsClientes.vb | 5 ++- Ventas/CatClientes.aspx | 25 +++++++++++---- Ventas/CatClientes.aspx.vb | 64 +++++++++++--------------------------- Ventas/Clientes.aspx.vb | 13 +++----- 4 files changed, 45 insertions(+), 62 deletions(-) diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb index 896018f1c..37a7dfa78 100644 --- a/App_Code/ClsClientes.vb +++ b/App_Code/ClsClientes.vb @@ -4,6 +4,7 @@ Option Strict On Imports System.Data Imports System.Data.SqlClient Imports Extensiones +Imports StackExchange.Redis Public Class ClsClientes @@ -259,7 +260,7 @@ Public Class ClsClientes Public Function GetClientes(CveCliente As Integer, Nombre As String, Codigo As String, NombreCorto As String, RFC As String, Telefono As String, Mail As String, CveSubProyecto As Integer, CveEmpresa As Integer, Optional Estatus As Integer = 1, Optional Notificar As String = "-1", Optional CvePrecioLista As Integer = -1, Optional CveClienteClasificacion As Integer = -1, Optional TipoCliente As Integer = -1, Optional CveVendedor As Integer = -1, Optional PermiteCreditoFiltro As Integer = -1, Optional TopSelect As Integer = 10000, Optional CveUsuarioConsulta As Integer = -1, - Optional Cuenta As String = "-1") As Boolean + Optional Cuenta As String = "-1", Optional EnQuebranto As Integer = -1, Optional EnDemanda As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_ClientesGet") @@ -283,6 +284,8 @@ Public Class ClsClientes .Add("@PermiteCredito", SqlDbType.Int).Value = PermiteCreditoFiltro .Add("@TopSelect", SqlDbType.Int).Value = TopSelect .Add("@Cuenta", SqlDbType.VarChar).Value = Cuenta + .Add("@EnQuebranto", SqlDbType.Int).Value = EnQuebranto + .Add("@EnDemanda", SqlDbType.Int).Value = EnDemanda End With Try diff --git a/Ventas/CatClientes.aspx b/Ventas/CatClientes.aspx index da087eb92..6e9660fbb 100644 --- a/Ventas/CatClientes.aspx +++ b/Ventas/CatClientes.aspx @@ -108,17 +108,30 @@
    -
    - - +
    - +
    +
    En Demanda:
    +
    + + Todos + Solo En Demanda + No en Demanda + +
    +
    En Quebranto:
    +
    + + Todos + Solo En Quebranto + No En Quebranto + +
    +
    - - diff --git a/Ventas/CatClientes.aspx.vb b/Ventas/CatClientes.aspx.vb index 06d87da1a..38c00e4bb 100644 --- a/Ventas/CatClientes.aspx.vb +++ b/Ventas/CatClientes.aspx.vb @@ -25,24 +25,10 @@ Partial Class CatClientes If Not Page.IsPostBack Then ViewState("Orden") = "" - CargaNombreClientes() - - + Inicializa() CargaSucursales() CargaClasificaciones() CargaVendedor() - - 'CargaCorporativo() - - 'CargaDatos() - - PanelContrato.Visible = True - MPContrato.Enabled = True - - - Me.Form.DefaultButton = LbFiltrar.UniqueID - - CargaPersonalizacion() End If @@ -54,14 +40,14 @@ Partial Class CatClientes Dim Nombre, RFC As String Nombre = "-1" RFC = "-1" - If TxtNombre.Text.Trim <> String.Empty Then Nombre = TxtNombre.Text.Trim - If TxtRFC.Text.Trim <> String.Empty Then RFC = TxtRFC.Text.Trim 'If ObjClientes.GetClientes(-1, Nombre, "-1", "-1", RFC, "-1", "-1", DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Estatus:=DdlEstatus.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClasificaciones.SelectedValue.ToEntero, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PermiteCreditoFiltro:=If(ChkPermiteCredito.Checked, 1, -1)) Then - If ObjClientes.GetClientes(-1, Nombre, "-1", "-1", RFC, "-1", "-1", DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Estatus:=DdlEstatus.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClasificaciones.SelectedValue.ToEntero, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PermiteCreditoFiltro:=DdlPermiteCredito.SelectedValue.ToEntero) Then - + If ObjClientes.GetClientes(-1, Nombre, "-1", "-1", RFC, "-1", "-1", DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, Estatus:=DdlEstatus.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClasificaciones.SelectedValue.ToEntero, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, + PermiteCreditoFiltro:=DdlPermiteCredito.SelectedValue.ToEntero, + EnDemanda:=DDlEnDemanda.SelectedValue.ToEntero, + EnQuebranto:=DdlEnQuebranto.SelectedValue.ToEntero) Then If ObjClientes.DtResultados.Rows.Count > 0 Then DTDatos = ObjClientes.DtResultados @@ -70,8 +56,6 @@ Partial Class CatClientes Alert("No se encontraron registros con los parametros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia) End If End If - - ObjClientes.Dispose() If ViewState("Orden").ToString() <> String.Empty Then @@ -79,10 +63,8 @@ Partial Class CatClientes Else CargaGrid("") End If - UPDatos.Update() - End Sub Private Sub CargaSucursales() @@ -96,27 +78,26 @@ Partial Class CatClientes DdlClasificaciones.DataBind() DdlClasificaciones.Items.Insert(0, New ListItem("Todas", "-1")) End Sub - Private Sub CargaNombreClientes() + Private Sub Inicializa() + PanelContrato.Visible = True + MPContrato.Enabled = True + Me.Form.DefaultButton = LbFiltrar.UniqueID DdlClienteAUnificar.setEsWebService(True) DdlClienteAUnificar.SelectedValue = "-1" DdlClienteAUnificar.SelectedText = "Todos" - DdlClienteOriginal.setEsWebService(True) DdlClienteOriginal.SelectedValue = "-1" DdlClienteOriginal.SelectedText = "Todos" - 'DdlClienteAUnificar.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) - 'DdlClienteAUnificar.DataBind() - - 'DdlClienteOriginal.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) - 'DdlClienteOriginal.DataBind() + If UsuarioActual.CveEmpresa = 119 Then + divfiltro2.Visible = True + End If UpBodyUnificar.Update() End Sub - Private Sub CargaVendedor() DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) DdlVendedor.DataBind() @@ -127,13 +108,8 @@ Partial Class CatClientes CargaDatos() - End Sub - - - - Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click GvDatos.ExportToExcel("RepClientes_" & NowADS().ToShortDateString) End Sub @@ -261,7 +237,7 @@ Partial Class CatClientes End If ObjCliente.Dispose() - CargaNombreClientes() + Inicializa() CargaDatos() End Sub #End Region @@ -276,8 +252,7 @@ Partial Class CatClientes GuardaPersonalizacion() End If - Personaliza() - + Personaliza(True) End Sub @@ -411,7 +386,6 @@ Partial Class CatClientes End If - If objUsuario.AddUsuariosPersonalizaciones(UsuarioActual, "CatClientes.aspx", String.Join("|", ListPersonalizada)) Then 'Alert("Personalizacion guardada") End If @@ -420,13 +394,12 @@ Partial Class CatClientes End Sub - Private Sub CargaPersonalizacion() + Private Sub CargaPersonalizacion(Optional RecargaDatos As Boolean = False) Dim strBasePersonalizacion As String = UsuarioActual.Personalizaciones("CatClientes.aspx") If strBasePersonalizacion.Trim.Length > 0 Then - ChkCodigo.Checked = False ChkNombre.Checked = False ChkRFC.Checked = False @@ -564,7 +537,7 @@ Partial Class CatClientes Next - Personaliza() + Personaliza(RecargaDatos) Else PersonalizaDefault() @@ -577,7 +550,7 @@ Partial Class CatClientes Private Sub PersonalizaDefault() End Sub - Private Sub Personaliza() + Private Sub Personaliza(Optional RecargaDatos As Boolean = False) GvDatos.Columns(0).Visible = ChkCodigo.Checked @@ -614,8 +587,7 @@ Partial Class CatClientes GvDatos.Columns(28).Visible = ChkPermiteCredito.Checked GvDatos.Columns(29).Visible = chkFechaLimiteCredito.Checked - - CargaDatos() + If RecargaDatos Then CargaDatos() UPDatos.Update() End Sub diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 661750fb4..8bb43f4a8 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -1694,19 +1694,14 @@ Partial Class Clientes TxtObsDiasRevision.Text = ObjClientes.ObservacionRevision TxtReferenciaFiscal.Text = ObjClientes.ReferenciaFiscal TxtCelular.Text = ObjClientes.Celular - TxtExtOtro.Text = ObjClientes.ExtOtros - - - 'If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122, 145) Then - ' ActivarRegistroAutomatico() - 'End If - + TxtExtOtro.Text = ObjClientes.ExtOtros + ChkEnQuebranto.Checked = ObjClientes.EnQuebranto ChkEnDemanda.Checked = ObjClientes.EnDemanda TxtNombreFirmas.Text = ObjClientes.CreditoRegistroFirmas - If ObjClientes.EnQuebranto Then LblAlertaQuebranto.Text = "En Quebranto" - If ObjClientes.EnDemanda Then LblAlertaQuebranto.Text &= "En Demanda" + If ObjClientes.EnQuebranto Then LblAlertaQuebranto.Text = " En Quebranto " + If ObjClientes.EnDemanda Then LblAlertaQuebranto.Text &= " En Demanda " '7eleven TxtProveedor.Text = ObjClientes.SevenEleven_NumProveedor From 8cc42ef64168fd36eb70600050e69a63a410457d Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 21 Aug 2024 07:10:58 -0700 Subject: [PATCH 17/19] =?UTF-8?q?--=20correcci=C3=B3n=20de=20texto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OS/OrdenesServicios.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index c19e0616e..0268359a0 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -2580,7 +2580,7 @@ Partial Class OS_OrdenesServicios 'VALIDA LA EXISTENCIA DEL ALMACEN DE ORIGEN Dim Existencia As Double - TextoExistencia.Append("Los siguiente productos se ajustaron por falta de exitencia:
    ") + TextoExistencia.Append("Los siguiente productos se ajustaron por falta de existencia:
    ") For Each dr As DataRow In TmpDTMaterialesDetalle.Rows Existencia = ObjInventario.GetExistenciasPS(dr("CvePS").ToString.ToEntero, dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59")) From 2298dc3a0b10852d4f261fdaa7d1defc5eb01875 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 21 Aug 2024 07:11:12 -0700 Subject: [PATCH 18/19] - mejora en vencimientos --- Ventas/RepVencimientosCredito.aspx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/RepVencimientosCredito.aspx b/Ventas/RepVencimientosCredito.aspx index 3322ead8b..df37b5edd 100644 --- a/Ventas/RepVencimientosCredito.aspx +++ b/Ventas/RepVencimientosCredito.aspx @@ -140,7 +140,7 @@ - +   From 5d5359c631df8cb56f8a3b809eff2d1856e9a4ce Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 21 Aug 2024 07:12:21 -0700 Subject: [PATCH 19/19] =?UTF-8?q?--=20incluir=20empresa=20para=20que=20se?= =?UTF-8?q?=20env=C3=ADe=20noaplica=20en=20condiciones=20de=20pago?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/Ventas.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 486ca74ee..4f5baadc9 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -13212,7 +13212,7 @@ Partial Class Ventas Timbre.Comprobante.Serie = Obj.Serie Timbre.Comprobante.Fecha = Obj.FechaCP Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33 - Timbre.Comprobante.CondicionesdePago = If(UsuarioActual.CveEmpresa.Contiene(15, 76, 189), "No Aplica", Obj.FormaPago33) + Timbre.Comprobante.CondicionesdePago = If(UsuarioActual.CveEmpresa.Contiene(15, 76, 198), "No Aplica", Obj.FormaPago33) Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT Timbre.Comprobante.SubTotal = Obj.SubTotal Timbre.Comprobante.Descuentos = Obj.Descuento