diff --git a/Acumuladores/EntradasUsadosResumenRep.aspx.vb b/Acumuladores/EntradasUsadosResumenRep.aspx.vb index 6a4077447..fb134f4fb 100644 --- a/Acumuladores/EntradasUsadosResumenRep.aspx.vb +++ b/Acumuladores/EntradasUsadosResumenRep.aspx.vb @@ -117,7 +117,7 @@ Partial Class Acumuladores_RepEntradasUsados SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) Dim workbook As New ExcelFile() - Dim worksheet = workbook.Worksheets.Add("Sabana de ventas") + Dim worksheet = workbook.Worksheets.Add("DATOS") worksheet.InsertDataTable(dt, New InsertDataTableOptions() With { .ColumnHeaders = True, @@ -129,6 +129,10 @@ Partial Class Acumuladores_RepEntradasUsados Dim columnCount = worksheet.CalculateMaxUsedColumns() For i = 0 To columnCount + 'COLUMNA DE FECHA + If i = 1 Then + worksheet.Columns(i).Style.NumberFormat = "dd/MM/yyyy" + End If worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1)) Next diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb index aae731e67..f08a19c90 100644 --- a/App_Code/ClsMovimientos.vb +++ b/App_Code/ClsMovimientos.vb @@ -1504,7 +1504,8 @@ Public Class ClsMovimientos Optional CveBanco As Integer = -1, Optional CveCuenta As Integer = -1, Optional TipoCambio As Integer = -1, Optional TCEspecifico As Double = 0, Optional CveClienteClasificacion As Integer = -1, Optional EsDistribuidor As Integer = -1, Optional FechaAplicadoI As Date = MinFecha, Optional FechaAplicadoF As Date = MaxFecha, - Optional FechaRegistroIEI As Date = MinFecha, Optional FechaRegistroIEF As Date = MaxFecha) As Boolean + Optional FechaRegistroIEI As Date = MinFecha, Optional FechaRegistroIEF As Date = MaxFecha, + Optional CveCondicionesPago As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_RepRecuperacion") With SqlAdapter.SelectCommand.Parameters @@ -1528,6 +1529,7 @@ Public Class ClsMovimientos .Add("@TCEspecifico", SqlDbType.Float).Value = TCEspecifico .Add("@CveClienteClasificacion", SqlDbType.Int).Value = CveClienteClasificacion .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor + .Add("@CveCondicionesPago", SqlDbType.Int).Value = CveCondicionesPago .Add("@FechaAplicadoI", SqlDbType.Date).Value = FechaAplicadoI.ToShortDateString .Add("@FechaAplicadoF", SqlDbType.Date).Value = FechaAplicadoF.ToShortDateString diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 2daceca7c..1a8716066 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -144,13 +144,14 @@ Public Class ClsVentas End Sub #End Region - Public Function GetVenta(CveVenta As Integer, CveEmpresa As Integer) As Boolean + Public Function GetVenta(CveVenta As Integer, CveEmpresa As Integer, Optional VerificaAlmacen As Boolean = True) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_VentasGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveVenta", SqlDbType.Int).Value = CveVenta .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@VerificaAlmacen", SqlDbType.Bit).Value = If(VerificaAlmacen, 1, 0) End With Try @@ -1664,7 +1665,7 @@ Public Class ClsVentas Optional TipoDocto As String = "-1", Optional GPO As Integer = -1, Optional CveMoneda As Integer = -1, Optional TipoCambio As Integer = -1, Optional TCEspecifico As Double = 0, Optional CveClienteClasificacion As Integer = -1, Optional CveProveedorCompra As Integer = -1, Optional CveMarca As Integer = -1, Optional CveClasificacionDetalle As Integer = -1, Optional TipoCliente As Integer = -1, Optional ModalidadContable As Boolean = False, - Optional EsGarantia As Integer = -1, Optional CveCondicionesPago As Integer = -1, Optional EsDistribuidor As Integer = -1) As Boolean + Optional EsGarantia As Integer = -1, Optional MostrarLitraje As Boolean = False, Optional CveCondicionesPago As Integer = -1, Optional EsDistribuidor As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_GetRepPSDetalle") @@ -1696,6 +1697,7 @@ Public Class ClsVentas .Add("@CveProveedorCompra", SqlDbType.Int).Value = CveProveedorCompra .Add("@CveMarca", SqlDbType.Int).Value = CveMarca .Add("@CveClasificacionDetalle", SqlDbType.Int).Value = CveClasificacionDetalle + .Add("@MostrarLitraje", SqlDbType.Bit).Value = MostrarLitraje .Add("@TipoCliente", SqlDbType.Int).Value = TipoCliente .Add("@ModalidadContable", SqlDbType.Bit).Value = ModalidadContable .Add("@EsGarantia", SqlDbType.Int).Value = EsGarantia @@ -1764,7 +1766,7 @@ Public Class ClsVentas End With Try - Dataset = New DataSet() + Dataset = New DataSet() SqlAdapter.Fill(Dataset) Retorno = True Catch ex As Exception @@ -3122,7 +3124,7 @@ Public Class ClsVentas Else If showalert Then - Alert("No se encontraron cancelaciones pendientes", ModExtensiones.TipoMensaje.MsgError) + Alert("No se encontraron cancelaciones pendientes", ModExtensiones.TipoMensaje.MsgAdvertencia) End If End If Else @@ -3913,48 +3915,48 @@ Public Class ClsVentas Return Retorno End Function - Public Function GetRepComisionesServec(CveVendedor As Integer, FechaI As Date, FechaF As Date, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_ReporteComisionesServecGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@FechaI", SqlDbType.Date).Value = FechaI - .Add("@FechaF", SqlDbType.Date).Value = FechaF - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .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 Reporte de Comisiones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno + Public Function GetRepComisionesServec(CveVendedor As Integer, FechaI As Date, FechaF As Date, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ReporteComisionesServecGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@FechaI", SqlDbType.Date).Value = FechaI + .Add("@FechaF", SqlDbType.Date).Value = FechaF + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .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 Reporte de Comisiones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno End Function - Public Function GetRepComisionesServecDetalle(CveVendedor As Integer, FechaI As Date, FechaF As Date, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_ReporteComisionesServecDetalleGet") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@FechaI", SqlDbType.Date).Value = FechaI - .Add("@FechaF", SqlDbType.Date).Value = FechaF - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .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 Reporte de Comisiones Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno + Public Function GetRepComisionesServecDetalle(CveVendedor As Integer, FechaI As Date, FechaF As Date, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ReporteComisionesServecDetalleGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@FechaI", SqlDbType.Date).Value = FechaI + .Add("@FechaF", SqlDbType.Date).Value = FechaF + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .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 Reporte de Comisiones Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno End Function #End Region @@ -4994,19 +4996,19 @@ Public Class ClsVentas Return retorno End Function - Public Function GetVentasNoEnviadas(CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_VentasNoEnviadas") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener las ventas no enviadas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno + Public Function GetVentasNoEnviadas(CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_VentasNoEnviadas") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener las ventas no enviadas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function #Region "Conciliación emitidas SAT" @@ -5094,7 +5096,7 @@ Public Class ClsVentas Return Retorno End Function - Public Function GetVentasGarantiaPendiente(CveVenta As Integer, CveSubProyecto As Integer, Fecha As DateTime, CveEmpresa As Integer, Optional ServicioDomicilio As Boolean = False) As Boolean + Public Function GetVentasGarantiaPendiente(CveVenta As Integer, Fecha As DateTime, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasGarantiasPendienteGet", CommandType.StoredProcedure) @@ -5154,24 +5156,24 @@ Public Class ClsVentas Return Retorno End Function - Public Function AddVentaDetalleRNCFacturada(CveVentaDetalleRNC As Integer, CveVentaDetalle As Integer, CantidadFacturada As Decimal) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_VentaDetalleRNCFacturadaAdd") - - With SqlAdapter.SelectCommand.Parameters - .Add("@CveVentaDetalleRNC", SqlDbType.Int).Value = CveVentaDetalleRNC - .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle - .Add("@CantidadFacturada", SqlDbType.Float).Value = CantidadFacturada - End With - - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As SqlException - OnError("Ocurrió un error al agregar lo facturado de la RNC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - - Return Retorno + Public Function AddVentaDetalleRNCFacturada(CveVentaDetalleRNC As Integer, CveVentaDetalle As Integer, CantidadFacturada As Decimal) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_VentaDetalleRNCFacturadaAdd") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVentaDetalleRNC", SqlDbType.Int).Value = CveVentaDetalleRNC + .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle + .Add("@CantidadFacturada", SqlDbType.Float).Value = CantidadFacturada + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + OnError("Ocurrió un error al agregar lo facturado de la RNC.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno End Function Public Function GetRNCRelacionadas(CveVenta As Integer) As Boolean Dim Retorno As Boolean = False @@ -5279,140 +5281,140 @@ 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) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_AutorizacionLimitesAdd") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@Importe", SqlDbType.Money).Value = Importe + 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) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_AutorizacionLimitesAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@Importe", SqlDbType.Money).Value = Importe .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@TipoAutorizacion", SqlDbType.Int).Value = TipoAutorizacion - .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento - .Add("@DiasVencidos", SqlDbType.Int).Value = DiasVencidos - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los limites.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno + .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento + .Add("@DiasVencidos", SqlDbType.Int).Value = DiasVencidos + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los limites.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function - Public Function GetAutorizacionLimite(CveEmpresa As Integer, CveCliente As Integer, CveVendedor As Integer, TipoDocumento As String, Optional CveEstatus As Integer = -1, Optional FechaI As DateTime = MinFecha, Optional FechaF As DateTime = MaxFecha) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_AutorizacionLimitesGet") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus - .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento - .Add("@FechaI", SqlDbType.Date).Value = FechaI - .Add("@FechaF", SqlDbType.Date).Value = FechaF - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los limites.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno + Public Function GetAutorizacionLimite(CveEmpresa As Integer, CveCliente As Integer, CveVendedor As Integer, TipoDocumento As String, Optional CveEstatus As Integer = -1, Optional FechaI As DateTime = MinFecha, Optional FechaF As DateTime = MaxFecha) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_AutorizacionLimitesGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus + .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento + .Add("@FechaI", SqlDbType.Date).Value = FechaI + .Add("@FechaF", SqlDbType.Date).Value = FechaF + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los limites.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function - Public Function UpdateAutorizacionLimite(CveAutorizacion As Integer, CveCliente As Integer, CveVenta As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_AutorizacionlimitesEstatusUpdate") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveAutorizacion", SqlDbType.Int).Value = CveAutorizacion - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVenta", SqlDbType.Int).Value = CveVenta - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al actualizar los limites.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno + Public Function UpdateAutorizacionLimite(CveAutorizacion As Integer, CveCliente As Integer, CveVenta As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_AutorizacionlimitesEstatusUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveAutorizacion", SqlDbType.Int).Value = CveAutorizacion + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar los limites.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function - Public Function RemoveAutorizacionLimite(CveAutorizacion As Integer, CveCliente As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_AutorizacionLimitesRemove") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveAutorizacion", SqlDbType.Int).Value = CveAutorizacion - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al eliminar los limites.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno + Public Function RemoveAutorizacionLimite(CveAutorizacion As Integer, CveCliente As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_AutorizacionLimitesRemove") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveAutorizacion", SqlDbType.Int).Value = CveAutorizacion + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar los limites.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function #Region "C L I E N T E S V E N D E D O R E S S U B P R O Y E C T O S" - Public Function GetClientesVendedoresSubProyectos(CveCliente As Integer, CveVendedor As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_ClientesVendedoresSubProyectosGet") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + Public Function GetClientesVendedoresSubProyectos(CveCliente As Integer, CveVendedor As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ClientesVendedoresSubProyectosGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al obtener los vendedores.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los vendedores.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function - Public Function AddClientesVendedoresSubProyectos(CveCliente As Integer, CveVendedor As Integer, CveSubProyecto As Integer, CveUsuario As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_ClientesVendedoresSubProyectosAdd") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor - .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al agregar el vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno + Public Function AddClientesVendedoresSubProyectos(CveCliente As Integer, CveVendedor As Integer, CveSubProyecto As Integer, CveUsuario As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ClientesVendedoresSubProyectosAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar el vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function - Public Function RemoveClientesVendedoresSubProyectos(CveCliente As Integer, CveVendedor As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Vta_ClientesVendedoresSubProyectosRemove") - With SqlAdapter.SelectCommand.Parameters - .Add("@CveCliente", SqlDbType.Int).Value = CveCliente - .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor + Public Function RemoveClientesVendedoresSubProyectos(CveCliente As Integer, CveVendedor As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Vta_ClientesVendedoresSubProyectosRemove") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto - .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al eliminar el vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) - End Try - Return Retorno + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar el vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno End Function #End Region diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 2f98c6f49..95cad2ac0 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -3920,7 +3920,7 @@ Public Class Timbrado #Region "Timbra" If ArchivoGenerado Then - cfdi.TimbrarCfdi(UsuarioServicio, ClaveServicio, UrlServicio, TimbraProduccion) + cfdi.TimbrarCfdi(UsuarioServicio, ClaveServicio, TimbraProduccion) sw.Stop() swTiempo.AppendFormat("Timbrado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index e8f7cfcc6..431c75456 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -2614,7 +2614,7 @@ Partial Class Bancos_IE End If End If If Opcion = "DevDinC" Then - CvePlantillaPoliza = 2 + CvePlantillaPoliza = 40 End If 'Cuando es Egreso sin factura, se registra una compra tipo anticipo @@ -3068,6 +3068,7 @@ Partial Class Bancos_IE Dim ImporteAplicarMN = 0.0D Dim ImporteAplicarME = 0.0D Dim ReferenciaAplicar = ObjIE.Folio + Dim CveSubProyecto As Integer = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveSubProyecto).FiltroPrimeroValor("CveSubProyecto").ToEntero Dim ConceptoAplicar = $"Devolución de Proveedor {PagueseA} {TxtImporte.Text} NC:{SerieFolioDeCDin}" @@ -3398,7 +3399,7 @@ Partial Class Bancos_IE End If - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoIE, Impo, ReferenciaAplicar, CveConcIE, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=Impo, ImporteME:=0, TipoCambio:=TCDocumento) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoIE, Impo, ReferenciaAplicar, CveConcIE, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=Impo, ImporteME:=0, TipoCambio:=TCDocumento, CveSubProyecto:=CveSubProyecto) Then MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" Exit Select End If diff --git a/Bancos/PopIEVentas.aspx.vb b/Bancos/PopIEVentas.aspx.vb index fd05105d7..de7391935 100644 --- a/Bancos/PopIEVentas.aspx.vb +++ b/Bancos/PopIEVentas.aspx.vb @@ -1523,7 +1523,7 @@ Partial Class Bancos_PopIEVentas Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion < tFecha Then + If UltimaFluctuacion.FechaFluctuacion <= tFecha Then FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion End If diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 1ba70513e..dc8dcf979 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -929,7 +929,7 @@ Partial Class Bancos_ProveedoresAbonar Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion < tFecha Then + If UltimaFluctuacion.FechaFluctuacion <= tFecha Then FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion End If diff --git a/Bin/GoCfdi.dll b/Bin/GoCfdi.dll index 927dddc9b..6f700aebb 100644 Binary files a/Bin/GoCfdi.dll and b/Bin/GoCfdi.dll differ diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 6865b06b2..55031430c 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -6900,7 +6900,7 @@ Partial Class Compras_Compras Dim IdCtaContable69 As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacion69}").ToString.ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaDevolucion, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable69, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto69, CveClasificacion:=CveClasificacion69) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DiferenciaDevolucion, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable69, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=DiferenciaDevolucion, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto69, CveClasificacion:=CveClasificacion69) Then ErrorPrepoliza = True End If End If diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 11c6901a0..221b694d8 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -952,7 +952,7 @@ Partial Class PopUpVerFactura Dim EnvioContacto As String = "" Dim EnvioDireccion As String = "" Dim Guia As String = "" - If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then + If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, False) Then If ObjVentas.DtResultados.Rows.Count > 0 Then SerieFolio = ObjVentas.DtResultados.Rows(0)("SerieFolio").ToString PedidoContrato = ObjVentas.DtResultados.Rows(0)("PedidoContrato").ToString @@ -1838,7 +1838,7 @@ Partial Class PopUpVerFactura TmpDTImpuestosIVAIEPS.Columns.Add("Importe", GetType(Double)) TmpDTImpuestosIVAIEPS.Columns.Add("Orden", GetType(Integer)) - If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then + If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, False) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then Dim dtVentas As DataTable = ObjVentas.DtResultados ' se rellenan los campos de la factura @@ -4849,7 +4849,7 @@ Partial Class PopUpVerFactura Dim drv As DataRow = Nothing Dim ObjVentas As New ClsVentas - If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then + If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, False) AndAlso ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then drv = ObjVentas.DtResultados.FiltroPrimero("") End If ObjVentas.Dispose() diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index b5ca68e64..78376bdd2 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -2306,7 +2306,7 @@ Partial Class Inventarios_EntregaAlmacen ' COMIENZA: GARANTIAS If Not ErrorMovInv AndAlso TipoDocto.Contiene("Ing", "Rem") AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso TipoMovimiento = 1 Then - Dim CveAlmacenGarantia As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 6).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero() + Dim CveAlmacenGarantia As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveTipoAlmacen:=6).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero() Dim DtGarantias As DataTable = Nothing If ObjAcumuladores.GetGarantiasDetalle(CveVentaSurtir) Then @@ -2314,7 +2314,7 @@ Partial Class Inventarios_EntregaAlmacen End If If DtGarantias IsNot Nothing AndAlso DtGarantias.Rows.Count > 0 AndAlso CveAlmacenGarantia > 0 Then - CveMovimientoGarantia = ObjInventario.AddMovimiento(CveAlmacenGarantia, 2, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, Modulo:="RE/G5") + CveMovimientoGarantia = ObjInventario.AddMovimiento(CveAlmacenGarantia, 2, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaSurtir, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, Modulo:="EA/G5") FolioGarantia = ObjInventario.Folio For Each RowGarantia As DataRow In DtGarantias.Rows @@ -2916,7 +2916,8 @@ Partial Class Inventarios_EntregaAlmacen Msg.AppendFormat("

Se agregó una guía de paquetería interna") End If - If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso TipoDocto = "Rem" Then + 'SI NO ES GARANTIA MANDA A RECIBIR AL USADO + If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso TipoDocto = "Rem" AndAlso CveMovimientoGarantia <= 0 Then Msg.AppendFormat("

Recibir Usado: Ir a Recepción de Usados", CveVentaSurtir) End If diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index af21343d2..7f5d10e5c 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -4874,10 +4874,9 @@ Partial Class Inventarios_RecepcionAlmacen Dim Cantidad As Double = RowExcel("Cantidad").ToString().ToDecimal() Dim Serie As String = RowExcel("Serie").ToString() - Dim Lote As String '= RowExcel("Lote").ToString() - Dim FechaCaducidad As Date '= If(RowExcel("FechaCaducidad").ToString = "", MinFecha, RowExcel("FechaCaducidad").ToString.ToDate) - Dim Observaciones As String '= If(dt.Columns.Contains("Observaciones"), RowExcel("Observaciones").ToString, "").ToString - + Dim Lote As String = "" '= RowExcel("Lote").ToString() + Dim FechaCaducidad As Date = MinFecha '= If(RowExcel("FechaCaducidad").ToString = "", MinFecha, RowExcel("FechaCaducidad").ToString.ToDate) + Dim Observaciones As String = "" '= If(dt.Columns.Contains("Observaciones"), RowExcel("Observaciones").ToString, "").ToString Dim Valido As Boolean = True diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb index 9dfc42521..668f6b8b2 100644 --- a/Inventarios/RecepcionUsados.aspx.vb +++ b/Inventarios/RecepcionUsados.aspx.vb @@ -240,6 +240,15 @@ Partial Class Inventarios_RecepcionUsados ViewState("CveRemisionRecibida") = value End Set End Property + + Private Property CargoRemisionDesdeURL As Boolean + Get + Return CBool(IfNull(ViewState("CargoRemisionDesdeURL"), False, CBool(ViewState("CargoRemisionDesdeURL")))) + End Get + Set(value As Boolean) + ViewState("CargoRemisionDesdeURL") = value + End Set + End Property Private Property EsDistribuidor As Boolean Get Return CBool(IfNull(ViewState("EsDistribuidor"), False, CBool(ViewState("EsDistribuidor")))) @@ -348,6 +357,7 @@ Partial Class Inventarios_RecepcionUsados Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then + CargoRemisionDesdeURL = False CargaInicial() CargaRemisionFromURL() GeneraRNCFromURL() @@ -431,6 +441,7 @@ Partial Class Inventarios_RecepcionUsados Dim CveRemision As Integer = IfNull(Request("CveRemision"), "-1").ToString().ToEntero() If CveRemision > 0 Then + Me.CargoRemisionDesdeURL = True Me.CveRemisionRecibida = CveRemision RecibirRemision() End If @@ -591,14 +602,7 @@ Partial Class Inventarios_RecepcionUsados DdlMoneda.DataSource = GlobalDTMonedas DdlMoneda.DataBind() - Dim dtt As DataTable = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen IN (22)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa) - - 'Llenar el dropdownlist de almacén - DdlAlmacen.DataSource = dtt - - 'DdlAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1")) - 'DdlAlmacen.SelectedValue = "-1" - DdlAlmacen.DataBind() + CargaAlmacen() If IsNothing(Request("CveMovimiento")) Then DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen) @@ -607,6 +611,33 @@ Partial Class Inventarios_RecepcionUsados CargaPS() End Sub + + Private Sub CargaAlmacen(Optional CveSubProyecto As Integer = -1, Optional TipoAlmacen As Integer = 22) + DdlAlmacen.Items.Clear() + 'Llenar el dropdownlist de almacén + Dim dt As DataTable = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoAlmacen:=TipoAlmacen) + + If CveSubProyecto > 0 Then + dt = dt.FiltraParametros($"CveSubProyecto = {CveSubProyecto}") + End If + + DdlAlmacen.DataSource = dt + DdlAlmacen.DataBind() + + If Not DdlAlmacen.Items.Contains(New ListItem("Seleccione", "-1")) Then + DdlAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1")) + End If + + If CveSubProyecto > 0 Then + Dim CveAlmacen As Integer = dt.FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto = {CveSubProyecto}").ToEntero() + If CveAlmacen > 0 Then + DdlAlmacen.SelectedValueExist(CveAlmacen) + End If + End If + + dt.Dispose() + + End Sub Private Sub CargaPS() Dim ObjAcum As New ClsAcumuladores Dim lista As New List(Of String) @@ -723,6 +754,8 @@ Partial Class Inventarios_RecepcionUsados ObjFactura = Nothing End If + DivRemisionRecibida.Visible = False + If ObjRemisionNC IsNot Nothing Then ObjRemisionNC.Dispose() ObjRemisionNC = Nothing @@ -753,9 +786,7 @@ Partial Class Inventarios_RecepcionUsados DivRegistro.Visible = False DivTipoCambio.Visible = False - If Not DdlAlmacen.Items.Contains(New ListItem("Seleccione", "-1")) Then - DdlAlmacen.Items.Add(New ListItem("Seleccione", "-1")) - End If + CargaAlmacen() DdlAlmacen.SelectedValue = "-1" If Not EsConsumoInterno Then @@ -785,6 +816,7 @@ Partial Class Inventarios_RecepcionUsados 'CargaInicial() + UpGenerales.Update() UpRegistroTipoCambio.Update() UPDatos.Update() End Sub @@ -1162,7 +1194,7 @@ Partial Class Inventarios_RecepcionUsados Guardar(True) End Sub - Protected Sub Guardar(Optional GenerarRNC As Boolean = False) + Protected Sub Guardar(Optional GenerarRNC As Boolean = False, Optional RecargarPagina As Boolean = False) If GvM.Rows.Count > 0 Then Dim Msg As New StringBuilder() Dim Resp As Modelos.Factura.MMensajeFactura = Nothing @@ -1350,7 +1382,13 @@ Partial Class Inventarios_RecepcionUsados ObjVentas.Dispose() If Not ErrorMovInv Then - Alert(Msg.ToString, TipoMensaje.MsgInformacion) + Dim Liga As String = "" + + If RecargarPagina Then + Liga = "document.location.href=""/Inventarios/RecepcionUsados.aspx"";" + End If + + Alert(Msg.ToString, TipoMensaje.MsgInformacion, JSBtnAceptar:=Liga, ShowCloseButton:=False) End If Else @@ -2206,19 +2244,6 @@ Partial Class Inventarios_RecepcionUsados Private Sub RecibirRemision() DtMovimientos.Rows.Clear() - Dim DtUsados As DataTable = Nothing - Dim CveCliente As Integer = -1 - - Dim ObjVentas As New ClsVentas - If ObjVentas.GetVenta(CveRemisionRecibida, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then - EsDistribuidor = CBool(ObjVentas.DtResultados.Rows(0)("EsDistribuidor").ToString()) - CveCliente = ObjVentas.DtResultados.Rows(0)("CveCliente").ToString().ToEntero() - - DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveCliente = {0}", CveCliente)) - DdlClientes.DataBind() - DdlClientes.SelectedValueExist(CveCliente) - End If - If Me.ObjFactura IsNot Nothing Then Me.ObjFactura.Dispose() Me.ObjFactura = Nothing @@ -2226,54 +2251,95 @@ Partial Class Inventarios_RecepcionUsados Me.ObjFactura = New Modelos.Factura(UsuarioActual, CveRemisionRecibida, UsuarioActual.CveEmpresa, DirectorioServidor:=ModExtensiones.DirectorioBaseEmpresas) - TxtRemisionRecibida.Text = Me.ObjFactura.SerieFolio - DivRemisionRecibida.Visible = True + If Me.ObjFactura IsNot Nothing Then - 'SI ES DISTRIBUIDOR VAMOS A GENERAR LA REMISION DE NOTA DE CREDITO - If EsDistribuidor Then - DivCliente.Visible = True - DdlClientes.SelectedValueExist(CveCliente) - DdlClientes_SelectedIndexChanged(DdlClientes, EventArgs.Empty) + TxtRemisionRecibida.Text = Me.ObjFactura.SerieFolio + DivRemisionRecibida.Visible = True - If Me.ObjRemisionNC IsNot Nothing Then - Me.ObjRemisionNC.Dispose() - Me.ObjRemisionNC = Nothing + Dim DtUsados As DataTable = Nothing + Dim CveCliente As Integer = -1 + + Dim ObjVentas As New ClsVentas + If ObjVentas.GetVenta(CveRemisionRecibida, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then + EsDistribuidor = CBool(ObjVentas.DtResultados.Rows(0)("EsDistribuidor").ToString()) + CveCliente = ObjVentas.DtResultados.Rows(0)("CveCliente").ToString().ToEntero() End If - If Me.ObjFactura IsNot Nothing Then - 'CreaRemisionNC(ObjFactura.CveCliente, ObjFactura.CveSubProyecto, ObjFactura.CveMoneda) - DivTotal.Visible = True + If ObjVentas.GetVentasUsadosDetalle(CveRemisionRecibida) Then + DtUsados = ObjVentas.DtResultados.Copy() + End If + + Dim RecepcionValida As Boolean = True + + If ObjVentas.GetVentasUsados(ObjFactura.CveVenta, ObjFactura.CveSubProyecto, ObjFactura.Fecha, UsuarioActual.CveEmpresa, ServicioDomicilio:=ObjFactura.ServicioDomicilio) Then + If ObjVentas.DtResultados.Rows.Count = 0 Then + RecepcionValida = False + End If + End If + ObjVentas.Dispose() + + If Not RecepcionValida Then + Dim Liga As String = "" + If CargoRemisionDesdeURL Then + Liga = "document.location.href=""/Inventarios/RecepcionUsados.aspx"";" + End If + + Alert("La recepción del usado ya se realizó", TipoMensaje.MsgAdvertencia, JSBtnAceptar:=Liga, ShowCloseButton:=False) + Exit Sub + End If + + If ObjFactura.CveSubProyecto > 0 Then + CargaAlmacen(CveSubProyecto:=ObjFactura.CveSubProyecto) + End If + + If CveCliente > 0 Then + DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveCliente = {0}", CveCliente)) + DdlClientes.DataBind() + DdlClientes.SelectedValueExist(CveCliente) + End If + + 'SI ES DISTRIBUIDOR VAMOS A GENERAR LA REMISION DE NOTA DE CREDITO + If EsDistribuidor Then + DivCliente.Visible = True + DdlClientes.SelectedValueExist(CveCliente) + DdlClientes_SelectedIndexChanged(DdlClientes, EventArgs.Empty) + + If Me.ObjRemisionNC IsNot Nothing Then + Me.ObjRemisionNC.Dispose() + Me.ObjRemisionNC = Nothing + End If + + If Me.ObjFactura IsNot Nothing Then + 'CreaRemisionNC(ObjFactura.CveCliente, ObjFactura.CveSubProyecto, ObjFactura.CveMoneda) + DivTotal.Visible = True + End If + Else + 'DivCliente.Visible = False + 'DivFactura.Visible = False + End If + + If DtUsados IsNot Nothing Then + + 'DivRecepcionApartado.Visible = True + + For Each RowUsado As DataRow In DtUsados.Rows + Dim CvePS = RowUsado("CvePS").ToString().ToEntero() + + Dim RowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).Rows(0) + Dim CveTamaño As Integer = RowPS("CveTamaño").ToString().ToEntero() + + Dim PS As String = RowPS("PS").ToString() + Dim CveUM As Integer = RowPS("CveUnidadMedida").ToString().ToEntero() + Dim UM As String = RowPS("UnidadMedida").ToString() + Dim Cantidad As Double = RowUsado("Cantidad").ToString().ToEntero() + Dim PU As Double = RowUsado("PU").ToString().ToDouble() + + AddNew(CvePS, PS, CveUM, UM, Cantidad, PU, "", "-1", "-1", "-1", "", "", DdlAlmacen.SelectedValue.ToEntero, DdlAlmacen.SelectedItem.Text, "", CveTamaño) + + Next End If Else - 'DivCliente.Visible = False - 'DivFactura.Visible = False - End If - - If ObjVentas.GetVentasUsadosDetalle(CveRemisionRecibida) Then - DtUsados = ObjVentas.DtResultados.Copy() - End If - - ObjVentas.Dispose() - - If DtUsados IsNot Nothing Then - - 'DivRecepcionApartado.Visible = True - - For Each RowUsado As DataRow In DtUsados.Rows - Dim CvePS = RowUsado("CvePS").ToString().ToEntero() - - Dim RowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).Rows(0) - Dim CveTamaño As Integer = RowPS("CveTamaño").ToString().ToEntero() - - Dim PS As String = RowPS("PS").ToString() - Dim CveUM As Integer = RowPS("CveUnidadMedida").ToString().ToEntero() - Dim UM As String = RowPS("UnidadMedida").ToString() - Dim Cantidad As Double = RowUsado("Cantidad").ToString().ToEntero() - Dim PU As Double = RowUsado("PU").ToString().ToDouble() - - AddNew(CvePS, PS, CveUM, UM, Cantidad, PU, "", "-1", "-1", "-1", "", "", DdlAlmacen.SelectedValue.ToEntero, DdlAlmacen.SelectedItem.Text, "", CveTamaño) - - Next + Alert("No se pudo recibir la remisión", TipoMensaje.MsgAdvertencia) End If UpGenerales.Update() @@ -2801,8 +2867,9 @@ Partial Class Inventarios_RecepcionUsados If DdlClientes.SelectedValue <> "-1" Then CargaAjuste() DivAjuste.Visible = True + DivRecepcionUsados.Visible = False 'Llenar el dropdownlist de almacén - DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 6) + CargaAlmacen(TipoAlmacen:=6) CargarDescuento() LnkAgregarUsado.Visible = False UppAcciones.Update() @@ -2812,8 +2879,9 @@ Partial Class Inventarios_RecepcionUsados End If Else DivAjuste.Visible = False + DivRecepcionUsados.Visible = True 'Llenar el dropdownlist de almacén - DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 22) + CargaAlmacen(TipoAlmacen:=22) LnkAgregarUsado.Visible = True UppAcciones.Update() End If @@ -3384,7 +3452,7 @@ Partial Class Inventarios_RecepcionUsados Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}//{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) - Dim DtDatos As New DataTable + Dim DtDatos As New DataTable Dim params As New List(Of ReportParameter) diff --git a/Inventarios/RepExistenciasCostos.aspx b/Inventarios/RepExistenciasCostos.aspx index 865f278ec..5df327151 100644 --- a/Inventarios/RepExistenciasCostos.aspx +++ b/Inventarios/RepExistenciasCostos.aspx @@ -132,7 +132,7 @@ - + diff --git a/Inventarios/RepExistenciasCostos.aspx.vb b/Inventarios/RepExistenciasCostos.aspx.vb index ad5c72811..6b6945618 100644 --- a/Inventarios/RepExistenciasCostos.aspx.vb +++ b/Inventarios/RepExistenciasCostos.aspx.vb @@ -129,6 +129,8 @@ Partial Class Inventarios_RepExistenciasCostos DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) DdlAlmacen.DataBind() DdlAlmacen.Items.Insert(0, New ListItem("Todos", "-1")) + DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen) + If Not IsNothing(Request("CveAlmacen")) Then If DdlAlmacen.Items.FindByValue(Request("CveAlmacen").ToString) Is Nothing Then Dim CveAlmacen = Request("CveAlmacen").ToString diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index a35765415..db965ef7c 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -644,15 +644,6 @@ Partial Class Inventarios_TraspasoAlmacen Dim tSerie As String = If(TxtnSerie.Visible, TxtnSerie.Text, "-1") - 'If UsuarioActual.CveEmpresa = 140 Then - ' Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero - - ' If Not CveSubProyecto.Contiene(11791, 11793, 11993, 11994, 11794, 11797, 11795, 12010, 12011) Then - ' tSerie = "-1" - ' End If - - 'End If - Dim Valido = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, DdlSeccionAlmacen.SelectedValue.ToEntero, tSerie, tLote, tCaducidad) If Valido Then @@ -1476,16 +1467,6 @@ Partial Class Inventarios_TraspasoAlmacen Dim AplicaSerie As Boolean = CBool(drP("AplicaSerie")) - ''codigo temporal - 'If UsuarioActual.CveEmpresa = 140 Then - ' Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero - - ' If Not CveSubProyecto.Contiene(11793, 11993, 11794, 11795, 12010, 12011) Then - ' AplicaSerie = False - ' End If - - 'End If - ThSerie.Visible = AplicaSerie TdSerie.Visible = AplicaSerie TxtnSerie.Visible = AplicaSerie diff --git a/Ventas/CatAutorizacionLimites.aspx.vb b/Ventas/CatAutorizacionLimites.aspx.vb index 4c8091996..3458e3e8e 100644 --- a/Ventas/CatAutorizacionLimites.aspx.vb +++ b/Ventas/CatAutorizacionLimites.aspx.vb @@ -196,19 +196,22 @@ Partial Class Ventas_CatAutorizacionLimites Dim SaldoCliente = gvRow.DataKey("Saldo").ToDecimal() Dim LimiteCredito = gvRow.DataKey("LimiteCredito").ToDecimal() + 'SI EL LIMITE ES 0, PERMITE AUTORIZAR + If LimiteCredito > 0 Then + Dim PorcentajeMaximoAutorizar As Decimal = 0.1 - Dim PorcentajeMaximoAutorizar As Decimal = 0.1 + If UsuarioActual.PorcentajeMaximoAutorizacion > 0 Then + PorcentajeMaximoAutorizar = (UsuarioActual.PorcentajeMaximoAutorizacion / 100) + End If - If UsuarioActual.PorcentajeMaximoAutorizacion > 0 Then - PorcentajeMaximoAutorizar = (UsuarioActual.PorcentajeMaximoAutorizacion / 100) + Dim ImporteMaximoAutorizar As Decimal = ((LimiteCredito * (1D + PorcentajeMaximoAutorizar)) - SaldoCliente).RoundSQL(2) + + If Importe > ImporteMaximoAutorizar Then + Alert($"No se puede autorizar, el importe máximo a autorizar es de {ImporteMaximoAutorizar:N2}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If End If - Dim ImporteMaximoAutorizar As Decimal = ((LimiteCredito * (1D + PorcentajeMaximoAutorizar)) - SaldoCliente).RoundSQL(2) - - If Importe > ImporteMaximoAutorizar Then - Alert($"No se puede autorizar, el importe máximo a autorizar es de {ImporteMaximoAutorizar:N2}", TipoMensaje.MsgAdvertencia) - Exit Sub - End If 'AUTORIZACION POR DIAS VENCIDOS ElseIf TipoAutorizacion = 2 Then diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 08500af56..bba882c29 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -623,11 +623,9 @@ Partial Class Ventas_ClientesAbonar If RblTipoPago.SelectedValue = "1" Then - Dim ValFechaDocumento As Boolean = False - Dim FoliosFechasValFechaDocumento As New StringBuilder - - FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha de mes superior al mes del pago:
") + Dim FoliosFechasValFechaDocumento As New StringBuilder + FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha de mes superior al mes del pago:
") For Each gvRowVal As GridViewRow In GvCxC.Rows @@ -813,26 +811,12 @@ Partial Class Ventas_ClientesAbonar Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion < tFecha Then + If UltimaFluctuacion.FechaFluctuacion <= tFecha Then FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion End If End If - 'If ObjIE.GetFluctuacionesBitacora(UsuarioActual.CveEmpresa) Then - ' If ObjIE.DtResultados.Rows.Count > 0 Then - ' Dim tFecha As Date = TxtFechaDocumento.Text.ToDate - ' Dim Fecha As String = String.Format("{0}/{1}/{2}", tFecha.Year, tFecha.Month, tFecha.Day) - ' Dim drr As DataRow = ObjIE.DtResultados.FiltroPrimero("Fecha < #" & Fecha & "#", "Fecha DESC") - - ' If drr IsNot Nothing Then - ' FechaUltimaFluctuacion = drr("Fecha").ToString.ToDate - ' TipoCambioFluctuacion = drr("TipoCambio").ToString.ToDecimal - ' End If - - ' End If - 'End If - If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then dtConceptos = ObjMov.DtResultados End If @@ -2586,7 +2570,7 @@ Partial Class Ventas_ClientesAbonar Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion < tFecha Then + If UltimaFluctuacion.FechaFluctuacion <= tFecha Then FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion End If diff --git a/Ventas/RepProductosServicios.aspx b/Ventas/RepProductosServicios.aspx index 10c47da75..ba350812e 100644 --- a/Ventas/RepProductosServicios.aspx +++ b/Ventas/RepProductosServicios.aspx @@ -215,15 +215,7 @@ - - -
- - - - - -
+
@@ -297,6 +289,14 @@
+
+ +
+ + + + +
@@ -306,13 +306,7 @@
- - -
- -
- - +
@@ -338,18 +332,25 @@
- -
+ +
+ +
+ +
+
+
+
diff --git a/Ventas/RepProductosServicios.aspx.vb b/Ventas/RepProductosServicios.aspx.vb index 53ba3b7b7..f7a31600e 100644 --- a/Ventas/RepProductosServicios.aspx.vb +++ b/Ventas/RepProductosServicios.aspx.vb @@ -63,11 +63,12 @@ Partial Class Ventas_RepProductosServicios SetValues() If UsuarioActual.Empresa.Funcionalidad(531).ToEntero = 1 Then - LblLitraje.Visible = True DvLitraje.Visible = True 'garantia divgarantia1.Visible = True divgarantia2.Visible = True + divdistribuidor1.Visible = True + divdistribuidor2.Visible = True End If End If @@ -367,11 +368,15 @@ Partial Class Ventas_RepProductosServicios FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.Trim(), "-1") FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.Trim(), "-1") - Dim Liga = String.Format("/Ventas/RepProductosServiciosDetalle.aspx?CveProyecto={0}&CveSubProyecto={1}&CveCategoria={2}&CveClasificacion={3}&CvePS={4}&CveCliente={5}&CveSubProyectoEjecucion={6}&CveVendedor={7}&CveUsuario={8}&CveEstatus={9}&Anio={10}&Mes={11}&AnioMes={12}&Fecha={13}&AnioEjec={14}&MesEjec={15}&AnioMesEjec={16}&FechaEjec={17}&FechaI={18}&FechaF={19}&FechaEI={20}&FechaEF={21}&TipoDocto={22}&Grupo={23}&CveMoneda={24}&TipoCambio={25}&TCEspecifico={26}&CveClienteClasificacion={27}&CveProveedorCompra={28}&CveMarca={29}&CveClasificacionDetalle={30}&TipoCliente={31}&ModalidadContable={32}", - e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveCategoria"), e.Row.DBCampo("CveClasificacion"), e.Row.DBCampo("CvePS"), - e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveSubProyectoEjecucion"), e.Row.DBCampo("Vendedor"), e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), - e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("AnioEjec"), e.Row.DBCampo("MesEjec"), e.Row.DBCampo("AnioMesEjec"), e.Row.DBCampo("FechaEjec"), - FechaI, FechaF, FechaIEjec, FechaFEjec, e.Row.DBCampo("TipoDocto"), e.Row.DBCampo("CveGpo"), e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), e.Row.DBCampo("CveClienteClasificacion"), e.Row.DBCampo("CveProveedorCompra"), cveMarca, CveClasificacionDetalle, If(DdlGrupo.SelectedValue.ToEntero = 23, e.Row.DBCampo("TipoCliente"), DdlTipoCliente.SelectedValue), If(Not ChkLecturaAdmin.Checked, 1, 0)) + Dim Liga = String.Format("/Ventas/RepProductosServiciosDetalle.aspx?CveProyecto={0}&CveSubProyecto={1}&CveCategoria={2}&CveClasificacion={3}&CvePS={4}&CveCliente={5}&CveSubProyectoEjecucion={6}&CveVendedor={7}&CveUsuario={8}&CveEstatus={9}&Anio={10}&Mes={11}&AnioMes={12}&Fecha={13}&AnioEjec={14}&MesEjec={15}&AnioMesEjec={16}&FechaEjec={17}&FechaI={18}&FechaF={19} + &FechaEI={20}&FechaEF={21}&TipoDocto={22}&Grupo={23}&CveMoneda={24}&TipoCambio={25}&TCEspecifico={26}&CveClienteClasificacion={27}&CveProveedorCompra={28}&CveMarca={29}&CveClasificacionDetalle={30} + &TipoCliente={31}&ModalidadContable={32}&EsGarantia={33}&CveCondicionesPago={34}&MostrarLitraje={35}&EsDistribuidor={36}", + e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveCategoria"), e.Row.DBCampo("CveClasificacion"), e.Row.DBCampo("CvePS"), + e.Row.DBCampo("CveCliente"), e.Row.DBCampo("CveSubProyectoEjecucion"), e.Row.DBCampo("Vendedor"), e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("CveEstatusFactura"), + e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("AnioEjec"), e.Row.DBCampo("MesEjec"), e.Row.DBCampo("AnioMesEjec"), e.Row.DBCampo("FechaEjec"), + FechaI, FechaF, FechaIEjec, FechaFEjec, e.Row.DBCampo("TipoDocto"), e.Row.DBCampo("CveGpo"), e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), e.Row.DBCampo("CveClienteClasificacion"), e.Row.DBCampo("CveProveedorCompra"), cveMarca, + CveClasificacionDetalle, If(DdlGrupo.SelectedValue.ToEntero = 23, e.Row.DBCampo("TipoCliente"), DdlTipoCliente.SelectedValue), If(Not ChkLecturaAdmin.Checked, 1, 0), + e.Row.DBCampo("EsGarantia"), e.Row.DBCampo("CveCondicionesPago"), IIf(e.Row.DBCampo("MostrarLitraje") = "True", 1, 0), e.Row.DBCampo("EsDistribuidor")) e.Row.FCLiteral("LtlGrupo").Text = String.Format("{2}", Css, Liga, e.Row.DBCampo("Gpo")) diff --git a/Ventas/RepProductosServiciosDetalle.aspx b/Ventas/RepProductosServiciosDetalle.aspx index 46ba8f989..aca9dc857 100644 --- a/Ventas/RepProductosServiciosDetalle.aspx +++ b/Ventas/RepProductosServiciosDetalle.aspx @@ -323,7 +323,10 @@ -
+
+ Garantía?: +
+
@@ -331,18 +334,22 @@
- -
+ +
- -
- +
+
+
+
+
+ +
diff --git a/Ventas/RepProductosServiciosDetalle.aspx.vb b/Ventas/RepProductosServiciosDetalle.aspx.vb index 993345dec..48888726d 100644 --- a/Ventas/RepProductosServiciosDetalle.aspx.vb +++ b/Ventas/RepProductosServiciosDetalle.aspx.vb @@ -316,6 +316,11 @@ Partial Class Ventas_RepProductosServiciosDetalle CveMarca = If(Request("CveMarca") IsNot Nothing AndAlso Request("CveMarca").ToEntero() > 0, Request("CveMarca").ToEntero(), -1).ToString.ToEntero CveClasificacionDetalle = If(Request("CveClasificacionDetalle") IsNot Nothing AndAlso Request("CveClasificacionDetalle").ToEntero() > 0, Request("CveClasificacionDetalle").ToEntero(), -1).ToString.ToEntero + DdlGarantia.SelectedValueExist(If(Request("EsGarantia") IsNot Nothing AndAlso Request("EsGarantia").ToEntero() > 0, Request("EsGarantia").ToEntero(), -1).ToString) + DdlCondicionesPago.SelectedValueExist(If(Request("CveCondicionesPago") IsNot Nothing AndAlso Request("CveCondicionesPago").ToEntero() > 0, Request("CveCondicionesPago").ToEntero(), -1).ToString) + DdlDistribuidor.SelectedValueExist(If(Request("EsDistribuidor") IsNot Nothing AndAlso Request("EsDistribuidor").ToEntero() > 0, Request("EsDistribuidor").ToEntero(), -1).ToString) + ChkLitraje.Checked = Request("MostrarLitraje") IsNot Nothing AndAlso Request("MostrarLitraje").ToEntero() > 0 + TipoCliente = If(Request("TipoCliente") IsNot Nothing, Request("TipoCliente").ToString, "-1").ToString.ToEntero DdlTipoCliente.SelectedValueExist(TipoCliente) @@ -324,7 +329,11 @@ Partial Class Ventas_RepProductosServiciosDetalle txtFechaI.Text = Fecha txtFechaF.Text = Fecha End If - + + If FechaI <> "-1" Then + txtFechaI.Text = FechaI + End If + If FechaF <> "-1" Then txtFechaF.Text = FechaF End If @@ -384,6 +393,14 @@ Partial Class Ventas_RepProductosServiciosDetalle txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text) + If UsuarioActual.Empresa.Funcionalidad(531).ToEntero = 1 Then + DvLitraje.Visible = True + 'garantia + divgarantia1.Visible = True + divgarantia2.Visible = True + divdistribuidor1.Visible = True + divdistribuidor2.Visible = True + End If If FechaEjec <> "-1" Then TxtFechaIEjec.Text = FechaEjec @@ -468,7 +485,7 @@ Partial Class Ventas_RepProductosServiciosDetalle UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=TipoComprobante, GPO:=DdlGrupo.SelectedValue.ToEntero, CveMoneda:=CveMoneda, TipoCambio:=TipoCambio, TCEspecifico:=TCEspecifico, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, CveProveedorCompra:=CveProveedorCompra, CveMarca:=DdlMarcaPSDes.SelectedValue.ToEntero, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero(), TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, - ModalidadContable:=Not ChkLecturaAdmin.Checked, CveCondicionesPago:=DdlCondicionesPago.SelectedValue.ToEntero, EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero) Then + ModalidadContable:=Not ChkLecturaAdmin.Checked, MostrarLitraje:=ChkLitraje.Checked, EsGarantia:=DdlGarantia.SelectedValue.ToEntero, CveCondicionesPago:=DdlCondicionesPago.SelectedValue.ToEntero, EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero) Then GvDatos.DataSource = ObjVentas.DtResultados TmpDT = ObjVentas.DtResultados Else diff --git a/Ventas/RepRecuperacion.aspx b/Ventas/RepRecuperacion.aspx index 93c5824ac..0c1243e8e 100644 --- a/Ventas/RepRecuperacion.aspx +++ b/Ventas/RepRecuperacion.aspx @@ -242,6 +242,14 @@ +
Condiciones de Pago
+
+ + + + + +
diff --git a/Ventas/RepRecuperacion.aspx.vb b/Ventas/RepRecuperacion.aspx.vb index 517c491bc..eff509902 100644 --- a/Ventas/RepRecuperacion.aspx.vb +++ b/Ventas/RepRecuperacion.aspx.vb @@ -138,7 +138,7 @@ Partial Class Ventas_RepRecuperacion If ObjMovtos.GetRepRecuperacion(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, DdlClientes.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, -1, "-1", UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlResponsable.SelectedValue.ToEntero, DdlTipoDocto.SelectedValue.ToString, CveBanco:=DdlBanco.SelectedValue.ToEntero, CveCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero, EstatusCliente:=DdlEstatusCliente.SelectedValue.ToEntero, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoCambio:=RblTipoCambio.SelectedValue.ToEntero, TCEspecifico:=TCEspecifico, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, - EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero(), FechaAplicadoI:=FechaAplicadoI, FechaAplicadoF:=FechaAplicadoF, FechaRegistroIEI:=FechaRegistroIEI, FechaRegistroIEF:=FechaRegistroIEF) Then + EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero(), FechaAplicadoI:=FechaAplicadoI, FechaAplicadoF:=FechaAplicadoF, FechaRegistroIEI:=FechaRegistroIEI, FechaRegistroIEF:=FechaRegistroIEF, CveCondicionesPago:=DdlCondicionesPago.SelectedValue.ToEntero) Then GvDatos.DataSource = ObjMovtos.DtResultados DtDatos = ObjMovtos.DtResultados Else diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 67a10764b..c42c53288 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3219,7 +3219,7 @@ Partial Class Ventas If ObjPVenta.DtResultados.Rows.Count > 0 Then CveCorte = ObjPVenta.CveCorte - Dim FechaICorte = ObjPVenta.FechaInicial.Date'.AddDays(-5) + Dim FechaICorte = ObjPVenta.FechaInicial.Date '.AddDays(-5) If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso FechaICorte < Now.Date Then DebeCerrarCorte = True LblMotivoBloqueo.Text = $"Existe un corte del día {FechaICorte.ToString("dd/MM/yyyy")}. Favor de cerrarlo para iniciar un nuevo corte." @@ -4254,16 +4254,8 @@ Partial Class Ventas Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Rows(0) Dim CveCliente As Integer = DbRowVenta("CveCliente").ToString().ToEntero() HdnCveVenta.Value = CveVenta.ToString() - Dim DtUsadosPendientes As DataTable = Nothing - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - Dim ObjUsados As New ClsVentas - - If ObjUsados.GetVentasUsados(CveVenta, -1, DbRowVenta("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then - DtUsadosPendientes = ObjUsados.DtResultados - End If - ObjUsados.Dispose() - End If + Me.EsGarantia = CBool(DbRowVenta("EsGarantia")) RFCReceptorVenta = DbRowVenta("RFCReceptor").ToString() 'Adjuntar archivo @@ -4284,7 +4276,7 @@ Partial Class Ventas ViewState("CveSubProyectoVenta") = DbRowVenta("CveSubProyecto").ToString().ToEntero() - Me.EsGarantia = CBool(DbRowVenta("EsGarantia")) + Me.CveEstatusFacturaPadre = DbRowVenta("CveEstatusFacturaPadre").ToString().ToEntero() 'CargaEncabezado @@ -5198,13 +5190,47 @@ Partial Class Ventas End If 'Si es Empresa de Acumuladores - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then - 'Si ya se surtió y recibió - If (DbRowVenta("SaldoAlmacen").ToString().ToDecimal > 0 And (DtUsadosPendientes Is Nothing Or DtUsadosPendientes.Rows.Count = 0)) OrElse (TmpDT.MAX("CveTipoPS") = "1") Then - BtnsFacturar.Visible = True - Else - BtnsFacturar.Visible = False + If CveVenta > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DbRowVenta("TipoDocto").ToString() = "Rem" AndAlso (GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() <> 5) Then + + BtnsFacturar.Visible = False + + Dim DtUsadosPendientes As DataTable = Nothing + Dim DtGarantiasPendientes As DataTable = Nothing + + Dim ObjUsados As New ClsVentas + + If ObjUsados.GetVentasUsados(CveVenta, -1, DbRowVenta("Fecha").ToString().ToDateTime, UsuarioActual.CveEmpresa) Then + DtUsadosPendientes = ObjUsados.DtResultados.Copy() End If + + If ObjUsados.GetVentasGarantiaPendiente(CveVenta, Now, UsuarioActual.CveEmpresa) Then + DtGarantiasPendientes = ObjUsados.DtResultados.Copy() + End If + + 'If ObjUsados.GetVentasGarantiaPendiente(CveVenta, -1, Now, UsuarioActual.CveEmpresa) Then + ' DtGarantiasPendientes = ObjUsados.DtResultados.Copy() + 'End If + ObjUsados.Dispose() + + 'Si ya se surtió y recibió + If DbRowVenta("SaldoAlmacen").ToString().ToDecimal > 0 OrElse TmpDT.MAX("CveTipoPS") = "1" Then + BtnsFacturar.Visible = True + End If + + 'VERIFICA SI TIENE USADOS O GARANTIAS PENDIENTES + If BtnsFacturar.Visible Then + If (Not EsGarantia AndAlso (DtUsadosPendientes IsNot Nothing AndAlso DtUsadosPendientes.Rows.Count > 0)) Then + BtnsFacturar.Visible = False + Alert("Tiene usados pendiente de recibir", TipoMensaje.MsgAdvertencia) + End If + + If (EsGarantia AndAlso (DtGarantiasPendientes IsNot Nothing AndAlso DtGarantiasPendientes.Rows.Count > 0)) Then + Alert("Tiene garantías pendientes de recibir", TipoMensaje.MsgAdvertencia) + BtnsFacturar.Visible = False + End If + End If + + LBFacturarAnticipo.Visible = UsuarioActual.TienePermisoProceso(274) End If @@ -5335,6 +5361,14 @@ Partial Class Ventas End If End If + If DdlTipoComprobante.SelectedValue = "Rem" Then + If GlobalDTEstatusFactura().FiltroPrimeroValor("TipoEstatus", $"CveEstatusFactura = {Me.CveEstatus}").ToEntero() = 5 Then + BtnsFacturar.Visible = False + BtnEmitirImprimir.Visible = False + BtnPermisoEditarRemision.Visible = False + End If + End If + UpPS.Update() UpContado.Update() UpEstatus.Update() @@ -6713,19 +6747,21 @@ Partial Class Ventas Else 'VERIFICAR RESTRICCIONES DEL CLIENTE - If DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 AndAlso RBLPago.SelectedValue = "2" Then - Dim Vta As New ClsVentas - Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa) - Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón:

{0}", Vta.SerieVenta) - Vta.Dispose() - If Opcion > 0 Then - Alert(OpcionMsg, TipoMensaje.MsgAdvertencia) - BtnsFacturar.Visible = False - BtnGenerarRemision.Visible = False + If Not UsuarioActual.Empresa.Funcionalidad(702).ToEntero() > 0 Then + If DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 AndAlso RBLPago.SelectedValue = "2" Then + Dim Vta As New ClsVentas + Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa) + Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón:

{0}", Vta.SerieVenta) + Vta.Dispose() + If Opcion > 0 Then + Alert(OpcionMsg, TipoMensaje.MsgAdvertencia) + BtnsFacturar.Visible = False + BtnGenerarRemision.Visible = False + End If End If - End If + End If UPPCreditoDisponible.Update() @@ -11504,7 +11540,7 @@ Partial Class Ventas DdlTipoComprobante.Enabled = False End If - TAB.ActiveTab = TabGenerales + Tab.ActiveTab = TabGenerales TabGenerales.Enabled = True Updatetabs.Update() UPObservaciones.Update() @@ -11570,7 +11606,7 @@ Partial Class Ventas ContratoDetalles.Visible = False UPEstimaciones.Update() - TAB.ActiveTab = TabGenerales + Tab.ActiveTab = TabGenerales TabGenerales.Enabled = True Updatetabs.Update() End If @@ -14861,7 +14897,7 @@ Partial Class Ventas Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion < tFecha Then + If UltimaFluctuacion.FechaFluctuacion <= tFecha Then FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion End If @@ -15342,7 +15378,7 @@ Partial Class Ventas ErrorConta = True End If - If Not ErrorConta AndAlso Not ObjConta.PrePolizaSimplificacion(ObjFactura.CvePrePoliza, UsuarioActual.CveEmpresa) Then + If Not ErrorConta AndAlso Not ObjConta.PrePolizaSimplificacion(CvePrepoliza, UsuarioActual.CveEmpresa) Then Alert("No se pudo simplificar los movimientos", TipoMensaje.MsgError) End If @@ -16507,7 +16543,7 @@ Partial Class Ventas If objcompras.GetCompraDetallealmacen(0, DdlNCFactura.SelectedValue.ToEntero()) Then GvInvNC.DataSource = objcompras.DtResultados If objcompras.DtResultados.Rows.Count > 0 Then - TAB.ActiveTabIndex = 1 + Tab.ActiveTabIndex = 1 Updatetabs.Update() End If Else @@ -16787,7 +16823,7 @@ Partial Class Ventas End If UpParametros.Update() - TAB.ActiveTab = TabGenerales + Tab.ActiveTab = TabGenerales Else Alert("La empresa no contiene un producto asignado a la estimació", TipoMensaje.MsgInformacion) End If @@ -23621,7 +23657,7 @@ Partial Class Ventas DdlContratosModal.Items.Insert(0, New ListItem("Seleccione", "0")) UPEstimaciones.Update() - TAB.ActiveTab = TabE + Tab.ActiveTab = TabE TabGenerales.Enabled = False Updatetabs.Update() @@ -25426,7 +25462,7 @@ Partial Class Ventas Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha) If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then - If UltimaFluctuacion.FechaFluctuacion < tFecha Then + If UltimaFluctuacion.FechaFluctuacion <= tFecha Then FechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion TipoCambioFluctuacion = UltimaFluctuacion.TCFluctuacion End If @@ -29911,7 +29947,7 @@ Partial Class Ventas ContratoDetalles.Visible = False UPEstimaciones.Update() - TAB.ActiveTab = TabGenerales + Tab.ActiveTab = TabGenerales TabGenerales.Enabled = True Updatetabs.Update() @@ -30472,7 +30508,7 @@ Partial Class Ventas DdlMonedaModalPedido2.DataBind() DdlMonedaModalPedido2.Items.Insert(0, New ListItem("Todas", "-1")) - TAB.ActiveTab = TabGenerales + Tab.ActiveTab = TabGenerales TabGenerales.Enabled = True Updatetabs.Update()