From 143f09e1e226da075dd984a604ea3648af76ed0a Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 14 Apr 2021 17:08:46 -0700 Subject: [PATCH 01/11] Correciones API E141 --- App_Code/ClsClientes.vb | 57 +++++++++ Ashx/E141.ashx | 258 ++++++++++++++++++++++++++++++++++------ 2 files changed, 276 insertions(+), 39 deletions(-) diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb index 69ac29dc8..42e66ad44 100644 --- a/App_Code/ClsClientes.vb +++ b/App_Code/ClsClientes.vb @@ -1680,6 +1680,63 @@ Public Class ClsClientes Return Retorno End Function + Public Function UpdateClienteNoFrencuente(CveCliente As Integer, Nombre As String, Direccion As String, NoExt As String, NoInt As String, Colonia As String, Localidad As String, Ciudad As String, CveEstado As Integer, + RFC As String, CP As String, Telefono As String, Mail As String, CveSubProyecto As Integer, CveUsuario As Integer, CveEmpresa As Integer, + NumCuentaPago As String, CveMetodoPago33 As Integer, CveFormaPago33 As Integer, Optional CvePrecioLista As Integer = -1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_ClientesNoFrecuenteUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCliente", SqlDbType.Int).Value = CveCliente + .Add("@Nombre", SqlDbType.VarChar).Value = Nombre + .Add("@Direccion", SqlDbType.VarChar).Value = Direccion + .Add("@NoExt", SqlDbType.VarChar).Value = NoExt + .Add("@NoInt", SqlDbType.VarChar).Value = NoInt + .Add("@Colonia", SqlDbType.VarChar).Value = Colonia + .Add("@Localidad", SqlDbType.VarChar).Value = Localidad + .Add("@Ciudad", SqlDbType.VarChar).Value = Ciudad + .Add("@CveEstado", SqlDbType.Int).Value = CveEstado + ' .Add("@Pais", SqlDbType.VarChar).Value = Pais + .Add("@RFC", SqlDbType.VarChar).Value = RFC + .Add("@CP", SqlDbType.VarChar).Value = CP + .Add("@Telefono", SqlDbType.VarChar).Value = Telefono + .Add("@Mail", SqlDbType.VarChar).Value = Mail + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveMetodoPago33", SqlDbType.Int).Value = CveMetodoPago33 + .Add("@CveFormaPago33", SqlDbType.Int).Value = CveFormaPago33 + .Add("@NumCuentaPago", SqlDbType.VarChar).Value = NumCuentaPago + .Add("@CvePrecioLista", SqlDbType.Int).Value = CvePrecioLista + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + + If Ex1.Message.Contains("Número: 2627;") Then + Alert("El Nuevo Cliente no se guardo debido a que actualmente se encuentra registrado", TipoMensaje.MsgAdvertencia) + + ElseIf Ex1.Message.Contains("Número: 2601;") Then + If Ex1.Message.Contains("UN_ClientesRFCEmpresa") Then + Alert("Ya existe un cliente registrado con el mismo RFC.", TipoMensaje.MsgAdvertencia) + End If + + If Ex1.Message.Contains("IND_Clientes_Codigo") Then + Alert("Ya existe un cliente registrado con el mismo Código.", TipoMensaje.MsgAdvertencia) + End If + Else + Me.OnError("Ocurrió un error al Intentar guardar el Nuevo Cliente.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar el cliente", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + #Region "UNIFICAR CLIENTES" Public Function UnificarClientes(CveClienteAUnificar As Integer, CveClienteOriginal As Integer) As Boolean Dim Retorno As Boolean = False diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx index 801f1ab28..fca4a8b19 100644 --- a/Ashx/E141.ashx +++ b/Ashx/E141.ashx @@ -115,6 +115,45 @@ Public Class E141 : Implements IHttpHandler End Get End Property + Public Property GlobalDTPSSimplificado(Optional CveClasificacion As Integer = -1, Optional Codigo As String = "-1", Optional Estatus As Integer = 1, Optional AplicaParaVenta As Integer = -1, Optional CvePS As Integer = -1) As DataTable + Get + Dim AppNombre As String = String.Format("GlobalDTPSSimplificado-{0}", CveEmpresa) + If CveEmpresa <> -1 Then + 'sino existe, recarga los datos + If HttpContext.Current.Application(AppNombre) Is Nothing Then + Dim ObjPS As New ClsProductosServicios + If ObjPS.GetPSSimplificado(CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjPS.DtResultados.AsEnumerable() + ObjPS.Dispose() + + End If + + + Dim Cons = DirectCast(HttpContext.Current.Application(AppNombre), EnumerableRowCollection(Of DataRow)) + + Cons = Cons.Where((Function(a) Convert.ToInt32(a!CveEmpresa) = CveEmpresa)) + If CveClasificacion >= 0 Then Cons = Cons.Where((Function(a) Convert.ToInt32(a!CveClasificacion) = CveClasificacion)) + Codigo = Codigo.ToUpper() + If Codigo <> "-1" Then Cons = Cons.Where((Function(a) Convert.ToString(a!Codigo).ToUpper() = Codigo)) + If Estatus >= 0 Then Cons = Cons.Where((Function(a) Convert.ToInt32(a!CveEstado) = Estatus)) + If AplicaParaVenta >= 0 Then Cons = Cons.Where((Function(a) Convert.ToInt32(a!AplicaParaVenta) = AplicaParaVenta)) + If CvePS >= 0 Then Cons = Cons.Where((Function(a) Convert.ToInt32(a!CvePS) = CvePS)) + + Try + GlobalDTPSSimplificado = Cons.OrderBy(Function(a) a!PSCodigo).CopyToDataTable + Catch ex As Exception + GlobalDTPSSimplificado = New DataTable + End Try + + Else + GlobalDTPSSimplificado = DirectCast(HttpContext.Current.Application(AppNombre), EnumerableRowCollection(Of DataRow)).CopyToDataTable + End If + End Get + Set(value As DataTable) + Dim AppNombre As String = String.Format("GlobalDTPSSimplificado-{0}", CveEmpresa) + HttpContext.Current.Application(AppNombre) = value + End Set + End Property + Property GlobalDTMonedas() As DataTable Get GlobalDTMonedas = DirectCast(HttpContext.Current.Application("GlobalDTMonedas"), DataTable) @@ -632,11 +671,14 @@ Public Class E141 : Implements IHttpHandler Dim ObjClientes As New ClsClientes() Dim ObjInventario As New ClsInventarios(ObjClientes.IniciaTransacSQL()) - ObjClientes.IniciaTransacSQL() Try - If Not String.IsNullOrEmpty(JsonRequest("timbrar").ToString) Then - DebeTimbrar = CBool(JsonRequest("timbrar")) + Dim timbrar_request As String = If(JsonRequest("timbrar") Is Nothing, "", JsonRequest("timbrar").ToString()) + + If Not String.IsNullOrEmpty(timbrar_request) Then + DebeTimbrar = CBool(timbrar_request) + Else + DebeTimbrar = False End If ObjFactura = CreaFactura(ObjInventario, ObjClientes, "Ing", Resp, JsonRequest, Usuario) @@ -646,7 +688,7 @@ Public Class E141 : Implements IHttpHandler If Resp.CveVenta > 0 Then Respuesta.status = "success" - Respuesta.data = Resp.CveVenta.ToString() + Respuesta.data = Resp.SerieFolio Else TieneError = True End If @@ -674,9 +716,11 @@ Public Class E141 : Implements IHttpHandler If TieneError Then ObjClientes.RollBack() ObjClientes.Dispose() + ObjInventario.Dispose() Else ObjClientes.Commit() ObjClientes.Dispose() + ObjInventario.Dispose() If DebeTimbrar Then Dim SeTimbro As Boolean = ObjFactura.TimbrarFactura() @@ -690,6 +734,10 @@ Public Class E141 : Implements IHttpHandler End If End If + If ObjFactura IsNot Nothing Then + ObjFactura.Dispose() + End If + Else TieneError = True RespuestaError.message = "No hay un usuario disponible" @@ -708,26 +756,83 @@ Public Class E141 : Implements IHttpHandler #Region "D E F I N I R - O B J E T O S" - Private Function CrearCliente(ObjClientes As ClsClientes, ByRef Resp As Modelos.Factura.MMensajeFactura, JsonRequest As JObject, UsuarioActual As Usuario) As Integer + Private Function CrearCliente(TipoDocto As String, ObjClientes As ClsClientes, ByRef Resp As Modelos.Factura.MMensajeFactura, JsonRequest As JObject, UsuarioActual As Usuario) As Integer Dim CveCliente As Integer = -1 Dim CveSubProyecto As Integer = JsonRequest("branch_office_id").ToEntero() - Dim Nombre As String = If(JsonRequest("contact_name") Is Nothing, "", JsonRequest("contact_name").ToString()) - Dim Direccion As String = If(JsonRequest("contact_address") Is Nothing, "", JsonRequest("contact_address").ToString()) - Dim NumExt As String = If(JsonRequest("contact_ext_number") Is Nothing, "", JsonRequest("contact_ext_number").ToString()) - Dim NumInt As String = If(JsonRequest("contact_int_number") Is Nothing, "", JsonRequest("contact_int_number").ToString()) - Dim Colonia As String = If(JsonRequest("contact_neighborhood") Is Nothing, "", JsonRequest("contact_neighborhood").ToString()) - Dim Localidad As String = If(JsonRequest("contact_city") Is Nothing, "", JsonRequest("contact_city").ToString()) - Dim Ciudad As String = Localidad - Dim RFC As String = If(JsonRequest("invoice_rfc") Is Nothing, "XAXX010101000", JsonRequest("invoice_rfc").ToString()) - Dim CP As String = If(JsonRequest("contact_zip_code") Is Nothing, "", JsonRequest("contact_zip_code").ToString()) - Dim Telefono As String = If(JsonRequest("contact_phone") Is Nothing, "", JsonRequest("contact_phone").ToString()) - Dim Correo As String = If(JsonRequest("contact_email") Is Nothing, "", JsonRequest("contact_email").ToString()) + + + Dim Nombre As String = "" + Dim Direccion As String = "" + Dim NumExt As String = "" + Dim NumInt As String = "" + Dim Colonia As String = "" + Dim Localidad As String = "" + Dim Ciudad As String = "" + Dim Estado As String = "" + Dim RFC As String = "" + Dim CP As String = "" + Dim Telefono As String = "" + Dim Correo As String = "" + + 'DATOS DE CONTACTO + Dim contact_name As String = If(JsonRequest("contact_name") Is Nothing, "", JsonRequest("contact_name").ToString()) + Dim contact_address As String = If(JsonRequest("contact_address") Is Nothing, "", JsonRequest("contact_address").ToString()) + Dim contact_ext_number As String = If(JsonRequest("contact_ext_number") Is Nothing, "", JsonRequest("contact_ext_number").ToString()) + Dim contact_int_number As String = If(JsonRequest("contact_int_number") Is Nothing, "", JsonRequest("contact_int_number").ToString()) + Dim contact_neighborhood As String = If(JsonRequest("contact_neighborhood") Is Nothing, "", JsonRequest("contact_neighborhood").ToString()) + Dim contact_city As String = If(JsonRequest("contact_city") Is Nothing, "", JsonRequest("contact_city").ToString()) + Dim contact_zip_code As String = If(JsonRequest("contact_zip_code") Is Nothing, "", JsonRequest("contact_zip_code").ToString()) + Dim contact_phone As String = If(JsonRequest("contact_phone") Is Nothing, "", JsonRequest("contact_phone").ToString()) + Dim contact_email As String = If(JsonRequest("contact_email") Is Nothing, "", JsonRequest("contact_email").ToString()) + Dim contact_state As String = If(JsonRequest("contact_state") Is Nothing, "", JsonRequest("contact_state").ToString()) + + 'DATOS DE FACTURACION + Dim invoice_rfc As String = If(JsonRequest("invoice_rfc") Is Nothing, "", JsonRequest("invoice_rfc").ToString()) + Dim invoice_name As String = If(JsonRequest("invoice_name") Is Nothing, "", JsonRequest("invoice_name").ToString()) + Dim invoice_address As String = If(JsonRequest("invoice_address") Is Nothing, "", JsonRequest("invoice_address").ToString()) + Dim invoice_city As String = If(JsonRequest("invoice_city") Is Nothing, "", JsonRequest("invoice_city").ToString()) + Dim invoice_state As String = If(JsonRequest("invoice_state") Is Nothing, "", JsonRequest("invoice_state").ToString()) + Dim invoice_email As String = If(JsonRequest("invoice_email") Is Nothing, "", JsonRequest("invoice_email").ToString()) + Dim invoice_phone As String = If(JsonRequest("invoice_phone") Is Nothing, "", JsonRequest("invoice_phone").ToString()) Dim CveEstado As Integer = -1 - If Not String.IsNullOrEmpty(JsonRequest("contact_state").ToString()) Then - CveEstado = GlobalDTEstado("MEX").FiltroPrimeroValor("CveEstado", $"NombreEstado = '{JsonRequest("contact_state").ToString().Trim}'").ToEntero() + If TipoDocto = "Ing" Then + RFC = If(Not String.IsNullOrEmpty(invoice_rfc), invoice_rfc, "XAXX010101000") + Nombre = If(Not String.IsNullOrEmpty(invoice_name), invoice_name, contact_name) + Direccion = If(Not String.IsNullOrEmpty(invoice_address), invoice_address, contact_address) + 'SI LA DIRECCION ES LA MISMA QUE LA DE CONTACTO + If Direccion = contact_address Then + NumExt = If(Not String.IsNullOrEmpty(contact_ext_number), contact_ext_number, "") + NumInt = If(Not String.IsNullOrEmpty(contact_int_number), contact_int_number, "") + Colonia = If(Not String.IsNullOrEmpty(contact_neighborhood), contact_neighborhood, "") + End If + Ciudad = If(Not String.IsNullOrEmpty(invoice_city), invoice_city, contact_city) + Localidad = Ciudad + Estado = If(Not String.IsNullOrEmpty(invoice_state), invoice_state, contact_state) + CP = If(Not String.IsNullOrEmpty(contact_zip_code), contact_zip_code, "") + Correo = If(Not String.IsNullOrEmpty(invoice_email), invoice_email, contact_email) + Telefono = If(Not String.IsNullOrEmpty(invoice_phone), invoice_phone, contact_phone) + + Else + + Nombre = If(Not String.IsNullOrEmpty(contact_name), contact_name, "") + Direccion = If(Not String.IsNullOrEmpty(contact_address), contact_address, "") + NumExt = If(Not String.IsNullOrEmpty(contact_ext_number), contact_ext_number, "") + NumInt = If(Not String.IsNullOrEmpty(contact_int_number), contact_int_number, "") + Colonia = If(Not String.IsNullOrEmpty(contact_neighborhood), contact_neighborhood, "") + Ciudad = If(Not String.IsNullOrEmpty(contact_city), contact_city, "") + Localidad = Ciudad + Estado = If(Not String.IsNullOrEmpty(contact_state), contact_state, "") + CP = If(Not String.IsNullOrEmpty(contact_zip_code), contact_zip_code, "") + Correo = If(Not String.IsNullOrEmpty(contact_email), contact_email, "") + Telefono = If(Not String.IsNullOrEmpty(contact_phone), contact_phone, "") + + End If + + If Not String.IsNullOrEmpty(Estado) Then + CveEstado = GlobalDTEstado("MEX").FiltroPrimeroValor("CveEstado", $"NombreEstado = '{Estado.Trim}'").ToEntero() 'SI NO ENCUENTRA EL ESTADO INGRESA EL DE SONORA If CveEstado <= 0 Then @@ -737,11 +842,18 @@ Public Class E141 : Implements IHttpHandler CveEstado = 26 End If + 'SI NO EXISTE EL RFC UTILIZA EL GENERICO If String.IsNullOrEmpty(RFC) Then RFC = "XAXX010101000" End If + If String.IsNullOrEmpty(Nombre) Then + Resp.TieneError = False + Resp.Mensajes.Add("El cliente no tiene un nombre") + Return -1 + End If + 'VALIDAR QUE NO EXISTA EL RFC If RFC <> "XAXX010101000" Then If ObjClientes.GetClientes(-1, "-1", "-1", "-1", RFC, "-1", "-1", -1, UsuarioActual.CveEmpresa, 1, TipoCliente:=-1, TopSelect:=1) Then @@ -774,11 +886,19 @@ Public Class E141 : Implements IHttpHandler Resp.TieneError = False Dim Serie As String = "-1" Dim CveMoneda As Integer = 1 + Dim CveSubProyecto As Integer = JsonRequest("branch_office_id").ToEntero() + + If CveSubProyecto <= 0 Then + Resp.TieneError = False + Resp.Mensajes.Add("La sucursal es requerida") + Return Nothing + End If + Dim CveCliente As Integer = If(JsonRequest("user_id") Is Nothing, 0, JsonRequest("user_id").ToEntero()) If CveCliente <= 0 Then - CveCliente = CrearCliente(ObjClientes, Resp, JsonRequest, UsuarioActual) + CveCliente = CrearCliente(TipoDocto, ObjClientes, Resp, JsonRequest, UsuarioActual) End If If CveCliente <= 0 Then @@ -854,19 +974,6 @@ Public Class E141 : Implements IHttpHandler ElseIf ObjFactura.TipoDocto = "Ing" Then - If ObjFactura.Cliente IsNot Nothing AndAlso Not String.IsNullOrEmpty(JsonRequest("invoice_name").ToString()) Then - ObjFactura.Cliente.Nombre = JsonRequest("invoice_name").ToString() - ObjFactura.Cliente.NombreComercial = JsonRequest("invoice_name").ToString() - ObjFactura.Cliente.Direccion = JsonRequest("invoice_address").ToString() - ObjFactura.Cliente.Colonia = "" - ObjFactura.Cliente.NoInt = "" - ObjFactura.Cliente.NoExt = "" - ObjFactura.Cliente.Localidad = JsonRequest("invoice_city").ToString() - ObjFactura.Cliente.Estado = JsonRequest("invoice_state").ToString() - ObjFactura.Cliente.Mail = JsonRequest("invoice_email").ToString() - ObjFactura.Cliente.Telefono = JsonRequest("invoice_phone").ToString() - End If - 'FORMA DE PAGO If JsonRequest("invoice_way_to_pay") Is Nothing Then Resp.TieneError = False @@ -941,10 +1048,73 @@ Public Class E141 : Implements IHttpHandler End If + If ObjFactura.Cliente IsNot Nothing AndAlso TipoDocto = "Ing" Then + + 'DATOS DE CONTACTO + Dim contact_name As String = If(JsonRequest("contact_name") Is Nothing, "", JsonRequest("contact_name").ToString()) + Dim contact_address As String = If(JsonRequest("contact_address") Is Nothing, "", JsonRequest("contact_address").ToString()) + Dim contact_ext_number As String = If(JsonRequest("contact_ext_number") Is Nothing, "", JsonRequest("contact_ext_number").ToString()) + Dim contact_int_number As String = If(JsonRequest("contact_int_number") Is Nothing, "", JsonRequest("contact_int_number").ToString()) + Dim contact_neighborhood As String = If(JsonRequest("contact_neighborhood") Is Nothing, "", JsonRequest("contact_neighborhood").ToString()) + Dim contact_city As String = If(JsonRequest("contact_city") Is Nothing, "", JsonRequest("contact_city").ToString()) + Dim contact_zip_code As String = If(JsonRequest("contact_zip_code") Is Nothing, "", JsonRequest("contact_zip_code").ToString()) + Dim contact_phone As String = If(JsonRequest("contact_phone") Is Nothing, "", JsonRequest("contact_phone").ToString()) + Dim contact_email As String = If(JsonRequest("contact_email") Is Nothing, "", JsonRequest("contact_email").ToString()) + Dim contact_state As String = If(JsonRequest("contact_state") Is Nothing, "", JsonRequest("contact_state").ToString()) + + 'DATOS DE FACTURACION + Dim invoice_rfc As String = If(JsonRequest("invoice_rfc") Is Nothing, "", JsonRequest("invoice_rfc").ToString()) + Dim invoice_name As String = If(JsonRequest("invoice_name") Is Nothing, "", JsonRequest("invoice_name").ToString()) + Dim invoice_address As String = If(JsonRequest("invoice_address") Is Nothing, "", JsonRequest("invoice_address").ToString()) + Dim invoice_city As String = If(JsonRequest("invoice_city") Is Nothing, "", JsonRequest("invoice_city").ToString()) + Dim invoice_state As String = If(JsonRequest("invoice_state") Is Nothing, "", JsonRequest("invoice_state").ToString()) + Dim invoice_email As String = If(JsonRequest("invoice_email") Is Nothing, "", JsonRequest("invoice_email").ToString()) + Dim invoice_phone As String = If(JsonRequest("invoice_phone") Is Nothing, "", JsonRequest("invoice_phone").ToString()) + + Dim CveEstado As Integer = -1 + + ObjFactura.Cliente.RFC = If(Not String.IsNullOrEmpty(invoice_rfc), invoice_rfc, ObjFactura.Cliente.RFC) + ObjFactura.Cliente.Nombre = If(Not String.IsNullOrEmpty(invoice_name), invoice_name, contact_name) + ObjFactura.Cliente.NombreComercial = ObjFactura.Cliente.NombreComercial + ObjFactura.Cliente.Direccion = If(Not String.IsNullOrEmpty(invoice_address), invoice_address, contact_address) + ObjFactura.Cliente.Mail = If(Not String.IsNullOrEmpty(invoice_email), invoice_email, contact_email) + ObjFactura.Cliente.Telefono = If(Not String.IsNullOrEmpty(invoice_phone), invoice_phone, contact_phone) + ObjFactura.Cliente.Localidad = If(Not String.IsNullOrEmpty(invoice_city), invoice_city, contact_city) + ObjFactura.Cliente.Ciudad = ObjFactura.Cliente.Localidad + ObjFactura.Cliente.Estado = If(Not String.IsNullOrEmpty(invoice_state), invoice_state, contact_state) + + If String.IsNullOrEmpty(ObjFactura.Cliente.RFC) Then + Resp.Mensajes.Add("No se ha ingresado un RFC") + Return Nothing + End If + + If String.IsNullOrEmpty(ObjFactura.Cliente.Nombre) Then + Resp.Mensajes.Add("No se ha ingresado un nombre para el cliente") + Return Nothing + End If + + If Not String.IsNullOrEmpty(ObjFactura.Cliente.Estado) Then + CveEstado = GlobalDTEstado("MEX").FiltroPrimeroValor("CveEstado", $"NombreEstado = '{ObjFactura.Cliente.Estado.Trim}'").ToEntero() + + 'SI NO ENCUENTRA EL ESTADO INGRESA EL DE SONORA + If CveEstado <= 0 Then + CveEstado = 26 + End If + Else + CveEstado = 26 + End If + + Dim Cliente = ObjFactura.Cliente + If Not ObjClientes.UpdateClienteNoFrencuente(CveCliente, Cliente.Nombre, Cliente.Direccion, Cliente.NoExt, Cliente.NoInt, Cliente.Colonia, Cliente.Localidad, Cliente.Ciudad, CveEstado, Cliente.RFC, Cliente.CP, Cliente.Telefono, Cliente.Mail, CveSubProyecto, UsuarioActual.CveUsuario, CveEmpresa, "-1", ObjFactura.CveMetodoPago33, ObjFactura.CveFormaPago33) Then + Resp.TieneError = False + Resp.Mensajes.Add("No se puedo actualizar un cliente") + Return Nothing + End If + + End If + ObjFactura.CveAlmacen = GlobalDTAlmacen(CveEmpresa, CveTipoAlmacen:=1).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero() - - 'DETALLES ObjFactura.DtDetalle = CreaDTDetalle(ObjInventario, ObjFactura, Resp, UsuarioActual, JsonRequest) @@ -958,7 +1128,6 @@ Public Class E141 : Implements IHttpHandler End If End If - 'INVENTARIO If TipoDocto = "Ing" Then ObjFactura.DtInventario = ObjFactura.DtDetalle.Copy.FiltraParametros("CveTipoPS = 2") @@ -1235,7 +1404,9 @@ Public Class E141 : Implements IHttpHandler TmpDT.Columns.Add("ClaveSATFraccionArancelariaDescripcion", GetType(String)) TmpDT.Columns.Add("ClaveSATUnidadAduanaDescripcion", GetType(String)) - TmpDT.Columns.Add("CveTamaño", GetType(Integer)) + TmpDT.Columns.Add("CveTamaño", GetType(Integer)) + + Try Dim ListaPS = JArray.Parse(JsonRequest("details").ToString()) Dim DescuentoTotal As Decimal = JsonRequest("discount").ToString().ToDecimal() @@ -1245,7 +1416,9 @@ Public Class E141 : Implements IHttpHandler For Each JsonPS As JObject In ListaPS Dim Cantidad As Decimal = JsonPS("quantity").ToString.ToDecimal() - Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, Codigo:=JsonPS("product_sku").ToString()).FiltroPrimero("") + Dim CvePS As Integer = GlobalDTPSSimplificado(Codigo:=JsonPS("product_sku").ToString()).FiltroPrimeroValor("CvePS").ToEntero() + + Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") If DrPS Is Nothing Then Retorno.TieneError = True @@ -1487,7 +1660,7 @@ Public Class E141 : Implements IHttpHandler If Resp.CveVenta > 0 Then Respuesta.status = "success" - Respuesta.data = Resp.CveVenta.ToString() + Respuesta.data = Resp.SerieFolio Else TieneError = True End If @@ -1499,6 +1672,8 @@ Public Class E141 : Implements IHttpHandler Next RespuestaError.message = sb.ToString() End If + + ObjFactura.Dispose() Else TieneError = True Dim sb As New StringBuilder() @@ -2077,7 +2252,8 @@ Public Class E141 : Implements IHttpHandler New JProperty("age", 0), New JProperty("gender", 0), New JProperty("address", ""), - New JProperty("code", "") + New JProperty("code", RowVendedor("CodigoVendedor")), + New JProperty("default_branchoffice", RowVendedor("CveSubProyecto")) ) ArrayVendedores.Add(vendedor) @@ -2097,6 +2273,10 @@ Public Class E141 : Implements IHttpHandler End If End If + If CountPeticionesExitosas > 0 Then + Retorno = True + End If + Return Retorno End Function #End Region From 1a2422b613fb3ab5856963d966afef8ea31d54ae Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 14 Apr 2021 17:09:04 -0700 Subject: [PATCH 02/11] Cambio en correo de notificaciones --- App_Code/ClsSisNotificaciones.vb | 14 +-- Sistemas/PopUpAddUsuario.aspx.vb | 175 +++++++++++++++++++++++++++---- 2 files changed, 162 insertions(+), 27 deletions(-) diff --git a/App_Code/ClsSisNotificaciones.vb b/App_Code/ClsSisNotificaciones.vb index be0a9a61e..4aafd6454 100644 --- a/App_Code/ClsSisNotificaciones.vb +++ b/App_Code/ClsSisNotificaciones.vb @@ -357,7 +357,7 @@ Public Class ClsSisNotificaciones If LSRutasMail.Count > 0 Then Dim ObjMail As New ClsSisMail() Dim ResultadoMail As Integer = 0 - If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then + If ObjMail.SendMail(ClsPaginas.EmpresaNotificacionesGPS, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1) End If End If @@ -418,7 +418,7 @@ Public Class ClsSisNotificaciones End If If Archivos.Count > 0 Then - If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", $"Se adjunta el {Formato} en el Reporte Programado.", "", Archivos) Then + If ObjMail.SendMail(ClsPaginas.EmpresaNotificacionesGPS, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", $"Se adjunta el {Formato} en el Reporte Programado.", "", Archivos) Then UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1) End If End If @@ -467,7 +467,7 @@ Public Class ClsSisNotificaciones If LSRutasMail.Count > 0 Then Dim ObjMail As New ClsSisMail() Dim ResultadoMail As Integer = 0 - If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then + If ObjMail.SendMail(ClsPaginas.EmpresaNotificacionesGPS, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1) End If End If @@ -509,7 +509,7 @@ Public Class ClsSisNotificaciones If LSRutasMail.Count > 0 Then Dim ObjMail As New ClsSisMail() Dim ResultadoMail As Integer = 0 - If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then + If ObjMail.SendMail(ClsPaginas.EmpresaNotificacionesGPS, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1) End If End If @@ -557,7 +557,7 @@ Public Class ClsSisNotificaciones If LSRutasMail.Count > 0 Then Dim ObjMail As New ClsSisMail() Dim ResultadoMail As Integer = 0 - If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then + If ObjMail.SendMail(ClsPaginas.EmpresaNotificacionesGPS, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1) End If End If @@ -596,7 +596,7 @@ Public Class ClsSisNotificaciones If LSRutasMail.Count > 0 Then Dim ObjMail As New ClsSisMail() Dim ResultadoMail As Integer = 0 - If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then + If ObjMail.SendMail(ClsPaginas.EmpresaNotificacionesGPS, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1) End If End If @@ -635,7 +635,7 @@ Public Class ClsSisNotificaciones If LSRutasMail.Count > 0 Then Dim ObjMail As New ClsSisMail() Dim ResultadoMail As Integer = 0 - If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then + If ObjMail.SendMail(ClsPaginas.EmpresaNotificacionesGPS, Correos, $"Reporte Programado {Date.Today.ToShortDateString}", "Se adjunta en pdf el Reporte Programado.", "", LSRutasMail) Then UpdateNotificacionesBitacoraNotifico(CveNotificacionBitacora, 1) End If End If diff --git a/Sistemas/PopUpAddUsuario.aspx.vb b/Sistemas/PopUpAddUsuario.aspx.vb index b48a4fd17..1ec6d9763 100644 --- a/Sistemas/PopUpAddUsuario.aspx.vb +++ b/Sistemas/PopUpAddUsuario.aspx.vb @@ -1,7 +1,7 @@ Imports Extensiones Imports System.Data Partial Class Sistemas_PopUpAddUsuario - Inherits ClsPaginas + Inherits ClsPaginas #Region "PROPIEDADES" Public Property CveCliente As Integer Get @@ -51,7 +51,7 @@ Partial Class Sistemas_PopUpAddUsuario Set(value As Integer) ViewState("CvePlataforma") = value End Set - End Property + End Property #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then @@ -164,8 +164,14 @@ Partial Class Sistemas_PopUpAddUsuario If ObjUsuario.UpdateUsuario(LtlUsuario.Text, TxtNombre.Text, -1, TxtEmail.Text, -1, -1, True, True, -1, CveUsuario, -1, -1) Then Alert("La contraseña se reestableció correctamente a la contraseña por default '-acceso-'.") Dim Liga As String = $"{Context.Request.Url.OriginalString.Substring(0, Context.Request.Url.OriginalString.Length - Context.Request.Url.PathAndQuery.Length)}/LogIn.aspx" - Dim LigaActivar As String = Liga & "?p=" & Encripta("CveU=" & CveUsuario & "&Clave=" & "-acceso-" & "&Opcion=Activar&Hora=" & DateTime.Now.Ticks& & "&CveE=" & UsuarioActual.CveEmpresa) - EnviaCorreo(Liga, LigaActivar) + Dim LigaActivar As String = Liga & "?p=" & Encripta("CveU=" & CveUsuario & "&Clave=" & "-acceso-" & "&Opcion=Activar&Hora=" & DateTime.Now.Ticks& & "&CveE=" & UsuarioActual.CveEmpresa) + + If UsuarioActual.Empresa.CvePlataforma = 3 Then + EnviaCorreoGPS(Liga, LigaActivar) + Else + EnviaCorreo(Liga, LigaActivar) + End If + End If End If ObjUsuario.Dispose() @@ -251,8 +257,14 @@ Partial Class Sistemas_PopUpAddUsuario 'ENVIA CORREO If CveUsuario > 0 Then Dim Liga As String = $"{Context.Request.Url.OriginalString.Substring(0, Context.Request.Url.OriginalString.Length - Context.Request.Url.PathAndQuery.Length)}/LogIn.aspx" - Dim LigaActivar As String = Liga & "?p=" & Encripta("CveU=" & CveUsuario & "&Clave=" & "-acceso-" & "&Opcion=Activar&Hora=" & DateTime.Now.Ticks& & "&CveE=" & UsuarioActual.CveEmpresa) - Mensaje = EnviaCorreo(Liga, LigaActivar) + Dim LigaActivar As String = Liga & "?p=" & Encripta("CveU=" & CveUsuario & "&Clave=" & "-acceso-" & "&Opcion=Activar&Hora=" & DateTime.Now.Ticks& & "&CveE=" & UsuarioActual.CveEmpresa) + + If UsuarioActual.Empresa.CvePlataforma = 3 Then + Mensaje = EnviaCorreoGPS(Liga, LigaActivar) + Else + Mensaje = EnviaCorreo(Liga, LigaActivar) + End If + Else HuboError = True End If @@ -651,16 +663,139 @@ Partial Class Sistemas_PopUpAddUsuario OnError("Ocurrió error al mandar MAIL", ex) End Try + Return Retorno + End Function + + Private Function EnviaCorreoGPS(Liga As String, LigaActivar As String) As String + Dim Retorno As String = "" + Try + 'Dim URL As String = "https://gps.signalsgps.com/" + LigaActivar + + Dim Para = TxtEmail.Text.Trim + Dim Asunto = "ACCESO A SIGNALS GPS" + + 'Dim SBBody As New StringBuilder + ''Linia de estilos + 'SBBody.Append("") + ''incio Cuerpo del correo + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.Append("ALTA DE CUENTA") + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.AppendFormat(" Estimado {0}:
", TxtNombre.Text.ToUpper) + 'SBBody.AppendFormat("El presente correo es para informarle que se le han asignado los siguientes datos para el acceso a la Plataforma de: {0}

", UsuarioActual.Empresa.Empresa) + 'SBBody.Append("
") + 'SBBody.Append("
Datos de usuario
") + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.Append("
Usuario
") + 'SBBody.AppendFormat("
{0}
", TxtEmail.Text) + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.Append("
Accesé al sistema dando click a la liga y estableciendo su contraseña
") + 'SBBody.AppendFormat("", LigaActivar) + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.Append("
") + 'SBBody.Append("Para Activar su cuenta debera cambiar su contraseña.

") + 'SBBody.Append("
") + 'SBBody.Append("Nota Favor de NO responder este correo. ") + 'SBBody.Append("


") + 'SBBody.AppendFormat("", URL) + 'SBBody.Append("
") + 'SBBody.Append("
") + + Dim SBBody As New StringBuilder() + + SBBody.Append("
") + SBBody.Append("
") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append("
 ") + SBBody.Append("

DATOS DE ACCESO

") + SBBody.Append("

 

") + SBBody.Append("
") + SBBody.Append("
") + SBBody.AppendFormat("


Estimado / a {0}:

", TxtNombre.Text) + SBBody.Append("

El presente correo es para informarle que se le han asignado los siguentes datos para el acceso a la plataforma SIGNALS GPS

") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append(" ") + SBBody.Append("") + SBBody.Append("
") + SBBody.Append("

USUARIO ASIGNADO

") + SBBody.Append("
") + SBBody.Append("

Usuario:

") + SBBody.AppendFormat("

{0}

", TxtEmail.Text) + SBBody.Append("
") + SBBody.Append("

Contraseña:

") + SBBody.Append("

-acceso-

") + SBBody.Append("
") + SBBody.AppendFormat("

👆INGRESAR A SIGNALS GPS👆

", LigaActivar) + SBBody.Append("
") + SBBody.Append("
") + SBBody.Append("


Favor de NO responder este correo.

") + SBBody.Append("
") + SBBody.Append("

 

") + SBBody.Append("
") + 'Termino Cuerpo del correo + + Dim Hilo As New System.Threading.Thread(Sub() MandaCorreo(Asunto, Para, SBBody.ToString)) + Hilo.Start() + + 'Dim JSBTN As String = "" + 'If UsuarioActual.CveCliente > 0 Then + ' JSBTN = $"document.location.href=""javascript: Ir2({CveCliente})"";" + 'ElseIf CveCliente > 0 Then + ' JSBTN = $"document.location.href=""javascript:Ir({CveCliente})"";" + 'End If + 'If UsuarioActual.Empresa.CvePlataforma = 3 Then + ' Alert("El correo se ha enviado correctamente a: " + TxtEmail.Text + ".", TipoMensaje.MsgInformacion, JSBTN) + 'End If + + Retorno = $"El correo se ha enviado correctamente a: {TxtEmail.Text}." + + Catch ex As Exception + OnError("Ocurrió error al mandar MAIL", ex) + End Try + Return Retorno End Function Private Sub MandaCorreo(Asunto As String, Para As String, Body As String) Dim a As String = String.Format("{0} -- {1} ---- -->", Asunto, Para) a.GuardaLog() Dim Mail As New ClsSisMail() - Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body) - End Sub -#End Region + Dim EmpresaEnvio As Empresa = ClsPaginas.EmpresaNotificaciones + + If UsuarioActual.Empresa.CvePlataforma = 3 Then + EmpresaEnvio = ClsPaginas.EmpresaNotificacionesGPS + End If + + Mail.SendMail(EmpresaEnvio, Para, Asunto, Body) + End Sub +#End Region + #Region "M O D U L O S" Public Sub CargaModulosAcceso() Dim ObjPermisos As New ClsSisUsuarios @@ -808,11 +943,11 @@ Partial Class Sistemas_PopUpAddUsuario End If End If - End Sub - - + End Sub + + #End Region - + #Region "V E H I C U L O S" Private Sub CargaDispositivos() GvDispositivos.DataSource = GlobalDTDispositivos(CveCliente).FiltraParametros("Estatus = 1 ") @@ -826,10 +961,10 @@ Partial Class Sistemas_PopUpAddUsuario End If End If End If - End Sub - + End Sub + #End Region - + #Region "N O T I F I C A C I O N E S" Private Sub CargarNotificaciones() Dim ObjNotificaciones As New ClsSisNotificaciones @@ -851,11 +986,11 @@ Partial Class Sistemas_PopUpAddUsuario e.Row.FCCheckBox("chkApp").Checked = If(DtNotificacionesUsuarios.FiltroPrimeroValor("Alerta_App", $"CveNotificacion = {e.Row.DBCampo("CveNotificacion")}").ToString = "True", True, False) End If End If - End Sub - - + End Sub + + #End Region - + Protected Sub BtnCambiarUsuario_Click(sender As Object, e As EventArgs) CveUsuario = -1 From 0a60c8d18246b198c703d3ea2059fa0c813e871f Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 14 Apr 2021 17:09:30 -0700 Subject: [PATCH 03/11] Favicon site.master para empresas de GPS --- Site.master | 2 +- Site.master.vb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Site.master b/Site.master index 0996ebb05..6c399c64c 100644 --- a/Site.master +++ b/Site.master @@ -6,7 +6,7 @@ - Sistema de Información Gerencial + Sistema de Información Gerencial diff --git a/Site.master.vb b/Site.master.vb index e35e3893b..899461f8d 100644 --- a/Site.master.vb +++ b/Site.master.vb @@ -76,6 +76,7 @@ Partial Class Site If UsuarioActual.Empresa.CvePlataforma = 3 Then lnkFavicon.Href = "/Imagenes/favicongps.ico" + tTitulo.Text = "SIGNALS GPS" Else lnkFavicon.Href = "/Imagenes/favicon.ico" End If From 905ce69fb7549e80f366c3d9871ef07934e26c9c Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 14 Apr 2021 17:09:54 -0700 Subject: [PATCH 04/11] Movimiento de salida en cancelacion de devoluciones --- App_Code/Modelos.vb | 60 ++++++++++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 17 deletions(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 96d8c619a..adda24263 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -580,6 +580,14 @@ Namespace Modelos Me.DtRemisionesDocumentosRelacionados = ObjVentas.DtResultados.Copy() End If + 'CARGA LOS IMPUESTOS LOCALES + If ObjVentas.GetVentaImpuestosLocales(CveVenta) Then + If ObjVentas.DtResultados.Rows.Count > 0 Then + DtImpuestosLocales = ObjVentas.DtResultados.Copy() + End If + End If + + ObjVentas.Dispose() If Me.RealizarDevolucionAlmacen Then @@ -1618,8 +1626,8 @@ Namespace Modelos End If 'Impuestos Locales - If DtImpuestosLocales IsNot Nothing Then - For Each gvr As DataRow In DtImpuestosLocales.Rows + If factura.DtImpuestosLocales IsNot Nothing Then + For Each gvr As DataRow In factura.DtImpuestosLocales.Rows If Not ObjVentas.AddVentaImpuestoLocales(factura.CveVenta, gvr("CveImpuestoLocal").ToString.ToEntero(), gvr("Importe").ToString().ToDouble()) Then ErrorList.Add("Ocurrió un error al Guardar Impuestos Locales") End If @@ -1627,8 +1635,8 @@ Namespace Modelos End If - If DtFirmas IsNot Nothing AndAlso DtFirmas.Rows.Count > 0 Then - For Each Row As DataRow In DtFirmas.Rows + If factura.DtFirmas IsNot Nothing AndAlso factura.DtFirmas.Rows.Count > 0 Then + For Each Row As DataRow In factura.DtFirmas.Rows If Not ObjVentas.AddVentasFirmas(factura.CveVenta, Row("Titulo").ToString, Row("Nombre").ToString, Row("Puesto").ToString, Row("Lado").ToString.ToEntero) Then ErrorList.Add("Ocurrio un error al Guardar Firmas") End If @@ -4828,8 +4836,10 @@ Namespace Modelos If Not ErrorCancelar Then Dim Filtro As String = "" Select Case ObjFactura.TipoDocto - Case "Ing", "Ped", "Dev" + Case "Ing", "Ped" Filtro = "CveConcepto IN (3, 40)" + Case "Dev" + Filtro = "CveConcepto = 18" Case Else Filtro = "CveConcepto = 9" End Select @@ -4860,19 +4870,22 @@ Namespace Modelos If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen Then 'REALIZA DEVOLUCION A LAS SALIDAS PENDIENTES For Each RowMovimiento As DataRow In DtSalidas.Rows - Dim CveConceptoDevolucion As Integer = -1 - Dim CveAlmacenDevolucion As Integer = -1 + Dim CveConceptoMovimiento As Integer = -1 + Dim CveAlmacenMovimiento As Integer = -1 Dim CveMovimientoDevolucion As Integer = 0 Dim Folio As Integer = 0 Select Case RowMovimiento("CveConcepto").ToString().ToEntero() Case 3 - CveConceptoDevolucion = 18 'DEVOLUCION DEL CLIENTE - CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero() + CveConceptoMovimiento = 18 'DEVOLUCION DEL CLIENTE + CveAlmacenMovimiento = RowMovimiento("CveAlmacen").ToString().ToEntero() Case 40 - CveConceptoDevolucion = 41 'DEVOLUCIÓN DEL CLIENTE DIRECTA - CveAlmacenDevolucion = RowMovimiento("CveAlmacen").ToString().ToEntero() + CveConceptoMovimiento = 41 'DEVOLUCIÓN DEL CLIENTE DIRECTA + CveAlmacenMovimiento = RowMovimiento("CveAlmacen").ToString().ToEntero() + Case 18 + CveConceptoMovimiento = 3 'DEVOLUCIÓN DEL CLIENTE DIRECTA + CveAlmacenMovimiento = RowMovimiento("CveAlmacen").ToString().ToEntero() ''SI TIENE REMISIONES RELACIONADAS 'If DtRemisionesFacturadas.Rows.Count > 0 Then ' Dim RowRemision As DataRow = DtExistencias.FiltroPrimero($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}") @@ -4896,12 +4909,20 @@ Namespace Modelos 'SI TIENE SALDO PENDIENTE POR DEVOLVER GENERA UN MOVIMIENTO DE DEVOLUCION If ObjFactura.SaldoAlmacen <> 0 Then 'SALIDA DE ALMACEN - SALIDA POR TRASPASO CUANDO ES REMISION - DEVOLUCION (SI ES TRASPASO Y TIENE CONTRATO NO HACE DEVOLUCIóN) - CveMovimientoDevolucion = ObjInventario.AddMovimiento(CveAlmacenDevolucion, CveConceptoDevolucion, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=-1, Modulo:="Mod/CV1") + CveMovimientoDevolucion = ObjInventario.AddMovimiento(CveAlmacenMovimiento, CveConceptoMovimiento, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, Observaciones:="", Guia:="", CveContrato:=CveContrato, CveAlmacenDestino:=-1, Modulo:="Mod/CV1") Folio = ObjInventario.Folio If CveMovimientoDevolucion > 0 Then For Each Dr As DataRow In DtExistencias.FiltraParametros($"CveMovimiento = {RowMovimiento("CveMovimiento").ToString()}").Rows - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucion, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero) Then + + Dim FechaCaducidad As Date = MinFecha + If Not String.IsNullOrEmpty(Dr("FechaCaducidad").ToString()) Then + If IsDate(Dr("FechaCaducidad")) Then + FechaCaducidad = Dr("FechaCaducidad").ToString().ToDate() + End If + End If + + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucion, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, FechaCaducidad:=FechaCaducidad) Then ErrorCancelar = True MensajeError = "Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar." Exit For @@ -4920,12 +4941,17 @@ Namespace Modelos DtCostos = ObjInventario.DtResultados Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"}) - Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {CveAlmacenDevolucion}").ToEntero + Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {CveAlmacenMovimiento}").ToEntero 'Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {CveAlmacenDevolucion}").ToEntero Dim IdCtaContable As Integer = 0 Dim CveCuenta As Integer = 0 If tmpCostos.Rows.Count > 0 Then + Dim Multiplicador As Decimal = -1D + If ObjFactura.TipoDocto = "Dev" Then + Multiplicador = 1D + End If + If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then Dim Fecha As Date = Now Dim CveCliente As Integer = ObjVentas.DtResultados(0)("CveCliente").ToString.ToEntero @@ -4950,7 +4976,7 @@ Namespace Modelos CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero If Not ErrorCancelar Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, False, -1 * ValorInventario, SerieFolio, 69, SerieFolio, Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, ImporteMX:=-1 * ValorInventario, CveCuenta:=CveCuenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, False, Multiplicador * ValorInventario, SerieFolio, 69, SerieFolio, Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, ImporteMX:=Multiplicador * ValorInventario, CveCuenta:=CveCuenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then ErrorCancelar = True End If End If @@ -4958,7 +4984,7 @@ Namespace Modelos cont += 1 Next - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, True, -1 * TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, ImporteMX:=-1 * TotalCosto) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaDev, True, Multiplicador * TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveVenta:=CveVenta, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimientoDevolucion, CveSubProyecto:=ObjFactura.CveSubProyecto, ImporteMX:=Multiplicador * TotalCosto) Then ErrorCancelar = True End If @@ -4995,7 +5021,7 @@ Namespace Modelos 'DEVOLUCION REMISION - REGRESA LAS EXISTENCIAS A ENTREGA POR ADELANTADO SI LA FACTURA VIENE DE REMISION 'SI ES DEVOLUCION DEL CLIENTE DEBE REGRESAR A ENTREGA POR ADELANTADO - If Not ErrorCancelar AndAlso CveConceptoDevolucion = 18 AndAlso RevivirRemisiones Then + If Not ErrorCancelar AndAlso CveConceptoMovimiento = 18 AndAlso RevivirRemisiones Then If Not GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimientoDevolucion, ObjVentas, ObjInventario, DtDevRem, ListaRemisionesCancelar) Then ErrorCancelar = True MensajeError = "Ocurrió un error al generar los movimientos de devolución a remisión" From a826b2f1d4b0347549e920269cc0f00525596a16 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 14 Apr 2021 17:10:15 -0700 Subject: [PATCH 05/11] Correcion en complementos de PAGO --- Bancos/RepComplementoPago.aspx.vb | 32 ++++++++++++++++--------------- Compras/PopUpVerFactura.aspx.vb | 6 +++++- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/Bancos/RepComplementoPago.aspx.vb b/Bancos/RepComplementoPago.aspx.vb index ba740b104..79693c956 100644 --- a/Bancos/RepComplementoPago.aspx.vb +++ b/Bancos/RepComplementoPago.aspx.vb @@ -72,23 +72,25 @@ Partial Class Bancos_RepComplementoPago Dim Banco As New ClsBancos Banco.IniciaTransacSQL() - - If Banco.GeneraTimbrePago(gvr.DataKey("CveIE").ToEntero, -1, UsuarioActual, FechaTimbrado:=FechaTimbrado) Then - If Banco.Mensaje = "" Then - Banco.Commit() - PDFReciboDePagos(-1, -1, Banco.CveComplementoPago, False) - Str.AppendFormat("Folio: {0}  ", Banco.ComplementoSerieFolio) - Str.AppendFormat("XML    ", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) - Str.AppendFormat("PDF   ", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) - Str.AppendFormat("{1}   {2}
", gvr.DataKey("CveIE"), gvr.DataKey("Folio"), gvr.DataKey("NombreCliente")) - MandaCorreo(Banco.ComplementoSerieFolio, gvr.DataKey("CobranzaCorreo")) + Try + If Banco.GeneraTimbrePago(gvr.DataKey("CveIE").ToEntero, -1, UsuarioActual, FechaTimbrado:=FechaTimbrado) Then + If Banco.Mensaje = "" Then + Banco.Commit() + PDFReciboDePagos(-1, -1, Banco.CveComplementoPago, False) + Str.AppendFormat("Folio: {0}  ", Banco.ComplementoSerieFolio) + Str.AppendFormat("XML    ", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) + Str.AppendFormat("PDF   ", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) + Str.AppendFormat("{1}   {2}
", gvr.DataKey("CveIE"), gvr.DataKey("Folio"), gvr.DataKey("NombreCliente")) + MandaCorreo(Banco.ComplementoSerieFolio, gvr.DataKey("CobranzaCorreo")) + End If + Else + Str.AppendFormat("No se genero complemento del Folio {0} por el siguiente motivo: {1}", gvr.DataKey("Folio"), Banco.Mensaje) + Banco.RollBack() End If - - Else - Str.AppendFormat("No se genero complemento del Folio {0} por el siguiente motivo: {1}", gvr.DataKey("Folio"), Banco.Mensaje) + Catch ex As Exception + OnError("Ocurrió un error al generar el complemento de pago", ex) Banco.RollBack() - End If - + End Try Banco.Dispose() End If Next diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 9ec3b4e3e..29ddcca3a 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -456,7 +456,11 @@ Partial Class PopUpVerFactura If UrlParametros("EXT").ToString.ToUpper = "PDF" Then If UrlParametros("CVECOMPLEMENTOPAGO").ToString.ToEntero > 0 Then - PDFReciboDePagos(-1, UrlParametros("CVEIE").ToString.ToEntero, UrlParametros("CVECOMPLEMENTOPAGO").ToString.ToEntero, False) 'genero el documento de no existir + Dim CveIE As Integer = -1 + If UrlParametros("CVEIE") IsNot Nothing Then + CveIE = UrlParametros("CVEIE").ToString.ToEntero + End If + PDFReciboDePagos(-1, CveIE, UrlParametros("CVECOMPLEMENTOPAGO").ToString.ToEntero, False) 'genero el documento de no existir End If End If From 4b50700b4508d1f114deacee8413f474c698cbc5 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 14 Apr 2021 17:10:30 -0700 Subject: [PATCH 06/11] Correciones en impresiones de EXCEL en GPS --- GPS/Rastreo.aspx.vb | 222 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 198 insertions(+), 24 deletions(-) diff --git a/GPS/Rastreo.aspx.vb b/GPS/Rastreo.aspx.vb index 154536392..9200f00dd 100644 --- a/GPS/Rastreo.aspx.vb +++ b/GPS/Rastreo.aspx.vb @@ -1578,22 +1578,39 @@ Partial Class GPS_Rastreo If Opcion = "KM" Then If GVKm.Rows.Count > 0 Then - RutaReporte = "Empresas/Grales/ReportesProgramados/RPTKmRecorridos.rdlc" - NombreReporte = "ReporteKMRecorridos" + If Format = "PDF" Then + RutaReporte = "Empresas/Grales/ReportesProgramados/RPTKmRecorridos.rdlc" + NombreReporte = "ReporteKMRecorridos" + + Try + Dim RptParametro As New List(Of ReportParameter) + RptParametro.Add(New ReportParameter("FechaInicio", FechaI.ToString)) + RptParametro.Add(New ReportParameter("FechaFin", FechaF.ToString)) + RptParametro.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) + RptParametro.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString)) + + retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", Format, MR:=Nothing, RDSName:="DsOC") + + ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}", Format) + Catch ex As Exception + GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) + End Try + + Else + Dim filtros As String = $"Fechas: {FechaI.ToString("dd/MM/yyyy")} a {FechaF.ToString("dd/MM/yyyy")}" + + If DtDatos.Rows.Count > 0 AndAlso String.IsNullOrEmpty(DtDatos.Rows(0)("Vehiculo").ToString()) Then + DtDatos.Rows(0)("Vehiculo") = "Total Kilometros Recorridos" + End If + + DtDatos.Columns.RemoveAt(0) + DtDatos.Columns("Vehiculo").ColumnName = "Vehículo" + DtDatos.Columns("TiempoOperativo").ColumnName = "Tiempo Operativo" + DtDatos.Columns("Dist").ColumnName = "Kilometros Recorridos" + + ImprimirExcelG(DtDatos, "ReporteKMRecorridos.xlsx", "Reporte de Kilometros Recorridos", filtros, NombreHoja:="RepKM") + End If - Try - Dim RptParametro As New List(Of ReportParameter) - RptParametro.Add(New ReportParameter("FechaInicio", FechaI.ToString)) - RptParametro.Add(New ReportParameter("FechaFin", FechaF.ToString)) - RptParametro.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) - RptParametro.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString)) - - retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", Format, MR:=Nothing, RDSName:="DsOC") - - ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}", Format) - Catch ex As Exception - GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) - End Try Else Alert("No se pudo imprimir el pdf, ya que no se ha hecho una consulta, o ésta no arrojó resultados.", TipoMensaje.MsgInformacion) End If @@ -1737,8 +1754,16 @@ Partial Class GPS_Rastreo GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) End Try - retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", Format, MR:=Nothing, RDSName:="DsOC") - ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}", Format) + If Opcion = "Idle" AndAlso Format = "EXCEL" Then + Dim filtros As String = $"Fechas: {FechaI.ToString("dd/MM/yyyy")} a {FechaF.ToString("dd/MM/yyyy")}, Tiempo Muerto: {TxtMinutos.Text} minutos" + + ImprimirExcelG(DtDatos, "ReporteKMRecorridos.xlsx", "Reporte de KM Recorridos", filtros) + Else + retorno = StreamPDF(RutaReporte, DtDatos, RptParametro, $"{NombreReporte}{Date.Now.ToShortDateString}", Format, MR:=Nothing, RDSName:="DsOC") + ImprimirbytesPDF(retorno, $"{NombreReporte}{Date.Now.ToShortDateString}", Format) + End If + + DtDatos.Clear() Else Alert("No se pudo imprimir el pdf, ya que no se ha hecho una consulta, o ésta no arrojó resultados.", TipoMensaje.MsgInformacion) @@ -1785,7 +1810,7 @@ Partial Class GPS_Rastreo SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) Dim FileExcel As ExcelFile = New ExcelFile Dim Dt = DtPosiciones.Copy() - Dt.Columns.Add("Direccion", GetType(String)) + Dt.Columns.Add("Dirección", GetType(String)) Dt.Columns.Remove("CveDispositivo") Dt.Columns.Remove("Evento") Dt.Columns.Remove("Icono") @@ -1797,11 +1822,42 @@ Partial Class GPS_Rastreo Dt.Columns.Remove("Posicion") For Each Dir As JObject In Direcciones - Dt.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString() + Dt.Rows(Dir("Indice").ToEntero())("Dirección") = Dir("Direccion").ToString() Next - Dim item = FileExcel.Worksheets.Add("Última Posición") - item.InsertDataTable(Dt, New InsertDataTableOptions() With + Dt.Columns("Vehiculo").ColumnName = "Vehículo" + Dt.Columns("Velocidad").ColumnName = "Velocidad (KM/H)" + + ImprimirExcelG(Dt, FileName, "Última Posición", "", NombreHoja:="UltimaPosicion") + + 'Dim item = FileExcel.Worksheets.Add("Última Posición") + 'item.InsertDataTable(Dt, New InsertDataTableOptions() With + ' { + ' .ColumnHeaders = True, + ' .StartRow = 0, + ' .StartColumn = 0 + ' }) + 'item.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255)) + 'item.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255) + + 'Dim columnCount = item.CalculateMaxUsedColumns() + 'For i = 0 To columnCount + ' item.Columns(i).AutoFit(1, item.Rows(i), item.Rows(item.Rows.Count - 1)) + 'Next + 'FileExcel.Save(Me.Response, FileName, SaveOptions.XlsxDefault) + + End Sub + + + Private Sub ImprimirExcelG(DtDatos As DataTable, Archivo As String, Titulo As String, Filtros As String, Optional NombreHoja As String = "Hoja1") + SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) + Dim excel As ExcelFile = New ExcelFile + + Dim TotalRowHeader As Integer = 8 + Dim TotalRowFooter As Integer = 2 + + Dim item = excel.Worksheets.Add(NombreHoja) + item.InsertDataTable(DtDatos, New InsertDataTableOptions() With { .ColumnHeaders = True, .StartRow = 0, @@ -1813,9 +1869,127 @@ Partial Class GPS_Rastreo Dim columnCount = item.CalculateMaxUsedColumns() For i = 0 To columnCount item.Columns(i).AutoFit(1, item.Rows(i), item.Rows(item.Rows.Count - 1)) - Next - FileExcel.Save(Me.Response, FileName, SaveOptions.XlsxDefault) - + Next + + + Dim worksheet = excel.Worksheets(0) + worksheet.Rows.InsertEmpty(0, TotalRowHeader) + Dim celdasConTexto = worksheet.GetUsedCellRange(True) + celdasConTexto.Style.Font.Name = "Calibri Light" + + Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex) + RangoNombreEmpresa.Merged = True + RangoNombreEmpresa.Value = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=UsuarioActual.CveCliente).FiltroPrimeroValor("Nombre") + RangoNombreEmpresa.Style.Font.Size = 18 * 20 + RangoNombreEmpresa.Style.Font.Name = "Calibri Light" + RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + + Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex) + RangoTitulo.Merged = True + RangoTitulo.Value = Titulo + RangoTitulo.Style.Font.Size = 20 * 20 + RangoTitulo.Style.Font.Name = "Calibri Light" + RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + + 'If FechaIMes.Trim.Length > 0 And FechaFMes.Trim.Length > 0 Then + ' Dim RangoFechas = worksheet.Cells.GetSubrangeAbsolute(4, celdasConTexto.FirstColumnIndex, 4, celdasConTexto.LastColumnIndex) + ' RangoFechas.Merged = True + ' RangoFechas.Value = $"Fechas: {FechaIMes} a {FechaFMes}" + ' RangoFechas.Style.Font.Size = 15 * 20 + ' RangoFechas.Style.Font.Name = "Calibri Light" + ' RangoFechas.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + ' RangoFechas.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + 'End If + + + 'If SubProyecto.Length > 0 Then + ' Dim RangoSubProyecto = worksheet.Cells.GetSubrangeAbsolute(5, celdasConTexto.FirstColumnIndex, 5, celdasConTexto.LastColumnIndex) + ' RangoSubProyecto.Merged = True + ' RangoSubProyecto.Value = SubProyecto + ' RangoSubProyecto.Style.Font.Size = 20 * 20 + ' RangoSubProyecto.Style.Font.Name = "Calibri Light" + ' RangoSubProyecto.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + ' RangoSubProyecto.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + 'End If + + + If Not String.IsNullOrEmpty(Filtros) Then + Dim RangoDatoTituloExtra = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex) + RangoDatoTituloExtra.Merged = True + RangoDatoTituloExtra.Value = Filtros + RangoDatoTituloExtra.Style.Font.Size = 15 * 20 + RangoDatoTituloExtra.Style.Font.Name = "Calibri Light" + RangoDatoTituloExtra.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + RangoDatoTituloExtra.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + End If + + + For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex + + worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20 + worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center + worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center + + worksheet.Rows(8).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + worksheet.Rows(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255) + + + + If i > 0 Then + Try + worksheet.Columns(i).AutoFit(1) + Catch ex As Exception + End Try + End If + + Next + + + + Dim IndexEndTable As Integer = DtDatos.Rows.Count + TotalRowHeader + TotalRowFooter + + worksheet.Rows(IndexEndTable).Cells(0).Value = "Usuario Imprimió" + worksheet.Rows(IndexEndTable + 1).Cells(0).Value = UsuarioActual.Nombre + + worksheet.Rows(IndexEndTable).Cells(2).Value = "Fecha Impresión" + worksheet.Rows(IndexEndTable + 1).Cells(2).Value = DateTime.Now.ToString("dd/MM/yyyy") + + 'Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + + 'If Imagen.Exists Then + ' Dim Ruta As String = String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta) + ' Using sr As New StreamReader(Ruta) + ' Dim ms As New MemoryStream() + ' sr.BaseStream.CopyTo(ms) + ' worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", 100, 100, LengthUnit.Pixel) + ' End Using + 'End If + + + For I = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex + + If I > 0 Then + + 'If Divisor = 1 Then + ' worksheet.Columns(I + 1).Style.NumberFormat = "#,##0.00" + 'Else + ' worksheet.Columns(I + 1).Style.NumberFormat = "#,##" + 'End If + + Try + worksheet.Columns(I).AutoFit(1) + Catch ex As Exception + End Try + + End If + Next + + excel.Save(Me.Response, Archivo, SaveOptions.XlsxDefault) + End Sub Private Function CargaDireccion(ByVal lat As String, ByVal lng As String) As String Try From dcb0a375913dbf31269ce0ae1b7a3d1c37ee8fb7 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 14 Apr 2021 17:11:29 -0700 Subject: [PATCH 07/11] Correciones de folios de garantia en PV --- Ventas/PV.aspx.vb | 2 -- 1 file changed, 2 deletions(-) diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index f908576ee..e481299ef 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -6274,8 +6274,6 @@ Partial Class PV GvRecepcionUsados.DataSource = DtTamanios GvRecepcionUsadosModal.DataSource = DtTamanios - - DdlFolioGarantia.DataBind() DdlTipoUso.DataBind() DdlTipoDefecto.DataBind() DdlFacturas.DataBind() From 1c53e4b0acb8885519a488dbe54696cf6961e69d Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 14 Apr 2021 17:13:32 -0700 Subject: [PATCH 08/11] Complementos INE, cuenta de pago en empresa llantera, correciones en RNC descuento --- Ventas/Ventas.aspx | 795 +++++++++++++++++++++++------------- Ventas/Ventas.aspx.vb | 913 +++++++++++++++++++++++++++++++----------- 2 files changed, 1198 insertions(+), 510 deletions(-) diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index c0658934e..81aaae32d 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -756,8 +756,7 @@ Servicio a Domicilio:  - - activado + activado @@ -1263,7 +1262,7 @@ - <%--22--%> + <%--22--%> @@ -1428,7 +1427,8 @@ - + <%-- --%> + @@ -2210,8 +2210,7 @@ - - - + + + + +
- +
@@ -2343,8 +2342,7 @@
- +
@@ -2435,123 +2433,7 @@
- -
-
-
- - 7Eleven - -
-
-
-
-
- -
- -
-
- -
-
- - - - - - - - - - - - - - - - - -
Proveedor:  -
- -
-
Folio:  -
- -
-
Tienda:  -
- -
- <%----%> -
Fecha:  - -
- - - - - - - - -
-
-
-
-
-
-
-
- - FORD - -
-
-
-
-
- -
- -
-
-
-
- - - - - - - - - - - - - -
GSDB:   -
- -
-
ASN :   -
- -
-   - - -
- - -
-
-
-
-
+
@@ -2723,6 +2605,230 @@
+
+
+
+ + 7Eleven + +
+
+
+
+
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + +
Proveedor:  +
+ +
+
Folio:  +
+ +
+
Tienda:  +
+ +
+ <%----%> +
Fecha:  + +
+ + + + + + + + +
+
+
+
+
+
+
+
+
+ + FORD + +
+
+
+
+
+ +
+ +
+
+
+
+ + + + + + + + + + + + + +
GSDB:   +
+ +
+
ASN :   +
+ +
+   + + +
+ + +
+
+
+
+
+
+
+
+ + Complementos INE +
+
+
+
+
+
+ +
+
+
+
+
+ + +
+
+
+
+
@@ -2840,9 +2946,9 @@
- + - +
@@ -3366,7 +3472,7 @@
- +
$ @@ -3947,7 +4053,7 @@
- +
--%> <%-- ******************************************** Corte de Caja *************************************************************************************************************************************** --%> @@ -6060,7 +6166,8 @@
@@ -6349,7 +6458,7 @@
- +
@@ -6907,75 +7016,124 @@