Option Explicit On Option Strict On Imports Extensiones Imports System.IO Imports System.Data Imports System.Linq Imports Microsoft.Reporting.WebForms Partial Class Inventarios_RepEntregasForaneas Inherits ClsPaginas #Region "PROPIEDADES" Private Property DTEstatus As DataTable Get Return CType(ViewState("DTEstatus"), DataTable) End Get Set(value As DataTable) ViewState("DTEstatus") = value End Set End Property Property CveEntregaForanea As Integer Get If ViewState("CveEntregaForanea") Is Nothing Then Return -1 Else Return ViewState("CveEntregaForanea").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveEntregaForanea") = value End Set End Property Property CvePaqueteriaGuia As Integer Get If ViewState("CvePaqueteriaGuia") Is Nothing Then Return -1 Else Return ViewState("CvePaqueteriaGuia").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CvePaqueteriaGuia") = value End Set End Property Property Guia As String Get If ViewState("Guia") Is Nothing Then Return "-1" Else Return ViewState("Guia").ToString End If End Get Set(value As String) ViewState("Guia") = value End Set End Property Property Estatus As Integer Get If ViewState("Estatus") Is Nothing Then Return -1 Else Return ViewState("Estatus").ToString.ToEntero End If End Get Set(value As Integer) ViewState("Estatus") = value End Set End Property Property CvePaqueteria As Integer Get If ViewState("CvePaqueteria") Is Nothing Then Return -1 Else Return ViewState("CvePaqueteria").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CvePaqueteria") = value End Set End Property Property CveMovimiento As Integer Get If ViewState("CveMovimiento") Is Nothing Then Return -1 Else Return ViewState("CveMovimiento").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveMovimiento") = value End Set End Property Property Requeriada As Boolean Get If ViewState("Requeriada") Is Nothing Then Return False Else Return Boolean.Parse(ViewState("Requeriada").ToString) End If End Get Set(value As Boolean) ViewState("Requeriada") = value End Set End Property Property GuiaOriginal As String Get If ViewState("GuiaOriginal") Is Nothing Then Return "" Else Return ViewState("GuiaOriginal").ToString End If End Get Set(value As String) ViewState("GuiaOriginal") = value End Set End Property Property CveVenta As Integer Get If ViewState("CveVenta") Is Nothing Then Return -1 Else Return ViewState("CveVenta").ToString.ToEntero End If End Get Set(value As Integer) ViewState("CveVenta") = value End Set End Property Property DTDatos As DataTable Get If ViewState("DTDatos") Is Nothing Then Return New DataTable Else Return DirectCast(ViewState("DTDatos"), DataTable) End If End Get Set(value As DataTable) ViewState("DTDatos") = value End Set End Property Private Property CorreoPaqueteriaNotificacion As String Get If ViewState("CorreoPaqueteriaSinGias") Is Nothing Then Return "sig.buzon@adsistemas.com" Else Return "sig.buzon@adsistemas.com" End If End Get Set(value As String) ViewState("CorreoPaqueteriaSinGias") = value End Set End Property Property FechaInicio As String Get If ViewState("FechaInicio") Is Nothing Then Return "" Else Return ViewState("FechaInicio").ToString End If End Get Set(value As String) ViewState("FechaInicio") = value End Set End Property Property FechaFin As String Get If ViewState("FechaFin") Is Nothing Then Return "" Else Return ViewState("FechaFin").ToString End If End Get Set(value As String) ViewState("FechaFin") = value End Set End Property #End Region Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then Dim ObjInv As New ClsInventarios If ObjInv.GetEntregaForaneaEstatus(-1) Then DTEstatus = ObjInv.DtResultados DdlEstatusFiltro.DataSource = DTEstatus End If ObjInv.Dispose() DdlPaqueteria.DataSource = GlobalDTPaqueterias(UsuarioActual.CveEmpresa) DdlPaqueteria.DataBind() DdlEstatusFiltro.DataBind() CargaSucursales() InicializaFechas() End If End Sub Private Sub InicializaFechas() Dim FI As New DateTime(DateTime.Now.Year, 1, 1) FechaInicio = FI.ToShortDateString FechaFin = DateTime.Today.ToShortDateString txtFechaI.Text = FechaInicio txtFechaF.Text = FechaFin End Sub Private Sub CargaDatos(Estatus As Integer, Paqueteria As Integer, Tipo As Integer, CveSubProyecto As Integer, FechaInicio As String, FechaFin As String) Dim ObjInv As New ClsInventarios If Tipo = 1 Then If ObjInv.GetEntregasForaneas(Estatus, Paqueteria, UsuarioActual.CveEmpresa, Tipo, CveSubProyecto, FechaInicio, FechaFin) Then GvDatos.DataSource = ObjInv.DtResultados DTDatos = ObjInv.DtResultados Else GvDatos.DataSource = Nothing DTDatos = Nothing End If GvDatos.Columns(9).Visible = True GvDatos.Columns(11).Visible = False Else If ObjInv.GetEntregasForaneas(Estatus, Paqueteria, UsuarioActual.CveEmpresa, Tipo, CveSubProyecto, FechaInicio, FechaFin) Then GvDatos.DataSource = ObjInv.DtResultados DTDatos = ObjInv.DtResultados Else GvDatos.DataSource = Nothing DTDatos = Nothing End If GvDatos.Columns(9).Visible = False GvDatos.Columns(11).Visible = True End If ObjInv.Dispose() GvDatos.DataBind() UpDatos.Update() End Sub Private Sub CargaSucursales() DdlSucursal.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSucursal.DataBind() DdlSucursal.Items.Insert(0, New ListItem("Todos", "-1")) DdlSucursal.SelectedValue = "-1" End Sub Public Sub BtnAgregarDetalle_click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) If GvRow.FCDropDownList("DdlEstatus").SelectedValue.ToEntero = 4 And GvRow.FCTextBox("TxtGuia").Text = "" Then Alert("Es necesario el número de guía.", TipoMensaje.MsgAdvertencia) Exit Sub End If Dim ObjInv As New ClsInventarios Dim TieneError = False If DdlTipo.SelectedValue.ToEntero = 1 Then If Not ObjInv.UpdateEntregaForanea(GvRow.DataKey("CveEntregaForanea").ToEntero, GvRow.FCTextBox("TxtGuia").Text, If(GvRow.FCCheckBox("ChkRequerida").Checked, 1, 0), GvRow.FCDropDownList("DdlEstatus").SelectedValue.ToEntero, GvRow.FCDropDownList("DdlPaqueteria").SelectedValue.ToEntero) Then TieneError = True End If Else If Not ObjInv.UpdateEntregaForanea(0, GvRow.FCTextBox("TxtGuia").Text, If(GvRow.FCCheckBox("ChkRequerida").Checked, 1, 0), GvRow.FCDropDownList("DdlEstatus").SelectedValue.ToEntero, GvRow.FCDropDownList("DdlPaqueteria").SelectedValue.ToEntero, 2, GvRow.DataKey("CvePaqueteriaGuia").ToEntero) Then TieneError = True End If End If If TieneError Then Alert("Ocurrió un erro al actualizar la guia", TipoMensaje.MsgError) Else Alert("Se actualizó la guia con exito", TipoMensaje.MsgInformacion) End If ObjInv.Dispose() UpDatos.Update() End Sub Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If DdlTipo.SelectedValue = "2" Then 'Venta If e.Row.FCTextBox("TxtGuia").Text.Length > 0 Then e.Row.FCTextBox("TxtGuia").Enabled = False Else e.Row.FCLinkButton("LnkActualizaGuia").OnClientClick = $"return LnkGuiaPosback({e.Row.FCTextBox("TxtGuia").ClientID});" End If e.Row.FCDropDownList("DdlPaqueteria").Enabled = False e.Row.FCDropDownList("DdlEstatus").DataSource = DTEstatus.FiltraParametros("CveEntregaForaneaEstatus in(1,2)") e.Row.FCLinkButton("BtnAgregarDetalle").Visible = False Else e.Row.FCDropDownList("DdlEstatus").DataSource = DTEstatus End If e.Row.FCDropDownList("DdlEstatus").DataBind() e.Row.FCDropDownList("DdlEstatus").SelectedValueExist(e.Row.DBCampo("CveEntregaForaneaEstatus")) e.Row.FCDropDownList("DdlPaqueteria").DataSource = GlobalDTPaqueterias(UsuarioActual.CveEmpresa) e.Row.FCDropDownList("DdlPaqueteria").DataBind() e.Row.FCDropDownList("DdlPaqueteria").SelectedValueExist(e.Row.DBCampo("CvePaqueteria")) If e.Row.DBCampo("CveVenta").ToString.ToEntero > 0 Then e.Row.FCHyperLink("HLFolio").NavigateUrl = $"/Ventas/Ventas.aspx?CveVenta={e.Row.DBCampo("CveVenta")}" End If If e.Row.DBCampo("CveOC").ToString.ToEntero > 0 Then e.Row.FCHyperLink("HLFolio").NavigateUrl = $"/OC/OC.aspx?CveOC={e.Row.DBCampo("CveOC")}" End If e.Row.FCHyperLink("BtnLiga").NavigateUrl = String.Format(e.Row.DBCampo("Liga"), e.Row.DBCampo("Guia")) UpDatos.Update() End If End Sub Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click CargaDatos(DdlEstatusFiltro.SelectedValue.ToEntero, DdlPaqueteria.SelectedValue.ToEntero, DdlTipo.SelectedValue.ToEntero, DdlSucursal.SelectedValue.ToEntero, txtFechaI.Text, txtFechaF.Text) End Sub #Region "M O D A L D O C" Public Sub UploadModal_ClickDocumentacionGuia(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim CveMovimiento As Integer = GvRow.DataKey("CveMovimiento").ToEntero CveEntregaForanea = GvRow.DataKey("CveEntregaForanea").ToEntero CvePaqueteriaGuia = GvRow.DataKey("CvePaqueteriaGuia").ToEntero 'CvePaqueteria = GvRow.DataKey("CvePaqueteria").ToEntero Guia = GvRow.FCTextBox("TxtGuia").Text GuiaOriginal = GvRow.DataKey("Guia").ToString Requeriada = GvRow.FCCheckBox("ChkRequerida").Checked Estatus = GvRow.FCDropDownList("DdlEstatus").SelectedValue.ToEntero CvePaqueteria = GvRow.FCDropDownList("DdlPaqueteria").SelectedValue.ToEntero CveMovimiento = GvRow.DataKey("CveMovimiento").ToEntero CveVenta = GvRow.DataKey("CveVenta").ToEntero RegistraScript("$('#ModalUploadGuiaDocumento').modal({ backdrop: 'static', keyboard: false});") End Sub Protected Sub BtnModalGuiaDocumentoUpload_Click(sender As Object, e As EventArgs) Handles BtnModalGuiaDocumentoUpload.Click Dim FileExtension As String = "-1" Dim Filesgral As List(Of Archivo) = TxtFileDocumentacion.getfiles().Archivos Dim Filename As String = "" 'Dim CvePaqueteriaGuia As String = GvDatos.DataKeys("CvePaqueteriaGuia").ToString() For Each fileItem As Archivo In Filesgral Try FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "") Dim rutaDestino As String = UsuarioActual.Empresa.Ruta & "Documentos\Guias\" & CvePaqueteriaGuia & "." & FileExtension If Not System.IO.Directory.Exists(UsuarioActual.Empresa.Ruta & "Documentos\Guias\") Then System.IO.Directory.CreateDirectory(UsuarioActual.Empresa.Ruta & "Documentos\Guias\") End If If System.IO.File.Exists(rutaDestino) Then System.IO.File.Delete(rutaDestino) End If System.IO.File.Copy(fileItem.FileUrl, rutaDestino) Dim ObjInv As New ClsInventarios Dim TieneError = False If DdlTipo.SelectedValue.ToEntero = 1 Then If Not ObjInv.UpdateEntregaForanea(CveEntregaForanea, Guia, If(Requeriada, 1, 0), Estatus, CvePaqueteria) Then TieneError = True Else Alert("Actualizado Correctamente") End If Else If Not ObjInv.UpdateEntregaForanea(CveEntregaForanea, Guia, If(Requeriada, 1, 0), Estatus, CvePaqueteria:=CvePaqueteria, Tipo:=2, CvePaqueteriaGuia:=CvePaqueteriaGuia.ToEntero, Extencion:=FileExtension) Then TieneError = True Else EnviarCorreoNotificacionEntrega(1, CvePaqueteriaGuia, rutaDestino) GuardarBitacora(CveVenta, rutaDestino, TxtObservacionVenta.Text) If GuiaOriginal <> Guia Then EnviarCorreoNotificacionEntrega(2, CvePaqueteriaGuia, "") End If Alert("Actualizado Correctamente") End If End If ObjInv.Dispose() UpDatos.Update() TxtFileDocumentacion.Text = "" TxtObservacionVenta.Text = "" UpModalUploadGuiaDocumento.Update() Catch ex As Exception OnError("Error al cargar archivo", ex) End Try Next RegistraScript("$('#ModalUploadGuiaDocumento').modal('hide')", "hidemodal3") End Sub Private Sub GuardarBitacora(CveVenta As Integer, RutaAdjunto As String, Obser As String) If File.Exists(RutaAdjunto) Then Dim FI As New FileInfo(RutaAdjunto) Dim FileExtension As String = FI.Extension Dim ArchivoDestino As String = "" Dim ObjEventos As New ClsOIEventos() Try If ObjEventos.AddEventoBitacora(Obser, String.Format("{0}", FileExtension), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVenta) Then ArchivoDestino = $" {Server.MapPath("~")}\Empresas\{UsuarioActual.CveEmpresa}\OI\OI{ObjEventos.CveEvento }{FileExtension}" If FI.Name <> "" Then 'Filename.FilesMove(String.Format("OI{0}", ObjEventos.CveEvento.ToString), String.Format("Empresas\{0}\OI", UsuarioActual.CveEmpresa)) If Not System.IO.Directory.Exists($" {Server.MapPath("~")}\Empresas\{UsuarioActual.CveEmpresa}\OI\") Then System.IO.Directory.CreateDirectory($" {Server.MapPath("~")}\Empresas\{UsuarioActual.CveEmpresa}\OI\") End If If File.Exists(ArchivoDestino) Then File.Delete(ArchivoDestino) End If File.Copy(RutaAdjunto, ArchivoDestino) End If End If Catch ex As Exception OnError("Se presento un error al guardar la Bitacora", ex) End Try ObjEventos.Dispose() ' CargaEventoBitacora() End If ' UPEventoBitacora.Update() End Sub Private Sub EnviarCorreoNotificacionEntrega(Tipo As Integer, CvePaqueteriaGuia As Integer, RutaArchivoAdjunto As String, Optional UpGuia As Boolean = False) Dim SerieFolio As String = "" Dim NombreComercial As String = "" Dim Destinatario As String = "" Dim Paqueteria As String = "" Dim Guia As String = "" Dim Rastreo As String = "" Dim CveMovimiento As Integer = 0 Dim ObjInventarios As New ClsInventarios Dim DTResultado As New DataTable Dim DTDetalles As New DataTable If ObjInventarios.GetPaqueteriaGuia(-1, UsuarioActual.CveEmpresa, CvePaqueteriaGuia:=CvePaqueteriaGuia) Then DTResultado = ObjInventarios.DtResultados If DTResultado.Rows.Count > 0 Then SerieFolio = DTResultado.Rows(0)("SerieFolio").ToString NombreComercial = DTResultado.Rows(0)("NombreComercial").ToString Destinatario = DTResultado.Rows(0)("Mail").ToString Paqueteria = DTResultado.Rows(0)("Paqueteria").ToString Guia = DTResultado.Rows(0)("Guia").ToString Rastreo = DTResultado.Rows(0)("Rastreo").ToString CveMovimiento = DTResultado.Rows(0)("CveMovimiento").ToString.ToEntero Else ObjInventarios.Dispose() Exit Sub End If Else ObjInventarios.Dispose() Exit Sub End If If ObjInventarios.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then DTDetalles = ObjInventarios.DtResultados If DTResultado.Rows.Count > 0 Then 'continua Else ObjInventarios.Dispose() Exit Sub End If Else ObjInventarios.Dispose() Exit Sub End If ObjInventarios.Dispose() Dim Correo As New ClsSisMail() Dim Asunto As String = UsuarioActual.Empresa.NombreCorto & " Entrega de pedido: " & SerieFolio Dim Cuerpo As New StringBuilder Select Case Tipo Case 1 If Destinatario.Length > 0 Then Cuerpo.AppendLine($"Estimado {NombreComercial} le informamos que los productos de la factura {SerieFolio} con Guia {Guia}, paquetería {Paqueteria} han sido entregados.

