diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 13ed73731..943da8b0c 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -3975,7 +3975,7 @@ Public Class ClsPaginas PaginaDict.Add("/Compras/RepDocumentacionProveedor.aspx".ToUpper(), 1206) PaginaDict.Add("/Compras/CatPaqueteriasGuiasTipo.aspx".ToUpper(), 753) PaginaDict.Add("/Compras/RepEvaluacionesProveedores.aspx".ToUpper(), 754) - PaginaDict.Add("/Ventas/RepTopCientesVentas.aspx".ToUpper(), 755) + PaginaDict.Add("/Ventas/RepTopClientesVentas.aspx".ToUpper(), 755) #End Region diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 525209743..46f49aa46 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -4432,6 +4432,25 @@ Public Class ClsVentas End Try Return retorno End Function + + Public Function GetRepTopClientesVentas(CveEmpresa As Integer, Mes As Integer, Año As Integer, Optional Top As Integer = 20, Optional CveSubProyecto As Integer = -1) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Vta_Top20ClientesMasVendidos", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Mes", SqlDbType.Int).Value = Mes + .Add("@Año", SqlDbType.Int).Value = Año + .Add("@Top", SqlDbType.Int).Value = Top + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + End With + Try + SqlAdapter.Fill(Data) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el top de clientes", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return retorno + End Function #Region "Conciliación emitidas SAT" Public Function ConciliacionemitidasSATGet(cveEmpresa As Int32) As Boolean diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index ba138a872..8d4ebb2f7 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -3997,9 +3997,24 @@ Namespace Modelos Dim CancelarRemisiones As Boolean = ListaRemisionesCancelar IsNot Nothing AndAlso ListaRemisionesCancelar.Count > 0 Dim TieneAlmacen As Boolean = False + Dim AplicaRefacturacionConPagos As Boolean = False + + '1 NORMAL, 2 CON PAGOS + Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero() + + If ModalidadRefacturacion <= 0 Then + Retorno.Mensaje = "La factura no se puede refacturar debido a que la empresa no tiene asignada una modalidad de refacturación." + Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia + + Return Retorno + End If + + If EsRefacturacion AndAlso ModalidadRefacturacion = 2 Then + AplicaRefacturacionConPagos = True + End If 'VALIDA QUE LA FACTURA NO TENGA PAGOS - If Not EsRefacturacion AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Rem") AndAlso ObjFactura.Pagado > 0 Then + If Not AplicaRefacturacionConPagos AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Rem") AndAlso ObjFactura.Pagado > 0 Then Retorno.Mensaje = "La factura no se puede cancelar debido a que tiene pagos vinculados." Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia @@ -4023,7 +4038,7 @@ Namespace Modelos End If 'LA VALIDACION DE SALDOS CUANDO ES REFACTURACION SE HACE ANTES ASI QUE SI ES REFACTURACION IGNORAMOS ESTA CONDICION, SI ES ANTICIPO VERIFICA QUE NO ESTÉ APLICADO - If Not EsRefacturacion AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Rem") AndAlso ObjFactura.Pagado > 0 AndAlso DTDocumentosRelacionados.Rows.Count > 0 Then + If Not AplicaRefacturacionConPagos AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Rem") AndAlso ObjFactura.Pagado > 0 AndAlso DTDocumentosRelacionados.Rows.Count > 0 Then Retorno.Mensaje = "La factura no se puede cancelar debido a que tiene pagos vinculados." Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia @@ -4283,7 +4298,7 @@ Namespace Modelos End If 'CUANDO LA CANCELACION ESTA EN PROCESO NO DEBE REALIZAR NADA DE ESTE PROCESO - If Not EsRefacturacion AndAlso ((((ObjFactura.Saldo > 0 AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20)) OrElse (ObjFactura.Total = 0 AndAlso UsuarioActual.CveEmpresa.Contiene(72) AndAlso ObjFactura.TipoDocto.Contiene("Ing"))) AndAlso CveEstatus.Contiene(4, 5)) OrElse (CvePlantillaPoliza = 7 AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20))) Then + If Not AplicaRefacturacionConPagos AndAlso ((((ObjFactura.Saldo > 0 AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20)) OrElse (ObjFactura.Total = 0 AndAlso UsuarioActual.CveEmpresa.Contiene(72) AndAlso ObjFactura.TipoDocto.Contiene("Ing"))) AndAlso CveEstatus.Contiene(4, 5)) OrElse (CvePlantillaPoliza = 7 AndAlso (CveEstatus > 0 AndAlso CveEstatus <> 20))) Then 'CUANDO SE CANCELA, LA PÓLIZA DEBE DE SER DE DIARIO CvePrePoliza = ObjConta.AddPrePolizas("Modelos/CancelarDocumento", CvePlantillaPoliza, ObjFactura.Total, ObjFactura.Total, ObjFactura.CveMoneda, Now, ObjFactura.Cliente.Nombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3) @@ -4294,16 +4309,8 @@ Namespace Modelos MensajeError = "Ocurrió un error al generar la prepoliza de cancelación." End If - ''CANCELAR PAGOS - 'If EsRefacturacion AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Rem", "Ant") AndAlso ObjFactura.Pagado > 0 Then - ' If Not ObjVentas.CancelarPagos(ObjFactura.CveVenta, CvePrePoliza) Then - ' ErrorCancelar = True - ' MensajeError = "Ocurrió un error al generar la cancelación de pagos." - ' End If - 'End If - 'CANCELAR PAGOS - If Not EsRefacturacion AndAlso ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then + If ObjFactura.TipoDocto.Contiene("Egs", "Dev") Then If Not ErrorCancelar Then If Not ObjConta.PrePolizasCancelarPagos(ObjFactura.CveDevolucion, CvePrePoliza) Then ErrorCancelar = True @@ -4312,7 +4319,6 @@ Namespace Modelos End If End If - 'CANCELA PREPOLIZA If Not ErrorCancelar Then ErrorCancelar = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, ObjAC, -1, ObjBancos, ObjVentas, ObjEventos, DtRemisionesRelacionadas:=DtRemisionesRelacionadas, SeCancelaRemisionProceso:=SeCancelaRemisionProceso, diff --git a/Bancos/PagoElectronicoGrupos.aspx b/Bancos/PagoElectronicoGrupos.aspx index e8c9384e9..567686b7d 100644 --- a/Bancos/PagoElectronicoGrupos.aspx +++ b/Bancos/PagoElectronicoGrupos.aspx @@ -250,6 +250,9 @@    + + + <%----%> @@ -621,6 +624,64 @@