-- mejora en impresion complementos de pago 4.0
This commit is contained in:
@@ -4843,8 +4843,7 @@ Public Class ClsPaginas
|
||||
PaginaDict.Add("/Contabilidad2/RepCambiosSituacionFinanciera.aspx".ToUpper(), 585)
|
||||
PaginaDict.Add("/Contabilidad2/RepSituacionFinanciera.aspx".ToUpper(), 586)
|
||||
PaginaDict.Add("/Contabilidad2/RepMovimientosAuxiliaresCatalogo.aspx".ToUpper(), 587)
|
||||
' PaginaDict.Add("/Contabilidad2/RegPoliza.aspx".ToUpper(), 588)
|
||||
'PaginaDict.Add("/Contabilidad2/PymeRegPoliza.aspx".ToUpper(), 588)
|
||||
|
||||
PaginaDict.Add("/Contabilidad2/RepAlmacenConta.aspx".ToUpper(), 539)
|
||||
|
||||
PaginaDict.Add("/Contabilidad2/RepAnexoCatalogoMensual.aspx".ToUpper(), 589)
|
||||
@@ -5586,29 +5585,8 @@ Public Class ClsPaginas
|
||||
PaginaDict.Add("/ZDG/MensajeManual.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/ZDG/MensajeAutomatico.aspx".ToUpper(), -1)
|
||||
|
||||
'PymeCharlie
|
||||
PaginaDict.Add("/PyME/Contabilidad/CatCuentas.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/TiposPoliza.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/PlantillasPolizas.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/PlantillasPolizasDetalle.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/RegPoliza.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/RegPrePoliza.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/ContabilizacionVentas.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/ContabilizacionCompras.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/ContabilidadElectronica.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/CierreEjercicio.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/RepBalanceGeneral.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/RepAnexoCatalogo.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/RepBalanzaComprobacion.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Contabilidad/RepEstadoResultados.aspx".ToUpper(), -1)
|
||||
|
||||
PaginaDict.Add("/Planeacion/Presupuestos.aspx".ToUpper(), -1)
|
||||
|
||||
'Pyme 2017
|
||||
PaginaDict.Add("/PyME/Sistemas/RegistroEmpresa.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/PyME/Sistemas/WizardRegistro.aspx".ToUpper(), -1)
|
||||
|
||||
|
||||
PaginaDict.Add("/Contabilidad/OCDetalleAlmacen.aspx".ToUpper(), -1)
|
||||
|
||||
|
||||
@@ -6240,45 +6218,6 @@ 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()
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
@@ -6407,533 +6346,6 @@ 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 Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True) As Byte()
|
||||
Dim retorno As Byte() = Nothing
|
||||
|
||||
@@ -7136,7 +6548,7 @@ Public Class ClsPaginas
|
||||
End If
|
||||
|
||||
'Si no tiene CBB, SE GENERA
|
||||
If Not ImagenCBB.Exists AndAlso Vta.CveCliente.ToEntero > 0 Then
|
||||
If Not ImagenCBB.Exists AndAlso Vta.FolioFiscal <> "" Then
|
||||
Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar()
|
||||
CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFCReceptor, Vta.Total, Vta.FolioFiscal, RutaCBB)
|
||||
End If
|
||||
@@ -8922,10 +8334,6 @@ Public Class ClsPaginas
|
||||
|
||||
Dim validaElemento = XmlDoc.DocumentElement("cfdi:Complemento")
|
||||
Dim validaElementoPago = XmlDoc.DocumentElement("cfdi:Conceptos")
|
||||
namespaces.AddNamespace(Prefijo, cfdVer)
|
||||
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
|
||||
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
|
||||
|
||||
If Version = "3.3" Then
|
||||
cfdVer = "http://www.sat.gob.mx/cfd/3"
|
||||
namespaces.AddNamespace("pago10", "http://www.sat.gob.mx/Pagos10")
|
||||
@@ -8935,17 +8343,21 @@ Public Class ClsPaginas
|
||||
namespaces.AddNamespace("pago20", "http://www.sat.gob.mx/Pagos20")
|
||||
End If
|
||||
|
||||
namespaces.AddNamespace(Prefijo, cfdVer)
|
||||
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
|
||||
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
|
||||
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
|
||||
|
||||
'Datos Fiscales
|
||||
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
|
||||
FolioFiscal = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("UUID").InnerText
|
||||
NoSerieCertificado = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("NoCertificadoSAT").InnerText
|
||||
FechaCertificacion = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("FechaTimbrado").InnerText
|
||||
SelloCFDi = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloCFD").InnerText
|
||||
SelloSAT = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes(i).Attributes("SelloSAT").InnerText
|
||||
End If
|
||||
Next
|
||||
Dim nodetfd As XmlNode = XmlDoc.SelectSingleNode(String.Format("{0}:Comprobante/{0}:Complemento/tfd:TimbreFiscalDigital", Prefijo), namespaces)
|
||||
If nodetfd Is Nothing Then
|
||||
FolioFiscal = nodetfd.Attributes("UUID").InnerText
|
||||
NoSerieCertificado = nodetfd.Attributes("NoCertificadoSAT").InnerText
|
||||
FechaCertificacion = nodetfd.Attributes("FechaTimbrado").InnerText
|
||||
SelloCFDi = nodetfd.Attributes("SelloCFD").InnerText
|
||||
SelloSAT = nodetfd.Attributes("SelloSAT").InnerText
|
||||
End If
|
||||
End If
|
||||
|
||||
'Pago10
|
||||
@@ -8996,16 +8408,14 @@ Public Class ClsPaginas
|
||||
End If
|
||||
|
||||
'Pago20
|
||||
If Version = "4.0" AndAlso Not IsNothing(validaElemento) Then
|
||||
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") = ""
|
||||
@@ -9053,16 +8463,18 @@ Public Class ClsPaginas
|
||||
End If
|
||||
|
||||
If Not IsNothing(validaElementoPago) Then
|
||||
For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Conceptos").ChildNodes.Count - 1
|
||||
If XmlDoc.DocumentElement("cfdi:Conceptos").ChildNodes(i).Name = "cfdi:Concepto" Then
|
||||
Importe = XmlDoc.DocumentElement("cfdi:Conceptos").ChildNodes(i).Attributes("Importe").InnerText
|
||||
PU = XmlDoc.DocumentElement("cfdi:Conceptos").ChildNodes(i).Attributes("ValorUnitario").InnerText
|
||||
Descripcion = XmlDoc.DocumentElement("cfdi:Conceptos").ChildNodes(i).Attributes("Descripcion").InnerText
|
||||
CveUnidad = XmlDoc.DocumentElement("cfdi:Conceptos").ChildNodes(i).Attributes("ClaveUnidad").InnerText
|
||||
Cantidad = XmlDoc.DocumentElement("cfdi:Conceptos").ChildNodes(i).Attributes("Cantidad").InnerText
|
||||
CvePS = XmlDoc.DocumentElement("cfdi:Conceptos").ChildNodes(i).Attributes("ClaveProdServ").InnerText
|
||||
End If
|
||||
Next
|
||||
|
||||
Dim nodeconceptos As XmlNode = XmlDoc.SelectSingleNode(String.Format("//{0}:Comprobante/{0}:Conceptos", Prefijo), namespaces)
|
||||
If nodeconceptos.HasChildNodes Then
|
||||
Dim nodeconcepto As XmlNode = nodeconceptos.ChildNodes(0)
|
||||
Importe = nodeconcepto.Attributes("Importe").InnerText
|
||||
PU = nodeconcepto.Attributes("ValorUnitario").InnerText
|
||||
Descripcion = nodeconcepto.Attributes("Descripcion").InnerText
|
||||
CveUnidad = nodeconcepto.Attributes("ClaveUnidad").InnerText
|
||||
Cantidad = nodeconcepto.Attributes("Cantidad").InnerText
|
||||
CvePS = nodeconcepto.Attributes("ClaveProdServ").InnerText
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Dim CadenaOriginal As String = $"||1.0| {FolioFiscal} | {FechaCertificacion.ToDate.ToShortDateString} T {FechaCertificacion.ToDateTime.ToShortTimeString} | {SelloCFDi} | {NoSerieCertificado} ||"
|
||||
@@ -9100,32 +8512,21 @@ Public Class ClsPaginas
|
||||
|
||||
'LOGO
|
||||
Dim LogoRuta As String = ""
|
||||
|
||||
'LogoRuta = String.Format("{0}Logo.png", UsuarioActual.Empresa.Ruta)
|
||||
|
||||
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
||||
|
||||
If Imagen.Exists Then
|
||||
'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)
|
||||
'End If
|
||||
''POR EMPRESA
|
||||
If Imagen.Exists Then ''POR EMPRESA
|
||||
params.Add(New ReportParameter("LogoPath", $"file://{Imagen.FullName}"))
|
||||
Else
|
||||
params.Add(New ReportParameter("LogoPath", ""))
|
||||
End If
|
||||
|
||||
|
||||
If File.Exists($"{UsuarioActual.Empresa.Ruta}Formatos\ReciboDePago.rdlc") Then
|
||||
rutaArchivo = $"{UsuarioActual.Empresa.Ruta}Formatos\ReciboDePago.rdlc"
|
||||
Else
|
||||
rutaArchivo = " \Empresas\Grales\Formatos\ReciboDePago.rdlc"
|
||||
End If
|
||||
|
||||
If Not Directory.Exists($"{UsuarioActual.Empresa.Ruta}\PDF\Pag\") Then
|
||||
Directory.CreateDirectory($"{UsuarioActual.Empresa.Ruta}\PDF\Pag\")
|
||||
End If
|
||||
|
||||
If Not Directory.Exists($"{UsuarioActual.Empresa.Ruta}\PDF\Pag\") Then Directory.CreateDirectory($"{UsuarioActual.Empresa.Ruta}\PDF\Pag\")
|
||||
|
||||
Dim ArchivoPDF As New System.IO.FileInfo($"{Ruta}PDF\Pag\{Serie}-{Folio}.pdf")
|
||||
If ArchivoPDF.Exists Then
|
||||
|
||||
Reference in New Issue
Block a user