From 0a62a95a62e9586144c646673f2fca30fe52b7e5 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Wed, 24 Jun 2020 21:07:11 -0700 Subject: [PATCH 1/6] - --- General/PopUpPaqueteriasGuias.aspx | 4 +- General/RepPaqueteriasGuias.aspx.cs | 2 +- Inventarios/EntregaAlmacen.aspx.vb | 62 +++++++++++++++-------------- Ventas/Ventas.aspx.vb | 24 +++++------ 4 files changed, 47 insertions(+), 45 deletions(-) diff --git a/General/PopUpPaqueteriasGuias.aspx b/General/PopUpPaqueteriasGuias.aspx index 05fb07060..b3891f3aa 100644 --- a/General/PopUpPaqueteriasGuias.aspx +++ b/General/PopUpPaqueteriasGuias.aspx @@ -30,7 +30,7 @@ - + - + diff --git a/General/RepPaqueteriasGuias.aspx.cs b/General/RepPaqueteriasGuias.aspx.cs index d49cbca92..561a18ea6 100644 --- a/General/RepPaqueteriasGuias.aspx.cs +++ b/General/RepPaqueteriasGuias.aspx.cs @@ -1076,7 +1076,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas CargaDatos(); UPDatos.Update(); CvePaqueteriaGuiaReasignar = -1; - EnviarCorreoNotificacionEntrega(3, SerieFolio, "","","","","",-1,null); + EnviarCorreoNotificacionEntrega(3, Folio, "","","","","",-1,null); this.RegistraScript("$('#ModalMotivoReasignacion').modal('hide')", "hidemodal3"); } diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index af5563ebc..1726fcfbf 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -634,7 +634,7 @@ Partial Class Inventarios_EntregaAlmacen LnkPaqueteriaDetalle.Visible = False Case 2 RbEntregaInterna.Checked = True - LnkPaqueteriaDetalle.Visible = True + 'LnkPaqueteriaDetalle.Visible = True DdlEstatus.SelectedValue = "5" Case 3 RbEntregaExterna.Checked = True @@ -2652,7 +2652,7 @@ Partial Class Inventarios_EntregaAlmacen 'Paqueterias guias If RbEntregaInterna.Checked AndAlso Not ErrorMovInv Then - Dim CveEstatus As Integer = 0 ' DdlEstatus.SelectedValue.ToEntero() + Dim CveEstatus As Integer = 1 ' DdlEstatus.SelectedValue.ToEntero() Dim Fecha As String = "-1" 'TxtFechaPaqInterna.Text Dim FechaEstimada As String = "-1" 'If(TxtFechaEstimada.Text = "", "-1", TxtFechaEstimada.Text) Dim NoCajas As Integer = 0 'TxtNoCajas.Text.ToEntero() @@ -3184,7 +3184,7 @@ Partial Class Inventarios_EntregaAlmacen End Sub Private Sub EnviarCorreoEntrega(tCveVenta As Integer, UsuarioActual As Usuario) - Dim Correo As New ClsSisMail() + Dim Correo As New ClsSisMail Dim SerieFolio As String = "" Dim Asunto As String = String.Format("{0} Envio de pedido: {1}", UsuarioActual.Empresa.NombreCorto, SerieFolio) Dim Cuerpo As New StringBuilder() @@ -3192,46 +3192,48 @@ Partial Class Inventarios_EntregaAlmacen Dim MensajeEnviado = False Dim tCvecliente As Integer Dim bytes() As Byte = Nothing - Using ObjVentas As New ClsVentas() - If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then - Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("") - Destinatario = String.Format("{0};{1}", dr("CorreoNotificacion"), dr("CorreoVendedorVenta")) + Dim ObjVentas As New ClsVentas() - tCvecliente = dr("CveCliente").ToString.ToEntero + If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then + Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("") + Destinatario = String.Format("{0};{1}", dr("CorreoNotificacion"), dr("CorreoVendedorVenta")) - Dim drC As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=tCvecliente).FiltroPrimero("") - Destinatario += String.Format("{0};{1}", drC("CorreoEntregaCompras"), drC("CorreoEntregaAlmacen")) + tCvecliente = dr("CveCliente").ToString.ToEntero - Cuerpo.AppendLine(String.Format("Estimado {0} le informamos que los productos de la factura {1} han sido enviados a entrega.

", dr("ClienteNombre"), dr("SerieFolio"))) - Cuerpo.AppendLine("

Dudas y aclaraciones con su coordinador empresarial.") + Dim drC As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=tCvecliente).FiltroPrimero("") + Destinatario += String.Format("{0};{1}", drC("CorreoEntregaCompras"), drC("CorreoEntregaAlmacen")) - Dim ClienteNombre As String = dr("ClienteNombre").ToString() - Dim FolioVenta As String = dr("SerieFolio").ToString() - Dim Pedido As String = dr("PedidoContrato").ToString() - Dim OrdenCompra As String = dr("OrdenCompra").ToString() - Dim CveVenta As Integer = dr("CveVenta").ToString().ToEntero() + Cuerpo.AppendLine(String.Format("Estimado {0} le informamos que los productos de la factura {1} han sido enviados a entrega.