") Cuerpo.AppendLine("") Cuerpo.AppendLine("") For Each Drow As DataRow In DTDetalles.Rows Cuerpo.AppendLine($"") Next Cuerpo.AppendLine("
CantidadProducto
{Drow("Cantidad").ToString.ToEntero }{Drow("PS").ToString}
") Cuerpo.AppendLine("

Dudas y aclaraciones departamento de ateción al cliente Tel. 2142200.") 'Destinatario = "rakcsle.rakcsle@gmail.com" Dim ArchivoAdjunto As New ClsSisMail.ArchivoMail Dim ListaAdjuntos As New List(Of ClsSisMail.ArchivoMail) If File.Exists(RutaArchivoAdjunto) Then ArchivoAdjunto.ArchivoBinario() = File.ReadAllBytes(RutaArchivoAdjunto) ArchivoAdjunto.Ruta = RutaArchivoAdjunto ArchivoAdjunto.NombreArchivo = New FileInfo(RutaArchivoAdjunto).Name ListaAdjuntos.Add(ArchivoAdjunto) End If If ListaAdjuntos.Count > 0 Then If Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString, Archivos:=ListaAdjuntos) Then ' Alert("Correo enviado existosamente a " & Destinatario) Else ' Alert("Se presento un error al enviar el correo a " & Destinatario) End If Else If Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString) Then ' Alert("Correo enviado existosamente a " & Destinatario) Else ' Alert("Se presento un error al enviar el correo a " & Destinatario) End If End If End If Exit Select Case 2 Cuerpo.AppendLine($"Se informa que en la venta {SerieFolio} se agrego la guia {Guia } de la paqueteria {Paqueteria}, usuario { UsuarioActual.Nombre }.

