From c2feddcb55af3e121cb86211090d31d60e996213 Mon Sep 17 00:00:00 2001 From: rrene Date: Sun, 5 Jun 2022 17:27:55 -0700 Subject: [PATCH] =?UTF-8?q?--=20comentar=20pyme=20--=20impresi=C3=B3n=20pd?= =?UTF-8?q?f?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsPaginas.vb | 1244 +++++++++++++++++++--------------------- 1 file changed, 603 insertions(+), 641 deletions(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 85674a0cd..6ef8dab01 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -6255,44 +6255,44 @@ Public Class ClsPaginas Return Bytes End Function - Public Function ImprimirPDFPyME(RutaReporte As String, DataSource As DataSet, Parametros As List(Of CrystalParametro), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As StiReport = Nothing) As Byte() + 'Public Function ImprimirPDFPyME(RutaReporte As String, DataSource As DataSet, Parametros As List(Of CrystalParametro), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As StiReport = Nothing) As Byte() - If IsNothing(MR) Then MR = New Stimulsoft.Report.StiReport() - Dim Bytes As Byte() = Nothing - Try - MR.Load(RutaReporte) - MR.Dictionary.DataSources.Clear() - MR.RegData(DataSource) - Dim Lista = MR.Dictionary.Variables.ToList() - For Each item As CrystalParametro In Parametros - If Lista.Exists(Function(a) a.Name = item.Nombre) Then - MR.Dictionary.Variables(item.Nombre).Value = item.Valor.ToString - End If - Next + ' If IsNothing(MR) Then MR = New Stimulsoft.Report.StiReport() + ' Dim Bytes As Byte() = Nothing + ' Try + ' MR.Load(RutaReporte) + ' MR.Dictionary.DataSources.Clear() + ' MR.RegData(DataSource) + ' Dim Lista = MR.Dictionary.Variables.ToList() + ' For Each item As CrystalParametro In Parametros + ' If Lista.Exists(Function(a) a.Name = item.Nombre) Then + ' MR.Dictionary.Variables(item.Nombre).Value = item.Valor.ToString + ' End If + ' Next - MR.Dictionary.Synchronize() - MR.IsRendered = False - MR.Render(False) - Dim pdfSettings As New Stimulsoft.Report.Export.StiPdfExportSettings() - Dim MemoryStream As New MemoryStream - Select Case Formato - Case "PDF" - MR.ExportDocument(Stimulsoft.Report.StiExportFormat.Pdf, MemoryStream, pdfSettings) - Case "EXCEL" - MR.ExportDocument(Stimulsoft.Report.StiExportFormat.Excel2007, MemoryStream, pdfSettings) - End Select + ' MR.Dictionary.Synchronize() + ' MR.IsRendered = False + ' MR.Render(False) + ' Dim pdfSettings As New Stimulsoft.Report.Export.StiPdfExportSettings() + ' Dim MemoryStream As New MemoryStream + ' Select Case Formato + ' Case "PDF" + ' MR.ExportDocument(Stimulsoft.Report.StiExportFormat.Pdf, MemoryStream, pdfSettings) + ' Case "EXCEL" + ' MR.ExportDocument(Stimulsoft.Report.StiExportFormat.Excel2007, MemoryStream, pdfSettings) + ' End Select - Bytes = MemoryStream.ToArray - MR.RenderedPages.Clear() - MR.Dispose() - MemoryStream.Dispose() - Catch ex As Exception - GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}") - 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017 - 'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}") - End Try - Return Bytes - End Function + ' Bytes = MemoryStream.ToArray + ' MR.RenderedPages.Clear() + ' MR.Dispose() + ' MemoryStream.Dispose() + ' Catch ex As Exception + ' GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}") + ' 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017 + ' 'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}") + ' End Try + ' Return Bytes + 'End Function Public Function StreamPDFTest(RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte() 'limpio ReportViwer @@ -6422,533 +6422,533 @@ Public Class ClsPaginas #End Region #Region "IMPRIMIR FACTURA" - Public Sub PdfFacturaPyME(ByRef Vta As Modelos.Factura, DT As DataTable, Optional Guardar As Boolean = True) - Dim retorno As Byte() = Nothing - - 'DATOS GENERALES - Dim Ruta As String = UsuarioActual.Empresa.Ruta - Dim PathXML As String = $"{Ruta}XML\{Vta.TipoDocto}\{Vta.SerieFolio}.xml" - Dim NombreArchivo As String = "" - Dim NombreArchivoDescarga As String = "" - Dim TipoDocumento As String = "" - Dim TipoDocumentoRef As String = "" - Dim AplicaPagare As String = "1" - - Dim RFCReceptor As String = "" - - If String.IsNullOrEmpty(Vta.RFCReceptor) Then - RFCReceptor = Vta.Cliente.RFC - If Vta.FacturarSucursal Then - If Vta.ClienteSucursal IsNot Nothing Then - RFCReceptor = Vta.ClienteSucursal.RFC - End If - End If - Else - RFCReceptor = Vta.RFCReceptor - End If - - Dim RutaCBB As String = String.Format("{0}CBB\{1}.jpg", Ruta, Vta.SerieFolio) - Dim ImagenCBB As New System.IO.FileInfo(RutaCBB) - Dim ImgCBB As String '= String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio) - - Dim ImagenPath = String.Format("{0}Formatos\Suc{1}\logo.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal) - Dim Logo As New System.IO.FileInfo(ImagenPath) - Dim ImgLogo = New Uri(String.Format("{0}Empresas/{1}/Formatos/Suc{2}.png", UrlSitio, UsuarioActual.CveEmpresa, Vta.CveSucursal)).AbsoluteUri - - Dim SBDomicilioSucursal As New StringBuilder() - Dim CiudadSucursal As String = String.Format("{0},{1}", Vta.SubProyecto.Municipio, Vta.SubProyecto.Estado) - Dim DomicilioSucursal As String = "" - - SBDomicilioSucursal.AppendFormat("{0}", Vta.SubProyecto.Calle) - If Vta.SubProyecto.NoExt.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(" No.Ext: {0}", Vta.SubProyecto.NoExt) - If Vta.SubProyecto.NoInt.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(", No.Int: {0}", Vta.SubProyecto.NoInt) - If Vta.SubProyecto.Colonia.Length > 0 Then SBDomicilioSucursal.AppendFormat(", Col: {0}", Vta.SubProyecto.Colonia) - If Vta.SubProyecto.CP.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(", CP: {0}", Vta.SubProyecto.CP) - If CiudadSucursal.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", CiudadSucursal) - If Vta.SubProyecto.Pais.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", Vta.SubProyecto.Pais) - - DomicilioSucursal = SBDomicilioSucursal.ToString - - Dim Fecha As String = Vta.Fecha.ToShortDateString - - Dim SBDireccion As New StringBuilder() - Dim SBLugar As New StringBuilder() - Dim ClienteDireccion As String - Dim ClienteLugar As String - - 'SI ESTA TIMBRADA - CON XML - If File.Exists(PathXML) AndAlso Vta.Serie <> "VistaPrevia" Then 'Cuando es vista previe y coincide la serie y folio se ponen los datos fiscales - Dim XmlDoc As New System.Xml.XmlDocument - XmlDoc.Load(PathXML) - - Dim TC As Decimal = 1 - Try - TC = XmlDoc.DocumentElement.Attributes("TipoCambio").InnerText.ToDecimal - Catch ex As Exception - TC = 1 - End Try - - Vta.FechaEmision = XmlDoc.DocumentElement.Attributes("fecha").InnerText.ToDate - Vta.NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("noCertificado").InnerText - - Dim validaElemento = XmlDoc.DocumentElement("cfdi:Complemento") - - If Not IsNothing(validaElemento) Then - For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1 - If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:TimbreFiscalDigital" Then - Vta.FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText - Vta.NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("noCertificadoSAT").InnerText - Vta.FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText.ToDate - Vta.SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloCFD").InnerText - Vta.SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloSAT").InnerText - - End If - Next - Else - Vta.FolioFiscal = "Sin Timbrar" - Vta.NoSerieCertificado = "Sin Timbrar" - Vta.SelloCFDi = "Sin Timbrar" - Vta.SelloSAT = "Sin Timbrar" - End If - - 'SIN TIMBRAR - SIN XML - Else - Vta.FolioFiscal = "Sin Timbrar" - Vta.NoSerieCertificado = "Sin Timbrar" - Vta.SelloCFDi = "Sin Timbrar" - Vta.SelloSAT = "Sin Timbrar" - End If - - 'DIRECCION CLIENTE - If Vta.CveClienteSucursal.ToEntero > 0 Then - 'Si cliente tiene Noint, NoExt, CP - SBDireccion.AppendFormat("{0}", Vta.ClienteSucursal.Direccion) - If Vta.ClienteSucursal.NoExt.Length > 0 Then SBDireccion.AppendFormat(", No.Ext: {0}", Vta.ClienteSucursal.NoExt) - If Vta.ClienteSucursal.NoInt.Length > 0 Then SBDireccion.AppendFormat(", No.Int: {0}", Vta.ClienteSucursal.NoInt) - If UsuarioActual.CveEmpresa <> 66 Then SBDireccion.AppendFormat(", Col: {0}", Vta.ClienteSucursal.Colonia) - - If Not (UsuarioActual.CveEmpresa.Contiene(66, 81, 109) AndAlso Vta.TipoDocto = "Cot") Then - If Vta.ClienteSucursal.CP.Length > 0 Then SBDireccion.AppendFormat(", CP: {0} ", Vta.ClienteSucursal.CP.Trim) - End If - - 'Si cliente tiene Local, CD, Edo, Pais - If Vta.ClienteSucursal.Localidad IsNot Nothing AndAlso Vta.ClienteSucursal.Localidad.Length > 0 Then SBLugar.AppendFormat("Loc: {0}, ", Vta.ClienteSucursal.Localidad) - If Vta.ClienteSucursal.Municipio IsNot Nothing AndAlso Vta.ClienteSucursal.Municipio.Length > 0 Then SBLugar.AppendFormat("Cd: {0}, ", Vta.ClienteSucursal.Municipio) - If Vta.ClienteSucursal.Estado IsNot Nothing AndAlso Vta.ClienteSucursal.Estado.Length > 0 Then SBLugar.AppendFormat(" Edo: {0}, ", Vta.ClienteSucursal.Estado) - If Vta.ClienteSucursal.Pais IsNot Nothing AndAlso Vta.ClienteSucursal.Pais.Length > 0 Then SBLugar.AppendFormat(" País: {0} ", Vta.ClienteSucursal.Pais) - Else - SBDireccion.AppendFormat("{0}", Vta.Cliente.Direccion) - If Vta.Cliente.NoExt.Length > 0 Then SBDireccion.AppendFormat(", No.Ext: {0}", Vta.Cliente.NoExt) - If Vta.Cliente.NoInt.Length > 0 Then SBDireccion.AppendFormat(", No.Int: {0}", Vta.Cliente.NoInt) - If UsuarioActual.CveEmpresa <> 66 Then SBDireccion.AppendFormat(", Col: {0}", Vta.Cliente.Colonia) - - If Not (UsuarioActual.CveEmpresa.Contiene(66, 81, 109) AndAlso Vta.TipoDocto = "Cot") Then - If Vta.Cliente.CP.Length > 0 Then SBDireccion.AppendFormat(", CP: {0} ", Vta.Cliente.CP.Trim) - End If - - 'Si cliente tiene Local, CD, Edo, Pais - If Vta.Cliente.Localidad IsNot Nothing AndAlso Vta.Cliente.Localidad.Length > 0 Then SBLugar.AppendFormat("Loc: {0}, ", Vta.Cliente.Localidad) - If Vta.Cliente.Ciudad IsNot Nothing AndAlso Vta.Cliente.Ciudad.Length > 0 Then SBLugar.AppendFormat("Cd: {0}, ", Vta.Cliente.Ciudad) - If Vta.Cliente.Estado IsNot Nothing AndAlso Vta.Cliente.Estado.Length > 0 Then SBLugar.AppendFormat(" Edo: {0}, ", Vta.Cliente.Estado) - If Vta.Cliente.Pais IsNot Nothing AndAlso Vta.Cliente.Pais.Length > 0 Then SBLugar.AppendFormat(" País: {0} ", Vta.Cliente.Pais) - - End If - - ClienteDireccion = SBDireccion.ToString - ClienteLugar = SBLugar.ToString - SBDireccion.Clear() - SBLugar.Clear() - - 'LOGO - Dim LogoRuta As String = "" - 'POR SUCURSAL - LogoRuta = String.Format("{0}Formatos\Suc{1}.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal) - If File.Exists(LogoRuta) Then - LogoRuta = String.Format("file://{0}Formatos\Suc{1}.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal) - 'POR EMPRESA - Else - LogoRuta = String.Format("{0}Formatos\Logo.png", UsuarioActual.Empresa.Ruta) - If File.Exists(LogoRuta) Then - 'LogoRuta = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) - LogoRuta = String.Format("{0}", LogoRuta) - End If - End If - 'LogoRuta = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) - LogoRuta = String.Format("{0}", LogoRuta) - 'Si no tiene CBB, SE GENERA - If Not ImagenCBB.Exists Then - Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar() - CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFCReceptor, Vta.Total.ToString.ToDecimal, Vta.FolioFiscal, RutaCBB) - End If - ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio) - - Dim CadenaOriginals As String = "||1.0|" + Vta.FolioFiscal + "|" + Vta.FechaCertificacion.ToString("yyyy-MM-dd") + "T" + Vta.FechaCertificacion.ToString("HH:mm:ss") + "|" + Vta.SelloCFDi + "|" + Vta.NoSerieCertificado + "||" - If Not ImagenCBB.Exists Then ImgCBB = "" - Dim RutaFormato As String = "" - - - 'AQUI EMPIEZA LOS PARAMETROS - Try - Dim params = New List(Of CrystalParametro) - - 'CLIENTE - params.Add(New CrystalParametro("ClienteCodigo", Vta.Cliente.Codigo)) - params.Add(New CrystalParametro("ClienteNombre", If(Vta.ClienteSucursal.ImprimeNombreSucursal = "True", If(Vta.CveClienteSucursal > 0, Vta.ClienteSucursal.Sucursal, Vta.Cliente.Nombre), If(Vta.AtencionA <> "" AndAlso Vta.TipoDocto.Contiene("Ing", "Rem") AndAlso RFCReceptor = "XAXX010101000", $"{Vta.Cliente.Nombre}({Vta.AtencionA})", Vta.Cliente.Nombre)))) - params.Add(New CrystalParametro("ClienteDireccion", ClienteDireccion)) - params.Add(New CrystalParametro("ClienteLugar", ClienteLugar)) - - - 'TOTALES - params.Add(New CrystalParametro("SubTotal", Vta.SubTotal.ToString.FormatoNumero(2))) - params.Add(New CrystalParametro("Descuento", Vta.Descuento.ToString.FormatoNumero(2))) - params.Add(New CrystalParametro("Amortizacion", Vta.Amortizacion.ToString.FormatoNumero(2))) - params.Add(New CrystalParametro("SubTotal2", (Vta.SubTotal - Vta.Descuento - Vta.Amortizacion).ToString.FormatoNumero(2))) - params.Add(New CrystalParametro("IVA", Vta.IVA.ToString.FormatoNumero(2))) - params.Add(New CrystalParametro("RetIVA", Vta.RetIVA.ToString.FormatoNumero(2))) - params.Add(New CrystalParametro("RetISR", Vta.RetISR.ToString.FormatoNumero(2))) - params.Add(New CrystalParametro("Total", Vta.Total.ToString.FormatoNumero(2))) - params.Add(New CrystalParametro("ImporteLetra", Vta.Total.ToString.ToDouble.Texto2Letras(Vta.CveMoneda))) - - 'DATOS GENERALES - params.Add(New CrystalParametro("Observaciones", Vta.Observaciones)) - params.Add(New CrystalParametro("CveVendedor", Vta.CveVendedor.ToString)) - 'params.Add(New CrystalParametro("Status", Vta.EstatusFactura)) - params.Add(New CrystalParametro("FechaSolicitud", Vta.Fecha.ToString("dd/MMMM/yyyy"))) ' se puede omitir - params.Add(New CrystalParametro("Serie", Vta.Serie)) - params.Add(New CrystalParametro("Folio", Vta.Folio.ToString)) - params.Add(New CrystalParametro("DomicilioSucursal", DomicilioSucursal)) - params.Add(New CrystalParametro("Vencimiento", Vta.FechaVencimiento.ToString("dd/MM/yyyy"))) - params.Add(New CrystalParametro("FolioFiscal", Vta.FolioFiscal)) - params.Add(New CrystalParametro("FechaCertificacion", String.Format("{0}T{1}", Vta.FechaCertificacion.ToString("yyyy-MM-dd"), Vta.FechaCertificacion.ToString("HH:mm:ss")))) - params.Add(New CrystalParametro("SelloCFDI", Vta.SelloCFDi)) - params.Add(New CrystalParametro("CadenaSAT", CadenaOriginals)) - params.Add(New CrystalParametro("SelloSAT", Vta.SelloSAT)) - - params.Add(New CrystalParametro("QR", ImgCBB)) - params.Add(New CrystalParametro("ClienteRFC", RFCReceptor)) - params.Add(New CrystalParametro("FormaPago", Vta.FormaPagoText)) - params.Add(New CrystalParametro("Moneda", Vta.Moneda)) - params.Add(New CrystalParametro("TipoCambio", Vta.TipoCambio.ToString)) - params.Add(New CrystalParametro("CondicionPago", Vta.CondicionesPagoText)) - params.Add(New CrystalParametro("CadenaOriginal", CadenaOriginals)) - params.Add(New CrystalParametro("SerieCertificadoSAT", Vta.NoSerieCertificado)) - params.Add(New CrystalParametro("CertificadoContribuyente", Vta.NoSerieCertificadoContribuyente)) - params.Add(New CrystalParametro("NumCta", Vta.NumeroCuenta)) - params.Add(New CrystalParametro("LogoPath", LogoRuta)) - - 'VENDEDOR - Dim RowVendedor As DataRow = GlobalDTVendedores(-1).FiltroPrimero(String.Format("CveVendedor = {0}", Vta.CveVendedor.ToString)) - If Not IsNothing(RowVendedor) Then - params.Add(New CrystalParametro("VendedorNombre", RowVendedor("Vendedor").ToString)) - params.Add(New CrystalParametro("VendedorMail", RowVendedor("Correo").ToString)) - params.Add(New CrystalParametro("VendedorTelefono", RowVendedor("Telefono").ToString)) - params.Add(New CrystalParametro("VendedorCelular", RowVendedor("Celular").ToString)) - - End If - - params.Add(New CrystalParametro("CiudadSucursal", CiudadSucursal)) - params.Add(New CrystalParametro("OC", Vta.Det_OrdenCompra.ToString)) - - If UsuarioActual.Empresa.Funcionalidad(508) = "1" Then - params.Add(New CrystalParametro("IEPS", Vta.IEPS.ToString.FormatoNumero(2))) - End If - - If Vta.CveClienteSucursal > 0 Then - params.Add(New CrystalParametro("ClienteContactoMail", Vta.ClienteSucursal.CorreoSucursal)) - params.Add(New CrystalParametro("ClienteTelefono", Vta.ClienteSucursal.TelefonoSucursal)) - Else - params.Add(New CrystalParametro("ClienteContactoMail", Vta.Cliente.MailCotizacion)) - params.Add(New CrystalParametro("ClienteTelefono", If(Vta.TipoDocto.Contiene("Ing", "Rem") AndAlso Vta.Cliente.Telefono.Length > 6, Vta.Cliente.Telefono, Vta.TelefonoGenerico))) - End If - - If UsuarioActual.CveEmpresa.Contiene(17) Then - params.Add(New CrystalParametro("MetodoPago", Vta.ClaveMetodoPagoSAT.ToString)) - Else - params.Add(New CrystalParametro("MetodoPago", Vta.MetodoPago.ToString)) - End If - - - Select Case Vta.TipoDocto - Case "Ing" - NombreArchivo = "Factura" - NombreArchivoDescarga = "Factura" - TipoDocumento = "INGRESO" - - 'GENERAL - params.Add(New CrystalParametro("TipoDocumento", NombreArchivoDescarga)) - params.Add(New CrystalParametro("Tipo", TipoDocumento)) - params.Add(New CrystalParametro("Ref", TipoDocumentoRef)) - params.Add(New CrystalParametro("AplicaPagare", AplicaPagare)) - - 'VSH - If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122, 145) Then - 'DATOS CLIENTES - Dim ClienteRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", Vta.CveCliente.ToString)) - Dim DatosCliente = "" - If ClienteRow IsNot Nothing Then - DatosCliente = String.Format("{0} | {1} | {2}", Vta.SubProyecto.Municipio, ClienteRow("CuentaContable"), ClienteRow("Codigo")) - End If - params.Add(New CrystalParametro("DatosClientes", DatosCliente)) - params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto)) - End If - - 'COMPU, DN DIFUSA - If UsuarioActual.CveEmpresa.Contiene(72, 80, 119) Then - params.Add(New CrystalParametro("EstatusFactura", If(Vta.TipoEstatus = 5, Vta.EstatusFactura, ""))) - params.Add(New CrystalParametro("EstatusEntrega", If(Vta.Inv_CveEstatusEntrega = 1, Vta.Inv_EstatusEntrega, ""))) - params.Add(New CrystalParametro("PedidoContrato", Vta.PedidoContrato)) - params.Add(New CrystalParametro("DescripcionContrato", Vta.NumeroDescripcionContrato)) - - params.Add(New CrystalParametro("MonedaAbreviatura", If(Vta.MonedaAbreviatura.ToString IsNot Nothing, Vta.MonedaAbreviatura.ToString, ""))) - params.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New CrystalParametro("FechaImpresion", Now.ToDateTime.ToString)) - params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto)) - - 'INE COMPLEMENTOS - If UsuarioActual.CveEmpresa.Contiene(72) Then - Dim INETipoProceso As String = "" - Dim INETipoComite As String = "" - Dim INEIdContabilidad As Integer = 0 - If Vta.ComplementoINE IsNot Nothing Then - INETipoProceso = Vta.ComplementoINE.INETipoProceso - INETipoComite = Vta.ComplementoINE.INETipoComite - INEIdContabilidad = Vta.ComplementoINE.INEIdContabilidad - End If - params.Add(New CrystalParametro("INETipoProceso", INETipoProceso)) - params.Add(New CrystalParametro("INETipoComite", INETipoComite)) - params.Add(New CrystalParametro("INEIdContabilidad", INEIdContabilidad)) - params.Add(New CrystalParametro("Referencia", Vta.Cliente.ReferenciaFiscal)) - params.Add(New CrystalParametro("ClienteContacto", Vta.AtencionA)) - End If - - 'DIRECCION ENVIO - If Vta.EnviarA.CveDireccionEnvio > 0 Then - Dim StrEnvioDi As New StringBuilder - StrEnvioDi.AppendFormat("{0}", Vta.EnviarA.EnvioDireccion) - If Vta.EnviarA.EnvioNoExt IsNot Nothing AndAlso Vta.EnviarA.EnvioNoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.EnviarA.EnvioNoExt) - If Vta.EnviarA.EnvioNoInt IsNot Nothing AndAlso Vta.EnviarA.EnvioNoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.EnviarA.EnvioNoInt) - - params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString)) - params.Add(New CrystalParametro("EnvioNoExt", Vta.EnviarA.EnvioNoExt)) - params.Add(New CrystalParametro("EnvioNoInt", Vta.EnviarA.EnvioNoInt)) - params.Add(New CrystalParametro("EnvioColonia", Vta.EnviarA.EnvioColonia)) - params.Add(New CrystalParametro("EnvioCiudad", Vta.EnviarA.EnvioCiudad)) - params.Add(New CrystalParametro("EnvioEstado", Vta.EnviarA.EnvioEstado)) - params.Add(New CrystalParametro("EnvioContacto", Vta.EnviarA.EnvioContacto)) - params.Add(New CrystalParametro("EnvioDepartamento", Vta.EnviarA.EnvioDepartamento)) - params.Add(New CrystalParametro("EnvioCP", Vta.EnviarA.EnvioCP)) - Else - If Vta.CveClienteSucursal.ToEntero > 0 Then - Dim StrEnvioDi As New StringBuilder - StrEnvioDi.AppendFormat("{0}", Vta.ClienteSucursal.Direccion) - If Vta.ClienteSucursal.NoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.ClienteSucursal.NoExt) - If Vta.ClienteSucursal.NoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.ClienteSucursal.NoInt) - params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString)) - params.Add(New CrystalParametro("EnvioColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, ""))) - params.Add(New CrystalParametro("EnvioCiudad", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, ""))) - params.Add(New CrystalParametro("EnvioEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, ""))) - params.Add(New CrystalParametro("EnvioCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, ""))) - Else - Dim StrEnvioDi As New StringBuilder - StrEnvioDi.AppendFormat("{0}", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, "")) - If Vta.Cliente.NoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.Cliente.NoExt) - If Vta.Cliente.NoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.Cliente.NoInt) - params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString)) - params.Add(New CrystalParametro("EnvioColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, ""))) - params.Add(New CrystalParametro("EnvioCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, ""))) - params.Add(New CrystalParametro("EnvioEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, ""))) - params.Add(New CrystalParametro("EnvioCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, ""))) - End If - - End If - - 'CLIENTE SUCURSAL - If Vta.CveClienteSucursal.ToEntero > 0 Then - params.Add(New CrystalParametro("ClienteCalle", If(Vta.ClienteSucursal.Direccion.Length > 0, Vta.ClienteSucursal.Direccion, ""))) - params.Add(New CrystalParametro("ClienteColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, ""))) - params.Add(New CrystalParametro("ClienteCiudad", If(Vta.ClienteSucursal.Localidad IsNot Nothing And Vta.ClienteSucursal.Localidad.Length > 0, Vta.ClienteSucursal.Localidad, ""))) - params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, ""))) - params.Add(New CrystalParametro("ClienteEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, ""))) - params.Add(New CrystalParametro("ClienteCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, ""))) - params.Add(New CrystalParametro("ClienteNoInt", If(Vta.ClienteSucursal.NoInt.Length > 0, Vta.ClienteSucursal.NoInt, ""))) - params.Add(New CrystalParametro("ClienteNoExt", If(Vta.ClienteSucursal.NoExt.Length > 0, Vta.ClienteSucursal.NoExt, ""))) - params.Add(New CrystalParametro("ClientePais", If(Vta.ClienteSucursal.Pais.Length > 0, Vta.ClienteSucursal.Pais, ""))) - Else - params.Add(New CrystalParametro("ClienteCalle", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, ""))) - params.Add(New CrystalParametro("ClienteColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, ""))) - params.Add(New CrystalParametro("ClienteCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, ""))) - params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.Cliente.Ciudad.Length > 0, Vta.Cliente.Ciudad, ""))) - params.Add(New CrystalParametro("ClienteEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, ""))) - params.Add(New CrystalParametro("ClienteCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, ""))) - params.Add(New CrystalParametro("ClienteNoInt", If(Vta.Cliente.NoInt.Length > 0, Vta.Cliente.NoInt, ""))) - params.Add(New CrystalParametro("ClienteNoExt", If(Vta.Cliente.NoExt.Length > 0, Vta.Cliente.NoExt, ""))) - params.Add(New CrystalParametro("ClientePais", If(Vta.Cliente.Pais.Length > 0, Vta.Cliente.Pais, ""))) - End If - End If - - RutaFormato = String.Format("{0}Formatos\{1}.mrt", UsuarioActual.Empresa.Ruta, NombreArchivo) - - Case "Egs" - If UsuarioActual.CveEmpresa.Contiene(72, 80) Then - NombreArchivo = "NotaCredito" - Else - NombreArchivo = "Factura" - End If - NombreArchivoDescarga = "Nota de Crédito" - TipoDocumento = "EGRESO" - TipoDocumentoRef = String.Format(": Ref.:{0}", Vta.RefDocto) - AplicaPagare = "0" - - 'GENERAL - params.Add(New CrystalParametro("TipoDocumento", NombreArchivoDescarga)) - params.Add(New CrystalParametro("Tipo", TipoDocumento)) - params.Add(New CrystalParametro("Ref", TipoDocumentoRef)) - params.Add(New CrystalParametro("AplicaPagare", AplicaPagare)) - params.Add(New CrystalParametro("Fecha", String.Format("{0}T{1}", Vta.Fecha.ToString("yyyy-MM-dd"), Vta.Fecha.ToString("HH:mm:ss")))) - - 'ALAN YEPIZ - If UsuarioActual.CveEmpresa.Contiene(123) Then - params.Add(New CrystalParametro("DiaExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Day))) - params.Add(New CrystalParametro("MesExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Month))) - params.Add(New CrystalParametro("AñoExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Year))) - End If - - 'COMPU, DN DIFUSA - If UsuarioActual.CveEmpresa.Contiene(72, 80, 119) Then - params.Add(New CrystalParametro("EstatusFactura", If(Vta.TipoEstatus = 5, Vta.EstatusFactura, ""))) - params.Add(New CrystalParametro("EstatusEntrega", If(Vta.Inv_CveEstatusEntrega = 1, Vta.Inv_EstatusEntrega, ""))) - params.Add(New CrystalParametro("PedidoContrato", Vta.PedidoContrato)) - - params.Add(New CrystalParametro("MonedaAbreviatura", If(Vta.MonedaAbreviatura.ToString IsNot Nothing, Vta.MonedaAbreviatura.ToString, ""))) - params.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) - params.Add(New CrystalParametro("FechaImpresion", Now.ToDateTime.ToString)) - params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto)) - - 'CLIENTE SUCURSAL - If Vta.CveClienteSucursal.ToEntero > 0 Then - params.Add(New CrystalParametro("ClienteCalle", If(Vta.ClienteSucursal.Direccion.Length > 0, Vta.ClienteSucursal.Direccion, ""))) - params.Add(New CrystalParametro("ClienteColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, ""))) - params.Add(New CrystalParametro("ClienteCiudad", If(Vta.ClienteSucursal.Localidad IsNot Nothing And Vta.ClienteSucursal.Localidad.Length > 0, Vta.ClienteSucursal.Localidad, ""))) - params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, ""))) - params.Add(New CrystalParametro("ClienteEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, ""))) - params.Add(New CrystalParametro("ClienteCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, ""))) - params.Add(New CrystalParametro("ClienteNoInt", If(Vta.ClienteSucursal.NoInt.Length > 0, Vta.ClienteSucursal.NoInt, ""))) - params.Add(New CrystalParametro("ClienteNoExt", If(Vta.ClienteSucursal.NoExt.Length > 0, Vta.ClienteSucursal.NoExt, ""))) - params.Add(New CrystalParametro("ClientePais", If(Vta.ClienteSucursal.Pais.Length > 0, Vta.ClienteSucursal.Pais, ""))) - Else - params.Add(New CrystalParametro("ClienteCalle", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, ""))) - params.Add(New CrystalParametro("ClienteColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, ""))) - params.Add(New CrystalParametro("ClienteCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, ""))) - params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.Cliente.Ciudad.Length > 0, Vta.Cliente.Ciudad, ""))) - params.Add(New CrystalParametro("ClienteEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, ""))) - params.Add(New CrystalParametro("ClienteCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, ""))) - params.Add(New CrystalParametro("ClienteNoInt", If(Vta.Cliente.NoInt.Length > 0, Vta.Cliente.NoInt, ""))) - params.Add(New CrystalParametro("ClienteNoExt", If(Vta.Cliente.NoExt.Length > 0, Vta.Cliente.NoExt, ""))) - params.Add(New CrystalParametro("ClientePais", If(Vta.Cliente.Pais.Length > 0, Vta.Cliente.Pais, ""))) - End If - End If - - - RutaFormato = String.Format("{0}Formatos\{1}.mrt", UsuarioActual.Empresa.Ruta, "Factura") - Case Else - NombreArchivo = "" - TipoDocumento = "" - End Select - If NombreArchivo = "" Then - GuardaLog("No se especifico el tipo de Impresion de venta (Venta, Remision, Cotización, Nota de Crédito).") - Exit Sub - End If - 'TERMINA REGION PARAMETROS - - Dim lrds As New List(Of ReportDataSource) - 'Si es ECLIPSE CREAR COLUMAS PARA FIRMAS EN DtDetalle. - If UsuarioActual.CveEmpresa.Contiene(1, 15, 17, 71, 76, 125) Then - Dim DtDetalleFirmas As New DataTable - DtDetalleFirmas.TableName = "DetalleFirma" - DtDetalleFirmas = Vta.DtDetalle.Copy() - - 'SI NO TIENE LAS COLUMNAS DE FIRMAS LAS CREA. - If Not DtDetalleFirmas.Columns.Contains("Titulo") Then - DtDetalleFirmas.Columns.Add("Titulo", GetType(String)) - DtDetalleFirmas.Columns.Add("Nombre", GetType(String)) - DtDetalleFirmas.Columns.Add("Puesto", GetType(String)) - DtDetalleFirmas.Columns.Add("Lado", GetType(Integer)) - End If - - 'Se llenan los Rows de las columnas con los datos del DtFirmas - For i As Integer = 0 To Vta.DtFirmas.Rows.Count - 1 - 'Si DtDetalle es menor al DtFirmas, crea un nuevo Row en DtDetalle y le asigna valor, Si no solo asigna valor - If DtDetalleFirmas.Rows.Count < i + 1 Then - Dim Dr = DtDetalleFirmas.NewRow - Dr("Titulo") = Vta.DtFirmas(i)("Titulo").ToString - Dr("Nombre") = Vta.DtFirmas(i)("Nombre").ToString - Dr("Puesto") = Vta.DtFirmas(i)("Puesto").ToString - Dr("Lado") = Vta.DtFirmas(i)("Lado").ToString.ToEntero - DtDetalleFirmas.Rows.Add(Dr) - Else - DtDetalleFirmas(i)("Titulo") = Vta.DtFirmas(i)("Titulo").ToString - DtDetalleFirmas(i)("Nombre") = Vta.DtFirmas(i)("Nombre").ToString - DtDetalleFirmas(i)("Puesto") = Vta.DtFirmas(i)("Puesto").ToString - DtDetalleFirmas(i)("Lado") = Vta.DtFirmas(i)("Lado").ToString.ToEntero - End If - Next i - - Dim rds As New ReportDataSource With {.Name = "DsOC", .Value = DtDetalleFirmas} - lrds.Add(rds) - Else - Dim rds As New ReportDataSource With {.Name = "DsOC", .Value = Vta.DtDetalle} - lrds.Add(rds) - End If - - Dim rds1 As New ReportDataSource With {.Name = "DataSet1", .Value = If(Vta.DtDeduccion IsNot Nothing, Vta.DtDeduccion, New DataTable)} ' sino esta creado el objeto, lo creamos, para que no truene el reporte - lrds.Add(rds1) - - 'DETALLE FIRMAS - - Dim rds2 As New ReportDataSource With {.Name = "DataSet2", .Value = If(Vta.DtFirmas IsNot Nothing, Vta.DtFirmas, New DataTable)} ' sino esta creado el objeto, lo creamos, para que no truene el reporte - lrds.Add(rds2) - - Dim Archivo As New System.IO.FileInfo(RutaFormato) - - Dim DataSet As New DataSet - Vta.DtDetalle.TableName = "Datos" - Vta.DtDeduccion.TableName = "Deduccion" - DataSet.Tables.Add(Vta.DtDetalle.Copy) - DataSet.Tables.Add(Vta.DtDeduccion.Copy) - - If Archivo.Exists Then - ImprimirbytesPDF(ImprimirPDFPyME(RutaFormato, DataSet, params, NombreArchivo, "PDF", MR:=Nothing), "Factura") - If Guardar Then - Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio)) - If Not ArchivoPDF.Exists Then - Try - DirectoryExistsCreate(String.Format("{0}PDF", UsuarioActual.Empresa.Ruta)) - DirectoryExistsCreate(String.Format("{0}PDF\{1}", UsuarioActual.Empresa.Ruta, Vta.TipoDocto)) - File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno) - Catch ex As Exception - Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia) - End Try - Else - Try - ArchivoPDF.Delete() - File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno) - Catch ex As Exception - Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia) - End Try - End If - End If - - Else - params.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) - params.Add(New CrystalParametro("RFC", UsuarioActual.Empresa.RFC)) - ImprimirbytesPDF(ImprimirPDFPyME(RutaFormato, DataSet, params, NombreArchivo, "PDF", MR:=Nothing), "Factura") - End If - - - Catch ex As Exception - GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) - End Try - End Sub + 'Public Sub PdfFacturaPyME(ByRef Vta As Modelos.Factura, DT As DataTable, Optional Guardar As Boolean = True) + ' Dim retorno As Byte() = Nothing + + ' 'DATOS GENERALES + ' Dim Ruta As String = UsuarioActual.Empresa.Ruta + ' Dim PathXML As String = $"{Ruta}XML\{Vta.TipoDocto}\{Vta.SerieFolio}.xml" + ' Dim NombreArchivo As String = "" + ' Dim NombreArchivoDescarga As String = "" + ' Dim TipoDocumento As String = "" + ' Dim TipoDocumentoRef As String = "" + ' Dim AplicaPagare As String = "1" + + ' Dim RFCReceptor As String = "" + + ' If String.IsNullOrEmpty(Vta.RFCReceptor) Then + ' RFCReceptor = Vta.Cliente.RFC + ' If Vta.FacturarSucursal Then + ' If Vta.ClienteSucursal IsNot Nothing Then + ' RFCReceptor = Vta.ClienteSucursal.RFC + ' End If + ' End If + ' Else + ' RFCReceptor = Vta.RFCReceptor + ' End If + + ' Dim RutaCBB As String = String.Format("{0}CBB\{1}.jpg", Ruta, Vta.SerieFolio) + ' Dim ImagenCBB As New System.IO.FileInfo(RutaCBB) + ' Dim ImgCBB As String '= String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio) + + ' Dim ImagenPath = String.Format("{0}Formatos\Suc{1}\logo.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal) + ' Dim Logo As New System.IO.FileInfo(ImagenPath) + ' Dim ImgLogo = New Uri(String.Format("{0}Empresas/{1}/Formatos/Suc{2}.png", UrlSitio, UsuarioActual.CveEmpresa, Vta.CveSucursal)).AbsoluteUri + + ' Dim SBDomicilioSucursal As New StringBuilder() + ' Dim CiudadSucursal As String = String.Format("{0},{1}", Vta.SubProyecto.Municipio, Vta.SubProyecto.Estado) + ' Dim DomicilioSucursal As String = "" + + ' SBDomicilioSucursal.AppendFormat("{0}", Vta.SubProyecto.Calle) + ' If Vta.SubProyecto.NoExt.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(" No.Ext: {0}", Vta.SubProyecto.NoExt) + ' If Vta.SubProyecto.NoInt.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(", No.Int: {0}", Vta.SubProyecto.NoInt) + ' If Vta.SubProyecto.Colonia.Length > 0 Then SBDomicilioSucursal.AppendFormat(", Col: {0}", Vta.SubProyecto.Colonia) + ' If Vta.SubProyecto.CP.ToEntero > 0 Then SBDomicilioSucursal.AppendFormat(", CP: {0}", Vta.SubProyecto.CP) + ' If CiudadSucursal.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", CiudadSucursal) + ' If Vta.SubProyecto.Pais.Length > 0 Then SBDomicilioSucursal.AppendFormat(", {0}", Vta.SubProyecto.Pais) + + ' DomicilioSucursal = SBDomicilioSucursal.ToString + + ' Dim Fecha As String = Vta.Fecha.ToShortDateString + + ' Dim SBDireccion As New StringBuilder() + ' Dim SBLugar As New StringBuilder() + ' Dim ClienteDireccion As String + ' Dim ClienteLugar As String + + ' 'SI ESTA TIMBRADA - CON XML + ' If File.Exists(PathXML) AndAlso Vta.Serie <> "VistaPrevia" Then 'Cuando es vista previe y coincide la serie y folio se ponen los datos fiscales + ' Dim XmlDoc As New System.Xml.XmlDocument + ' XmlDoc.Load(PathXML) + + ' Dim TC As Decimal = 1 + ' Try + ' TC = XmlDoc.DocumentElement.Attributes("TipoCambio").InnerText.ToDecimal + ' Catch ex As Exception + ' TC = 1 + ' End Try + + ' Vta.FechaEmision = XmlDoc.DocumentElement.Attributes("fecha").InnerText.ToDate + ' Vta.NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("noCertificado").InnerText + + ' Dim validaElemento = XmlDoc.DocumentElement("cfdi:Complemento") + + ' If Not IsNothing(validaElemento) Then + ' For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1 + ' If XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Name = "tfd:TimbreFiscalDigital" Then + ' Vta.FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText + ' Vta.NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("noCertificadoSAT").InnerText + ' Vta.FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText.ToDate + ' Vta.SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloCFD").InnerText + ' Vta.SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("selloSAT").InnerText + + ' End If + ' Next + ' Else + ' Vta.FolioFiscal = "Sin Timbrar" + ' Vta.NoSerieCertificado = "Sin Timbrar" + ' Vta.SelloCFDi = "Sin Timbrar" + ' Vta.SelloSAT = "Sin Timbrar" + ' End If + + ' 'SIN TIMBRAR - SIN XML + ' Else + ' Vta.FolioFiscal = "Sin Timbrar" + ' Vta.NoSerieCertificado = "Sin Timbrar" + ' Vta.SelloCFDi = "Sin Timbrar" + ' Vta.SelloSAT = "Sin Timbrar" + ' End If + + ' 'DIRECCION CLIENTE + ' If Vta.CveClienteSucursal.ToEntero > 0 Then + ' 'Si cliente tiene Noint, NoExt, CP + ' SBDireccion.AppendFormat("{0}", Vta.ClienteSucursal.Direccion) + ' If Vta.ClienteSucursal.NoExt.Length > 0 Then SBDireccion.AppendFormat(", No.Ext: {0}", Vta.ClienteSucursal.NoExt) + ' If Vta.ClienteSucursal.NoInt.Length > 0 Then SBDireccion.AppendFormat(", No.Int: {0}", Vta.ClienteSucursal.NoInt) + ' If UsuarioActual.CveEmpresa <> 66 Then SBDireccion.AppendFormat(", Col: {0}", Vta.ClienteSucursal.Colonia) + + ' If Not (UsuarioActual.CveEmpresa.Contiene(66, 81, 109) AndAlso Vta.TipoDocto = "Cot") Then + ' If Vta.ClienteSucursal.CP.Length > 0 Then SBDireccion.AppendFormat(", CP: {0} ", Vta.ClienteSucursal.CP.Trim) + ' End If + + ' 'Si cliente tiene Local, CD, Edo, Pais + ' If Vta.ClienteSucursal.Localidad IsNot Nothing AndAlso Vta.ClienteSucursal.Localidad.Length > 0 Then SBLugar.AppendFormat("Loc: {0}, ", Vta.ClienteSucursal.Localidad) + ' If Vta.ClienteSucursal.Municipio IsNot Nothing AndAlso Vta.ClienteSucursal.Municipio.Length > 0 Then SBLugar.AppendFormat("Cd: {0}, ", Vta.ClienteSucursal.Municipio) + ' If Vta.ClienteSucursal.Estado IsNot Nothing AndAlso Vta.ClienteSucursal.Estado.Length > 0 Then SBLugar.AppendFormat(" Edo: {0}, ", Vta.ClienteSucursal.Estado) + ' If Vta.ClienteSucursal.Pais IsNot Nothing AndAlso Vta.ClienteSucursal.Pais.Length > 0 Then SBLugar.AppendFormat(" País: {0} ", Vta.ClienteSucursal.Pais) + ' Else + ' SBDireccion.AppendFormat("{0}", Vta.Cliente.Direccion) + ' If Vta.Cliente.NoExt.Length > 0 Then SBDireccion.AppendFormat(", No.Ext: {0}", Vta.Cliente.NoExt) + ' If Vta.Cliente.NoInt.Length > 0 Then SBDireccion.AppendFormat(", No.Int: {0}", Vta.Cliente.NoInt) + ' If UsuarioActual.CveEmpresa <> 66 Then SBDireccion.AppendFormat(", Col: {0}", Vta.Cliente.Colonia) + + ' If Not (UsuarioActual.CveEmpresa.Contiene(66, 81, 109) AndAlso Vta.TipoDocto = "Cot") Then + ' If Vta.Cliente.CP.Length > 0 Then SBDireccion.AppendFormat(", CP: {0} ", Vta.Cliente.CP.Trim) + ' End If + + ' 'Si cliente tiene Local, CD, Edo, Pais + ' If Vta.Cliente.Localidad IsNot Nothing AndAlso Vta.Cliente.Localidad.Length > 0 Then SBLugar.AppendFormat("Loc: {0}, ", Vta.Cliente.Localidad) + ' If Vta.Cliente.Ciudad IsNot Nothing AndAlso Vta.Cliente.Ciudad.Length > 0 Then SBLugar.AppendFormat("Cd: {0}, ", Vta.Cliente.Ciudad) + ' If Vta.Cliente.Estado IsNot Nothing AndAlso Vta.Cliente.Estado.Length > 0 Then SBLugar.AppendFormat(" Edo: {0}, ", Vta.Cliente.Estado) + ' If Vta.Cliente.Pais IsNot Nothing AndAlso Vta.Cliente.Pais.Length > 0 Then SBLugar.AppendFormat(" País: {0} ", Vta.Cliente.Pais) + + ' End If + + ' ClienteDireccion = SBDireccion.ToString + ' ClienteLugar = SBLugar.ToString + ' SBDireccion.Clear() + ' SBLugar.Clear() + + ' 'LOGO + ' Dim LogoRuta As String = "" + ' 'POR SUCURSAL + ' LogoRuta = String.Format("{0}Formatos\Suc{1}.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal) + ' If File.Exists(LogoRuta) Then + ' LogoRuta = String.Format("file://{0}Formatos\Suc{1}.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal) + ' 'POR EMPRESA + ' Else + ' LogoRuta = String.Format("{0}Formatos\Logo.png", UsuarioActual.Empresa.Ruta) + ' If File.Exists(LogoRuta) Then + ' 'LogoRuta = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + ' LogoRuta = String.Format("{0}", LogoRuta) + ' End If + ' End If + ' 'LogoRuta = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + ' LogoRuta = String.Format("{0}", LogoRuta) + ' 'Si no tiene CBB, SE GENERA + ' If Not ImagenCBB.Exists Then + ' Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar() + ' CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFCReceptor, Vta.Total.ToString.ToDecimal, Vta.FolioFiscal, RutaCBB) + ' End If + ' ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio) + + ' Dim CadenaOriginals As String = "||1.0|" + Vta.FolioFiscal + "|" + Vta.FechaCertificacion.ToString("yyyy-MM-dd") + "T" + Vta.FechaCertificacion.ToString("HH:mm:ss") + "|" + Vta.SelloCFDi + "|" + Vta.NoSerieCertificado + "||" + ' If Not ImagenCBB.Exists Then ImgCBB = "" + ' Dim RutaFormato As String = "" + + + ' 'AQUI EMPIEZA LOS PARAMETROS + ' Try + ' Dim params = New List(Of CrystalParametro) + + ' 'CLIENTE + ' params.Add(New CrystalParametro("ClienteCodigo", Vta.Cliente.Codigo)) + ' params.Add(New CrystalParametro("ClienteNombre", If(Vta.ClienteSucursal.ImprimeNombreSucursal = "True", If(Vta.CveClienteSucursal > 0, Vta.ClienteSucursal.Sucursal, Vta.Cliente.Nombre), If(Vta.AtencionA <> "" AndAlso Vta.TipoDocto.Contiene("Ing", "Rem") AndAlso RFCReceptor = "XAXX010101000", $"{Vta.Cliente.Nombre}({Vta.AtencionA})", Vta.Cliente.Nombre)))) + ' params.Add(New CrystalParametro("ClienteDireccion", ClienteDireccion)) + ' params.Add(New CrystalParametro("ClienteLugar", ClienteLugar)) + + + ' 'TOTALES + ' params.Add(New CrystalParametro("SubTotal", Vta.SubTotal.ToString.FormatoNumero(2))) + ' params.Add(New CrystalParametro("Descuento", Vta.Descuento.ToString.FormatoNumero(2))) + ' params.Add(New CrystalParametro("Amortizacion", Vta.Amortizacion.ToString.FormatoNumero(2))) + ' params.Add(New CrystalParametro("SubTotal2", (Vta.SubTotal - Vta.Descuento - Vta.Amortizacion).ToString.FormatoNumero(2))) + ' params.Add(New CrystalParametro("IVA", Vta.IVA.ToString.FormatoNumero(2))) + ' params.Add(New CrystalParametro("RetIVA", Vta.RetIVA.ToString.FormatoNumero(2))) + ' params.Add(New CrystalParametro("RetISR", Vta.RetISR.ToString.FormatoNumero(2))) + ' params.Add(New CrystalParametro("Total", Vta.Total.ToString.FormatoNumero(2))) + ' params.Add(New CrystalParametro("ImporteLetra", Vta.Total.ToString.ToDouble.Texto2Letras(Vta.CveMoneda))) + + ' 'DATOS GENERALES + ' params.Add(New CrystalParametro("Observaciones", Vta.Observaciones)) + ' params.Add(New CrystalParametro("CveVendedor", Vta.CveVendedor.ToString)) + ' 'params.Add(New CrystalParametro("Status", Vta.EstatusFactura)) + ' params.Add(New CrystalParametro("FechaSolicitud", Vta.Fecha.ToString("dd/MMMM/yyyy"))) ' se puede omitir + ' params.Add(New CrystalParametro("Serie", Vta.Serie)) + ' params.Add(New CrystalParametro("Folio", Vta.Folio.ToString)) + ' params.Add(New CrystalParametro("DomicilioSucursal", DomicilioSucursal)) + ' params.Add(New CrystalParametro("Vencimiento", Vta.FechaVencimiento.ToString("dd/MM/yyyy"))) + ' params.Add(New CrystalParametro("FolioFiscal", Vta.FolioFiscal)) + ' params.Add(New CrystalParametro("FechaCertificacion", String.Format("{0}T{1}", Vta.FechaCertificacion.ToString("yyyy-MM-dd"), Vta.FechaCertificacion.ToString("HH:mm:ss")))) + ' params.Add(New CrystalParametro("SelloCFDI", Vta.SelloCFDi)) + ' params.Add(New CrystalParametro("CadenaSAT", CadenaOriginals)) + ' params.Add(New CrystalParametro("SelloSAT", Vta.SelloSAT)) + + ' params.Add(New CrystalParametro("QR", ImgCBB)) + ' params.Add(New CrystalParametro("ClienteRFC", RFCReceptor)) + ' params.Add(New CrystalParametro("FormaPago", Vta.FormaPagoText)) + ' params.Add(New CrystalParametro("Moneda", Vta.Moneda)) + ' params.Add(New CrystalParametro("TipoCambio", Vta.TipoCambio.ToString)) + ' params.Add(New CrystalParametro("CondicionPago", Vta.CondicionesPagoText)) + ' params.Add(New CrystalParametro("CadenaOriginal", CadenaOriginals)) + ' params.Add(New CrystalParametro("SerieCertificadoSAT", Vta.NoSerieCertificado)) + ' params.Add(New CrystalParametro("CertificadoContribuyente", Vta.NoSerieCertificadoContribuyente)) + ' params.Add(New CrystalParametro("NumCta", Vta.NumeroCuenta)) + ' params.Add(New CrystalParametro("LogoPath", LogoRuta)) + + ' 'VENDEDOR + ' Dim RowVendedor As DataRow = GlobalDTVendedores(-1).FiltroPrimero(String.Format("CveVendedor = {0}", Vta.CveVendedor.ToString)) + ' If Not IsNothing(RowVendedor) Then + ' params.Add(New CrystalParametro("VendedorNombre", RowVendedor("Vendedor").ToString)) + ' params.Add(New CrystalParametro("VendedorMail", RowVendedor("Correo").ToString)) + ' params.Add(New CrystalParametro("VendedorTelefono", RowVendedor("Telefono").ToString)) + ' params.Add(New CrystalParametro("VendedorCelular", RowVendedor("Celular").ToString)) + + ' End If + + ' params.Add(New CrystalParametro("CiudadSucursal", CiudadSucursal)) + ' params.Add(New CrystalParametro("OC", Vta.Det_OrdenCompra.ToString)) + + ' If UsuarioActual.Empresa.Funcionalidad(508) = "1" Then + ' params.Add(New CrystalParametro("IEPS", Vta.IEPS.ToString.FormatoNumero(2))) + ' End If + + ' If Vta.CveClienteSucursal > 0 Then + ' params.Add(New CrystalParametro("ClienteContactoMail", Vta.ClienteSucursal.CorreoSucursal)) + ' params.Add(New CrystalParametro("ClienteTelefono", Vta.ClienteSucursal.TelefonoSucursal)) + ' Else + ' params.Add(New CrystalParametro("ClienteContactoMail", Vta.Cliente.MailCotizacion)) + ' params.Add(New CrystalParametro("ClienteTelefono", If(Vta.TipoDocto.Contiene("Ing", "Rem") AndAlso Vta.Cliente.Telefono.Length > 6, Vta.Cliente.Telefono, Vta.TelefonoGenerico))) + ' End If + + ' If UsuarioActual.CveEmpresa.Contiene(17) Then + ' params.Add(New CrystalParametro("MetodoPago", Vta.ClaveMetodoPagoSAT.ToString)) + ' Else + ' params.Add(New CrystalParametro("MetodoPago", Vta.MetodoPago.ToString)) + ' End If + + + ' Select Case Vta.TipoDocto + ' Case "Ing" + ' NombreArchivo = "Factura" + ' NombreArchivoDescarga = "Factura" + ' TipoDocumento = "INGRESO" + + ' 'GENERAL + ' params.Add(New CrystalParametro("TipoDocumento", NombreArchivoDescarga)) + ' params.Add(New CrystalParametro("Tipo", TipoDocumento)) + ' params.Add(New CrystalParametro("Ref", TipoDocumentoRef)) + ' params.Add(New CrystalParametro("AplicaPagare", AplicaPagare)) + + ' 'VSH + ' If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122, 145) Then + ' 'DATOS CLIENTES + ' Dim ClienteRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", Vta.CveCliente.ToString)) + ' Dim DatosCliente = "" + ' If ClienteRow IsNot Nothing Then + ' DatosCliente = String.Format("{0} | {1} | {2}", Vta.SubProyecto.Municipio, ClienteRow("CuentaContable"), ClienteRow("Codigo")) + ' End If + ' params.Add(New CrystalParametro("DatosClientes", DatosCliente)) + ' params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto)) + ' End If + + ' 'COMPU, DN DIFUSA + ' If UsuarioActual.CveEmpresa.Contiene(72, 80, 119) Then + ' params.Add(New CrystalParametro("EstatusFactura", If(Vta.TipoEstatus = 5, Vta.EstatusFactura, ""))) + ' params.Add(New CrystalParametro("EstatusEntrega", If(Vta.Inv_CveEstatusEntrega = 1, Vta.Inv_EstatusEntrega, ""))) + ' params.Add(New CrystalParametro("PedidoContrato", Vta.PedidoContrato)) + ' params.Add(New CrystalParametro("DescripcionContrato", Vta.NumeroDescripcionContrato)) + + ' params.Add(New CrystalParametro("MonedaAbreviatura", If(Vta.MonedaAbreviatura.ToString IsNot Nothing, Vta.MonedaAbreviatura.ToString, ""))) + ' params.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) + ' params.Add(New CrystalParametro("FechaImpresion", Now.ToDateTime.ToString)) + ' params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto)) + + ' 'INE COMPLEMENTOS + ' If UsuarioActual.CveEmpresa.Contiene(72) Then + ' Dim INETipoProceso As String = "" + ' Dim INETipoComite As String = "" + ' Dim INEIdContabilidad As Integer = 0 + ' If Vta.ComplementoINE IsNot Nothing Then + ' INETipoProceso = Vta.ComplementoINE.INETipoProceso + ' INETipoComite = Vta.ComplementoINE.INETipoComite + ' INEIdContabilidad = Vta.ComplementoINE.INEIdContabilidad + ' End If + ' params.Add(New CrystalParametro("INETipoProceso", INETipoProceso)) + ' params.Add(New CrystalParametro("INETipoComite", INETipoComite)) + ' params.Add(New CrystalParametro("INEIdContabilidad", INEIdContabilidad)) + ' params.Add(New CrystalParametro("Referencia", Vta.Cliente.ReferenciaFiscal)) + ' params.Add(New CrystalParametro("ClienteContacto", Vta.AtencionA)) + ' End If + + ' 'DIRECCION ENVIO + ' If Vta.EnviarA.CveDireccionEnvio > 0 Then + ' Dim StrEnvioDi As New StringBuilder + ' StrEnvioDi.AppendFormat("{0}", Vta.EnviarA.EnvioDireccion) + ' If Vta.EnviarA.EnvioNoExt IsNot Nothing AndAlso Vta.EnviarA.EnvioNoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.EnviarA.EnvioNoExt) + ' If Vta.EnviarA.EnvioNoInt IsNot Nothing AndAlso Vta.EnviarA.EnvioNoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.EnviarA.EnvioNoInt) + + ' params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString)) + ' params.Add(New CrystalParametro("EnvioNoExt", Vta.EnviarA.EnvioNoExt)) + ' params.Add(New CrystalParametro("EnvioNoInt", Vta.EnviarA.EnvioNoInt)) + ' params.Add(New CrystalParametro("EnvioColonia", Vta.EnviarA.EnvioColonia)) + ' params.Add(New CrystalParametro("EnvioCiudad", Vta.EnviarA.EnvioCiudad)) + ' params.Add(New CrystalParametro("EnvioEstado", Vta.EnviarA.EnvioEstado)) + ' params.Add(New CrystalParametro("EnvioContacto", Vta.EnviarA.EnvioContacto)) + ' params.Add(New CrystalParametro("EnvioDepartamento", Vta.EnviarA.EnvioDepartamento)) + ' params.Add(New CrystalParametro("EnvioCP", Vta.EnviarA.EnvioCP)) + ' Else + ' If Vta.CveClienteSucursal.ToEntero > 0 Then + ' Dim StrEnvioDi As New StringBuilder + ' StrEnvioDi.AppendFormat("{0}", Vta.ClienteSucursal.Direccion) + ' If Vta.ClienteSucursal.NoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.ClienteSucursal.NoExt) + ' If Vta.ClienteSucursal.NoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.ClienteSucursal.NoInt) + ' params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString)) + ' params.Add(New CrystalParametro("EnvioColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, ""))) + ' params.Add(New CrystalParametro("EnvioCiudad", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, ""))) + ' params.Add(New CrystalParametro("EnvioEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, ""))) + ' params.Add(New CrystalParametro("EnvioCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, ""))) + ' Else + ' Dim StrEnvioDi As New StringBuilder + ' StrEnvioDi.AppendFormat("{0}", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, "")) + ' If Vta.Cliente.NoExt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Ext: {0}", Vta.Cliente.NoExt) + ' If Vta.Cliente.NoInt.Length > 0 Then StrEnvioDi.AppendFormat(", No.Int: {0}", Vta.Cliente.NoInt) + ' params.Add(New CrystalParametro("EnvioDireccion", StrEnvioDi.ToString)) + ' params.Add(New CrystalParametro("EnvioColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, ""))) + ' params.Add(New CrystalParametro("EnvioCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, ""))) + ' params.Add(New CrystalParametro("EnvioEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, ""))) + ' params.Add(New CrystalParametro("EnvioCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, ""))) + ' End If + + ' End If + + ' 'CLIENTE SUCURSAL + ' If Vta.CveClienteSucursal.ToEntero > 0 Then + ' params.Add(New CrystalParametro("ClienteCalle", If(Vta.ClienteSucursal.Direccion.Length > 0, Vta.ClienteSucursal.Direccion, ""))) + ' params.Add(New CrystalParametro("ClienteColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, ""))) + ' params.Add(New CrystalParametro("ClienteCiudad", If(Vta.ClienteSucursal.Localidad IsNot Nothing And Vta.ClienteSucursal.Localidad.Length > 0, Vta.ClienteSucursal.Localidad, ""))) + ' params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, ""))) + ' params.Add(New CrystalParametro("ClienteEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, ""))) + ' params.Add(New CrystalParametro("ClienteCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, ""))) + ' params.Add(New CrystalParametro("ClienteNoInt", If(Vta.ClienteSucursal.NoInt.Length > 0, Vta.ClienteSucursal.NoInt, ""))) + ' params.Add(New CrystalParametro("ClienteNoExt", If(Vta.ClienteSucursal.NoExt.Length > 0, Vta.ClienteSucursal.NoExt, ""))) + ' params.Add(New CrystalParametro("ClientePais", If(Vta.ClienteSucursal.Pais.Length > 0, Vta.ClienteSucursal.Pais, ""))) + ' Else + ' params.Add(New CrystalParametro("ClienteCalle", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, ""))) + ' params.Add(New CrystalParametro("ClienteColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, ""))) + ' params.Add(New CrystalParametro("ClienteCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, ""))) + ' params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.Cliente.Ciudad.Length > 0, Vta.Cliente.Ciudad, ""))) + ' params.Add(New CrystalParametro("ClienteEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, ""))) + ' params.Add(New CrystalParametro("ClienteCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, ""))) + ' params.Add(New CrystalParametro("ClienteNoInt", If(Vta.Cliente.NoInt.Length > 0, Vta.Cliente.NoInt, ""))) + ' params.Add(New CrystalParametro("ClienteNoExt", If(Vta.Cliente.NoExt.Length > 0, Vta.Cliente.NoExt, ""))) + ' params.Add(New CrystalParametro("ClientePais", If(Vta.Cliente.Pais.Length > 0, Vta.Cliente.Pais, ""))) + ' End If + ' End If + + ' RutaFormato = String.Format("{0}Formatos\{1}.mrt", UsuarioActual.Empresa.Ruta, NombreArchivo) + + ' Case "Egs" + ' If UsuarioActual.CveEmpresa.Contiene(72, 80) Then + ' NombreArchivo = "NotaCredito" + ' Else + ' NombreArchivo = "Factura" + ' End If + ' NombreArchivoDescarga = "Nota de Crédito" + ' TipoDocumento = "EGRESO" + ' TipoDocumentoRef = String.Format(": Ref.:{0}", Vta.RefDocto) + ' AplicaPagare = "0" + + ' 'GENERAL + ' params.Add(New CrystalParametro("TipoDocumento", NombreArchivoDescarga)) + ' params.Add(New CrystalParametro("Tipo", TipoDocumento)) + ' params.Add(New CrystalParametro("Ref", TipoDocumentoRef)) + ' params.Add(New CrystalParametro("AplicaPagare", AplicaPagare)) + ' params.Add(New CrystalParametro("Fecha", String.Format("{0}T{1}", Vta.Fecha.ToString("yyyy-MM-dd"), Vta.Fecha.ToString("HH:mm:ss")))) + + ' 'ALAN YEPIZ + ' If UsuarioActual.CveEmpresa.Contiene(123) Then + ' params.Add(New CrystalParametro("DiaExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Day))) + ' params.Add(New CrystalParametro("MesExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Month))) + ' params.Add(New CrystalParametro("AñoExpedicion", String.Format("{0}", Vta.Fecha.ToDate.Year))) + ' End If + + ' 'COMPU, DN DIFUSA + ' If UsuarioActual.CveEmpresa.Contiene(72, 80, 119) Then + ' params.Add(New CrystalParametro("EstatusFactura", If(Vta.TipoEstatus = 5, Vta.EstatusFactura, ""))) + ' params.Add(New CrystalParametro("EstatusEntrega", If(Vta.Inv_CveEstatusEntrega = 1, Vta.Inv_EstatusEntrega, ""))) + ' params.Add(New CrystalParametro("PedidoContrato", Vta.PedidoContrato)) + + ' params.Add(New CrystalParametro("MonedaAbreviatura", If(Vta.MonedaAbreviatura.ToString IsNot Nothing, Vta.MonedaAbreviatura.ToString, ""))) + ' params.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) + ' params.Add(New CrystalParametro("FechaImpresion", Now.ToDateTime.ToString)) + ' params.Add(New CrystalParametro("Sucursal", Vta.SubProyecto.SubProyecto)) + + ' 'CLIENTE SUCURSAL + ' If Vta.CveClienteSucursal.ToEntero > 0 Then + ' params.Add(New CrystalParametro("ClienteCalle", If(Vta.ClienteSucursal.Direccion.Length > 0, Vta.ClienteSucursal.Direccion, ""))) + ' params.Add(New CrystalParametro("ClienteColonia", If(Vta.ClienteSucursal.Colonia.Length > 0, Vta.ClienteSucursal.Colonia, ""))) + ' params.Add(New CrystalParametro("ClienteCiudad", If(Vta.ClienteSucursal.Localidad IsNot Nothing And Vta.ClienteSucursal.Localidad.Length > 0, Vta.ClienteSucursal.Localidad, ""))) + ' params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.ClienteSucursal.Municipio.Length > 0, Vta.ClienteSucursal.Municipio, ""))) + ' params.Add(New CrystalParametro("ClienteEstado", If(Vta.ClienteSucursal.Estado.Length > 0, Vta.ClienteSucursal.Estado, ""))) + ' params.Add(New CrystalParametro("ClienteCP", If(Vta.ClienteSucursal.CP.Length > 0, Vta.ClienteSucursal.CP, ""))) + ' params.Add(New CrystalParametro("ClienteNoInt", If(Vta.ClienteSucursal.NoInt.Length > 0, Vta.ClienteSucursal.NoInt, ""))) + ' params.Add(New CrystalParametro("ClienteNoExt", If(Vta.ClienteSucursal.NoExt.Length > 0, Vta.ClienteSucursal.NoExt, ""))) + ' params.Add(New CrystalParametro("ClientePais", If(Vta.ClienteSucursal.Pais.Length > 0, Vta.ClienteSucursal.Pais, ""))) + ' Else + ' params.Add(New CrystalParametro("ClienteCalle", If(Vta.Cliente.Direccion.Length > 0, Vta.Cliente.Direccion, ""))) + ' params.Add(New CrystalParametro("ClienteColonia", If(Vta.Cliente.Colonia.Length > 0, Vta.Cliente.Colonia, ""))) + ' params.Add(New CrystalParametro("ClienteCiudad", If(Vta.Cliente.Localidad IsNot Nothing And Vta.Cliente.Localidad.Length > 0, Vta.Cliente.Localidad, ""))) + ' params.Add(New CrystalParametro("ClienteMunicipio", If(Vta.Cliente.Ciudad.Length > 0, Vta.Cliente.Ciudad, ""))) + ' params.Add(New CrystalParametro("ClienteEstado", If(Vta.Cliente.Estado.Length > 0, Vta.Cliente.Estado, ""))) + ' params.Add(New CrystalParametro("ClienteCP", If(Vta.Cliente.CP.Length > 0, Vta.Cliente.CP, ""))) + ' params.Add(New CrystalParametro("ClienteNoInt", If(Vta.Cliente.NoInt.Length > 0, Vta.Cliente.NoInt, ""))) + ' params.Add(New CrystalParametro("ClienteNoExt", If(Vta.Cliente.NoExt.Length > 0, Vta.Cliente.NoExt, ""))) + ' params.Add(New CrystalParametro("ClientePais", If(Vta.Cliente.Pais.Length > 0, Vta.Cliente.Pais, ""))) + ' End If + ' End If + + + ' RutaFormato = String.Format("{0}Formatos\{1}.mrt", UsuarioActual.Empresa.Ruta, "Factura") + ' Case Else + ' NombreArchivo = "" + ' TipoDocumento = "" + ' End Select + ' If NombreArchivo = "" Then + ' GuardaLog("No se especifico el tipo de Impresion de venta (Venta, Remision, Cotización, Nota de Crédito).") + ' Exit Sub + ' End If + ' 'TERMINA REGION PARAMETROS + + ' Dim lrds As New List(Of ReportDataSource) + ' 'Si es ECLIPSE CREAR COLUMAS PARA FIRMAS EN DtDetalle. + ' If UsuarioActual.CveEmpresa.Contiene(1, 15, 17, 71, 76, 125) Then + ' Dim DtDetalleFirmas As New DataTable + ' DtDetalleFirmas.TableName = "DetalleFirma" + ' DtDetalleFirmas = Vta.DtDetalle.Copy() + + ' 'SI NO TIENE LAS COLUMNAS DE FIRMAS LAS CREA. + ' If Not DtDetalleFirmas.Columns.Contains("Titulo") Then + ' DtDetalleFirmas.Columns.Add("Titulo", GetType(String)) + ' DtDetalleFirmas.Columns.Add("Nombre", GetType(String)) + ' DtDetalleFirmas.Columns.Add("Puesto", GetType(String)) + ' DtDetalleFirmas.Columns.Add("Lado", GetType(Integer)) + ' End If + + ' 'Se llenan los Rows de las columnas con los datos del DtFirmas + ' For i As Integer = 0 To Vta.DtFirmas.Rows.Count - 1 + ' 'Si DtDetalle es menor al DtFirmas, crea un nuevo Row en DtDetalle y le asigna valor, Si no solo asigna valor + ' If DtDetalleFirmas.Rows.Count < i + 1 Then + ' Dim Dr = DtDetalleFirmas.NewRow + ' Dr("Titulo") = Vta.DtFirmas(i)("Titulo").ToString + ' Dr("Nombre") = Vta.DtFirmas(i)("Nombre").ToString + ' Dr("Puesto") = Vta.DtFirmas(i)("Puesto").ToString + ' Dr("Lado") = Vta.DtFirmas(i)("Lado").ToString.ToEntero + ' DtDetalleFirmas.Rows.Add(Dr) + ' Else + ' DtDetalleFirmas(i)("Titulo") = Vta.DtFirmas(i)("Titulo").ToString + ' DtDetalleFirmas(i)("Nombre") = Vta.DtFirmas(i)("Nombre").ToString + ' DtDetalleFirmas(i)("Puesto") = Vta.DtFirmas(i)("Puesto").ToString + ' DtDetalleFirmas(i)("Lado") = Vta.DtFirmas(i)("Lado").ToString.ToEntero + ' End If + ' Next i + + ' Dim rds As New ReportDataSource With {.Name = "DsOC", .Value = DtDetalleFirmas} + ' lrds.Add(rds) + ' Else + ' Dim rds As New ReportDataSource With {.Name = "DsOC", .Value = Vta.DtDetalle} + ' lrds.Add(rds) + ' End If + + ' Dim rds1 As New ReportDataSource With {.Name = "DataSet1", .Value = If(Vta.DtDeduccion IsNot Nothing, Vta.DtDeduccion, New DataTable)} ' sino esta creado el objeto, lo creamos, para que no truene el reporte + ' lrds.Add(rds1) + + ' 'DETALLE FIRMAS + + ' Dim rds2 As New ReportDataSource With {.Name = "DataSet2", .Value = If(Vta.DtFirmas IsNot Nothing, Vta.DtFirmas, New DataTable)} ' sino esta creado el objeto, lo creamos, para que no truene el reporte + ' lrds.Add(rds2) + + ' Dim Archivo As New System.IO.FileInfo(RutaFormato) + + ' Dim DataSet As New DataSet + ' Vta.DtDetalle.TableName = "Datos" + ' Vta.DtDeduccion.TableName = "Deduccion" + ' DataSet.Tables.Add(Vta.DtDetalle.Copy) + ' DataSet.Tables.Add(Vta.DtDeduccion.Copy) + + ' If Archivo.Exists Then + ' ImprimirbytesPDF(ImprimirPDFPyME(RutaFormato, DataSet, params, NombreArchivo, "PDF", MR:=Nothing), "Factura") + ' If Guardar Then + ' Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio)) + ' If Not ArchivoPDF.Exists Then + ' Try + ' DirectoryExistsCreate(String.Format("{0}PDF", UsuarioActual.Empresa.Ruta)) + ' DirectoryExistsCreate(String.Format("{0}PDF\{1}", UsuarioActual.Empresa.Ruta, Vta.TipoDocto)) + ' File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno) + ' Catch ex As Exception + ' Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia) + ' End Try + ' Else + ' Try + ' ArchivoPDF.Delete() + ' File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno) + ' Catch ex As Exception + ' Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia) + ' End Try + ' End If + ' End If + + ' Else + ' params.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) + ' params.Add(New CrystalParametro("RFC", UsuarioActual.Empresa.RFC)) + ' ImprimirbytesPDF(ImprimirPDFPyME(RutaFormato, DataSet, params, NombreArchivo, "PDF", MR:=Nothing), "Factura") + ' End If + + + ' Catch ex As Exception + ' GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex)) + ' End Try + 'End Sub Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True, Optional SubReportData As Modelos.MSubReportData = Nothing) As Byte() Dim retorno As Byte() = Nothing @@ -8834,12 +8834,10 @@ Public Class ClsPaginas End If End Function - Public Sub PDFReciboDePagos(CveVenta As Integer, CveIE As Integer, CveComplementoPago As Integer, Optional imprimir As Boolean = True) - Dim ObjBancos As New ClsBancos - Dim ObjClientes As New ClsClientes - Dim params As New List(Of ReportParameter) - Dim SerieFolio As String + Public Sub PDFReciboDePagos(CveVenta As Integer, CveIE As Integer, CveComplementoPago As Integer, Optional imprimir As Boolean = True, Optional SobreescribirPDF As Boolean = False) + Dim params As New List(Of ReportParameter) + Dim SerieFolio As String = "" Dim Serie = "" Dim Folio = "" Dim CveCliente = -1 @@ -8887,16 +8885,38 @@ Public Class ClsPaginas DTConceptosPagoRelacionado.Columns.Add("TipoCambioDR", GetType(String)) DTConceptosPagoRelacionado.Columns.Add("ObjetoImpDR", GetType(String)) - + Dim ObjBancos As New ClsBancos If ObjBancos.GetComplementoPagos(CveComplementoPago, CveIE, CveVenta, UsuarioActual.CveEmpresa) Then Serie = ObjBancos.DtResultados.FiltroPrimeroValor("Serie") Folio = ObjBancos.DtResultados.FiltroPrimeroValor("Folio") CveCliente = ObjBancos.DtResultados.FiltroPrimeroValor("CveCliente").ToEntero CveMoneda = ObjBancos.DtResultados.FiltroPrimeroValor("CveMoneda").ToEntero FechaComprobante = ObjBancos.DtResultados.FiltroPrimeroValor("Fecha").ToDate + SerieFolio = $"{Serie}-{Folio}" + End If + ObjBancos.Dispose() + + If Not SobreescribirPDF Then + Dim rutapdf As String = $"{UsuarioActual.Empresa.Ruta}\PDF\Pag\{SerieFolio}.pdf" + Dim Archivo As New System.IO.FileInfo(rutapdf) + If (Archivo.Exists) Then + + HttpContext.Current.Response.Clear() + HttpContext.Current.Response.ClearContent() + HttpContext.Current.Response.ContentType = If(IO.Path.GetExtension(Archivo.Name) = ".txt", "text/plain", "application/pdf") + HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment; filename=" & Archivo.Name) + HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString()) + HttpContext.Current.Response.TransmitFile(rutapdf) + 'HttpContext.Current.Response.Flush() + HttpContext.Current.Response.End() + Archivo = Nothing + + End If + End If 'CLIENTE + Dim ObjClientes As New ClsClientes If ObjClientes.GetClientes(CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, Estatus:=-1) Then RFCOrdenante = ObjClientes.RFC @@ -8909,6 +8929,8 @@ Public Class ClsPaginas params.Add(New ReportParameter("ClienteRFC", ObjClientes.RFC)) End If + ObjClientes.Dispose() + 'DATOS DE EMPRESA params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("EmpresaDireccion", UsuarioActual.Empresa.Direccion)) @@ -8928,11 +8950,8 @@ Public Class ClsPaginas Dim Ruta As String = UsuarioActual.Empresa.Ruta Dim PathXML As String = $"{Ruta}XML\Pag\{Serie}-{Folio}.xml" Dim PathPDF As String = $"{Ruta}PDF\Pag\{Serie}-{Folio}.pdf" - SerieFolio = $"{Serie}-{Folio}" - Dim ImagenCBB As String = $"file://{Ruta}CBB\{Serie}-{Folio}.jpg" - If File.Exists(PathXML) Then Dim XmlDoc As New System.Xml.XmlDocument XmlDoc.Load(PathXML) @@ -8961,7 +8980,7 @@ Public Class ClsPaginas 'Datos Fiscales If Not IsNothing(validaElemento) Then Dim nodetfd As XmlNode = XmlDoc.SelectSingleNode(String.Format("{0}:Comprobante/{0}:Complemento/tfd:TimbreFiscalDigital", Prefijo), namespaces) - If nodetfd Is Nothing Then + If nodetfd IsNot Nothing Then FolioFiscal = nodetfd.Attributes("UUID").InnerText NoSerieCertificado = nodetfd.Attributes("NoCertificadoSAT").InnerText FechaCertificacion = nodetfd.Attributes("FechaTimbrado").InnerText @@ -8970,11 +8989,13 @@ Public Class ClsPaginas End If End If - 'Pago10 - If Version = "3.3" AndAlso Not IsNothing(validaElemento) Then - Dim PagosChild = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Cast(Of XmlNode).Where(Function(a) a.LocalName.Equals("Pagos", StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault() + Dim nodePagos As XmlNodeList + nodePagos = XmlDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Complemento/pago20:Pagos/pago20:Pago", Prefijo), namespaces) - For Each Pagos As XmlNode In PagosChild.ChildNodes + For Each Pagos As XmlNode In nodePagos + If Version = "4.0" AndAlso Pagos.Name = "pago20:Totales" Then + Dim a As String = "a" + Else Dim Dr As DataRow = DTConceptosPago.NewRow If Not Pagos.Attributes("CtaOrdenante") Is Nothing Then Dr("CtaOrdenante") = Pagos.Attributes("CtaOrdenante").Value Else Dr("CtaOrdenante") = "" @@ -8997,7 +9018,7 @@ Public Class ClsPaginas DTConceptosPago.Rows.Add(Dr) - For Each Relacionado As XmlNode In Pagos.ChildNodes + For Each Relacionado As XmlNode In Pagos.SelectNodes(String.Format("//{0}:DoctoRelacionado", PagoVersion), namespaces) Dim DrRelacionado As DataRow = DTConceptosPagoRelacionado.NewRow If Not Relacionado.Attributes("Folio") Is Nothing Then DrRelacionado("Folio") = Relacionado.Attributes("Folio").Value Else DrRelacionado("Folio") = "" @@ -9008,69 +9029,15 @@ Public Class ClsPaginas DrRelacionado("ImpPagado") = Relacionado.Attributes("ImpPagado").Value DrRelacionado("ImpSaldoAnt") = Relacionado.Attributes("ImpSaldoAnt").Value DrRelacionado("NumParcialidad") = Relacionado.Attributes("NumParcialidad").Value - DrRelacionado("MetodoDePagoDR") = Relacionado.Attributes("MetodoDePagoDR").Value - DrRelacionado("MonedaDR") = Relacionado.Attributes("MonedaDR").Value + If Version = "3.3" Then DrRelacionado("MetodoDePagoDR") = Relacionado.Attributes("MetodoDePagoDR").Value + If Version = "4.0" Then DrRelacionado("ObjetoImpDR") = Relacionado.Attributes("ObjetoImpDR").Value + DrRelacionado("MonedaDR") = Relacionado.Attributes("MonedaDR").Value DTConceptosPagoRelacionado.Rows.Add(DrRelacionado) Next - Next - End If - - 'Pago20 - If Version = "4.0" Then - Dim nodePagos As XmlNodeList - nodePagos = XmlDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Complemento/pago20:Pagos/pago20:Pago", Prefijo), namespaces) - - For Each Pagos As XmlNode In nodePagos - If Version = "4.0" AndAlso Pagos.Name = "pago20:Totales" Then - Dim a As String = "a" - Else - Dim Dr As DataRow = DTConceptosPago.NewRow - - If Not Pagos.Attributes("CtaOrdenante") Is Nothing Then Dr("CtaOrdenante") = Pagos.Attributes("CtaOrdenante").Value Else Dr("CtaOrdenante") = "" - If Not Pagos.Attributes("TipoCambioP") Is Nothing Then Dr("TipoCambioP") = Pagos.Attributes("TipoCambioP").Value Else Dr("TipoCambioP") = "" - - If Not Pagos.Attributes("RfcEmisorCtaOrd") Is Nothing Then - Dr("RfcEmisorCtaOrd") = Pagos.Attributes("RfcEmisorCtaOrd").Value - RFCOrdenante = Pagos.Attributes("RfcEmisorCtaOrd").Value - Else - Dr("RfcEmisorCtaOrd") = "" - End If - - Dr("Monto") = Pagos.Attributes("Monto").Value - Dr("MonedaP") = Pagos.Attributes("MonedaP").Value - Dr("FormaDePagoP") = GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPagoSAT", $"ClaveFormaPagoSAT= '{Pagos.Attributes("FormaDePagoP").Value}'") - Dr("FechaPago") = Pagos.Attributes("FechaPago").Value - - FechaRecibo = Pagos.Attributes("FechaPago").Value - TotalLetra = Pagos.Attributes("Monto").Value.ToString.ToDouble.Texto2Letras(CveMoneda) - - DTConceptosPago.Rows.Add(Dr) - - For Each Relacionado As XmlNode In Pagos.SelectNodes(String.Format("//{0}:DoctoRelacionado", PagoVersion), namespaces) - Dim DrRelacionado As DataRow = DTConceptosPagoRelacionado.NewRow - - If Not Relacionado.Attributes("Folio") Is Nothing Then DrRelacionado("Folio") = Relacionado.Attributes("Folio").Value Else DrRelacionado("Folio") = "" - If Not Relacionado.Attributes("Serie") Is Nothing Then DrRelacionado("Serie") = Relacionado.Attributes("Serie").Value Else DrRelacionado("Serie") = "" - If Not Relacionado.Attributes("TipoCambioDR") Is Nothing Then DrRelacionado("TipoCambioDR") = Relacionado.Attributes("TipoCambioDR").Value Else DrRelacionado("TipoCambioDR") = "" - - DrRelacionado("IdDocumento") = Relacionado.Attributes("IdDocumento").Value - DrRelacionado("ImpPagado") = Relacionado.Attributes("ImpPagado").Value - DrRelacionado("ImpSaldoAnt") = Relacionado.Attributes("ImpSaldoAnt").Value - DrRelacionado("NumParcialidad") = Relacionado.Attributes("NumParcialidad").Value - ' If Version = "3.3" Then DrRelacionado("MetodoDePagoDR") = Relacionado.Attributes("MetodoDePagoDR").Value - If Version = "4.0" Then DrRelacionado("ObjetoImpDR") = Relacionado.Attributes("ObjetoImpDR").Value - - DrRelacionado("MonedaDR") = Relacionado.Attributes("MonedaDR").Value - - DTConceptosPagoRelacionado.Rows.Add(DrRelacionado) - Next - - End If - Next - - End If + End If + Next If Not IsNothing(validaElementoPago) Then @@ -9090,7 +9057,6 @@ Public Class ClsPaginas Dim CadenaOriginal As String = $"||1.0| {FolioFiscal} | {FechaCertificacion.ToDate.ToShortDateString} T {FechaCertificacion.ToDateTime.ToShortTimeString} | {SelloCFDi} | {NoSerieCertificado} ||" ' PARAMETROS DEL REPORTE - params.Add(New ReportParameter("SerieFolio", SerieFolio)) params.Add(New ReportParameter("RFCOrdenante", RFCOrdenante)) params.Add(New ReportParameter("FechaRecibo", FechaRecibo)) @@ -9119,7 +9085,6 @@ Public Class ClsPaginas lrds.Add(rds2) Dim rutaArchivo As String = "" - 'LOGO Dim LogoRuta As String = "" Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) @@ -9156,9 +9121,6 @@ Public Class ClsPaginas End If - ObjBancos.Dispose() - ObjClientes.Dispose() - End Sub #End Region