", dr("ClienteNombre"), dr("SerieFolio"))) + Cuerpo.AppendLine("

Dudas y aclaraciones con su coordinador empresarial.") - Dim dtDetalle As New DataTable - If ObjVentas.GetVentaDetalle(CveVenta) Then - dtDetalle = ObjVentas.DtResultados - End If + Dim ClienteNombre As String = dr("ClienteNombre").ToString() + Dim FolioVenta As String = dr("SerieFolio").ToString() + Dim Pedido As String = dr("PedidoContrato").ToString() + Dim OrdenCompra As String = dr("OrdenCompra").ToString() + Dim CveVenta As Integer = dr("CveVenta").ToString().ToEntero() - Dim RepParams As New List(Of ReportParameter) - RepParams.Add(New ReportParameter("Cliente", ClienteNombre)) - RepParams.Add(New ReportParameter("FolioVenta", FolioVenta)) - RepParams.Add(New ReportParameter("Pedido", Pedido)) - RepParams.Add(New ReportParameter("OrdenCompra", OrdenCompra)) - bytes = StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaEntregaMostrador.rdlc", dtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName:="DsInventarios") + Dim dtDetalle As New DataTable + If ObjVentas.GetVentaDetalle(CveVenta) Then + dtDetalle = ObjVentas.DtResultados End If - End Using + + Dim RepParams As New List(Of ReportParameter) + RepParams.Add(New ReportParameter("Cliente", ClienteNombre)) + RepParams.Add(New ReportParameter("FolioVenta", FolioVenta)) + RepParams.Add(New ReportParameter("Pedido", Pedido)) + RepParams.Add(New ReportParameter("OrdenCompra", OrdenCompra)) + bytes = StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaEntregaMostrador.rdlc", dtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName:="DsInventarios") + End If + ObjVentas.Dispose() Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) Dim itemMail As New ClsSisMail.ArchivoMail() LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = bytes, .NombreArchivo = "Notificacion de Envio"}) - - MensajeEnviado = Correo.SendMail(ClsPaginas.EmpresaNotificaciones, Destinatario, Asunto, Cuerpo.ToString(), Destinatario, Archivos:=LSRutasMail) + + Correo.SendMail(EmpresaNotificaciones, Destinatario, Asunto, Cuerpo.ToString(), Destinatario) + Correo = Nothing End Sub Private Sub Limpia() diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 9e701f78f..49abae98b 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -25886,21 +25886,21 @@ Partial Class Ventas End Sub Private Sub NotificarPaqueteria() - Dim DtVendedores As DataTable = GlobalDTVendedores(UsuarioActual.CveEmpresa) + 'Dim DtVendedores As DataTable = GlobalDTVendedores(UsuarioActual.CveEmpresa) - Dim CorreoVendedor As String = DtVendedores.FiltroPrimeroValor("Correo", String.Format("CveVendedor = {0}", DdlVendedor.SelectedValue)) - Dim CorreoVendedorAdicional As String = DtVendedores.FiltroPrimeroValor("CorreoAdicionalNotificaciones", String.Format("CveVendedor = {0}", DdlVendedor.SelectedValue)) - Dim CorreoCliente As String = Mail - Dim CorreoClienteAlmacen As String = CorreoEntregaAlmacen - Dim CorreoNotificacionCliente As String = MailCC + 'Dim CorreoVendedor As String = DtVendedores.FiltroPrimeroValor("Correo", String.Format("CveVendedor = {0}", DdlVendedor.SelectedValue)) + 'Dim CorreoVendedorAdicional As String = DtVendedores.FiltroPrimeroValor("CorreoAdicionalNotificaciones", String.Format("CveVendedor = {0}", DdlVendedor.SelectedValue)) + 'Dim CorreoCliente As String = Mail + 'Dim CorreoClienteAlmacen As String = CorreoEntregaAlmacen + 'Dim CorreoNotificacionCliente As String = MailCC - Dim CorreosCC As String = String.Format("{0};{1};{2};{3}", CorreoVendedor, CorreoVendedorAdicional, CorreoCliente, CorreoNotificacionCliente) - Dim LogCorreo As String = String.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoClienteAlmacen, CorreosCC) - LogCorreo.GuardaLog + 'Dim CorreosCC As String = String.Format("{0};{1};{2};{3}", CorreoVendedor, CorreoVendedorAdicional, CorreoCliente, CorreoNotificacionCliente) + 'Dim LogCorreo As String = String.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoClienteAlmacen, CorreosCC) + 'LogCorreo.GuardaLog - Dim MailCls As New ClsSisMail - MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, CorreoVendedor, "Entrega en mostrador", "Pendiente", CorreosCC) - MailCls = Nothing + 'Dim MailCls As New ClsSisMail + 'MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, CorreoVendedor, "Entrega en mostrador", "Pendiente", CorreosCC) + 'MailCls = Nothing End Sub Private Sub CargarOCRelacionadas() From 5a2942c894892c190f41e22ac1fc4de768bac69d Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 24 Jun 2020 21:33:43 -0700 Subject: [PATCH 2/6] - vnetas vinculadas --- App_Code/ClsOC.vb | 6 +++--- OC/OC.aspx | 2 +- OC/OC.aspx.vb | 49 ++++++++++++++++++++++++++++------------------- 3 files changed, 33 insertions(+), 24 deletions(-) diff --git a/App_Code/ClsOC.vb b/App_Code/ClsOC.vb index 20d2c9d8f..dbda19f3b 100644 --- a/App_Code/ClsOC.vb +++ b/App_Code/ClsOC.vb @@ -2532,12 +2532,12 @@ Public Class ClsOC End Function #End Region - Public Function GetVentasRelacionadas(CveOCDetalle As String) As Boolean + Public Function GetVentasRelacionadas(CveOrdenCompra As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_OC_VentaRelacionada") + DataAdapter("PA_OC_VentasRelacionadas") With SqlAdapter.SelectCommand.Parameters - .Add("@CveOCDetalles", SqlDbType.NVarChar).Value = CveOCDetalle + .Add("@CveOrdenCompra", SqlDbType.Int).Value = CveOrdenCompra End With Try diff --git a/OC/OC.aspx b/OC/OC.aspx index 54e04febc..e369bf855 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -1503,7 +1503,7 @@ -
+
diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 62d30797d..793816bbb 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -518,8 +518,7 @@ Partial Class OC End If CargaDatos(CveOrdenCompra) - 'CARGA VENTA RELACIONADA - CargaVentaRelacionada() + Else EsNuevo = True InicializarValores() @@ -1388,6 +1387,15 @@ Partial Class OC LblUsuarioAsignado.Text = objOC.UsuarioAsignado End If + 'CARGA VENTA RELACIONADA + If objOC.GetVentasRelacionadas(pCveOrdenCompra) Then + + If objOC.DtResultados.Rows.Count > 0 Then + DivVentaRelacionada.Visible = True + GvVentaRelacionadas.DataSource = objOC.DtResultados + End If + End If + Case "REQ" ViewState("TipoOC") = objOC.Tipo @@ -1651,6 +1659,7 @@ Partial Class OC End If objOC.Dispose() + GvVentaRelacionadas.DataBind() 'CARGA MOVTOS DE ALMACEN InicializaMovtosAlmacen() @@ -7914,22 +7923,22 @@ Partial Class OC 'End If End Sub - Private Sub CargaVentaRelacionada() - Dim GridViewPSAux As GridView = GvD - Dim CveOCDetalle As New StringBuilder() - For Each vd As GridViewRow In GridViewPSAux.Rows - Dim CveVentaDetalle As String = vd.DataKey("CveOrdenCompraDetalle") - CveOCDetalle.AppendFormat("{0},", CveVentaDetalle) - Next - Dim ObjVentas As New ClsOC() - If ObjVentas.GetVentasRelacionadas(CveOCDetalle.ToString) Then - Dim V As DataTable = ObjVentas.DtResultados - If V.Rows.Count > 0 Then - DivVentaRelacionada.Visible = True - GvVentaRelacionadas.DataSource = V - GvVentaRelacionadas.DataBind() - End If - End If - ObjVentas.Dispose() - End Sub + 'Private Sub CargaVentaRelacionada() + ' Dim GridViewPSAux As GridView = GvD + ' Dim CveOCDetalle As New StringBuilder() + ' For Each vd As GridViewRow In GridViewPSAux.Rows + ' Dim CveVentaDetalle As String = vd.DataKey("CveOrdenCompraDetalle") + ' CveOCDetalle.AppendFormat("{0},", CveVentaDetalle) + ' Next + ' Dim ObjVentas As New ClsOC() + ' If ObjVentas.GetVentasRelacionadas(CveOCDetalle.ToString) Then + ' Dim V As DataTable = ObjVentas.DtResultados + ' If V.Rows.Count > 0 Then + ' DivVentaRelacionada.Visible = True + ' GvVentaRelacionadas.DataSource = V + ' GvVentaRelacionadas.DataBind() + ' End If + ' End If + ' ObjVentas.Dispose() + 'End Sub End Class From 72217d88d3302a0d66af1dab36a3b478d7b67366 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Thu, 25 Jun 2020 11:52:32 -0700 Subject: [PATCH 3/6] BDH: Pagar NC con C.CH debe descontar en el corte --- Bancos/IE.aspx.vb | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index cfb1e58c4..7b6fc323e 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -437,6 +437,15 @@ Partial Class Bancos_IE End Property + Private Property CveCorte As Integer + Get + Return IfNull(ViewState("CveCorte"), -1, ViewState("CveCorte").ToString().ToString()).ToString().ToEntero() + End Get + Set(value As Integer) + ViewState("CveCorte") = value + End Set + End Property + #Region "CANCELACIÓN COMPLEMENTO MODAL V2" @@ -1291,6 +1300,17 @@ Partial Class Bancos_IE End If ObjCliente.Dispose() End Sub + + Private Sub CargaCorteCaja() + 'Checar si hay un Turno Abierto + Dim ObjPVenta As New ClsPuntoVenta + If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then + If ObjPVenta.DtResultados.Rows.Count > 0 Then + CveCorte = ObjPVenta.CveCorte + End If + End If + ObjPVenta.Dispose() + End Sub #End Region #Region " CARGA PERSONAL " @@ -1428,6 +1448,11 @@ Partial Class Bancos_IE End If + 'PAGAR NC CON C.CH DEBE DESCONTAR EN EL CORTE + If UsuarioActual.TienePermisoProceso(160) AndAlso Opcion IsNot Nothing AndAlso Opcion = "DevDinV" AndAlso dr("CveTipoCuenta").ToString.ToEntero = 1 Then + CargaCorteCaja() + End If + If dr("UsaTarjeta").ToString = "True" Then CargaGridTarjetas() Else @@ -2471,7 +2496,7 @@ Partial Class Bancos_IE CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, PagueseA, TxtImporte.Text.Trim.ToDouble, DdlMoneda.SelectedValue.ToEntero, - TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, ChkAplicaImpuestos.Checked, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=DdlEstatusIE.SelectedValue.ToString.ToEntero, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1)) + TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, ChkAplicaImpuestos.Checked, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=DdlEstatusIE.SelectedValue.ToString.ToEntero, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), CveCorte:=Me.CveCorte) If CveIE > 0 Then From 2a460c6ab8061f1b1b51eb4dfe8f3398c27767cc Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Thu, 25 Jun 2020 12:03:13 -0700 Subject: [PATCH 4/6] BDH: Pagar NC con C.CH debe descontar en el corte (despues del merge) --- Bancos/IE.aspx.vb | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index a1fff0611..47e593526 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -436,6 +436,14 @@ Partial Class Bancos_IE End Set End Property + Private Property CveCorte As Integer + Get + Return IfNull(ViewState("CveCorte"), -1, ViewState("CveCorte").ToString().ToString()).ToString().ToEntero() + End Get + Set(value As Integer) + ViewState("CveCorte") = value + End Set + End Property #Region "CANCELACIÓN COMPLEMENTO MODAL V2" @@ -1180,6 +1188,16 @@ Partial Class Bancos_IE GvRH.DataBind() UpGvRH.Update() End Sub + Private Sub CargaCorteCaja() + 'Checar si hay un Turno Abierto + Dim ObjPVenta As New ClsPuntoVenta + If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then + If ObjPVenta.DtResultados.Rows.Count > 0 Then + CveCorte = ObjPVenta.CveCorte + End If + End If + ObjPVenta.Dispose() + End Sub #Region " CARGA PROVEEDOR " Protected Sub DdlProveedores_selectedindexchange(sender As Object, e As EventArgs) @@ -1459,6 +1477,11 @@ Partial Class Bancos_IE DivCheques.Visible = False End If + End If + + 'PAGAR NC CON C.CH DEBE DESCONTAR EN EL CORTE + If UsuarioActual.TienePermisoProceso(160) AndAlso Opcion IsNot Nothing AndAlso Opcion = "DevDinV" AndAlso dr("CveTipoCuenta").ToString.ToEntero = 1 Then + CargaCorteCaja() End If If dr("UsaTarjeta").ToString = "True" Then @@ -2506,7 +2529,7 @@ Partial Class Bancos_IE CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, PagueseA, TxtImporte.Text.Trim.ToDouble, DdlMoneda.SelectedValue.ToEntero, TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, ChkAplicaImpuestos.Checked, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=DdlEstatusIE.SelectedValue.ToString.ToEntero, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), - ConceptoCIE:=If(TxtConceptoCIE.Text.Trim.Length > 0, TxtConceptoCIE.Text, "-1")) + ConceptoCIE:=If(TxtConceptoCIE.Text.Trim.Length > 0, TxtConceptoCIE.Text, "-1"), CveCorte:=Me.CveCorte) If CveIE > 0 Then From 34cacc1afa23fa66d3383955fe1c080bfb6dab5f Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 25 Jun 2020 12:34:27 -0700 Subject: [PATCH 5/6] --serie folio --- OC/OC.aspx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OC/OC.aspx b/OC/OC.aspx index e369bf855..180918c6d 100644 --- a/OC/OC.aspx +++ b/OC/OC.aspx @@ -1514,10 +1514,10 @@
- - +
From c7b8f020639e737b9bc15769c1e9d5fdce17bc6b Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Thu, 25 Jun 2020 19:14:58 -0700 Subject: [PATCH 6/6] =?UTF-8?q?se=20quit=C3=B3=20el=20documento=20del=20co?= =?UTF-8?q?rreo=20y=20se=20agrego=20un=20formato=20en=20html=20similar=20a?= =?UTF-8?q?l=20documento?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- General/PopUpPaqueteriasGuias.aspx.cs | 74 ++++++++++++----- General/RepPaqueteriasGuias.aspx.cs | 57 +++++++++---- Inventarios/EntregaAlmacen.aspx.vb | 91 +++++++++++++++------ Inventarios/EntregasPorRealizar.aspx | 2 +- Inventarios/EntregasPorRealizar.aspx.cs | 103 ++++++++++++++++++------ 5 files changed, 238 insertions(+), 89 deletions(-) diff --git a/General/PopUpPaqueteriasGuias.aspx.cs b/General/PopUpPaqueteriasGuias.aspx.cs index 6cd757d1b..e6536dc3b 100644 --- a/General/PopUpPaqueteriasGuias.aspx.cs +++ b/General/PopUpPaqueteriasGuias.aspx.cs @@ -730,7 +730,7 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas } } - private byte[] DocumentoEntregaInterna() + private string DocumentoEntregaInterna() { ClsVentas ObjVentas = new ClsVentas(); if (ObjVentas.GetVenta(this.CveVenta, UsuarioActual.CveEmpresa)) @@ -742,24 +742,62 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas string Guia = TxtGuia.Text; string Rastreo = TxtRastreo.Text; string Paqueteria = DdlPaqueterias.SelectedItem.Text; + string TipoDocto = ObjVentas.DtResultados.Rows[0]["TipoDocto"].ToString(); DataTable DtDetalle = new DataTable(); if (ObjVentas.GetVentaDetalle(CveVenta)) { DtDetalle = ObjVentas.DtResultados; } - List RepParams = new List(); - RepParams.Add(new ReportParameter("Cliente", ClienteNombre)); - RepParams.Add(new ReportParameter("FolioVenta", FolioVenta)); - RepParams.Add(new ReportParameter("Pedido", Pedido)); - RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra)); - RepParams.Add(new ReportParameter("Guia", Guia)); - RepParams.Add(new ReportParameter("Rastreo", Rastreo)); - RepParams.Add(new ReportParameter("Paqueteria", Paqueteria)); - return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaExternaAsignada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); + string DetalleTable = ""; + foreach (DataRow dRow in DtDetalle.Rows) + { + string detalle = string.Format("
", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]); + DetalleTable += detalle; + } + + StringBuilder strBody = new StringBuilder(); + strBody.Append(""); + strBody.Append(" "); + strBody.Append("
"); + strBody.Append($""); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append($" Apreciable {ClienteNombre}, su pedido ya se encuentra en camino con el número de guía {Guia} y rastreo {Rastreo} de {Paqueteria}. Le confirmamos los productos que recibirá conforme a la {TipoDocto}:"); + strBody.Append("

"); + strBody.Append($"

{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}

"); + strBody.Append("
"); + strBody.Append("
<%--Guías Vinculadas--%> Entrega Local<%--Guías Vinculadas--%> Entrega Externa
@@ -202,7 +202,7 @@
Tipo:Documento:
{0}{1}{2}
"); + strBody.Append(DetalleTable); + strBody.Append("
"); + strBody.Append(" "); + strBody.Append("

"); + strBody.Append(" Solicitamos su apoyo en la verificación del pedido que está próximo a recibir y en caso de presentarse alguno de los siguientes inconvenientes favor de rechazar el paquete y comunicarse de inmediato con su Ejecutivo Comercial:"); + strBody.Append("

"); + strBody.Append("

"); + strBody.Append(" • Empaque violado.
"); + strBody.Append("• Daño físico en la caja.
"); + strBody.Append("• Producto incompleto o distinto al solicitado.
"); + strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía."); + strBody.Append(""); + strBody.Append("

"); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append(" Gracias por realizar pedido
"); + strBody.Append(" Compuproveedores"); + strBody.Append("

"); + strBody.Append("

"); + strBody.Append(" Sigue disfrutando de nuestros productos y servicios
"); + strBody.Append(" www.compuproveedores.com"); + strBody.Append(""); + strBody.Append("

"); + strBody.Append(" "); + strBody.Append(""); + + return strBody.ToString(); } ObjVentas.Dispose(); - return null; + return ""; } private string getCorreoString() @@ -789,19 +827,11 @@ public partial class General_PopUpPaqueteriasGuias : ClsPaginas { Correos.GuardaLog(); - byte[] ArchivoBinario = DocumentoEntregaInterna(); + string body = DocumentoEntregaInterna(); ClsSisMail MailCls = new ClsSisMail(); - List LSRutasMail = new List(); - ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail(); - - { - var withBlock = itemMail; - itemMail.ArchivoBinario = ArchivoBinario; - itemMail.NombreArchivo = "Notificacion de Envio"; - } - LSRutasMail.Add(itemMail); - MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, "Se enviara la compra a su dirección", "Pendiente", Correos, LSRutasMail); + + MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Correos, "Se enviara la compra a su dirección", body, Correos); MailCls = null; } #endregion diff --git a/General/RepPaqueteriasGuias.aspx.cs b/General/RepPaqueteriasGuias.aspx.cs index 08ee47e58..421f862af 100644 --- a/General/RepPaqueteriasGuias.aspx.cs +++ b/General/RepPaqueteriasGuias.aspx.cs @@ -925,9 +925,9 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas Cuerpo.AppendLine("

Dudas y aclaraciones con su coordinador empresarial."); + string body = DocumentoEntregaInterna(this.CveVenta); //Adjunta Archivo al Correo ClsSisMail.ArchivoMail ArchivoAdjunto = new ClsSisMail.ArchivoMail(); - ClsSisMail.ArchivoMail ArchivoAdjunto2 = new ClsSisMail.ArchivoMail(); List ListaAdjuntos = new List(); @@ -937,20 +937,16 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas ArchivoAdjunto.Ruta = RutaArchivoAdjunto; ArchivoAdjunto.NombreArchivo = new FileInfo(RutaArchivoAdjunto).Name; - ArchivoAdjunto2.ArchivoBinario = DocumentoEntregaInterna(this.CveVenta); - ArchivoAdjunto2.NombreArchivo = "Entrega Realizada"; - ListaAdjuntos.Add(ArchivoAdjunto); - ListaAdjuntos.Add(ArchivoAdjunto2); } if ((ListaAdjuntos.Count > 0)) { - MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString(), Archivos: ListaAdjuntos); + MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, body.ToString(), Archivos: ListaAdjuntos); } else { - MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString()); + MensajeEnviado = Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, body.ToString()); } break; @@ -1080,7 +1076,7 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas this.RegistraScript("$('#ModalMotivoReasignacion').modal('hide')", "hidemodal3"); } - private byte[] DocumentoEntregaInterna(int CveVenta) + private string DocumentoEntregaInterna(int CveVenta) { ClsVentas ObjVentas = new ClsVentas(); @@ -1091,21 +1087,52 @@ public partial class General_RepPaqueteriasGuias : ClsPaginas string FolioVenta = row["SerieFolio"].ToString(); string Pedido = row["PedidoContrato"].ToString(); string OrdenCompra = row["OrdenCompra"].ToString(); + string tipoDocto = row["TipoDocto"].ToString(); DataTable DtDetalle = new DataTable(); if (ObjVentas.GetVentaDetalle(CveVenta)) { DtDetalle = ObjVentas.DtResultados; } + string DetalleTable = ""; + foreach (DataRow dRow in DtDetalle.Rows) + { + string detalle = string.Format("{0}{1}{2}", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]); + DetalleTable += detalle; + } - List RepParams = new List(); - RepParams.Add(new ReportParameter("Cliente", ClienteNombre)); - RepParams.Add(new ReportParameter("FolioVenta", FolioVenta)); - RepParams.Add(new ReportParameter("Pedido", Pedido)); - RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra)); - return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaEntregaTerminada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); + StringBuilder strBody = new StringBuilder(); + strBody.Append(""); + strBody.Append(" "); + strBody.Append("
"); + strBody.Append($""); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append($" Apreciable {ClienteNombre}, su pedido correspondiente a la {tipoDocto}:"); + strBody.Append("

"); + strBody.Append($"

{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}

"); + strBody.Append("

Su Pedido:

"); + strBody.Append("
"); + strBody.Append(" "); + strBody.Append(DetalleTable); + strBody.Append("
"); + strBody.Append("
"); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append(" Agradecemos su preferencia.
"); + strBody.Append(" Compuproveedores"); + strBody.Append("

"); + strBody.Append("

"); + strBody.Append(" Sigue disfrutando de nuestros productos y servicios
"); + strBody.Append(" www.compuproveedores.com"); + strBody.Append(""); + strBody.Append("

"); + strBody.Append(" "); + strBody.Append(""); + + return strBody.ToString(); } ObjVentas.Dispose(); - return null; + return ""; } } \ No newline at end of file diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index 1726fcfbf..c8a2bc967 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -3184,16 +3184,17 @@ Partial Class Inventarios_EntregaAlmacen End Sub Private Sub EnviarCorreoEntrega(tCveVenta As Integer, UsuarioActual As Usuario) - Dim Correo As New ClsSisMail - Dim SerieFolio As String = "" - Dim Asunto As String = String.Format("{0} Envio de pedido: {1}", UsuarioActual.Empresa.NombreCorto, SerieFolio) - Dim Cuerpo As New StringBuilder() - Dim Destinatario As String = "" - Dim MensajeEnviado = False - Dim tCvecliente As Integer - Dim bytes() As Byte = Nothing + 'Dim Correo As New ClsSisMail + Dim SerieFolio As String = "" + Dim Asunto As String = String.Format("{0} Envio de pedido: {1}", UsuarioActual.Empresa.NombreCorto, SerieFolio) + Dim Cuerpo As New StringBuilder() + Dim Destinatario As String = "" + Dim MensajeEnviado = False + Dim tCvecliente As Integer + Dim bytes() As Byte = Nothing Dim ObjVentas As New ClsVentas() + Dim strBody As New StringBuilder If ObjVentas.GetVenta(tCveVenta, UsuarioActual.CveEmpresa) Then Dim dr As DataRow = ObjVentas.DtResultados.FiltroPrimero("") Destinatario = String.Format("{0};{1}", dr("CorreoNotificacion"), dr("CorreoVendedorVenta")) @@ -3201,39 +3202,79 @@ Partial Class Inventarios_EntregaAlmacen tCvecliente = dr("CveCliente").ToString.ToEntero Dim drC As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=tCvecliente).FiltroPrimero("") - Destinatario += String.Format("{0};{1}", drC("CorreoEntregaCompras"), drC("CorreoEntregaAlmacen")) - - Cuerpo.AppendLine(String.Format("Estimado {0} le informamos que los productos de la factura {1} han sido enviados a entrega.

", dr("ClienteNombre"), dr("SerieFolio"))) - Cuerpo.AppendLine("

Dudas y aclaraciones con su coordinador empresarial.") + Destinatario += String.Format(";{0};{1}", drC("CorreoEntregaCompras"), drC("CorreoEntregaAlmacen")) Dim ClienteNombre As String = dr("ClienteNombre").ToString() Dim FolioVenta As String = dr("SerieFolio").ToString() Dim Pedido As String = dr("PedidoContrato").ToString() Dim OrdenCompra As String = dr("OrdenCompra").ToString() Dim CveVenta As Integer = dr("CveVenta").ToString().ToEntero() + Dim TipoDocto As String = dr("TipoDocto").ToString() Dim dtDetalle As New DataTable If ObjVentas.GetVentaDetalle(CveVenta) Then dtDetalle = ObjVentas.DtResultados End If + Dim DetalleTable As String = "" + For Each dRow As DataRow In dtDetalle.Rows + Dim detalle As String = String.Format("{0}{1}{2}", dRow("Codigo"), dRow("Cantidad"), dRow("PS")) + DetalleTable += detalle + Next - Dim RepParams As New List(Of ReportParameter) - RepParams.Add(New ReportParameter("Cliente", ClienteNombre)) - RepParams.Add(New ReportParameter("FolioVenta", FolioVenta)) - RepParams.Add(New ReportParameter("Pedido", Pedido)) - RepParams.Add(New ReportParameter("OrdenCompra", OrdenCompra)) - bytes = StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaEntregaMostrador.rdlc", dtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName:="DsInventarios") + strBody.Append("") + strBody.Append(" ") + strBody.Append("
") + strBody.Append($"") + strBody.Append("
") + strBody.Append("

") + strBody.Append($" Apreciable {ClienteNombre}, le confirmamos los") + strBody.Append(" productos surtidos y entregados en mostrador conforme a la") + strBody.Append($" {TipoDocto}:") + strBody.Append("

") + strBody.Append($"

{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}

") + strBody.Append("
") + strBody.Append(" ") + strBody.Append(DetalleTable) + strBody.Append(" ") + strBody.Append("
") + strBody.Append("
") + strBody.Append("

") + strBody.Append(" Se entregaron los productos conforme a las especificaciones de su pedido y verificamos que no se presentara alguno de los siguientes inconvenientes:") + strBody.Append("

") + strBody.Append("

") + strBody.Append(" • Empaque violado.
") + strBody.Append("• Daño físico en la caja.
") + strBody.Append("• Producto incompleto o distinto al solicitado.
") + strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía.
") + strBody.Append("") + strBody.Append("

") + strBody.Append("
") + strBody.Append("

") + strBody.Append($" Aceptando a entera satisfacción a las {Today.Hour}:{Today.Minute} hrs del {Today.ToString}") + strBody.Append("

") + strBody.Append("
") + strBody.Append("

") + strBody.Append(" Gracias por su compra
") + strBody.Append(" Compuproveedores") + strBody.Append("

") + strBody.Append("

") + strBody.Append(" Sigue disfrutando de nuestros productos y servicios
") + strBody.Append(" www.compuproveedores.com") + strBody.Append("") + strBody.Append("

") + strBody.Append(" ") + strBody.Append("") End If - ObjVentas.Dispose() - - + ObjVentas.Dispose() + + Dim MailCls As New ClsSisMail + Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) Dim itemMail As New ClsSisMail.ArchivoMail() + LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = bytes, .NombreArchivo = "Entrega en mostrador"}) - LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = bytes, .NombreArchivo = "Notificacion de Envio"}) - - Correo.SendMail(EmpresaNotificaciones, Destinatario, Asunto, Cuerpo.ToString(), Destinatario) - Correo = Nothing + MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Destinatario, "Enviado desde Entrega Almacen", strBody.ToString, Destinatario) + MailCls = Nothing End Sub Private Sub Limpia() diff --git a/Inventarios/EntregasPorRealizar.aspx b/Inventarios/EntregasPorRealizar.aspx index 639fe893f..76ec2b76f 100644 --- a/Inventarios/EntregasPorRealizar.aspx +++ b/Inventarios/EntregasPorRealizar.aspx @@ -70,7 +70,7 @@
RepParams = new List(); - string Usuario = DdlUsuario.SelectedValue.ToEntero() > 0 ? DdlUsuario.SelectedItem.Text : "Todos"; - RepParams.Add(new ReportParameter("Fecha", DateTime.Today.ToString())); - RepParams.Add(new ReportParameter("AsignadoA", Usuario)); - RepParams.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)); + //protected void LnkImprimir_Click(object sender, EventArgs e) + //{ + // List RepParams = new List(); + // string Usuario = DdlUsuario.SelectedValue.ToEntero() > 0 ? DdlUsuario.SelectedItem.Text : "Todos"; + // RepParams.Add(new ReportParameter("Fecha", DateTime.Today.ToString())); + // RepParams.Add(new ReportParameter("AsignadoA", Usuario)); + // RepParams.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)); - ImprimirPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/EntregasPorRealizar.rdlc", DtPaqueteriasGuias, RepParams, "Entregas por realizar", "PDF",RDSName:"DsInventarios"); - } + // ImprimirPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/EntregasPorRealizar.rdlc", DtPaqueteriasGuias, RepParams, "Entregas por realizar", "PDF",RDSName:"DsInventarios"); + //} - private byte[] DocumentoEntregaInterna(GridViewRow row) + private string DocumentoEntregaInterna(GridViewRow row) { string ClienteNombre = row.DataKey("NombreComercial"); string FolioVenta = row.DataKey("SerieFolio"); string Pedido = row.DataKey("PedidoContrato"); string OrdenCompra = row.DataKey("OrdenCompra"); int CveVenta = row.DataKey("CveVenta").ToEntero(); + string TipoDocto = row.DataKey("TipoDocto"); DataTable DtDetalle = new DataTable(); ClsVentas ObjVentas = new ClsVentas(); @@ -136,12 +138,60 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas } ObjVentas.Dispose(); - List RepParams = new List(); - RepParams.Add(new ReportParameter("Cliente", ClienteNombre)); - RepParams.Add(new ReportParameter("FolioVenta", FolioVenta)); - RepParams.Add(new ReportParameter("Pedido", Pedido)); - RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra)); - return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaInternaAsignada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); + string DetalleTable = ""; + foreach (DataRow dRow in DtDetalle.Rows) + { + string detalle = string.Format("{0}{1}{2}", dRow["Codigo"], dRow["Cantidad"], dRow["PS"]); + DetalleTable += detalle; + } + + StringBuilder strBody = new StringBuilder(); + + strBody.Append(""); + strBody.Append(" "); + strBody.Append("
"); + strBody.Append($""); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append($" Apreciable {ClienteNombre}, su pedido ya se encuentra en camino. Le confirmamos los productos que recibirá conforme a la "); + strBody.Append($" {TipoDocto}:"); + strBody.Append("

