From 0a57ae4ae0a751c33e77dcb66f45c053f2396758 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Fri, 25 Apr 2025 18:50:06 -0700 Subject: [PATCH] --FIX cortes --- Bancos/PopIEVentas.aspx.vb | 66 ++++++++++++++++++++++++--------- Bancos/RepCortes.aspx | 4 +- Bancos/RepCortes.aspx.vb | 6 ++- Compras/PopUpVerFactura.aspx.vb | 2 +- Ventas/ClientesAbonar.aspx.vb | 65 +++++++++++++++++++++++++++++++- 5 files changed, 120 insertions(+), 23 deletions(-) diff --git a/Bancos/PopIEVentas.aspx.vb b/Bancos/PopIEVentas.aspx.vb index 7f47b4731..4fd113f60 100644 --- a/Bancos/PopIEVentas.aspx.vb +++ b/Bancos/PopIEVentas.aspx.vb @@ -545,16 +545,7 @@ Partial Class Bancos_PopIEVentas FechaVenta = dr("Fecha").ToString.ToDate SaldoVenta = dr("Saldo").ToString.ToDouble - - 'Cortes de Caja - If UsuarioActual.TienePermisoProceso(160) Then - CargaCorteCaja() - End If - - If UsuarioActual.Empresa.Funcionalidad(531) = "1" OrElse (dr("CveCorte").ToString.ToEntero > 0) Then 'toma como proridad el que viene de - CveCorte = dr("CveCorte").ToString.ToEntero - End If - + Me.CveCorte = CargaCorteCaja(pCveVenta, UsuarioActual) If RFCCliente.ToUpper <> "XAXX010101000" Then Dim CveProveedor As Integer = GlobalDTCompProveedores(UsuarioActual.CveEmpresa, RFC:=RFCCliente.ToUpper).FiltroPrimeroValor("CveProveedor").ToEntero @@ -581,18 +572,57 @@ Partial Class Bancos_PopIEVentas ObjVenta.Dispose() End Sub - Private Sub CargaCorteCaja() - 'Checar si hay un Turno Abierto - Dim ObjPVenta As New ClsPuntoVenta + Protected Function CargaCorteCaja(CveVenta As Integer, UsuarioActual As Usuario) As Integer + Dim CveCorte As Integer = -1 - If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then + Dim CveCorteVenta As Integer = -1 + Dim EsCredito As Boolean = False + Dim UsaCorteActual As Boolean = False - If ObjPVenta.DtResultados.Rows.Count > 0 Then - CveCorte = ObjPVenta.CveCorte + If CveVenta > 0 Then + Using ObjVentas As New ClsVentas + If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then + EsCredito = If(ObjVentas.DtResultados.FiltroPrimeroValor("CondicionesPago").ToEntero() = 1, True, False) + CveCorteVenta = ObjVentas.DtResultados.FiltroPrimeroValor("CveCorte").ToEntero() + End If + End Using + + If UsuarioActual.TienePermisoProceso(160) OrElse UsuarioActual.TienePermisoProceso(371) Then + 'SI ES FACTURA A CREDITO + If EsCredito OrElse CveCorteVenta <= 0 Then + UsaCorteActual = True + End If + End If + + 'SI ES CONTADO TOMAR EL DE LA VENTA + If Not EsCredito Then + UsaCorteActual = False + End If + + 'EN BDH TOMAR EL DE LA VENTA + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + UsaCorteActual = False + End If + Else + If UsuarioActual.TienePermisoProceso(160) OrElse UsuarioActual.TienePermisoProceso(371) Then + UsaCorteActual = True End If End If - ObjPVenta.Dispose() - End Sub + + If UsaCorteActual Then + Dim ObjPVenta As New ClsPuntoVenta + If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then + If ObjPVenta.DtResultados.Rows.Count > 0 Then + CveCorte = ObjPVenta.CveCorte + End If + End If + ObjPVenta.Dispose() + Else + CveCorte = CveCorteVenta + End If + + Return CveCorte + End Function Private Sub CargaCliente(ByVal CveCliente As Integer, RFC As String) Dim ObjCliente As New ClsClientes diff --git a/Bancos/RepCortes.aspx b/Bancos/RepCortes.aspx index d6fc48fb1..7c9ebeeb3 100644 --- a/Bancos/RepCortes.aspx +++ b/Bancos/RepCortes.aspx @@ -131,7 +131,7 @@ - + @@ -315,7 +315,7 @@ - <%----%> + diff --git a/Bancos/RepCortes.aspx.vb b/Bancos/RepCortes.aspx.vb index ca533a117..5827880e9 100644 --- a/Bancos/RepCortes.aspx.vb +++ b/Bancos/RepCortes.aspx.vb @@ -90,6 +90,10 @@ Partial Class Bancos_RepCortes GvDatos.Columns(4).Visible = True End If + If UsuarioActual.CveRol = 1 Then + GvDatos.Columns(21).Visible = True 'COLUMNA DE CveCorte + End If + GvP.DataBind() GvDep.DataBind() GvPorIVA.DataBind() @@ -219,7 +223,7 @@ Partial Class Bancos_RepCortes Dim ConsultaPorSucursal As Boolean = UsuarioActual.Empresa.Funcionalidad(382) = "1" If ConsultaPorSucursal Then - CveCorte = -1 + 'CveCorte = -1 FechaConsulta = gvr.DataKey("FechaInicial").ToDate() End If diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 3ebde3353..b81b0efbe 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -1749,7 +1749,7 @@ Partial Class PopUpVerFactura End Using End If - CveCorte = -1 + 'CveCorte = -1 End If Dim ObjVenta As New ClsVentas diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 184fd643b..216ca1ed8 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -10,6 +10,14 @@ Partial Class Ventas_ClientesAbonar #Region "Propiedades" + Private Property CveCorte As Integer + Get + Return ViewState("CveCorte").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveCorte") = value + End Set + End Property Private ReadOnly Property CveCliente As Integer Get Return ViewState("CveCliente").ToString.ToEntero @@ -172,6 +180,7 @@ Partial Class Ventas_ClientesAbonar Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then + Me.CveCorte = -1 CveMonedaPago = -1 If Request("CveCliente") IsNot Nothing AndAlso Request("CveCliente").ToString.ToEntero > 0 Then ViewState("CveCliente") = Request("CveCliente").ToString.ToEntero @@ -229,6 +238,8 @@ Partial Class Ventas_ClientesAbonar ChkPagarDolares.Visible = False End If RegistraScript($"TipoCambioActual = {GlobalTipoCambio(Fecha).FormatoNumero(4)}") + + Me.CveCorte = CargaCorteCaja(-1, UsuarioActual) End If RVTxtFechaDocumento.MaximumValue = NowADS().ToString("dd/MM/yyyy") @@ -255,6 +266,58 @@ Partial Class Ventas_ClientesAbonar End Sub + Protected Function CargaCorteCaja(CveVenta As Integer, UsuarioActual As Usuario) As Integer + Dim CveCorte As Integer = -1 + + Dim CveCorteVenta As Integer = -1 + Dim EsCredito As Boolean = False + Dim UsaCorteActual As Boolean = False + + If CveVenta > 0 Then + Using ObjVentas As New ClsVentas + If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then + EsCredito = If(ObjVentas.DtResultados.FiltroPrimeroValor("CondicionesPago").ToEntero() = 1, True, False) + CveCorteVenta = ObjVentas.DtResultados.FiltroPrimeroValor("CveCorte").ToEntero() + End If + End Using + + If UsuarioActual.TienePermisoProceso(160) OrElse UsuarioActual.TienePermisoProceso(371) Then + 'SI ES FACTURA A CREDITO + If EsCredito OrElse CveCorteVenta <= 0 Then + UsaCorteActual = True + End If + End If + + 'SI ES CONTADO TOMAR EL DE LA VENTA + If Not EsCredito Then + UsaCorteActual = False + End If + + 'EN BDH TOMAR EL DE LA VENTA + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + UsaCorteActual = False + End If + Else + If UsuarioActual.TienePermisoProceso(160) OrElse UsuarioActual.TienePermisoProceso(371) Then + UsaCorteActual = True + End If + End If + + If UsaCorteActual Then + Dim ObjPVenta As New ClsPuntoVenta + If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then + If ObjPVenta.DtResultados.Rows.Count > 0 Then + CveCorte = ObjPVenta.CveCorte + End If + End If + ObjPVenta.Dispose() + Else + CveCorte = CveCorteVenta + End If + + Return CveCorte + End Function + Private Sub CargaTipoTransaccion() DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros("Tipo = 'Ing' AND Estatus = 1 ") DdlTipoTransaccion.DataBind() @@ -870,7 +933,7 @@ Partial Class Ventas_ClientesAbonar CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, Folio, TxtAboneA.Text.Trim, TxtImporte.Text.ToDecimal, GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", "CveCuenta = " & DdlCuenta.SelectedValue).ToEntero, TipoCambio, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, - CveProveedorIntermediario:=CveProvIntermediario, ImporteDeduccionesPago:=TxtImporteDeduccionesPago.Text.ToDecimal, FechaEmision:=FechaEmision) + CveProveedorIntermediario:=CveProvIntermediario, ImporteDeduccionesPago:=TxtImporteDeduccionesPago.Text.ToDecimal, FechaEmision:=FechaEmision, CveCorte:=Me.CveCorte) If Folio = "-1" Then TxtFolio.Text = ObjIE.Folio.ToString() End If