diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 7c52cd248..7208a8403 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -11400,5 +11400,109 @@ Public Class ClsPaginas End If End Sub + + Public Shared Function PlantillaMailVenta(ObjFactura As Modelos.Factura, UsuarioActual As Usuario) As MCuerpoFacturaMail + Dim Retorno As New MCuerpoFacturaMail() + Try + Dim Asunto As String = String.Empty + Dim Cuerpo As String = String.Empty + Dim TipoComprobante As String = "" + + Dim TipoDocto = ObjFactura.TipoDocto + + If TipoDocto = "Ing" Then TipoComprobante = "Factura" + If TipoDocto = "Egs" Then TipoComprobante = "Nota de Crédito" + If TipoDocto = "Dev" Then TipoComprobante = "Nota de Devolución" + If TipoDocto = "Rem" Then TipoComprobante = "Remisión" + If TipoDocto = "Cot" Then TipoComprobante = "Cotización" + If TipoDocto = "Ant" Then TipoComprobante = "Anticipo" + + + If TipoDocto = "Cot" Then + If UsuarioActual.Empresa.PlantillaMailVentaCotizacion.Trim.Length > 0 Then + Cuerpo = UsuarioActual.Empresa.PlantillaMailVentaCotizacion + Cuerpo = Cuerpo.Replace("{""NombreEmpresa""}", UsuarioActual.Empresa.Empresa) + Cuerpo = Cuerpo.Replace("{""NombreCliente""}", ObjFactura.Cliente.NombreComercial) + Cuerpo = Cuerpo.Replace("{""TipoDocumento""}", TipoComprobante) + Cuerpo = Cuerpo.Replace("{""Fecha""}", ObjFactura.Fecha.ToString("dd/MM/yyyy")) + Cuerpo = Cuerpo.Replace("{""Total""}", ObjFactura.Total.FormatoNumero(2)) + Cuerpo = Cuerpo.Replace("{""FechaVencimiento""}", ObjFactura.FechaVencimiento.ToString("dd/MM/yyyy")) + Cuerpo = Cuerpo.Replace("{""SerieFolio""}", ObjFactura.SerieFolio) + Cuerpo = Cuerpo.Replace("{""Vigencia""}", ObjFactura.Vigencia.ToString("dd/MM/yyyy")) + Cuerpo = Cuerpo.Replace("{""AtencionA""}", ObjFactura.AtencionA) + Cuerpo = Cuerpo.Replace("{""Sucursal""}", ObjFactura.SubProyecto.SubProyecto) + Cuerpo = Cuerpo.Replace("{""DescripcionVenta""}", ObjFactura.DescripcionVenta) + End If + + If UsuarioActual.Empresa.AsuntoPlantillaMailVentaCotizacion.Trim.Length > 0 Then + Asunto = UsuarioActual.Empresa.AsuntoPlantillaMailVentaCotizacion + Asunto = Asunto.Replace("{""NombreEmpresa""}", UsuarioActual.Empresa.Empresa) + Asunto = Asunto.Replace("{""NombreCliente""}", ObjFactura.Cliente.NombreComercial) + Asunto = Asunto.Replace("{""TipoDocumento""}", TipoComprobante) + Asunto = Asunto.Replace("{""Fecha""}", ObjFactura.Fecha.ToString("dd/MM/yyyy")) + Asunto = Asunto.Replace("{""Total""}", ObjFactura.Total.FormatoNumero(2)) + Asunto = Asunto.Replace("{""FechaVencimiento""}", ObjFactura.FechaVencimiento.ToString("dd/MM/yyyy")) + Asunto = Asunto.Replace("{""SerieFolio""}", ObjFactura.SerieFolio) + Asunto = Asunto.Replace("{""Vigencia""}", ObjFactura.Vigencia.ToString("dd/MM/yyyy")) + Asunto = Asunto.Replace("{""AtencionA""}", ObjFactura.AtencionA) + Asunto = Asunto.Replace("{""Sucursal""}", ObjFactura.SubProyecto.SubProyecto) + Asunto = Asunto.Replace("{""DescripcionVenta""}", ObjFactura.DescripcionVenta) + End If + Else + If UsuarioActual.Empresa.PlantillaMailVenta.Trim.Length > 0 Then + Cuerpo = UsuarioActual.Empresa.PlantillaMailVenta + Cuerpo = Cuerpo.Replace("{""NombreEmpresa""}", UsuarioActual.Empresa.Empresa) + Cuerpo = Cuerpo.Replace("{""NombreCliente""}", ObjFactura.Cliente.NombreComercial) + Cuerpo = Cuerpo.Replace("{""TipoDocumento""}", TipoComprobante) + Cuerpo = Cuerpo.Replace("{""Fecha""}", ObjFactura.Fecha.ToString("dd/MM/yyyy")) + Cuerpo = Cuerpo.Replace("{""Total""}", ObjFactura.Total.FormatoNumero(2)) + Cuerpo = Cuerpo.Replace("{""FechaVencimiento""}", ObjFactura.FechaVencimiento.ToString("dd/MM/yyyy")) + Cuerpo = Cuerpo.Replace("{""SerieFolio""}", ObjFactura.SerieFolio) + Cuerpo = Cuerpo.Replace("{""AtencionA""}", ObjFactura.AtencionA) + Cuerpo = Cuerpo.Replace("{""Sucursal""}", ObjFactura.SubProyecto.SubProyecto) + Cuerpo = Cuerpo.Replace("{""DescripcionVenta""}", ObjFactura.DescripcionVenta) + End If + + If UsuarioActual.Empresa.AsuntoPlantillaMailVenta.Trim.Length > 0 Then + Asunto = UsuarioActual.Empresa.AsuntoPlantillaMailVenta + Asunto = Asunto.Replace("{""NombreEmpresa""}", UsuarioActual.Empresa.Empresa) + Asunto = Asunto.Replace("{""NombreCliente""}", ObjFactura.Cliente.NombreComercial) + Asunto = Asunto.Replace("{""TipoDocumento""}", TipoComprobante) + Asunto = Asunto.Replace("{""Fecha""}", ObjFactura.Fecha.ToString("dd/MM/yyyy")) + Asunto = Asunto.Replace("{""Total""}", ObjFactura.Total.FormatoNumero(2)) + Asunto = Asunto.Replace("{""FechaVencimiento""}", ObjFactura.FechaVencimiento.ToString("dd/MM/yyyy")) + Asunto = Asunto.Replace("{""SerieFolio""}", ObjFactura.SerieFolio) + Asunto = Asunto.Replace("{""Vigencia""}", ObjFactura.Vigencia.ToString("dd/MM/yyyy")) + Asunto = Asunto.Replace("{""AtencionA""}", ObjFactura.AtencionA) + Asunto = Asunto.Replace("{""Sucursal""}", ObjFactura.SubProyecto.SubProyecto) + Asunto = Asunto.Replace("{""DescripcionVenta""}", ObjFactura.DescripcionVenta) + End If + End If + + Dim DisplayName As String = "" + If UsuarioActual.CveEmpresa = 119 Then DisplayName = "Facturación Agroquímicos JAM" + + Retorno.DisplayName = DisplayName + Retorno.Cuerpo = Cuerpo + Retorno.Asunto = Asunto + + Catch ex As Exception + + End Try + + Return Retorno + End Function + Public Class MCuerpoFacturaMail + Public Sub New() + Asunto = "" + Cuerpo = "" + DisplayName = "" + Archivos = New List(Of ClsSisMail.ArchivoMail) + End Sub + Public Property Asunto As String + Public Property Cuerpo As String + Public Property DisplayName As String + Public Property Archivos As List(Of ClsSisMail.ArchivoMail) + End Class End Class diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 7fca6c177..95d767d6f 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -1744,7 +1744,7 @@ Public Class ClsVentas CveVendedor As String, CveUsuario As Integer, CveEstatus As String, IVA As String, CveEmpresa As Integer, Gpo As Integer, Optional TipoDocto As String = "-1", Optional CveProyecto As Integer = -1, Optional CveSubProyecto As String = "-1", Optional TipoCambio As Integer = 1, Optional TCEspecifico As Decimal = -1, Optional CveUsuarioConsulta As Integer = -1, Optional CveClienteClasificacion As Integer = -1, Optional CveCondicionesPago As Integer = -1, Optional TipoCliente As Integer = -1, Optional ModalidadContable As Boolean = False, - Optional EsDistribuidor As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ServicioDomicilio As Integer = -1, Optional EsFacturaGlobal As Integer = -1, Optional EsFilial As Integer = -1) As Boolean + Optional EsDistribuidor As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ServicioDomicilio As Integer = -1, Optional EsFacturaGlobal As Integer = -1, Optional EsFilial As Integer = -1, Optional CveTipoVenta As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasGetRep") @@ -1777,6 +1777,7 @@ Public Class ClsVentas .Add("@ServicioDomicilio", SqlDbType.Int).Value = ServicioDomicilio .Add("@EsFacturaGlobal", SqlDbType.Int).Value = EsFacturaGlobal .Add("@EsFilial", SqlDbType.Int).Value = EsFilial + .Add("@CveTipoVenta", SqlDbType.Int).Value = CveTipoVenta End With Try @@ -1923,7 +1924,7 @@ Public Class ClsVentas CveSubProyectoEjecucion As Integer, CveEmpresa As Integer, FechaIEjec As Date, FechaFEjec As Date, Optional CveProyecto As Integer = -1, Optional CveSubProyecto As String = "-1", Optional TipoCambio As Integer = 1, Optional TCEspecifico As Decimal = -1, Optional CveMoneda As Integer = -1, Optional CveUsuarioConsulta As Integer = -1, Optional CveClienteClasificacion As Integer = -1, Optional CveCondicionesPago As Integer = -1, Optional TipoCliente As Integer = -1, Optional ModalidadContable As Boolean = False, - Optional EsDistribuidor As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ServicioDomicilio As Integer = -1, Optional EsFacturaGlobal As Integer = -1, Optional EsFilial As Integer = -1) As Boolean + Optional EsDistribuidor As Integer = -1, Optional CveTipoRelacion As Integer = -1, Optional ServicioDomicilio As Integer = -1, Optional EsFacturaGlobal As Integer = -1, Optional EsFilial As Integer = -1, Optional CveTipoVenta As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasGetRepDetalle") @@ -1961,6 +1962,7 @@ Public Class ClsVentas .Add("@ServicioDomicilio", SqlDbType.Int).Value = ServicioDomicilio .Add("@EsFacturaGlobal", SqlDbType.Int).Value = EsFacturaGlobal .Add("@EsFilial", SqlDbType.Int).Value = EsFilial + .Add("@CveTipoVenta", SqlDbType.Int).Value = CveTipoVenta End With Try diff --git a/Ashx/E194.ashx b/Ashx/E194.ashx index ffceffa11..01ff5c8d4 100644 --- a/Ashx/E194.ashx +++ b/Ashx/E194.ashx @@ -36,7 +36,17 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe pFechaF = context.Request("FechaF") End If - Retorno = IniciaFacturacionMasiva(CveEmpresaFacturar.ToString, pFechaI, pFechaF) + Retorno = IniciaFacturacionMasiva(context, CveEmpresaFacturar.ToString, pFechaI, pFechaF) + End If + + If Metodo = "EnviarMailDemo" Then + Dim pFechaI As String = "" + Dim pFechaF As String = "" + + If context.Request("CveVenta") IsNot Nothing Then + Dim CveVenta = context.Request("CveVenta").ToString().ToEntero() + Retorno = EnviarMailDemo(context, CveEmpresaFacturar.ToString, CveVenta) + End If End If Catch ex As Exception @@ -52,7 +62,20 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe End Sub - Private Function IniciaFacturacionMasiva(pCveEmpresa As String, pFechaI As String, pFechaF As String) As Boolean + Private Function EnviarMailDemo(ByVal context As HttpContext, pCveEmpresa As String, CveVenta As Integer) As Boolean + Dim Retorno As Boolean = True + Dim CveEmpresa As Integer = pCveEmpresa.ToEntero() + + If CveEmpresa > 0 Then + GuardaLogFacturacion($"EnviarMail - CveE:{CveEmpresa}") + Dim Usuario = ValidaUsuarioSistema(CveEmpresa, context) + EnviarCorreo(CveVenta, Usuario) + End If + + Return Retorno + End Function + + Private Function IniciaFacturacionMasiva(ByVal context As HttpContext, pCveEmpresa As String, pFechaI As String, pFechaF As String) As Boolean Dim Retorno As Boolean = True Dim JsonRetorno As New JObject() Dim CveEmpresa As Integer = pCveEmpresa.ToEntero() @@ -60,9 +83,8 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe GuardaLogFacturacion("- Inicio de facturación ") If CveEmpresa > 0 Then GuardaLogFacturacion($"1.10 - CveE:{CveEmpresa}") - Dim Usuario = ValidaUsuarioSistema(CveEmpresa) + Dim Usuario = ValidaUsuarioSistema(CveEmpresa, context) Dim FechaI, FechaF As DateTime - 'EnviarCorreoFactura(New Modelos.Factura(Usuario, 844966, 1, context.ModExtensiones.DirectorioBaseEmpresas), Usuario) If String.IsNullOrEmpty(pFechaI) AndAlso String.IsNullOrEmpty(pFechaF) Then GuardaLogFacturacion("1.200") @@ -156,7 +178,7 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe If Resp.CveVenta > 0 AndAlso Not Resp.TieneError Then If Resp.SeTimbro OrElse Not Produccion Then - EnviarCorreo(ObjFactura, UsuarioActual) + EnviarCorreo(Resp.CveVenta, UsuarioActual) End If End If @@ -223,7 +245,7 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe End Function #Region "V A L I D A - D A T O S" - Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario + Private Function ValidaUsuarioSistema(CveEmpresa As Integer, ByVal context As HttpContext) As Usuario Dim UsuarioActual As Usuario = Nothing Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) @@ -232,8 +254,13 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString() Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString() UsuarioActual = ObjUsuarios.ValidaUsuario(Usuario, Contrasenia, CveEmpresa:=CveEmpresa) + If UsuarioActual IsNot Nothing AndAlso context.Session("UsuarioSIG") Is Nothing Then + context.Session("UsuarioSIG") = UsuarioActual + End If End If ObjUsuarios.Dispose() + + Return UsuarioActual End Function Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario) @@ -758,8 +785,9 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe End Function #End Region #Region "E N V I O - C O R R E O" - Private Sub EnviarCorreo(Objfactura As Modelos.Factura, UsuarioActual As Usuario) + Private Sub EnviarCorreo(CveVenta As Integer, UsuarioActual As Usuario) Try + Dim ObjFactura As New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, CargaDatosCliente:=True) Dim Hilo As New System.Threading.Thread(Sub() EnviarCorreoFactura(Objfactura, UsuarioActual)) Hilo.Start() Catch ex As Exception @@ -790,115 +818,94 @@ Public Class E194 : Implements IHttpHandler, System.Web.SessionState.IRequiresSe End Function Private Sub EnviarCorreoFactura(ObjFactura As Modelos.Factura, UsuarioActual As Usuario) - Dim ObjMail As New ClsSisMail() - Dim ObjVentas As New ClsVentas - Dim ObjCliente As New ClsClientes - Dim Mail As String = "" - Dim MailCC As String = "" + If ObjFactura.CveVenta > 0 Then + Dim ObjMail As New ClsSisMail() + Dim ObjVentas As New ClsVentas + Dim ObjCliente As New ClsClientes + Dim Mail As String = "" + Dim MailCC As String = "" - Dim ArchivoXML As String = "" - Dim ArchivoPDF As String = "" - Dim ArchivoPDFBytes As Byte() = Nothing - Dim ExistePDF As Boolean = False - Try - ArchivoXML = String.Format("{0}XML\{1}\{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) - ArchivoPDF = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) - - If Not File.Exists(ArchivoPDF) Then - ArchivoPDFBytes = DescargarFactura(ObjFactura.CveVenta, ObjFactura.CveEmpresa) - Else - ExistePDF = True - End If - - If ObjFactura.CveClienteSucursal > 0 Then - If ObjCliente.GetSucursales(ObjFactura.CveCliente, ObjFactura.CveClienteSucursal) Then - If ObjCliente.DtResultados.Rows.Count > 0 Then - Dim Correo As String = ObjCliente.DtResultados.Rows(0)("Correo").ToString - If Correo.Trim.Length > 0 Then - Mail = Correo - End If - MailCC = ObjCliente.NotificarA - End If - End If - Else - If ObjCliente.GetClientes(ObjFactura.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1) Then - If ObjCliente.DtResultados.Rows.Count > 0 Then - Mail = If(ObjFactura.TipoDocto = "Cot", ObjCliente.MailCotizacion, ObjCliente.Mail) - End If - End If - End If - - Catch ex As Exception - OnError("Ocurrió un error al obtener el correo", ex) - Finally - ObjCliente.Dispose() - End Try - - If Not String.IsNullOrEmpty(Mail) Then + Dim ArchivoXML As String = "" + Dim ArchivoPDF As String = "" + Dim ArchivoPDFBytes As Byte() = Nothing + Dim ExistePDF As Boolean = False Try - Dim Asunto As String = String.Empty - Dim Cuerpo As String = String.Empty - Dim ResultadoMail As Integer = 0 + ArchivoXML = String.Format("{0}XML\{1}\{2}.xml", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) + ArchivoPDF = String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio) - Dim TipoComprobante As String = "" - - If ObjFactura.TipoDocto = "Ing" Then TipoComprobante = "Factura" - If ObjFactura.TipoDocto = "Egs" Then TipoComprobante = "Nota de Crédito" - If ObjFactura.TipoDocto = "Dev" Then TipoComprobante = "Nota de Devolución" - If ObjFactura.TipoDocto = "Rem" Then TipoComprobante = "Remisión" - If ObjFactura.TipoDocto = "Cot" Then TipoComprobante = "Cotización" - If ObjFactura.TipoDocto = "Ant" Then TipoComprobante = "Anticipo" - - If UsuarioActual.Empresa.PlantillaMailVenta.Trim.Length > 0 Then - Cuerpo = UsuarioActual.Empresa.PlantillaMailVenta - Cuerpo = Cuerpo.Replace("{""NombreEmpresa""}", UsuarioActual.Empresa.Empresa) - Cuerpo = Cuerpo.Replace("{""NombreCliente""}", ObjFactura.Cliente.NombreComercial) - Cuerpo = Cuerpo.Replace("{""TipoDocumento""}", TipoComprobante) - Cuerpo = Cuerpo.Replace("{""Fecha""}", ObjFactura.Fecha.ToString("dd/MM/yyyy")) - Cuerpo = Cuerpo.Replace("{""Total""}", ObjFactura.Total.ToString) - Cuerpo = Cuerpo.Replace("{""FechaVencimiento""}", ObjFactura.FechaVencimiento.ToString("dd/MM/yyyy")) - Cuerpo = Cuerpo.Replace("{""SerieFolio""}", ObjFactura.SerieFolio) - End If - - If UsuarioActual.Empresa.AsuntoPlantillaMailVenta.Trim.Length > 0 Then - Asunto = UsuarioActual.Empresa.AsuntoPlantillaMailVenta - Asunto = Asunto.Replace("{""TipoDocumento""}", TipoComprobante) - Asunto = Asunto.Replace("{""Sucursal""}", ObjFactura.SubProyecto.SubProyecto) - Asunto = Asunto.Replace("{""SerieFolio""}", ObjFactura.SerieFolio) - End If - - Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) - LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = ArchivoXML}) - If ExistePDF Then - LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = ArchivoPDF}) + If Not File.Exists(ArchivoPDF) Then + ArchivoPDFBytes = DescargarFactura(ObjFactura.CveVenta, ObjFactura.CveEmpresa) Else - LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = ArchivoPDFBytes, .NombreArchivo = String.Format("{0}.pdf", ObjFactura.SerieFolio)}) + ExistePDF = True End If - Dim DisplayName As String = "" - If UsuarioActual.CveEmpresa = 119 Then DisplayName = "Facturación Agroquímicos JAM" - - If ObjMail.SendMail(UsuarioActual.Empresa, Mail, Asunto, Cuerpo, If(String.IsNullOrEmpty(MailCC), "", MailCC), LSRutasMail, Displayname:=DisplayName) Then - ResultadoMail = 1 + If ObjFactura.CveClienteSucursal > 0 Then + If ObjCliente.GetSucursales(ObjFactura.CveCliente, ObjFactura.CveClienteSucursal) Then + If ObjCliente.DtResultados.Rows.Count > 0 Then + Dim Correo As String = ObjCliente.DtResultados.Rows(0)("Correo").ToString + If Correo.Trim.Length > 0 Then + Mail = Correo + End If + MailCC = ObjCliente.NotificarA + End If + End If Else - GuardaLogFacturacion($"No se envio el correo {Mail}, {Asunto}, {Cuerpo}, {MailCC},") - GuardaLogFacturacion($"Ruta XML {ArchivoXML}") - ResultadoMail = 3 + If ObjCliente.GetClientes(ObjFactura.CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1) Then + If ObjCliente.DtResultados.Rows.Count > 0 Then + Mail = If(ObjFactura.TipoDocto = "Cot", ObjCliente.MailCotizacion, ObjCliente.Mail) + End If + End If End If - ObjVentas.UpdateVentaMail(ResultadoMail, ObjFactura.CveVenta) + 'Mail = "japmx95@gmail.com" Catch ex As Exception - OnError("Ocurrió error al mandar el Mail", ex) - GuardaLogFacturacion(ex.ToString()) - ObjVentas.UpdateVentaMail(3, ObjFactura.CveVenta) + OnError("Ocurrió un error al obtener el correo", ex) Finally - ObjVentas.Dispose() - If ObjFactura IsNot Nothing Then - ObjFactura.Dispose() - End If + ObjCliente.Dispose() End Try + + If Not String.IsNullOrEmpty(Mail) Then + Try + Dim ObjCuerpoMail = ClsPaginas.PlantillaMailVenta(ObjFactura, UsuarioActual) + + Dim Asunto As String = ObjCuerpoMail.Asunto + Dim Cuerpo As String = ObjCuerpoMail.Cuerpo + Dim ResultadoMail As Integer = 0 + Dim LSRutasMail = ObjCuerpoMail.Archivos + + LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = ArchivoXML}) + If ExistePDF Then + LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = ArchivoPDF}) + Else + LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = ArchivoPDFBytes, .NombreArchivo = String.Format("{0}.pdf", ObjFactura.SerieFolio)}) + End If + + Dim DisplayName As String = ObjCuerpoMail.DisplayName + + If ObjMail.SendMail(UsuarioActual.Empresa, Mail, Asunto, Cuerpo, If(String.IsNullOrEmpty(MailCC), "", MailCC), LSRutasMail, Displayname:=DisplayName) Then + ResultadoMail = 1 + Else + GuardaLogFacturacion($"No se envio el correo {Mail}, {Asunto}, {Cuerpo}, {MailCC},") + GuardaLogFacturacion($"Ruta XML {ArchivoXML}") + ResultadoMail = 3 + End If + + ObjVentas.UpdateVentaMail(ResultadoMail, ObjFactura.CveVenta) + + Catch ex As Exception + OnError("Ocurrió error al mandar el Mail", ex) + GuardaLogFacturacion(ex.ToString()) + ObjVentas.UpdateVentaMail(3, ObjFactura.CveVenta) + Finally + ObjVentas.Dispose() + If ObjFactura IsNot Nothing Then + ObjFactura.Dispose() + End If + End Try + End If End If + End Sub #End Region diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 241e90e0d..8fefa2be5 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -5571,6 +5571,17 @@ Partial Class Compras_Compras CvePersonal = GvPersonal.Rows(Cont).FCDropDownList("DdlPersonalGv").SelectedValue.ToEntero Referencia = GvPersonal.Rows(Cont).FCTextBox("TxtReferencia").Text End If + + + If CvePersonal <= 0 AndAlso RBLContado.SelectedValue.ToEntero = 2 AndAlso TxtNumeroReembolso.Text.Length > 0 Then + CvePersonal = DdlPersonalReembolso.SelectedValue.ToEntero + If Not CvePersonal > 0 Then + Alert("Debe asignar personal al reembolso.", TipoMensaje.MsgAdvertencia) + ErrorDetalles = True + End If + End If + + Cont = Cont + 1 'Si es AF-INSUMO se guarda CveAF en CompraDetalle diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 8922c3ac0..b8d896db9 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -2893,7 +2893,7 @@ Partial Class PopUpVerFactura Dim ResponsableRecibio As String = ObjInventarios.ResponsableRecibio Dim UsuarioCapturo As String = ObjInventarios.DtResultados.FiltroPrimeroValor("UsuarioCapturo") Dim CvePrePoliza As Integer = ObjInventarios.DtResultados.FiltroPrimeroValor("CvePrePoliza").ToEntero - + Dim DireccionCliente As String = ObjInventarios.DtResultados.FiltroPrimeroValor("DireccionCliente") Dim Ruta As String = "" Dim Supervisor As String = "" @@ -3098,7 +3098,7 @@ Partial Class PopUpVerFactura PuestoEnrego, RazonSocial, ResponsableCarga, ResponsableRecibio, NombreCliente, CantidadProductos:=CantidadProductos, CantidadUsados:=CantidadUsados, CveTipoAlmacen:=CveTipoAlmacen, NombreEntrego:=NombreEntrego, CveConceptoMovRelacionado:=CveConceptoMovtoRelacionado, FolioRelacionado:=FolioRelacionado, UsuarioRegistro:=UsuarioCapturo, - Ruta:=Ruta, Supervisor:=Supervisor, Guia:=Guia, Consola:=Consola) + Ruta:=Ruta, Supervisor:=Supervisor, Guia:=Guia, Consola:=Consola, DireccionCliente:=DireccionCliente) End Sub Private Sub PUanacExtr(CveMoneda As Integer) 'preciounitario a moneda nacional o extranjera @@ -3117,7 +3117,7 @@ Partial Class PopUpVerFactura EstadoDestino As String, PaisDestino As String, CPDestino As String, FechaMovimiento As Date, NombreCapturo As String, PuestoRecibio As String, PuestoEntrego As String, RazonSocial As String, ResponsableCarga As String, ResponsableRecibio As String, NombreCliente As String, Optional CantidadProductos As Decimal = 0, Optional CantidadUsados As Decimal = 0, Optional CveTipoAlmacen As Integer = -1, Optional NombreEntrego As String = "", Optional CveConceptoMovRelacionado As Integer = -1, Optional FolioRelacionado As String = "", Optional UsuarioRegistro As String = "", - Optional Ruta As String = Nothing, Optional Supervisor As String = Nothing, Optional Guia As String = "", Optional Consola As String = "-1") + Optional Ruta As String = Nothing, Optional Supervisor As String = Nothing, Optional Guia As String = "", Optional Consola As String = "-1", Optional DireccionCliente As String = "") Select Case CveConcepto @@ -3926,7 +3926,7 @@ Partial Class PopUpVerFactura Observaciones = ObservacionesSolicitud End If - If UsuarioActual.CveEmpresa.Contiene(119, 186) Then + If UsuarioActual.CveEmpresa.Contiene(119, 186, 201) Then If CalleOrigen.Length > 0 Then SBDireccionO.AppendFormat("{0}", CalleOrigen) If NoExtOrigen.Length > 0 Then SBDireccionO.AppendFormat(", No.Ext: {0}", NoExtOrigen) @@ -3978,6 +3978,18 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("CveVentaDetalle", DtMovimientos(0)("CveVentaDetalle").ToString)) params.Add(New ReportParameter("FacturadoA", DtMovimientos(0)("Nombre").ToString)) params.Add(New ReportParameter("Factura", DtMovimientos(0)("SerieFolio").ToString)) + ElseIf UsuarioActual.CveEmpresa = 201 Then + params.Add(New ReportParameter("AlmacenOrigen", Almacen)) + params.Add(New ReportParameter("AlmacenDestino", "")) + params.Add(New ReportParameter("DireccionCliente", DireccionCliente)) + params.Add(New ReportParameter("Observaciones", Observaciones)) 'TxtObservaciones.Text + params.Add(New ReportParameter("CveAlmacen", DtMovimientos(0)("CveTipoAlmacen").ToString)) + params.Add(New ReportParameter("CveTipoAlmacenDestino", DtMovimientos(0)("CveTipoAlmacenDestino").ToString)) + params.Add(New ReportParameter("CveVentaDetalle", DtMovimientos(0)("CveVentaDetalle").ToString)) + params.Add(New ReportParameter("FacturadoA", DtMovimientos(0)("Nombre").ToString)) + params.Add(New ReportParameter("Factura", DtMovimientos(0)("SerieFolio").ToString)) + + NombreArchivo = String.Format("Saldia del sistema - {0}", Folio) Else params.Add(New ReportParameter("Observaciones", Observaciones)) 'TxtObservaciones.Text params.Add(New ReportParameter("CveAlmacen", DtMovimientos(0)("CveTipoAlmacen").ToString)) diff --git a/Empresas/189/Formatos/Factura.mrt b/Empresas/189/Formatos/Factura.mrt index ce6d370c0..e71c26bfa 100644 --- a/Empresas/189/Formatos/Factura.mrt +++ b/Empresas/189/Formatos/Factura.mrt @@ -192,7 +192,7 @@ True Transparent - 0.2,-0,6,2.4 + 0.2,0,6,2.4 68, 114, 196 @@ -1155,7 +1155,6 @@ iigAooooAKKKKAP/2Q== Text6 - OnlyLastPage {ImporteLetra} Black Expression @@ -1285,7 +1284,6 @@ iigAooooAKKKKAP/2Q== DataBand8 - OnlyLastPage @@ -1312,18 +1310,31 @@ iigAooooAKKKKAP/2Q== Black Expression - + + [227:108:9] + True + 15.6,1.28,5.29,0.14 + + + Arial,10,Regular,Point,False,0 + 2,2,2,2 + Text7 + + + Black + + Transparent True 5.4,1.88,10.25,1.68 Myriad Pro,7,Regular,Point,False,0 + True 2,2,2,2 Textbox26 - OnlyLastPage TERMINOS Y CONDICIONES PARA SOLICITAR DEVOLUCION DE MATERIAL 1.- SE TIENE UN PLAZO DE 30 DIAS A PARTIR DE FECHA FACTURA PARA SOLICITAR DEVOLUCION 2.- PRESENTAR FACTURA DE LA COMPRA @@ -1335,23 +1346,10 @@ iigAooooAKKKKAP/2Q== Black Expression - - [227:108:9] - True - 15.6,1.28,5.29,0.14 - - - Arial,10,Regular,Point,False,0 - 2,2,2,2 - Text7 - - - OnlyLastPage - Black - + False FooterBand1 @@ -6364,10 +6362,10 @@ FUERO DE MI DOMICILIO. LA CANTIDAD DE $ {Total} SON: {(ImporteLetra)}. Stimulsoft.Report.Dll Factura - 12/30/2024 5:44:19 PM + 3/21/2025 12:49:26 PM 7/11/2022 2:49:19 PM - Factura.mrt - 33bb66bee0224df694ddbbead45940b8 + C:\inetpub\wwwSIG\Empresas\189\Formatos\Factura.mrt + e53f4619d7e549e6a19a6047fc704c17 Factura Centimeters 2022.4.5.0 diff --git a/Empresas/189/Formatos/SaldoAntNCDev.rdlc b/Empresas/189/Formatos/SaldoAntNCDev.rdlc index 7bca4418e..e09e5fbaa 100644 --- a/Empresas/189/Formatos/SaldoAntNCDev.rdlc +++ b/Empresas/189/Formatos/SaldoAntNCDev.rdlc @@ -21,6 +21,10 @@ SerieFolio System.String + + SerieFolioEstatus + System.String + FechaAplicado System.String @@ -29,6 +33,10 @@ Importe System.Double + + TotalNC + System.Double + Moneda System.String @@ -63,14 +71,13 @@ Folio @@ -80,10 +87,19 @@ #e36c09 + + LightGrey + + + LightGrey + + + LightGrey + - #e36c09 + LightGrey 1pt @@ -98,10 +114,10 @@ 3.42604cm - 3.37313cm + 2.43119cm - 3.00271cm + 3.94465cm @@ -135,7 +151,7 @@ - White + =IIF(Fields!TotalNC.Value < 0, "#e7505a","White") 0.5pt @@ -167,7 +183,7 @@ - White + =IIF(Fields!TotalNC.Value < 0, "#e7505a","White") 0.5pt @@ -175,14 +191,14 @@ - + true true - =Fields!Importe.Value + =Fields!TotalNC.Value - Importe + TotalNC - White + =IIF(Fields!TotalNC.Value < 0, "#e7505a","White") 0.5pt @@ -225,24 +241,23 @@ Fecha Textbox19 - #e36c09 + LightGrey 1pt @@ -262,24 +277,23 @@ Moneda Textbox21 - #e36c09 + LightGrey 1pt @@ -299,24 +313,23 @@ Importe Textbox23 - #e36c09 + LightGrey 1pt @@ -330,16 +343,16 @@ - 2.39924cm + 6.69369cm - + true true - =Fields!SerieFolio.Value + =Fields!SerieFolioEstatus.Value - SerieFolio + SerieFolioEstatus - White + =IIF(Fields!TotalNC.Value < 0, "#e7505a","White") 0.5pt @@ -369,9 +382,9 @@ true DataSet1 0.12375cm - 0.06614cm + 0.25664cm 0.8825cm - 12.20112cm + 16.49557cm diff --git a/Inventarios/PrestamosdeProveedor.aspx b/Inventarios/PrestamosdeProveedor.aspx index ec234bb63..382bac5a8 100644 --- a/Inventarios/PrestamosdeProveedor.aspx +++ b/Inventarios/PrestamosdeProveedor.aspx @@ -59,7 +59,7 @@
-
+
@@ -68,7 +68,7 @@
- RECEPCIÓN DE TRASPASO + Devolución de Préstamo
@@ -80,10 +80,10 @@
-
- -
-
+
+ +
+
@@ -99,31 +99,29 @@
-
-
- - -
- - - -
-
-
- -
+ + + +
+ + + +
+ +
+
+ +
-
-
- -
- - - -
-
-
+ +
+ + + +
+
+
diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 973191626..28c42cb46 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -1662,6 +1662,7 @@ Partial Class Ventas_ClientesAbonar DtVentasNC.AcceptChanges() ObjFacturaDevolucion.DtVentasNC = DtVentasNC + ObjFacturaDevolucion.CveTipoVenta = 8 'PRONTO PAGO ObjFacturaDevolucion.Timbre = PreParaTimbre(ObjFacturaDevolucion, ListaVentasGenerarNC) diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index ffc42ca94..de094ebf7 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -1470,7 +1470,7 @@ Partial Class ProductosyServicios Exit Sub End If - If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso ChkAplicaParaVenta.Checked Then + If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso ChkAplicaParaVenta.Checked AndAlso DivListaPrecios.Visible Then Dim tcontador As Integer = 0 For Each GvRow As GridViewRow In GvPLMultiple.Rows Dim CvePrecioLista As Integer = GvRow.DataKey("CvePrecioLista").ToEntero() @@ -3012,13 +3012,12 @@ Partial Class ProductosyServicios If UsuarioActual.TienePermisoProceso(389) Then 'si puede actualizar precios se muestra Dim objPS As New ClsProductosServicios If objPS.GetPSPreciosLista(UsuarioActual.CveEmpresa, -1, CvePS:=CvePS) Then - GvPLMultiple.DataSource = objPS.DtResultados + GvPLMultiple.DataSource = objPS.DtResultados.Copy() End If objPS.Dispose() - DivListaPrecios.Visible = True GvPLMultiple.DataBind() + DivListaPrecios.Visible = True End If - End Sub Protected Sub GvMultiple_RowDataBound(sender As Object, e As GridViewRowEventArgs) @@ -3035,16 +3034,19 @@ Partial Class ProductosyServicios Dim TieneError As Boolean = False Try - For Each GvRow As GridViewRow In GvPLMultiple.Rows - Dim CvePrecioLista As Integer = GvRow.DataKey("CvePrecioLista").ToEntero() - Dim Precio As Decimal = GvRow.FCTextBox("TxtPrecio").Text.ToDecimal() + If DivListaPrecios.Visible Then + For Each GvRow As GridViewRow In GvPLMultiple.Rows + Dim CvePrecioLista As Integer = GvRow.DataKey("CvePrecioLista").ToEntero() + Dim Precio As Decimal = GvRow.FCTextBox("TxtPrecio").Text.ToDecimal() - TieneError = Not ObjPS.UpdatePSPreciosLista(Precio, CvePrecioLista, 0, CvePS, UsuarioActual.CveUsuario, NowADS(), True) + TieneError = Not ObjPS.UpdatePSPreciosLista(Precio, CvePrecioLista, 0, CvePS, UsuarioActual.CveUsuario, NowADS(), True) + + If TieneError Then + Exit For + End If + Next + End If - If TieneError Then - Exit For - End If - Next Catch ex As Exception OnError("Ocurrió un error al actualizar precios", ex) TieneError = True diff --git a/Ventas/RepRecuperacion.aspx b/Ventas/RepRecuperacion.aspx index ab11d858c..78b9ad4ce 100644 --- a/Ventas/RepRecuperacion.aspx +++ b/Ventas/RepRecuperacion.aspx @@ -52,6 +52,25 @@ width: 100%; height: 500px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + /*max-width: 150px;*/ /* Ajusta a tu gusto */ + max-width: calc(100% - 2em); + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + /*.select2-selection__choice__remove{*/ + /* o absolute/fixed, según necesites */ + /*position: absolute; + z-index: 9999;*/ /* un valor alto para estar sobre los demás */ + /*} + .select2-search.select2-search--inline .select2-search__field .select2-selection__rendered .select2-container--default .select2-container--focus { + + position: absolute; + z-index: 1; + }*/ + + @@ -337,7 +356,8 @@
- + <%----%> +
diff --git a/Ventas/RepVentas.aspx b/Ventas/RepVentas.aspx index 1f5ed3205..61dcdd7b3 100644 --- a/Ventas/RepVentas.aspx +++ b/Ventas/RepVentas.aspx @@ -368,6 +368,11 @@
+ +
+ + +
diff --git a/Ventas/RepVentas.aspx.vb b/Ventas/RepVentas.aspx.vb index 92752ed76..eb0c42851 100644 --- a/Ventas/RepVentas.aspx.vb +++ b/Ventas/RepVentas.aspx.vb @@ -215,7 +215,15 @@ Partial Class Ventas_RepVentas ChkIEPS.Checked = UsuarioActual.Empresa.Funcionalidad(713) = "1" 'empresa deduce IEPS End Sub - Private Sub CargaCombos() + Private Sub CargaCombos() + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + LblTipoVenta.Visible = True + DivTipoVenta.Visible = True + + DdlTipoVenta.DataSource = GlobalDTTipoVenta(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' AND TipoDocto = 'Egs' ") + DdlTipoVenta.DataBind() + DdlTipoVenta.Items.Insert(0, New ListItem("Todos", "-1")) + End If CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto, VisualizacionReporte:=1) @@ -265,8 +273,8 @@ Partial Class Ventas_RepVentas TxtFechaISabana.Text = NowADS().FirstDayOfMonth.ToShortDateString TxtFechaFSabana.Text = NowADS().ToShortDateString - End Sub - + End Sub + #End Region @@ -310,7 +318,7 @@ Partial Class Ventas_RepVentas If ObjVentas.GetRepVentas(FechaI, FechaF, FechaIEjec, FechaFEjec, CveCliente, DdlSubProyectoEjecucion.SelectedValue.ToEntero, Vendedores, DdlUsuario.SelectedValue.ToEntero, Estatus, "-1", UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, TipoComprobante, DdlProyecto.SelectedValue.ToEntero, Sucursales, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, CveCondicionesPago:=DdlCondicionesPago.SelectedValue.ToEntero, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, ModalidadContable:=ModalidadContable, - EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero, CveTipoRelacion:=DdlTipoRelacion.SelectedValue.ToEntero(), ServicioDomicilio:=DdlServicioDomicilio.SelectedValue.ToEntero, EsFacturaGlobal:=DdlFacturaGlobal.SelectedValue.ToEntero, EsFilial:=DdlFilial.SelectedValue.ToEntero) Then + EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero, CveTipoRelacion:=DdlTipoRelacion.SelectedValue.ToEntero(), ServicioDomicilio:=DdlServicioDomicilio.SelectedValue.ToEntero, EsFacturaGlobal:=DdlFacturaGlobal.SelectedValue.ToEntero, EsFilial:=DdlFilial.SelectedValue.ToEntero, CveTipoVenta:=DdlTipoVenta.SelectedValue.ToEntero()) Then GvDatos.DataSource = ObjVentas.DtResultados DtVentas = ObjVentas.DtResultados Else @@ -531,7 +539,7 @@ Partial Class Ventas_RepVentas 'LIGA A DETALLE - Dim Liga As String = $"/Ventas/RepVentasDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&AnioEjec={e.Row.DBCampo("AnioEjec")}&MesEjec={e.Row.DBCampo("MesEjec")}&AnioMesEjec={e.Row.DBCampo("AnioMesEjec")}&FechaEjec={e.Row.DBCampo("FechaEjec")}&CveCliente={e.Row.DBCampo("CveCliente")}&CveVendedor={ e.Row.DBCampo("CveVendedor")}&CveUsuario={e.Row.DBCampo("CveUsuario")}&CveEstatusFactura={e.Row.DBCampo("CveEstatusFactura")}&FechaI={FechaInicial}&FechaF={FechaFinal}&FechaIEjec={FechaIEjec}&FechaFEjec={FechaFEjec}&IVA={e.Row.DBCampo("GPO_IVA")}&CveCorte={ e.Row.DBCampo("CveCorte")}&TipoDocto={ DdlTipoComprobante.GetSelectedValuesM}&CveSubProyectoEjecucion={e.Row.DBCampo("CveSubProyectoEjecucion")}&CveSubProyecto={CveSubProyecto}&CveProyecto={CveProyecto}&TipoCambio={TipoCambio}&TCEspecifico={TCEspecifico}&CveMoneda={CveMoneda}&CveClienteClasificacion={e.Row.DBCampo("CveClienteClasificacion")}&CveCondicionesPago={DdlCondicionesPago.SelectedValue}&TipoCliente={ If(DdlGrupo.SelectedValue.ToEntero = 20, e.Row.DBCampo("TipoCliente"), DdlTipoCliente.SelectedValue)}&ModalidadContable={If(ChkLecturaAdmin.Checked, 0, 1)}&CveTipoRelacion={DdlTipoRelacion.SelectedValue}&ServicioDomicilio={DdlServicioDomicilio.SelectedValue}&EsFacturaGlobal={DdlFacturaGlobal.SelectedValue}&EsFilial={e.Row.DBCampo("EsFilial")}" + Dim Liga As String = $"/Ventas/RepVentasDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&AnioEjec={e.Row.DBCampo("AnioEjec")}&MesEjec={e.Row.DBCampo("MesEjec")}&AnioMesEjec={e.Row.DBCampo("AnioMesEjec")}&FechaEjec={e.Row.DBCampo("FechaEjec")}&CveCliente={e.Row.DBCampo("CveCliente")}&CveVendedor={ e.Row.DBCampo("CveVendedor")}&CveUsuario={e.Row.DBCampo("CveUsuario")}&CveEstatusFactura={e.Row.DBCampo("CveEstatusFactura")}&FechaI={FechaInicial}&FechaF={FechaFinal}&FechaIEjec={FechaIEjec}&FechaFEjec={FechaFEjec}&IVA={e.Row.DBCampo("GPO_IVA")}&CveCorte={ e.Row.DBCampo("CveCorte")}&TipoDocto={ DdlTipoComprobante.GetSelectedValuesM}&CveSubProyectoEjecucion={e.Row.DBCampo("CveSubProyectoEjecucion")}&CveSubProyecto={CveSubProyecto}&CveProyecto={CveProyecto}&TipoCambio={TipoCambio}&TCEspecifico={TCEspecifico}&CveMoneda={CveMoneda}&CveClienteClasificacion={e.Row.DBCampo("CveClienteClasificacion")}&CveCondicionesPago={DdlCondicionesPago.SelectedValue}&TipoCliente={ If(DdlGrupo.SelectedValue.ToEntero = 20, e.Row.DBCampo("TipoCliente"), DdlTipoCliente.SelectedValue)}&ModalidadContable={If(ChkLecturaAdmin.Checked, 0, 1)}&CveTipoRelacion={DdlTipoRelacion.SelectedValue}&ServicioDomicilio={DdlServicioDomicilio.SelectedValue}&EsFacturaGlobal={DdlFacturaGlobal.SelectedValue}&EsFilial={e.Row.DBCampo("EsFilial")}&CveTipoVenta={e.Row.DBCampo("CveTipoVenta")}" e.Row.FCLiteral("LtlGrupo").Text = "" & e.Row.FCLiteral("LtlGrupo").Text & "" diff --git a/Ventas/RepVentasDetalle.aspx b/Ventas/RepVentasDetalle.aspx index 16de624de..bf70f132e 100644 --- a/Ventas/RepVentasDetalle.aspx +++ b/Ventas/RepVentasDetalle.aspx @@ -331,14 +331,20 @@
Factura Global: -
- - Todos - Solo Globales - Sin Globales - -
- +
+ + Todos + Solo Globales + Sin Globales + +
+
+
+ +
+ + +
@@ -346,7 +352,7 @@ - <%-- 0--%> @@ -607,23 +613,30 @@ - - - - - <%-- 42--%> + + + + + + <%-- 43--%> - <%-- 43--%> + <%-- 44--%> + <%-- 45--%> + + + + + @@ -814,8 +827,11 @@ - - + + + + + diff --git a/Ventas/RepVentasDetalle.aspx.vb b/Ventas/RepVentasDetalle.aspx.vb index ab3168e0b..1d7735992 100644 --- a/Ventas/RepVentasDetalle.aspx.vb +++ b/Ventas/RepVentasDetalle.aspx.vb @@ -186,6 +186,8 @@ Partial Class RepVentasDetalle TipoCliente = If(Request("TipoCliente") IsNot Nothing, Request("TipoCliente").ToString.ToEntero, -1).ToString.ToEntero CveTipoRelacion = If(Request("CveTipoRelacion") IsNot Nothing, Request("CveTipoRelacion").ToString, "-1").ToString + Dim CveTipoVenta = If(Request("CveTipoVenta") IsNot Nothing, Request("CveTipoVenta").ToString.ToEntero, -1).ToString.ToEntero + DdlTipoVenta.SelectedValueExist(CveTipoVenta) DdlTipoCliente.SelectedValueExist(TipoCliente) @@ -318,6 +320,15 @@ Partial Class RepVentasDetalle End Sub Private Sub CargaCombos() + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + LblTipoVenta.Visible = True + DivTipoVenta.Visible = True + + DdlTipoVenta.DataSource = GlobalDTTipoVenta(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' AND TipoDocto = 'Egs'") + DdlTipoVenta.DataBind() + DdlTipoVenta.Items.Insert(0, New ListItem("Todos", "-1")) + End If + CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto, VisualizacionReporte:=1) CargaClientes() @@ -457,7 +468,7 @@ Partial Class RepVentasDetalle CveCorte.ToEntero, TipoComprobante, DdlSubProyectoEjecucion.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, FechaIEjec, FechaFEjec, CveProyecto, Sucursales, TipoCambio, TCEspecifico, CveMoneda, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, CveCondicionesPago:=CveCondicionesPago, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, ModalidadContable:=Not ChkLecturaAdmin.Checked, CveTipoRelacion:=DdlTipoRelacion.SelectedValue.ToEntero(), - ServicioDomicilio:=DdlServicioDomicilio.SelectedValue.ToEntero, EsFacturaGlobal:=DdlFacturaGlobal.SelectedValue.ToEntero, EsFilial:=DdlFilial.SelectedValue.ToEntero) Then + ServicioDomicilio:=DdlServicioDomicilio.SelectedValue.ToEntero, EsFacturaGlobal:=DdlFacturaGlobal.SelectedValue.ToEntero, EsFilial:=DdlFilial.SelectedValue.ToEntero, CveTipoVenta:=DdlTipoVenta.SelectedValue.ToEntero()) Then DtVentas = AddRows(ObjVentas.DtResultados) ImgImprimir.Enabled = True GvDatos.DataSource = AddRows(ObjVentas.DtResultados) @@ -1031,6 +1042,7 @@ Partial Class RepVentasDetalle GvDatos.Columns(42).Visible = ChkGestionCobranzaTurno.Checked GvDatos.Columns(43).Visible = ChkDescargarXML.Checked GvDatos.Columns(44).Visible = ChkDescargarPDF.Checked + GvDatos.Columns(45).Visible = ChkTipoVenta.Checked Personalizo = 1 If Personalizo = 1 Then diff --git a/Ventas/RepVentasPeriodo.aspx.vb b/Ventas/RepVentasPeriodo.aspx.vb index 3c224f9b5..719cc08fa 100644 --- a/Ventas/RepVentasPeriodo.aspx.vb +++ b/Ventas/RepVentasPeriodo.aspx.vb @@ -87,7 +87,10 @@ Partial Class RepVentasPeriodo DdlTipoComprobante.SelectedValuesIfExistM(Opcion) DdlGrupo.SelectedValueExist("7") DdlTipoComprobante_SelectedIndexChanged(DdlTipoComprobante, EventArgs.Empty) - DdlEstatus.SelectedValue = "-1" + DdlEstatus.SelectedValue = "-1" + Else + DdlTipoComprobante.SelectedValuesIfExistM("Ing") + DdlEstatus.SelectedValuesIfExistM("3") End If diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index c5874f90b..1ef94d20a 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -12424,6 +12424,9 @@ Partial Class Ventas End If End If + + ObjFacturaBonificacion.CveTipoVenta = 7 'BONIFICACION + End Sub @@ -14638,6 +14641,31 @@ Partial Class Ventas End If End If + If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso factura.TipoDocto = "Egs" AndAlso Not factura.EsGarantia Then + CveTipoVentaGuardar = -1 + + If NCDescuento Then + If ListaNCDescuento IsNot Nothing AndAlso ListaNCDescuento.Count > 0 Then + 'VERIFICA SI BONIFICACION + If ListaNCDescuento.Any(Function(RNC) (RNC.Num1 = 2)) Then + CveTipoVentaGuardar = 7 ' BONIFICACION + ElseIf ListaNCDescuento.Any(Function(RNC) (RNC.Num1 = 1)) Then + CveTipoVentaGuardar = 9 ' CANCELACION DE USADOS + End If + End If + Else + If ListaRemisionesNC IsNot Nothing AndAlso ListaRemisionesNC.Count > 0 Then + 'VERIFICA SI BONIFICACION + If ListaRemisionesNC.Any(Function(RNC) (RNC.Num1 = 2)) Then + CveTipoVentaGuardar = 7 ' BONIFICACION + ElseIf ListaRemisionesNC.Any(Function(RNC) (RNC.Num1 = 1)) Then + CveTipoVentaGuardar = 9 ' CANCELACION DE USADOS + End If + End If + + End If + End If + If Not ObjVentas.AddVenta(factura.TipoDocto, factura.Folio, factura.CveCliente, factura.CveClienteSucursal, factura.SubTotalTC, factura.DescuentoTC, factura.AmortizacionTC, factura.IVATC, factura.RetIVATC, factura.RetISRTC, factura.TotalTC, factura.CveMoneda, factura.TipoCambio, factura.CveMetodoPago, factura.CondicionesPago, 0, factura.FechaPago, factura.Fecha, factura.MotivoDescuento, @@ -37901,6 +37929,7 @@ Partial Class Ventas ObjFacturaProntoPago.DtVentasNC = DtVentasNC ObjFacturaProntoPago.Timbre = PreParaTimbre(ObjFacturaProntoPago) + ObjFacturaProntoPago.CveTipoVenta = 8 'PRONTO PAGO Resp = ObjFacturaProntoPago.EmitirFactura(False, Transac:=SqlTransaccion)