") If DTDetalles IsNot Nothing AndAlso DTDetalles.Rows.Count > 0 Then Cuerpo.AppendLine("") Cuerpo.AppendLine("") For Each Drow As DataRow In DTDetalles.Rows Cuerpo.AppendLine($"") Next Cuerpo.AppendLine("
CantidadProducto
{Drow("Cantidad").ToString.ToEntero }{Drow("PS").ToString}
") End If Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString) 'Destinatario = "rakcsle.rakcsle@gmail.com" Dim ArchivoAdjunto As New ClsSisMail.ArchivoMail Dim ListaAdjuntos As New List(Of ClsSisMail.ArchivoMail) If File.Exists(RutaArchivoAdjunto) Then ArchivoAdjunto.ArchivoBinario() = File.ReadAllBytes(RutaArchivoAdjunto) ArchivoAdjunto.Ruta = RutaArchivoAdjunto ArchivoAdjunto.NombreArchivo = New FileInfo(RutaArchivoAdjunto).Name ListaAdjuntos.Add(ArchivoAdjunto) End If If ListaAdjuntos.Count > 0 Then If Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString, Archivos:=ListaAdjuntos) Then ' Alert("Correo enviado existosamente a " & Destinatario) Else ' Alert("Se presento un error al enviar el correo a " & Destinatario) End If Else If Correo.SendMail(UsuarioActual.Empresa, Destinatario, Asunto, Cuerpo.ToString) Then ' Alert("Correo enviado existosamente a " & Destinatario) Else ' Alert("Se presento un error al enviar el correo a " & Destinatario) End If End If Exit Select End Select End Sub #End Region Protected Sub DdlEstatus_SelectedIndexChanged(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, DropDownList).NamingContainer, GridViewRow) If GvRow.FCDropDownList("DdlEstatus").SelectedValue.ToEntero = 2 Then GvRow.FCLinkButton("FileUpload").Visible = True Else GvRow.FCLinkButton("FileUpload").Visible = False End If End Sub Protected Sub LnkActualizaGuia_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim CvePaqueteriaGuia As Integer = GvRow.DataKey("CvePaqueteriaGuia").ToString.ToEntero Dim Guia As String = GvRow.FCTextBox("TxtGuia").Text.Trim Dim objInventario As New ClsInventarios If objInventario.UpdatePaqueteriaGuia(CvePaqueteriaGuia, -1, Guia) Then CargaDatos(DdlEstatusFiltro.SelectedValue.ToEntero, DdlPaqueteria.SelectedValue.ToEntero, DdlTipo.SelectedValue.ToEntero, DdlSucursal.SelectedValue.ToEntero, txtFechaI.Text, txtFechaF.Text) If Guia.Trim.Length = 0 Then 'Envia notificacion se elimino guia vacia eliminada EnviarCorreoNotificacionEntrega(2, CvePaqueteriaGuia, "") End If End If objInventario.Dispose() End Sub #Region " EXPORTAR - PDF - EXCEL " Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click ImprimiReporte("EXCEL") End Sub Private Sub LnkImprimir_Click(sender As Object, e As EventArgs) Handles LnkImprimir.Click ImprimiReporte("PDF") End Sub Protected Sub ImprimiReporte(Optional Formato As String = "PDF") Dim Estatus As String = DdlEstatusFiltro.SelectedItem.Text Dim Paqueteria As String = DdlPaqueteria.SelectedItem.Text Dim Tipo As String = DdlTipo.SelectedItem.Text Dim RutaPDF As String Dim Ruta As String = UsuarioActual.Empresa.Ruta RutaPDF = $"{Ruta}\Formatos\RepEntregasForaneas.rdlc" If Not File.Exists(RutaPDF) Then RutaPDF = "Empresas/Grales/Formatos/RepEntregasForaneas.rdlc" End If Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("pImg", New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri)) Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) params.Add(New ReportParameter("Filtros", $" Estado:{Estatus} Paqueteria:{Paqueteria} Tipo:{Tipo}")) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF(RutaPDF, DTDatos, params, "RepEntregasForaneas" & Now.ToString("yyyyMMddhhmmss"), Formato) End Sub #End Region End Class