"); + strBody.Append($"

{FolioVenta} - Pedido {Pedido} - Orden de Compra {OrdenCompra}

"); + strBody.Append("
"); + strBody.Append(" "); + strBody.Append(DetalleTable); + strBody.Append("
"); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append(" Solicitamos su apoyo en la verificación del pedido que está próximo a recibir y en caso de presentarse alguno de los siguientes inconvenientes favor de rechazar el paquete y comunicarse de inmediato con su Ejecutivo Comercial:"); + strBody.Append("

"); + strBody.Append("

"); + strBody.Append(" • Empaque violado.
"); + strBody.Append("• Daño físico en la caja.
"); + strBody.Append("• Producto incompleto o distinto al solicitado.
"); + strBody.Append("• Alguna otra situación que se considere que compromete la integridad de la mercancía."); + strBody.Append(""); + strBody.Append("

"); + strBody.Append("
"); + strBody.Append("

"); + strBody.Append(" Gracias por realizar su pedido
"); + strBody.Append(" Compuproveedores"); + strBody.Append("

"); + strBody.Append("

"); + strBody.Append(" Sigue disfrutando de nuestros productos y servicios
"); + strBody.Append(" www.compuproveedores.com"); + strBody.Append(""); + strBody.Append("

"); + strBody.Append(" "); + strBody.Append(""); + + //List RepParams = new List(); + //RepParams.Add(new ReportParameter("Cliente", ClienteNombre)); + //RepParams.Add(new ReportParameter("FolioVenta", FolioVenta)); + //RepParams.Add(new ReportParameter("Pedido", Pedido)); + //RepParams.Add(new ReportParameter("OrdenCompra", OrdenCompra)); + //return StreamPDF($"Empresas/{UsuarioActual.CveEmpresa}/Formatos/GuiaInternaAsignada.rdlc", DtDetalle, RepParams, "Notificacion de Envio", "PDF", RDSName: "DsInventarios"); + return strBody.ToString(); } private void MandarNotificacionCorreo(GridViewRow row) @@ -156,20 +206,21 @@ public partial class Inventarios_EntregasPorRealizar : ClsPaginas string LogCorreo = string.Format("{0} -- {1} --- {2}", "Tipo de entrega", CorreoEntregaAlmacen, Para); LogCorreo.GuardaLog(); - byte[] ArchivoBinario = DocumentoEntregaInterna(row); + //byte[] ArchivoBinario = DocumentoEntregaInterna(row); + string body = DocumentoEntregaInterna(row); ClsSisMail MailCls = new ClsSisMail(); - List LSRutasMail = new List(); - ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail(); + //List LSRutasMail = new List(); + //ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail(); - { - var withBlock = itemMail; - itemMail.ArchivoBinario = ArchivoBinario; - itemMail.NombreArchivo = "Notificacion de Envio"; - } + //{ + // var withBlock = itemMail; + // itemMail.ArchivoBinario = ArchivoBinario; + // itemMail.NombreArchivo = "Notificacion de Envio"; + //} - LSRutasMail.Add(itemMail); - MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Para, "Entrega en camino", "Pendiente", Para, LSRutasMail); + //LSRutasMail.Add(itemMail); + MailCls.SendMail(ClsPaginas.EmpresaNotificaciones, Para, "Entrega en camino", body, Para); MailCls = null; } } \ No newline at end of file