From b0fcaee1395b0e10eb3279ed1ce6875298bb7366 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Fri, 8 Apr 2022 14:47:14 -0700 Subject: [PATCH 1/6] =?UTF-8?q?E140.=20Correcci=C3=B3n=20de=20timbrado=20p?= =?UTF-8?q?ara=20NC=20por=20pronto=20pago?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/Ventas.aspx.vb | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 6625018cb..aba64a680 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -8984,7 +8984,6 @@ Partial Class Ventas End If Dim SerieFolioNCProntoPago As String = "" Dim CveVentaNCProntoPago As Integer = -1 - Dim GeneroDescuentoProntoPago As Boolean = False 'SOLO GENERAR NC POR DESCUENTO PRONTO PAGO SI EL PAGO ES DE CONTADO If ErrorList.Count = 0 AndAlso RBLPago.SelectedValue = "2" AndAlso ObjFactura.DescuentoProntoPago > 0 Then @@ -8994,13 +8993,13 @@ Partial Class Ventas If (ImportePagado + ImporteRNC + ObjFactura.DescuentoProntoPago) >= ObjFactura.Total Then Dim RespFacturaProntoPago = GenerarNCProntoPago(ObjVentas.IniciaTransacSQL(), ObjClientes, ObjContPaq, ObjFactura) + If RespFacturaProntoPago.ObjFacturaProntoPago Is Nothing OrElse RespFacturaProntoPago Is Nothing Then ErrorList.Add("No se pudo generar la nota de crédito de pronto pago") Else If RespFacturaProntoPago.Mensaje.CveVenta <= 0 OrElse RespFacturaProntoPago.Mensaje.TieneError Then ErrorList.Add("No se pudo generar la nota de crédito de pronto pago") Else - GeneroDescuentoProntoPago = True CveVentaNCProntoPago = RespFacturaProntoPago.Mensaje.CveVenta SerieFolioNCProntoPago = RespFacturaProntoPago.Mensaje.SerieFolio @@ -33244,9 +33243,6 @@ Partial Class Ventas ObjFacturaProntoPago.FormaPago33 = "Aplicación de anticipos" ObjFacturaProntoPago.FormaPagoSAT33 = "30" - ObjFacturaProntoPago.MetodoPago = "" - ObjFacturaProntoPago.ClaveMetodoPagoSAT = GlobalDTMetodosPago.FiltroPrimeroValor("ClaveSAT", $"CveMetodoPago = {ObjFacturaProntoPago.CveMetodoPago33}") - ObjFacturaProntoPago.CveSubProyecto = CveSubProyecto ObjFacturaProntoPago.SetSubProyecto() @@ -33279,9 +33275,7 @@ Partial Class Ventas ObjFacturaProntoPago.CveTipoRelacion = 7 ObjFacturaProntoPago.TipoRelacion = "07" - Dim Fol As New List(Of String) - Fol.Add(ObjFactura.FolioFiscal) - ObjFacturaProntoPago.UUIDRelacionados = Fol + ObjFacturaProntoPago.UUIDRelacionados = New List(Of String) Select Case ObjFacturaProntoPago.TipoDocto Case "Ing" @@ -33345,17 +33339,17 @@ Partial Class Ventas ObjFacturaProntoPago.DtVentasNC = DtVentasNC + ObjFacturaProntoPago.Timbre = PreParaTimbre(ObjFacturaProntoPago) + Resp = ObjFacturaProntoPago.EmitirFactura(False, Transac:=SqlTransaccion, ObjContPaqTransac:=ObjConta) - ObjFacturaProntoPago.Dispose() + Retorno.ObjFacturaProntoPago = ObjFacturaProntoPago Catch ex As Exception Resp.CveVenta = -1 Resp.TieneError = True OnError("Ocurrio un error al generar la nota de credito de pronto pago", ex) End Try - - Retorno.ObjFacturaProntoPago = ObjFacturaProntoPago Retorno.Mensaje = Resp Return Retorno @@ -33368,7 +33362,7 @@ Partial Class Ventas PorcentajeRetISR As Double, ImporteRetISR As Double, PorcentajeIEPS As Double, ImporteIEPS As Double, TipoDescuento As Integer, Descuento As Double, Total As Double, Serie As String, TiempoEntrega As String, CvePresupuestoIngreso As Integer, EntregaDirecta As Integer, SATClaveProdServ As String, SATClaveUM As String, CveContratoDetalle As Integer, CveVentaDetalle As Integer, CveMovimientoDetallePedido As Integer, CveOrdenCompraDetalle As Integer, - CveVentaDetalleRemision As Integer, CveVentaDetalleCotizacion As Integer) + CveVentaDetalleRemision As Integer, CveVentaDetalleCotizacion As Integer, CodigoObjetoImpuesto As String) Dim Row As DataRow = Nothing Row = TmpDT.NewRow() @@ -33417,6 +33411,7 @@ Partial Class Ventas Row("EntregaDirecta") = EntregaDirecta Row("SATClaveProdServ") = SATClaveProdServ Row("SATClaveUM") = SATClaveUM + Row("CodigoObjetoImpuesto") = CodigoObjetoImpuesto 'Contratos Row("CveContratoDetalle") = CveContratoDetalle @@ -33470,7 +33465,7 @@ Partial Class Ventas DrPS("CveUM").ToString.ToEntero, DrPS("UnidadMedida").ToString, DrPS("CveClasificacion").ToString.ToEntero, DrPS("Clasificacion").ToString, CveProyecto, CveSubProyecto, "", Cantidad, Dr("ImportePU").ToString.ToDecimal, Dr("PorcentajeIVA").ToString.ToDecimal, Dr("ImporteIVA").ToString.ToDecimal, Dr("PorcentajeRetIVA").ToString.ToDecimal, Dr("ImporteRetIVA").ToString.ToDecimal, Dr("PorcentajeRetISR").ToString.ToDecimal, Dr("ImporteRetISR").ToString.ToDecimal, Dr("PorcentajeIEPS").ToString.ToDecimal, Dr("ImporteIEPS").ToString.ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString.ToDecimal, "", "", -1, -1, - DrPS("SATClavePS").ToString, DrPS("SATClaveUnidadMedida").ToString, -1, -1, -1, -1, -1, -1) + DrPS("SATClavePS").ToString, DrPS("SATClaveUnidadMedida").ToString, -1, -1, -1, -1, -1, -1, DrPS("CodigoObjetoImpuesto").ToString()) Next End Sub @@ -33639,6 +33634,7 @@ Partial Class Ventas TmpDT.Columns.Add("ClaveSATUnidadAduana", GetType(String)) TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String)) TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String)) + TmpDT.Columns.Add("CodigoObjetoImpuesto", GetType(String)) TmpDT.Columns.Add("CveTamaño", GetType(Integer)) TmpDT.Columns.Add("EsCargo", GetType(Boolean)) From 3b9cd42f809627669486cafb8a6c76a891d5076d Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Sat, 9 Apr 2022 12:43:19 -0700 Subject: [PATCH 2/6] E140, Solo cuentas de contado para pago en efectivo y cheque, obligar a cancelar remisiones relacionadas al cancelar factura. --- Ventas/Ventas.aspx.vb | 51 +++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 5267d6fce..1a58cbab0 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -21744,16 +21744,21 @@ Partial Class Ventas Dim DtCC As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) - DdlCuentaEfectivo.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) + 'MOSTRAR SOLO CUENTAS DE CONTADO EN BDH + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + DdlCuentaEfectivo.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1 AND TieneTerminal = 0", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) + DdlCuentaCheque.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1 AND TieneTerminal = 0", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) + Else + DdlCuentaEfectivo.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) + DdlCuentaCheque.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) + End If If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then DdlCuentaTarjetaCredito.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1 AND TieneTerminal = 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) DdlCuentaTarjetaDebito.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1 AND TieneTerminal = 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) - DdlCuentaCheque.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) Else DdlCuentaTarjetaCredito.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND (CveTipoCuenta <> 1 OR TieneTerminal = 1)", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) DdlCuentaTarjetaDebito.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND (CveTipoCuenta <> 1 OR TieneTerminal = 1)", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) - DdlCuentaCheque.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) End If DdlCuentaTransferencia.DataSource = DtCC.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta <> 1", If(DdlMoneda.SelectedValue.ToEntero() <= 0, 1, DdlMoneda.SelectedValue.ToEntero()))) @@ -23723,7 +23728,7 @@ Partial Class Ventas Alert("No se pudo encontrar el estatus de la factura en el SAT.", TipoMensaje.MsgAdvertencia) Exit Sub End If - + MostrarRemisionesCancelar() sb.Append("No encontrado
") sb.Append("Está seguro de cancelar el documento?.") Else @@ -23736,10 +23741,12 @@ Partial Class Ventas sb.AppendFormat("{0}
", Vigencia.EsCancelable) If Vigencia.EsCancelable.ToUpper() <> "NO CANCELABLE" Then + MostrarRemisionesCancelar() sb.Append("Está seguro de cancelar el documento?.") End If End If Else + MostrarRemisionesCancelar() sb.Append("No encontrado
") sb.Append("Está seguro de cancelar el documento?.") End If @@ -23763,6 +23770,25 @@ Partial Class Ventas End If End Sub + + Private Sub MostrarRemisionesCancelar() + If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing") AndAlso DivCanRem.Visible Then + ChkCanRem.Enabled = False + ChkCanRem.Checked = True + ChkCanRem_CheckedChanged(ChkCanRem, EventArgs.Empty) + ChkCanRem.Enabled = False + + If DivGvCancelarRemision.Visible Then + For Each GvRow As GridViewRow In GvCancelarRemisiones.Rows + If GvRow.RowType = DataControlRowType.DataRow Then + GvRow.FCCheckBox("ChkCancelarRemision").Checked = True + GvRow.FCCheckBox("ChkCancelarRemision").Enabled = False + End If + Next + End If + End If + End Sub + Protected Sub ChkDevAlm_CheckedChanged(sender As Object, e As EventArgs) MostrarCondicionesCancelacion() End Sub @@ -34349,22 +34375,5 @@ Partial Class Ventas UpEmitirTransitorio.Update() End Sub #End Region - - - Protected Sub RdTipoPersona_SelectedIndexChanged(sender As Object, e As EventArgs) - - DVRegimenSociedad.Visible = False - DivRazonSocial2.Attributes.Add("class", "col-md-12") - - If RdTipoPersona.SelectedValue.ToEntero = 1 And UsuarioActual.Empresa.Funcionalidad(350) = "1" Then - - DivRazonSocial2.Attributes.Add("class", "col-md-8") - DVRegimenSociedad.Visible = True - - End If - - UpAgregarCliente.Update() - End Sub - End Class From 7583974bc7f5e94f8a42db8ef6c30c71a9237f72 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 13 Apr 2022 15:46:11 -0700 Subject: [PATCH 3/6] E140. Solicitud de descuento por autorizacion --- App_Code/ClsVentas.vb | 3 +- Ventas/CatAutorizacionLimites.aspx | 54 ++- Ventas/CatAutorizacionLimites.aspx.vb | 28 +- Ventas/PV.aspx | 454 +++++++++++++++----------- Ventas/PV.aspx.vb | 90 ++++- 5 files changed, 426 insertions(+), 203 deletions(-) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 5ba4bc54a..309a3d465 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -5336,7 +5336,7 @@ Public Class ClsVentas #End Region - Public Function AddAutorizacionLimite(CveEmpresa As Integer, CveCliente As Integer, CveVendedor As Integer, Importe As Decimal, CveEstatus As Integer, CveUsuario As Integer, TipoAutorizacion As Integer, TipoDocumento As String, Optional DiasVencidos As Integer = 0, Optional Motivo As String = "") As Boolean + Public Function AddAutorizacionLimite(CveEmpresa As Integer, CveCliente As Integer, CveVendedor As Integer, Importe As Decimal, CveEstatus As Integer, CveUsuario As Integer, TipoAutorizacion As Integer, TipoDocumento As String, Optional DiasVencidos As Integer = 0, Optional Motivo As String = "", Optional PorcentajeDescuento As Decimal = 0) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_AutorizacionLimitesAdd") With SqlAdapter.SelectCommand.Parameters @@ -5349,6 +5349,7 @@ Public Class ClsVentas .Add("@TipoAutorizacion", SqlDbType.Int).Value = TipoAutorizacion .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento .Add("@DiasVencidos", SqlDbType.Int).Value = DiasVencidos + .Add("@PorcentajeDescuento", SqlDbType.Decimal).Value = PorcentajeDescuento .Add("@Motivo", SqlDbType.VarChar).Value = Motivo End With Try diff --git a/Ventas/CatAutorizacionLimites.aspx b/Ventas/CatAutorizacionLimites.aspx index 997f0480f..3660fee70 100644 --- a/Ventas/CatAutorizacionLimites.aspx +++ b/Ventas/CatAutorizacionLimites.aspx @@ -35,7 +35,7 @@
- +
@@ -109,15 +109,19 @@ - + + + + + + - - + @@ -172,6 +176,7 @@ +
@@ -180,6 +185,7 @@ + <%----%>
@@ -194,14 +200,37 @@
- -
- - - - - - +
+
+ +
+
+
+ + + + + + +
+
+
+
+
+
+
+ +
+
+
+ + + + + + +
+
@@ -218,6 +247,7 @@
+