From d6282045e5afe65748536597da58c1ae4eeb2e19 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 5 Aug 2024 09:26:37 -0700 Subject: [PATCH 01/15] =?UTF-8?q?--=20mejora=20para=20ver=20conceptos=20de?= =?UTF-8?q?=20retenci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compras/Compras.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 8da9cddc6..fc407b4a6 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3502,7 +3502,7 @@ Partial Class Compras_Compras ViewState("CveProveedor") = ObjProveedor.CveProveedor ViewState("CveTipoProveedor") = ObjProveedor.CveTipoProveedor - + RFCProveedor = ObjProveedor.RFC If ObjProveedor.CveTipoProveedor = 2 Then LblProveedor.Text = "Acreedor:" Else From 1d164229631338e2fdbcd380cf9382a59b41ce29 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 5 Aug 2024 09:46:21 -0700 Subject: [PATCH 02/15] -- no validar el presupeusto ,si tiene valor ="2" --- Compras/Compras.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index fc407b4a6..a532870b4 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -20933,7 +20933,7 @@ Partial Class Compras_Compras Dim respuesta As Boolean = False - If UsuarioActual.Empresa.Funcionalidad(532).Contiene("1", "2") Then + If UsuarioActual.Empresa.Funcionalidad(532).Contiene("1") Then If Opcion = 1 Or OCVinculada Or DdlTipoComprobante.SelectedValue <> "Fac" Then Return True From d66307431fd294aafe3980e808cbdd6dcff6369f Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 5 Aug 2024 10:15:52 -0700 Subject: [PATCH 03/15] CargaEventos.ashx cambio json serialiser en opcion contrato_transportes --- Ashx/CargaEventos.ashx | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/Ashx/CargaEventos.ashx b/Ashx/CargaEventos.ashx index cce796c97..dab9d8862 100644 --- a/Ashx/CargaEventos.ashx +++ b/Ashx/CargaEventos.ashx @@ -112,12 +112,25 @@ Public Class CargaEventos : Implements IHttpHandler, IRequiresSessionState FI = context.Request("start").ToDate FF = context.Request("end").ToDate - If Not GetContratos(context:=context) Then - 'Convierte el objeto de Eventos en JSON - 'Dim oSerializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer - Dim sJSON As String = Newtonsoft.Json.JsonConvert.SerializeObject(events) + If Not GetContratos(context:=context) Then + 'Convierte el objeto de Eventos en JSON + 'Dim oSerializer As System.Web.Script.Serialization.JavaScriptSerializer = New System.Web.Script.Serialization.JavaScriptSerializer + + + 'Dim settings As New Newtonsoft.Json.JsonSerializerSettings With { + ' .NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, + ' .Formatting = Newtonsoft.Json.Formatting.None + ' } + 'Dim sJSON As String = Newtonsoft.Json.JsonConvert.SerializeObject(events, settings) + 'context.Response.Write(sJSON) + + Dim serializer As New Newtonsoft.Json.JsonSerializer() + Using writer As New IO.StringWriter() + serializer.Serialize(writer, events) + context.Response.Write(writer.ToString()) + End Using + - context.Response.Write(sJSON) End If End If Exit Select From b94835f9839ab205da34fbaa547a8dde8b2b9055 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 5 Aug 2024 15:34:43 -0700 Subject: [PATCH 04/15] --FIX verifica almacen en cancelacion --limpiara variables para facturas de ing funcionlidad(109) --- App_Code/Modelos.vb | 4 ++-- Ventas/Ventas.aspx.vb | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index ace453f1d..6d332ce2c 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -6329,7 +6329,7 @@ Namespace Modelos 'DEBE REGRESAR LA EXISTENCIA DE (ENTREGA POR ADELANTADO) AL ALMACEN ORGINAL (GENERAL,SIN COSTO) If Not ErrorCancelar AndAlso DtDevoluciones IsNot Nothing AndAlso DtDevoluciones.Rows.Count > 0 Then For Each CveRemision As Integer In ListaRemisionesCancelar - Dim ObjRemision As New Factura(UsuarioActual, CveRemision, UsuarioActual.CveEmpresa) + Dim ObjRemision As New Factura(UsuarioActual, CveRemision, UsuarioActual.CveEmpresa, VerificaAlmacen:=True) If ObjRemision IsNot Nothing AndAlso ObjRemision.SaldoAlmacen <> 0 Then @@ -6978,7 +6978,7 @@ Namespace Modelos Dim SeCancela As Boolean = (ListaRemisionesCancelar IsNot Nothing) AndAlso (ListaRemisionesCancelar.Any(Function(CveRemisionCancelar) CveRemisionCancelar = DrMovtos("CveRem").ToString.ToEntero())) If Not SeCancela Then - Dim ObjRem As New Modelos.Factura(UsuarioActual, DrMovtos("CveRem").ToString.ToEntero(), UsuarioActual.CveEmpresa) + Dim ObjRem As New Modelos.Factura(UsuarioActual, DrMovtos("CveRem").ToString.ToEntero(), UsuarioActual.CveEmpresa, CargaDatosCliente:=False, CargaDTDetalle:=False, CargaDatosRelacionados:=False, VerificaAlmacen:=True) 'SI LA REMISION ESTA SALDADA DEBE REVIVIR LOS MOVIMIENTOS COMPLETAMENTE O PARCIALMENTE If ObjRem.SaldoAlmacen >= 0 Then CveAlmacenTraspasoDestinoDevRem = DrMovtos("CveAlmacenTraspasoDestino").ToString.ToEntero diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index ac3ba2732..1a93ce072 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -14101,6 +14101,11 @@ Partial Class Ventas CveMotivoDevolucion = DdlMotivoDevolucion.SelectedValue.ToEntero() End If + 'FIX. ESTA VARIABLE NO DEBE TENER DATOS CUANDO ES FACTURA DE INGRESO, AFECTA LOS MOVIMIENTOS DE ALMACEN + If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso factura.TipoDocto = "Ing" And CveAlmacenTraspasoDestino > 0 Then + CveAlmacenTraspasoDestino = -1 + 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, From c5d9c8f26473873973a9e84209944e969a431667 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 5 Aug 2024 16:19:40 -0700 Subject: [PATCH 05/15] -- MEJORA TEXTO --- OC/OC.aspx.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 419e71f4c..5738eb65c 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -4237,7 +4237,7 @@ Partial Class OC_OC If CvePresupuesto > 0 And Autorizado > 0 Then Dim Diferencia As Decimal = (Ejercido + Total) - Autorizado If Diferencia > 0 Then - Alert($"No hay presupuesto disponible en el subproyecto {SubProyecto} y la clasificación {Clasificacion} se excede por {Diferencia.FormatoNumero}", TipoMensaje.MsgAdvertencia) + Alert($"No hay presupuesto disponible:
- Subproyecto {SubProyecto}
- Clasificación {Clasificacion}
se excede por {Diferencia.FormatoNumero}", TipoMensaje.MsgAdvertencia) Exit Sub End If End If From e1059dc20f830f1909771d2191af4080b17fd647 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 5 Aug 2024 16:19:58 -0700 Subject: [PATCH 06/15] =?UTF-8?q?--=20quit=C3=B3=20objeto=20missing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bancos/PagoElectronicoGrupos.aspx.vb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Bancos/PagoElectronicoGrupos.aspx.vb b/Bancos/PagoElectronicoGrupos.aspx.vb index fae2d1f41..53b099b94 100644 --- a/Bancos/PagoElectronicoGrupos.aspx.vb +++ b/Bancos/PagoElectronicoGrupos.aspx.vb @@ -8,8 +8,7 @@ Imports Ionic.Zip Imports Microsoft.Reporting.WebForms Partial Class Bancos_PagoElectronicoGrupos - Inherits ClsPaginas - Private Shared missing As Object = System.Reflection.Missing.Value + Inherits ClsPaginas #Region "PROPIEDADES" Private Property HeaderTexto As String From 6a537736a9310e78cc3c2e2296d64e7409d937cc Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 5 Aug 2024 18:39:32 -0700 Subject: [PATCH 07/15] --FIX edicion de lista de precios --- Ventas/CatPreciosLista.aspx.vb | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Ventas/CatPreciosLista.aspx.vb b/Ventas/CatPreciosLista.aspx.vb index d71056c60..ea79b3b4f 100644 --- a/Ventas/CatPreciosLista.aspx.vb +++ b/Ventas/CatPreciosLista.aspx.vb @@ -59,19 +59,21 @@ Partial Class Ventas_CatPreciosLista Dim GvRow As GridViewRow = DirectCast(Boton.NamingContainer, GridViewRow) TxtPrecioLista.Text = GvRow.DataKey("PrecioLista").ToString ChkPredeterminada.Checked = GvRow.DataKey("Predeterminada") = "True" - chkEstatus.Checked = CBool(GvRow.DataKey("Estatus")) - ChkRestringida.Checked = CBool(GvRow.DataKey("Restringuida")) + chkEstatus.Checked = GvRow.DataKey("Estatus") = "True" + ChkRestringida.Checked = GvRow.DataKey("Restringuida") = "True" EsEditar = 1 BtnAgregarCatalogo.Text = "Actualizar" dvEstatus.Visible = True - Using ObjVenta As New ClsVentas - If ObjVenta.GetPreciosListasSubProyecto(CvePrecioLista, UsuarioActual.CveEmpresa) Then - GvSubProyectos.DataSource = ObjVenta.DtResultados.Copy() - End If - End Using - GvSubProyectos.DataBind() + If divSP.Visible Then + Using ObjVenta As New ClsVentas + If ObjVenta.GetPreciosListasSubProyecto(CvePrecioLista, UsuarioActual.CveEmpresa) Then + GvSubProyectos.DataSource = ObjVenta.DtResultados.Copy() + End If + End Using + GvSubProyectos.DataBind() + End If UpBodyCo.Update() UpFooter.Update() From a8aa4f67c1d5c07f67a65909de082afbf54b22d1 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 5 Aug 2024 18:40:20 -0700 Subject: [PATCH 08/15] --FIX. Aplicacion de dev/nc de otro cliente --FIX. CveAlmacenTraspasoDestino en una factura de ingreso --- 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 1a93ce072..84c11a4e8 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -15371,7 +15371,7 @@ Partial Class Ventas CveSubProyectoContabilizar = CveSubProyectoVenta If importeMovimiento <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, ConceptoContable, Referencia, Concepto, CveVenta:=row2.DataKey("CveVenta").ToString().ToEntero(), CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then + If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, importeMovimiento * tipoCambio, ConceptoContable, Referencia, Concepto, CveVenta:=row2.DataKey("CveVenta").ToString().ToEntero(), CveCliente:=row2.DataKey("CveCliente").ToString().ToEntero(), CveVentaAmortizacion:=ObjFactura.CveVenta, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=Contabilizable) Then ErrorPrepoliza = True End If End If From e06f4eed51814674f9015a3be83063efcb971bb2 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 6 Aug 2024 07:48:56 -0700 Subject: [PATCH 09/15] =?UTF-8?q?--=20visualizaci=C3=B3n=20de=20recargar?= =?UTF-8?q?=20adjunto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/Ventas.aspx | 4 ++-- Ventas/Ventas.aspx.vb | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 34c0b0272..68a1d661a 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -4298,8 +4298,8 @@
- -    + +   diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 84c11a4e8..60c99308e 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -5031,6 +5031,8 @@ Partial Class Ventas BtnEliminarAdjunto.Visible = True BtnAdjuntar.Visible = False BtnReemplazarAdjunto.Visible = True + Else + BtnReemplazarAdjunto.Visible = True End If ViewState("CveSubProyectoVenta") = DbRowVenta("CveSubProyecto").ToString().ToEntero() From c2f5d6996b753d2499efbd5cddd78e3d30e85669 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 6 Aug 2024 08:55:53 -0700 Subject: [PATCH 10/15] -- quitar "todos" en filtro para FNC382 --- Bancos/DepositosCaja.aspx.vb | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Bancos/DepositosCaja.aspx.vb b/Bancos/DepositosCaja.aspx.vb index 6b88b2c14..e59d1b23d 100644 --- a/Bancos/DepositosCaja.aspx.vb +++ b/Bancos/DepositosCaja.aspx.vb @@ -29,25 +29,28 @@ Partial Class Bancos_DepositosCaja TxtIVA.Attributes.Add("onKeyUp", "txtSumaIVA(this);") TxtComisionIntermediario.Attributes.Add("onKeyUp", "txtSumaTntermediario(this);") - - CargaCuentas() - ChkFaltante.Attributes.Add("onclick", "CheckFaltante(this);") - ChkDescuento.Attributes.Add("onclick", "CheckDescuento(this);") + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then 'quita la opción de todos + DdlTipoDeposito.Items.Remove("-1") + End If + + CargaCuentas() + ChkFaltante.Attributes.Add("onclick", "CheckFaltante(this);") + ChkDescuento.Attributes.Add("onclick", "CheckDescuento(this);") ChkIntermediario.Attributes.Add("onclick", "CheckIntermediario(this);") - ChkCuentaRetorno.Attributes.Add("onclick", "CheckRowCuenta(this);") - BtnConsultar.Attributes.Add("onclick", "Consultar(this);") - BtnDepositar.Attributes.Add("onclick", "Depositar(this);") - + ChkCuentaRetorno.Attributes.Add("onclick", "CheckRowCuenta(this);") + BtnConsultar.Attributes.Add("onclick", "Consultar(this);") + BtnDepositar.Attributes.Add("onclick", "Depositar(this);") + 'Dim StrEncriptPrueba As String = Encripta($"OP=DC&CveIE={2784391}&CuentaCaja={"TestCuantaCaja"}&CuentaDepo={"Test cuenta"}") - 'HplImprimirPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={StrEncriptPrueba}" - + 'HplImprimirPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={StrEncriptPrueba}" + If UsuarioActual.CveEmpresa = 189 Then - If DdlTipoPago.Items.FindByValue("-1") IsNot Nothing Then - DdlTipoPago.Items.Remove(DdlTipoPago.Items.FindByValue("-1")) + If DdlTipoPago.Items.FindByValue("-1") IsNot Nothing Then + DdlTipoPago.Items.Remove(DdlTipoPago.Items.FindByValue("-1")) + End If End If + End If - - End If End Sub Private Sub CargaCuentas() From d06742457291690b6b5fee586f22887dddb934cf Mon Sep 17 00:00:00 2001 From: rakcsle Date: Wed, 7 Aug 2024 10:11:04 -0700 Subject: [PATCH 11/15] GDiaz - 2024.08.02, serie OC --- App_Code/ClsOC.vb | 12 ++- App_Code/ClsPaginas.vb | 5 +- Compras/Compras.aspx.vb | 12 +++ OC/OC.aspx | 19 +++++ OC/OC.aspx.vb | 97 +++++++++++++++++++++++-- Transportes/RepContratosCalendario.aspx | 2 +- Ventas/Ventas.aspx | 8 ++ Ventas/Ventas.aspx.vb | 6 ++ 8 files changed, 150 insertions(+), 11 deletions(-) diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index 3fb0c1389..08a417153 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -30,6 +30,7 @@ Public Class ClsOC Public Property CveOrdenCompra As Integer Public Property CveOrdenCompraDetalle As Integer Public Property Folio As Integer + Public Property Serie As String = "" Public Property CveIEAnticipo As Integer Public Property CveProveedorAnticipo As Integer Public Property FolioIEAnticipo As Integer @@ -120,6 +121,8 @@ Public Class ClsOC Public Property Promocion As String Public Property CveProveedorContacto As Integer Public Property NumRemision As String + Public Property PorcentajeProntoPago As Decimal = 0 + Public ReadOnly Property DtResultados() As DataTable Get @@ -606,6 +609,7 @@ Public Class ClsOC Dim dr As DataRow = Data.Rows(0) _CveOrdenCompra = dr("CveOrdenCompra").ToString.ToEntero _Folio = dr("Folio").ToString.ToEntero + _Serie = dr("Serie").ToString _CveIEAnticipo = dr("CveIEAnticipo").ToString.ToEntero _FolioIEAnticipo = dr("FolioIEAnticipo").ToString.ToEntero _ImporteAnticipo = dr("ImporteAnticipo").ToString.ToDecimal @@ -688,6 +692,7 @@ Public Class ClsOC Promocion = IfNull(dr("Promocion"), "", dr("Promocion").ToString).ToString CveProveedorContacto = If(Not IsDBNull(dr("CveProveedorContacto")), dr("CveProveedorContacto").ToString.ToEntero, -1) NumRemision = dr("NumRemision").ToString + PorcentajeProntoPago = dr("PorcentajeProntoPago").ToString.ToDecimal Retorno = True ElseIf Data.Rows.Count > 0 Then @@ -708,7 +713,7 @@ Public Class ClsOC Optional PorcentajeIVA As Decimal = 0.16D, Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional FechaExpiracion As Date = Nothing, Optional CveCotizacion As Integer = -1, Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional CveIEAnticipo As Integer = -1, Optional ImporteAnticipo As Decimal = 0, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional CveProveedorContacto As Integer = -1, Optional NumRemision As String = "-1", - Optional CveColectiva As Integer = -1, Optional MetodoPago As Integer = -1, Optional CveSubProyectoEntrega As Integer = -1) As Boolean + Optional CveColectiva As Integer = -1, Optional MetodoPago As Integer = -1, Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraAdd") @@ -755,6 +760,7 @@ Public Class ClsOC .Add("@CveColectiva", SqlDbType.Int).Value = CveColectiva .Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago ' 0 Contado, 1 Credito .Add("@CveSubProyectoEntrega", SqlDbType.Int).Value = CveSubProyectoEntrega ' 0 Contado, 1 Credito + .Add("@PorcentajeProntoPago", SqlDbType.Decimal).Value = PorcentajeProntoPago .Add("@vCveOrdenCompra", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@vFolio", SqlDbType.Int).Direction = ParameterDirection.Output @@ -919,7 +925,7 @@ Public Class ClsOC Optional IVA As Decimal = 0, Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IDPoliza As Integer = -1, Optional FechaExpiracion As Date = Nothing, Optional FolioAdicional As String = "", Optional EntregaDirecta As Integer = -1, Optional CveDireccionEnvio As Integer = -1, Optional Guia As String = "-1", Optional IEPS As Decimal = -1, Optional UsoCFDI As Integer = -1, Optional Promocion As String = "-1", Optional pCveProveedorSucursal As Integer = -1, Optional CveProveedorContacto As Integer = -1, Optional PorcentajeIVA As Decimal = 0.16D, Optional NumRemision As String = "-1", Optional MetodoPago As Integer = -1, - Optional CveSubProyectoEntrega As Integer = -1) As Boolean + Optional CveSubProyectoEntrega As Integer = -1, Optional PorcentajeProntoPago As Decimal = 0) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_OC_OrdenesCompraUpdate") @@ -956,6 +962,8 @@ Public Class ClsOC .Add("@NumRemision", SqlDbType.VarChar).Value = NumRemision .Add("@MetodoPago", SqlDbType.Int).Value = MetodoPago ' 0 Contado, 1 Credito .Add("@CveSubProyectoEntrega", SqlDbType.Int).Value = CveSubProyectoEntrega + .Add("@PorcentajeProntoPago", SqlDbType.Decimal).Value = PorcentajeProntoPago + End With diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 5bc558e69..c5f809bda 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -7845,7 +7845,10 @@ Public Class ClsPaginas params.Add(New ReportParameter("Proyecto", If(DtDetalle IsNot Nothing AndAlso DtDetalle.Rows.Count > 0, DtDetalle.MAX("Proyecto").ToString, ""))) End If params.Add(New ReportParameter("CentroCostos", If(DtDetalle IsNot Nothing AndAlso DtDetalle.Rows.Count > 0, DtDetalle.MAX("Proyecto").ToString, ""))) - params.Add(New ReportParameter("Folio", ObjOC.Folio.ToString)) + + + params.Add(New ReportParameter("Folio", If(ObjOC.Serie.Length > 0, $"{ObjOC.Serie}-{ObjOC.Folio.ToString}", ObjOC.Folio.ToString))) + params.Add(New ReportParameter("ProveedorNombre", ObjOC.RazonSocial)) params.Add(New ReportParameter("ProveedorLugar", ObjOC.LugarEntrega)) params.Add(New ReportParameter("Estatus", ObjOC.Estatus)) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index a532870b4..0553d1423 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -14242,6 +14242,7 @@ Partial Class Compras_Compras HdnVCveOC.Value = "" HdnCveEstatusOC.Value = "" + Dim tmpPorcentajeProntoPago As Decimal = 0 Dim OC As New ClsOC If PopUpOC Then Dim ArrayCveOC As String() = CvesOC.Split(New Char() {","c}) @@ -14252,6 +14253,7 @@ Partial Class Compras_Compras HdnCveEstatusOC.Value += String.Format("{0}{1}", If(HdnCveEstatusOC.Value <> "", ",", ""), OC.DtResultados.Rows(0)("CveEstatusSiguiente").ToString) EntregaDirecta += If(OC.DtResultados.Rows(0)("EntregaDirecta").ToString = "True", 1, 0) MetodoPagoOC = OC.DtResultados.Rows(0)("MetodoPagoOC").ToString.ToEntero + tmpPorcentajeProntoPago = OC.DtResultados.Rows(0)("PorcentajeProntoPago").ToString.ToDecimal End If End If Next @@ -14268,6 +14270,11 @@ Partial Class Compras_Compras HdnCveEstatusOC.Value += String.Format("{0}{1}", If(HdnCveEstatusOC.Value <> "", ",", ""), OC.DtResultados.Rows(0)("CveEstatusSiguiente").ToString) EntregaDirecta += If(OC.DtResultados.Rows(0)("EntregaDirecta").ToString = "True", 1, 0) MetodoPagoOC = OC.DtResultados.Rows(0)("MetodoPagoOC").ToString.ToEntero + + If tmpPorcentajeProntoPago = 0 Then + tmpPorcentajeProntoPago = OC.DtResultados.Rows(0)("PorcentajeProntoPago").ToString.ToDecimal + End If + End If End If Next @@ -14281,6 +14288,11 @@ Partial Class Compras_Compras PopUpOC = False + If tmpPorcentajeProntoPago > 0 Then + PorcentajeProntoPago = tmpPorcentajeProntoPago + End If + + If HdnVCveOC.Value <> "" Then If HdnCveEstatusOC.Value = "" Then Alert("No se tiene especificado el siguiente estatus de la Orden(es) de Compra. Por favor verifique los estatus y vuelva a intentar.", TipoMensaje.MsgAdvertencia) diff --git a/OC/OC.aspx b/OC/OC.aspx index 88f22bc33..2cd3d524d 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -477,6 +477,25 @@ + + Descuento: + + + + + + + + Descuento Pronto Pago: + + + + + + + + + diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 5738eb65c..0b8fc655a 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -6,6 +6,7 @@ Imports System.Data.SqlClient Imports System.IO Imports Extensiones Imports GemBox.Spreadsheet +Imports Microsoft.Ajax.Utilities Imports Newtonsoft.Json Partial Class OC_OC @@ -964,6 +965,11 @@ Partial Class OC_OC DdlSubProyectoGral.Visible = True End If + If UsuarioActual.CveRol = 1 Then + TrDescuentoEscalonado.Visible = True + TrDescuentoProntoPago.Visible = True + End If + End If MostrarUsuarioAsignado() @@ -1521,6 +1527,8 @@ Partial Class OC_OC TxtNumRemision.Text = objOC.NumRemision NumeroRemisionOriginal = objOC.NumRemision + TxtPorcentajeProntoPago.Text = (100 * objOC.PorcentajeProntoPago).ToString("###.00") + If Not IsNothing(objOC.Tipo) Then Select Case objOC.Tipo.ToUpper @@ -2709,6 +2717,11 @@ Partial Class OC_OC Dim LugarEntrega As String = If(txtLugarEntrega.Text.Trim = "", "-1", txtLugarEntrega.Text.Trim) LugarEntrega = If(DivLugarEntrega1.Visible, LugarEntrega, If(TxtLugarEntregaDirecta.Visible, TxtLugarEntregaDirecta.Text.Trim, "")) + Dim PorcentajeProntoPago As Decimal = 0 + If TxtPorcentajeProntoPago.Text.ToDecimal > 0 Then + PorcentajeProntoPago = TxtPorcentajeProntoPago.Text.ToDecimal / 100 + End If + 'GUARDA' If EsNuevo Then @@ -2753,7 +2766,7 @@ Partial Class OC_OC RequiereCotizacion:=ChkCotizacion.Checked, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text.Trim(), MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), - CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero) Then + CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago) Then CveOrdenCompraPadre = OC.CveOrdenCompra If CveOrdenCompraPadre > 0 Then @@ -2795,7 +2808,8 @@ Partial Class OC_OC RequiereCotizacion:=ChkCotizacion.Checked, CveUsuarioAsignado:=DdlUsuariosAsignado.SelectedValue.ToEntero, CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, - Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero) Then + Promocion:=Promocion, CveProveedorContacto:=CveProveedorContacto, NumRemision:=TxtNumRemision.Text, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, + PorcentajeProntoPago:=PorcentajeProntoPago) Then CveOrdenCompra = OC.CveOrdenCompra CveEstatus = CboE.SelectedValue.ToEntero @@ -2978,7 +2992,8 @@ Partial Class OC_OC LugarEntrega, DdlMoneda.SelectedValue.ToEntero, CveProveedor, CveOrdenCompra, UsuarioActual.CveUsuario, Ddlcliente.txtValue.Value.ToEntero, DdlVendedor.SelectedValue.ToEntero, txtobsprioridad.Text, IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), Guia:=TxtGuia.Text.Trim, IEPS:=TxtIEPS.Text.ToDecimal, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, Promocion:=Promocion, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveProveedorContacto:=CveProveedorContacto, - PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), NumRemision:=TxtNumRemision.Text, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero) Then + PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), NumRemision:=TxtNumRemision.Text, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, + PorcentajeProntoPago:=PorcentajeProntoPago) Then If CveProveedorOriginal <> CveProveedor Then If Not ObjConta.UpdateProveedorPoliza(CveOrdenCompra, CveProveedor, Proveedor) Then TieneError = True @@ -3403,8 +3418,16 @@ Partial Class OC_OC ' Exit Function 'End If + + If TipoOS Then Return False + + Dim PorcentajeProntoPago As Decimal = 0 + If TxtPorcentajeProntoPago.Text.ToDecimal > 0 Then + PorcentajeProntoPago = TxtPorcentajeProntoPago.Text.ToDecimal / 100 + End If + Dim CveCotizacion As Integer = 0 Dim CveColectiva As Integer = 0 Dim HuboError As Boolean = False @@ -3452,7 +3475,7 @@ Partial Class OC_OC PorcentajeIVA:=PorIVA, IVA:=IVACot, RetIVA:=RetIVA.ToString.ToDecimal, RetISR:=RetISR.ToString.ToDecimal, IDPoliza:=IdPoliza, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, Promocion:=Promocion, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, NumRemision:=TxtNumRemision.Text.Trim, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), - CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero) Then + CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago) Then 'CREA POLIZA POR CADA PROVEEDOR @@ -3528,7 +3551,7 @@ Partial Class OC_OC CveUsuario, CveEmpresaActual, 0, pCveProveedor:=DdlProveedores.SelectedValue.ToEntero, pCveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero, CveUsuarioAsignado:=DdlUsuariosAsignado.SelectedValue.ToEntero(), CveCliente:=Ddlcliente.txtValue.Value.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, PrioridadObservacion:=txtobsprioridad.Text, PorcentajeIVA:=Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2), IVA:=IVA, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, IDPoliza:=IDPolizaPresupuestal, CveCotizacion:=CveCotizacion, FolioAdicional:=TxtFolioAdicional.Text, EntregaDirecta:=If(ChkEntregaDirecta.Checked, 1, -1), CveDireccionEnvio:=If(DdlDireccionEnvio.Visible, DdlDireccionEnvio.SelectedValue.ToEntero, -1), IEPS:=TxtIEPS.Text.ToDecimal, CveIEAnticipo:=CveIEAnticipo, ImporteAnticipo:=ImporteAnticipos, UsoCFDI:=DdlUsoCFDI.SelectedValue.ToEntero, - Promocion:=Promocion, NumRemision:=TxtNumRemision.Text.Trim, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero) Then + Promocion:=Promocion, NumRemision:=TxtNumRemision.Text.Trim, MetodoPago:=DdlMetodoPago.SelectedValue.ToEntero(), CveSubProyectoEntrega:=DdlSubProyectoEntrega.SelectedValue.ToEntero, PorcentajeProntoPago:=PorcentajeProntoPago) Then 'USA AC @@ -4243,8 +4266,8 @@ Partial Class OC_OC End If End If - 'Agarra el nuevo AF si se modifico o deja el pasado - CveActivoFijo = If(gvr.FCHiddenField("HdnCveActivoFijo").Value.ToEntero > 0, gvr.FCHiddenField("HdnCveActivoFijo").Value.ToEntero, HdnEditCveActivoFijo.Value.ToEntero) + 'Agarra el nuevo AF si se modifico o deja el pasado + CveActivoFijo = If(gvr.FCHiddenField("HdnCveActivoFijo").Value.ToEntero > 0, gvr.FCHiddenField("HdnCveActivoFijo").Value.ToEntero, HdnEditCveActivoFijo.Value.ToEntero) Codigo = If(gvr.FCHiddenField("HdnCodigoAF").Value <> "-1", gvr.FCHiddenField("HdnCodigoAF").Value, HdnEditCodigo.Value) HdnEditCveActivoFijo.Value = "" @@ -9289,5 +9312,65 @@ Partial Class OC_OC UPPDetalle.Update() CargaFolios() End Sub + + Protected Sub BtnDescuenEscalonado_Click(sender As Object, e As EventArgs) + + Dim descuentoParts As String() = TxtDescuentoEscalonado.Text.Split("+"c) + + + For Each dRow As DataRow In DtDetalle.Rows + + Dim PU As Decimal = dRow("Importe").ToString.ToDecimal + Dim Cantidad As Decimal = dRow("Cantidad").ToString.ToDecimal + Dim IVAPorcentaje As Decimal = dRow("IVAPorcentaje").ToString.ToDecimal + Dim IEPSPSPorcentaje As Decimal = dRow("IEPSPSPorcentaje").ToString.ToDecimal + Dim IEPSPSIVAPorcentaje As Decimal = dRow("IEPSPSIVAPorcentaje").ToString.ToDecimal + Dim RetIVAPorcentaje As Decimal = dRow("RetIVAPorcentaje").ToString.ToDecimal + Dim RetISRPorcentaje As Decimal = dRow("RetISRPorcentaje").ToString.ToDecimal + + Dim TotalTemp As Decimal = (PU * Cantidad) + Dim Descuento As Decimal = 0 + If descuentoParts.Length = 0 Then + Descuento = 0 + Else + + For i As Integer = 0 To descuentoParts.Length - 1 + Dim descuentoPart As Decimal = descuentoParts(i).Trim().ToDecimal + If descuentoPart > 0 Then + Descuento = Descuento + ((TotalTemp - Descuento) * (descuentoPart / 100)) + Else + Continue For + End If + Next + + End If + + Dim Total As Decimal = If(PU > 0, (PU * Cantidad) - Descuento, 0) + + dRow("Descuento") = Descuento + dRow("Total") = Total + dRow("IEPSPS") = Math.Round(IEPSPSPorcentaje * Total, 2) + dRow("IEPSPSIVA") = Math.Round(IEPSPSIVAPorcentaje * Total, 2) + + dRow("IVA") = Math.Round(IVAPorcentaje * Total, 2) + + dRow("RetIVA") = (RetIVAPorcentaje * Total).RoundSQL(2) + dRow("RetISR") = (RetISRPorcentaje * Total).RoundSQL(2) + + + Next + + DtDetalle.AcceptChanges() + + CalculaGenerales() + + GvD.DataSource = DtDetalle + GvD.DataBind() + + UpIvas.Update() + UPPDetalle.Update() + + + End Sub End Class diff --git a/Transportes/RepContratosCalendario.aspx b/Transportes/RepContratosCalendario.aspx index 028bcf371..0a69f7351 100644 --- a/Transportes/RepContratosCalendario.aspx +++ b/Transportes/RepContratosCalendario.aspx @@ -388,7 +388,7 @@
+ Rows="6">
diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 68a1d661a..5e4ec35f7 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -924,6 +924,7 @@ + Estatus:  @@ -933,6 +934,13 @@