From 59b7743779e408a1d589cc7bb3059ee316f6b402 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Fri, 27 Jan 2023 12:26:53 -0700 Subject: [PATCH] E13. Contrato y descripcion de ventas (Parte 1) --- App_Code/ClsMovimientos.vb | 9 ++++--- App_Code/ClsVentas.vb | 3 ++- CxC/RepCxC.aspx | 8 ++++++ CxC/RepCxC.aspx.vb | 14 +++++++++++ Ventas/Ventas.aspx | 32 +++++++++++++++++++++--- Ventas/Ventas.aspx.vb | 51 +++++++++++++++++++++++++++++++++++--- 6 files changed, 106 insertions(+), 11 deletions(-) diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb index 0cbfb0931..cf9c2e04c 100644 --- a/App_Code/ClsMovimientos.vb +++ b/App_Code/ClsMovimientos.vb @@ -249,7 +249,7 @@ Public Class ClsMovimientos TipoCambio As Integer, Optional TCEspecifico As Double = -1, Optional TipoDocto As String = "-1", Optional FechaVI As String = "-1", Optional FechaVF As String = "-1", Optional FechaCorte As Date = Nothing, Optional EstatusCliente As Integer = -1, Optional CveUsuarioConsulta As Integer = -1, Optional CveCobranzaEstatus As Integer = -1, Optional CveClienteClasificacion As Integer = -1, Optional TipoCliente As Integer = -1, Optional AplicaAnticiposPagados As Integer = 1, Optional CveMoneda As Integer = -1, - Optional TieneLineaAdicional As Integer = -1) As Boolean + Optional TieneLineaAdicional As Integer = -1, Optional CveContrato As Integer = -1) As Boolean Dim Retorno As Boolean = False 'Data = New DataTable @@ -284,7 +284,8 @@ Public Class ClsMovimientos .Add("@TipoCliente", SqlDbType.Int).Value = TipoCliente .Add("@AplicaAnticiposPagados", SqlDbType.Int).Value = AplicaAnticiposPagados .Add("@CveMoneda", SqlDbType.Int).Value = CveMoneda - .Add("@TieneLineaAdicional", SqlDbType.Int).Value = TieneLineaAdicional + .Add("@TieneLineaAdicional", SqlDbType.Int).Value = TieneLineaAdicional + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato End With Try @@ -335,7 +336,8 @@ Public Class ClsMovimientos CveResponsable As Integer, TipoCambio As Integer, Optional TCEspecifico As Double = -1, Optional TipoDocto As String = "-1", Optional FechaVI As String = "-1", Optional FechaVF As String = "1", Optional FechaCorte As Date = Nothing, Optional CveUsuarioConsulta As Integer = -1, Optional CveCobranzaEstatus As Integer = -1, Optional CveClienteClasificacion As Integer = -1, Optional LimiteCredito As Decimal = -1, - Optional TipoCliente As Integer = -1, Optional CveMoneda As Integer = -1, Optional EstatusCliente As Integer = -1, Optional AplicaAnticiposPagados As Integer = 1, Optional TieneLineaAdicional As Integer = -1) As Boolean + Optional TipoCliente As Integer = -1, Optional CveMoneda As Integer = -1, Optional EstatusCliente As Integer = -1, Optional AplicaAnticiposPagados As Integer = 1, + Optional TieneLineaAdicional As Integer = -1, Optional CveContrato As Integer = -1) As Boolean Dim Retorno As Boolean = False DS = New DataSet @@ -379,6 +381,7 @@ Public Class ClsMovimientos .Add("@EstatusCliente", SqlDbType.Int).Value = EstatusCliente .Add("@AplicaAnticiposPagados", SqlDbType.Int).Value = AplicaAnticiposPagados .Add("@TieneLineaAdicional", SqlDbType.Int).Value = TieneLineaAdicional + .Add("@CveContrato", SqlDbType.Int).Value = CveContrato End With Try diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 67d37fb3b..4b7dd81fb 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -418,7 +418,7 @@ Public Class ClsVentas Optional CveTipoAmortizacionAnticipo As Integer = -1, Optional CveVentaRelacion As Integer = -1, Optional ImporteRelacion As Decimal = -1, Optional CveEmpresaCRM As Integer = -1, Optional EsInterno As Integer = -1, Optional CveAcercamientoCRM As Integer = -1, Optional DiasCredito As Integer = 0, Optional EsDiasCreditoFijo As Boolean = False, Optional AnticipoEspecial As Boolean = False, Optional Kilometraje As Double = 0, Optional EsAmortizacion As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoNotificacion As String = "", Optional FormaPaqueteria As Integer = 1, Optional FacturarSucursal As Boolean = False, Optional VentaDesglosaIEPS As Boolean = False, Optional ServicioDomicilio As Boolean = False, Optional RFCReceptor As String = "", Optional Adjunto As String = "-1", - Optional DevolucionImportePagado As Decimal = 0, Optional EsGarantia As Boolean = False, Optional CveLineaAdicional As Integer = -1) As Boolean + Optional DevolucionImportePagado As Decimal = 0, Optional EsGarantia As Boolean = False, Optional CveLineaAdicional As Integer = -1, Optional DescripcionVenta As String = "") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_VentasAdd") @@ -517,6 +517,7 @@ Public Class ClsVentas .Add("@DevolucionImportePagado", SqlDbType.Money).Value = DevolucionImportePagado .Add("@EsGarantia", SqlDbType.Bit).Value = EsGarantia .Add("@CveLineaAdicional", SqlDbType.Int).Value = CveLineaAdicional + .Add("@DescripcionVenta", SqlDbType.VarChar).Value = DescripcionVenta .Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue End With 'SqlTypes.SqlDateTime.Null diff --git a/CxC/RepCxC.aspx b/CxC/RepCxC.aspx index d574ce5a0..e66c3446e 100644 --- a/CxC/RepCxC.aspx +++ b/CxC/RepCxC.aspx @@ -362,6 +362,14 @@ +
+ Contrato: +
+
+ + + +
diff --git a/CxC/RepCxC.aspx.vb b/CxC/RepCxC.aspx.vb index 487a913fc..59a32dac7 100644 --- a/CxC/RepCxC.aspx.vb +++ b/CxC/RepCxC.aspx.vb @@ -172,6 +172,20 @@ Partial Class RepCxC ' Next 'End If 'ObjSisUsuarios.Dispose() + If UsuarioActual.CveEmpresa = 13 Then + CargaContratos() + End If + + End Sub + + Private Sub CargaContratos() + Dim ObjContratos As New ClsContratos + If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, CveCliente:=-1) Then + DdlContrato.DataSource = ObjContratos.DtResultados + End If + + ObjContratos.Dispose() + DdlContrato.DataBind() End Sub diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 8ee7e4337..043bfd18a 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -512,7 +512,7 @@ Empresa:  - Enviar Mail: + Enviar Mail: @@ -907,6 +907,32 @@ + + + +
+
+ + Descripción +
+
+
+
+
+
+ +
+
+
+ + + + +
+
+
+
+
@@ -2578,7 +2604,7 @@
Destino:
- +
@@ -2615,7 +2641,7 @@
- +
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 81acbd393..32ecd1137 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3463,6 +3463,13 @@ Partial Class Ventas UPObservaciones.Update() End If + If UsuarioActual.CveEmpresa = 13 Then + UpDescripcionVenta.Visible = True + If CveVenta <= 0 Then + TxtDescripcionVenta.Enabled = True + End If + End If + End If End Sub @@ -4813,6 +4820,11 @@ Partial Class Ventas End If End If + If UsuarioActual.CveEmpresa = 13 Then + UpDescripcionVenta.Visible = True + TxtDescripcionVenta.Text = DbRowVenta("DescripcionVenta").ToString() + End If + HplDownXML.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=FactVta&CVEVENTA={0}&EXT={1}&SERIEFOLIO={2}&TIPODOCTO={3}", CveVenta, "XML", DbRowVenta("SerieFolio"), DbRowVenta("TipoDocto")))) Case "Egs" @@ -9418,22 +9430,30 @@ Partial Class Ventas If UsuarioActual.Empresa.Funcionalidad(705) = "1" AndAlso DdlLineaAdicional.SelectedValue.ToEntero() > 0 Then 'VERIFICA QUE LA MONEDA DE LA LINEA ADICIONAL SEA LA MISMA QUE LA VENTA If Me.CveMonedaLineaAdicional <> ObjFactura.CveMoneda Then + TmpDT = TmpDTError.Copy() + CalculaTotalesVenta(RecalcularTotalOriginal:=False) Alert("La moneda de la linea adicional de crédito debe ser la misma que la factura.", TipoMensaje.MsgAdvertencia) Exit Sub End If 'VERIFICA QUE EL SALDO DISPONIBLE SEA MENOR AL IMPORTE If ObjFactura.TipoDocto = "Rem" AndAlso Me.SaldoLineaAdicional <= ObjFactura.Total Then + TmpDT = TmpDTError.Copy() + CalculaTotalesVenta(RecalcularTotalOriginal:=False) Alert("El saldo de la linea adicional debe ser mayor o igual al de la remisión", TipoMensaje.MsgAdvertencia) Exit Sub End If If ObjFactura.TipoDocto = "Ing" AndAlso (DtRemisionesPS Is Nothing OrElse DtRemisionesPS.Rows.Count = 0) Then + TmpDT = TmpDTError.Copy() + CalculaTotalesVenta(RecalcularTotalOriginal:=False) Alert("No se puede generar un ingreso con una linea adicional de credito si este no viene de una remisión", TipoMensaje.MsgAdvertencia) Exit Sub End If If ObjFactura.TipoDocto = "Ing" AndAlso Me.SaldoIngresosLineaAdicional <= ObjFactura.Total Then + TmpDT = TmpDTError.Copy() + CalculaTotalesVenta(RecalcularTotalOriginal:=False) Alert("El saldo de la linea adicional debe ser mayor o igual al de la factura", TipoMensaje.MsgAdvertencia) Exit Sub End If @@ -9775,6 +9795,24 @@ Partial Class Ventas End If + If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso ErrorList.Count = 0 AndAlso ObjFactura.TipoDocto = "Ing" Then + Dim RowVenta As DataRow = Nothing + If ObjVentas.GetVenta(ObjFactura.CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then + RowVenta = ObjVentas.DtResultados.Rows(0) + Else + ErrorList.Add("No se pudieron validar los datos de la venta") + End If + + If RowVenta IsNot Nothing Then + 'SI FUE VENTA DE CONTADO VALIDA QUE SE HAYA PAGADO EN SU TOTALIDAD + If RowVenta("CondicionesPago").ToString().ToEntero() = 0 AndAlso RowVenta("Saldo").ToString().ToDecimal() > 0.01D Then + ErrorList.Add("La venta no fue pagada en su totalidad") + End If + Else + ErrorList.Add("No se pudieron validar los datos de la venta") + End If + End If + 'MARCA PARA NO SURTIR VENTA DE COTNRATO DE CONSIGNACION DE VENTA | [IPP] : PARCHE If ErrorList.Count = 0 Then If ObjFactura.CveVenta > 0 And CveAlmacenExistenciasContrato > 0 And DdlTipoComprobante.SelectedValue = "Ing" Then @@ -13041,6 +13079,11 @@ Partial Class Ventas End If + Dim DescripcionVenta As String = "" + If factura.TipoDocto = "Ing" AndAlso UsuarioActual.CveEmpresa = 13 Then + DescripcionVenta = TxtDescripcionVenta.Text + End If + If Not ObjVentas.AddVenta(factura.TipoDocto, factura.Folio, factura.CveCliente, factura.CveClienteSucursal, factura.SubTotalTC, factura.DescuentoTC, factura.AmortizacionTC, factura.IVATC, factura.RetIVATC, factura.RetISRTC, factura.TotalTC, factura.CveMoneda, factura.TipoCambio, factura.CveMetodoPago, factura.CondicionesPago, factura.FormaPago, factura.FechaPago, factura.Fecha, factura.MotivoDescuento, @@ -13057,7 +13100,7 @@ Partial Class Ventas DiasCredito:=factura.DiasCredito, EsDiasCreditoFijo:=factura.EsDiasCreditoFijo, AnticipoEspecial:=If(TrAntEspecial.Visible, ChkAntEspecial.Checked, False), Kilometraje:=TxtKilometraje.Text.ToDouble, EsAmortizacion:=EsNCAmortizacion, CveTipoRetencion:=factura.CveTipoRetencion, CorreoNotificacion:=TxtCorreoNotificaciones.Text, FormaPaqueteria:=RblPaqueteria.SelectedValue.ToEntero, FacturarSucursal:=factura.FacturarSucursal, VentaDesglosaIEPS:=factura.VentaDesglosaIEPS, RFCReceptor:=RFCReceptor, Adjunto:=Adjunto, DevolucionImportePagado:=factura.DevolucionImportePagado, EsGarantia:=factura.EsGarantia, ServicioDomicilio:=TrServicioDomicilio.Visible, - CveLineaAdicional:=DdlLineaAdicional.SelectedValue.ToEntero()) Then + CveLineaAdicional:=DdlLineaAdicional.SelectedValue.ToEntero(), DescripcionVenta:=DescripcionVenta) Then ErrorList.Add("Ocurrió un error al Generar la Venta.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") Else If factura.TipoDocto.Contiene("Dev", "Egs") OrElse DtVentasNC IsNot Nothing OrElse CveEstatusRefacturacion > 0 OrElse CveAnticipoPadre > 0 Then @@ -22341,9 +22384,9 @@ Partial Class Ventas CargaAnticipos(CveCliente) End If - If CveVenta <= 0 Then - CalculaLineasAdicionales() - End If + 'If CveVenta <= 0 Then + ' CalculaLineasAdicionales() + 'End If End Sub Private Sub btnBuscarPrecio_Click(sender As Object, e As EventArgs) Handles btnBuscarPrecio.Click