Efacturas regeenracion de complemento con GoFactPDF , GemBoxExportacion con clases de totales
This commit is contained in:
@@ -4247,132 +4247,172 @@ Partial Class Compras_eFacturas
|
||||
Protected Sub LnkRegenerarPdfnew_Click(sender As Object, e As EventArgs)
|
||||
Dim gvrow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
||||
Dim objxml As XmlSatCFDI = XmlSatCFDI.readXML(String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("XML")))
|
||||
If Not IsNothing(objxml) Then
|
||||
Dim rutaReporte As String = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3.rdlc")
|
||||
If Not IsNothing(objxml.complemento.Pagos) Then
|
||||
rutaReporte = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3Pago.rdlc")
|
||||
|
||||
|
||||
Dim XmlRutaArchivo As String = File.ReadAllText(String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("XML")))
|
||||
Dim PDFRutaArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF"))
|
||||
Dim RutaRDLC = String.Format("{0}{1}", DirectorioBaseEmpresas, "Empresas\Grales\Formatos\ReciboDePagoGOPDF.rdlc")
|
||||
|
||||
|
||||
|
||||
'ModExtensiones.GuardaLog(" '--------PDF GenGoPdf Inicia ")
|
||||
Dim Respuesta As Boolean = False
|
||||
|
||||
Dim Inicio As DateTime = DateTime.Now
|
||||
Dim goPdf As GoPdf.GoPdf = New GoPdf.GoPdf()
|
||||
Dim logotipo As Byte() = Nothing
|
||||
|
||||
Try
|
||||
Dim result = goPdf.ExportarPdf(XmlRutaArchivo, logotipo, "", RutaRDLC, New GoPdf.Modelos.DatosAdicionales() With {
|
||||
.DomicilioReceptor = ""
|
||||
})
|
||||
Dim Fin As DateTime = DateTime.Now
|
||||
|
||||
If result IsNot Nothing Then
|
||||
File.WriteAllBytes(PDFRutaArchivo, result)
|
||||
Respuesta = True
|
||||
Alert($"PDF Generado")
|
||||
Else
|
||||
Alert($"PDF Error se genero nulo", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
Dim NombreArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF"))
|
||||
|
||||
Catch ex As Exception
|
||||
Alert($"PDF Error {ex.Message} -- > {ex.StackTrace}", TipoMensaje.MsgAdvertencia)
|
||||
End Try
|
||||
|
||||
Alert("PDF Finaliza", TipoMensaje.MsgAdvertencia)
|
||||
|
||||
|
||||
Dim QR As ClbNegBICFDv3_2.ClsNegCBBGenerar = New ClbNegBICFDv3_2.ClsNegCBBGenerar()
|
||||
Dim cQr As Byte() = QR.GenerarCBBBytes(objxml.emisor.Rfc, objxml.receptor.Rfc, If(IsNothing(objxml.complemento.Pagos), objxml.comprobante.Total, objxml.complemento.Pagos.Monto), objxml.complemento.UUID)
|
||||
Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter)()
|
||||
parametros.Add(New ReportParameter("comprobante_Certificado", objxml.comprobante.Certificado))
|
||||
parametros.Add(New ReportParameter("comprobante_CondicionesDePago", objxml.comprobante.CondicionesDePago))
|
||||
parametros.Add(New ReportParameter("comprobante_Confirmacion", objxml.comprobante.Confirmacion))
|
||||
parametros.Add(New ReportParameter("comprobante_Fecha", objxml.comprobante.Fecha))
|
||||
parametros.Add(New ReportParameter("comprobante_Serie", objxml.comprobante.Serie))
|
||||
parametros.Add(New ReportParameter("comprobante_Folio", objxml.comprobante.Folio))
|
||||
parametros.Add(New ReportParameter("comprobante_Descuento", objxml.comprobante.Descuento.ToString("N2")))
|
||||
parametros.Add(New ReportParameter("comprobante_SubTotal", objxml.comprobante.SubTotal.ToString("N2")))
|
||||
parametros.Add(New ReportParameter("comprobante_Total", objxml.comprobante.Total.ToString("N2")))
|
||||
parametros.Add(New ReportParameter("comprobante_Version", objxml.comprobante.Version))
|
||||
parametros.Add(New ReportParameter("comprobante_TipoDeComprobante", objxml.comprobante.TipoDeComprobanteTexto))
|
||||
parametros.Add(New ReportParameter("comprobante_FormaPago", objxml.comprobante.FormaPagoTexto))
|
||||
parametros.Add(New ReportParameter("comprobante_LugarExpedicion", objxml.comprobante.LugarExpedicion))
|
||||
parametros.Add(New ReportParameter("comprobante_NoCertificado", objxml.comprobante.NoCertificado))
|
||||
parametros.Add(New ReportParameter("comprobante_Sello", objxml.comprobante.Sello))
|
||||
parametros.Add(New ReportParameter("comprobante_Moneda", objxml.comprobante.Moneda))
|
||||
parametros.Add(New ReportParameter("comprobante_TipoCambio", objxml.comprobante.TipoCambio.ToString("N2")))
|
||||
parametros.Add(New ReportParameter("comprobante_MetodoPago", objxml.comprobante.MetodoPagoTexto))
|
||||
parametros.Add(New ReportParameter("emisor_Rfc", objxml.emisor.Rfc))
|
||||
parametros.Add(New ReportParameter("emisor_Nombre", objxml.emisor.Nombre))
|
||||
parametros.Add(New ReportParameter("emisor_RegimenFiscal", objxml.emisor.RegimenFiscalTexto))
|
||||
parametros.Add(New ReportParameter("receptor_Rfc", objxml.receptor.Rfc))
|
||||
parametros.Add(New ReportParameter("receptor_Nombre", objxml.receptor.Nombre))
|
||||
parametros.Add(New ReportParameter("receptor_NumRegIdTrib", objxml.receptor.NumRegIdTrib))
|
||||
parametros.Add(New ReportParameter("receptor_ResidenciaFiscal", objxml.receptor.ResidenciaFiscal))
|
||||
parametros.Add(New ReportParameter("receptor_UsoCFDI", objxml.receptor.UsoCFDITexto))
|
||||
parametros.Add(New ReportParameter("complemento_FechaTimbrado", objxml.complemento.FechaTimbrado))
|
||||
parametros.Add(New ReportParameter("complemento_NoCertificadoSAT", objxml.complemento.NoCertificadoSAT))
|
||||
parametros.Add(New ReportParameter("complemento_RfcProvCertif", objxml.complemento.RfcProvCertif))
|
||||
parametros.Add(New ReportParameter("complemento_SelloCFD", objxml.complemento.SelloCFD))
|
||||
parametros.Add(New ReportParameter("complemento_SelloSAT", objxml.complemento.SelloSAT))
|
||||
parametros.Add(New ReportParameter("complemento_UUID", objxml.complemento.UUID))
|
||||
parametros.Add(New ReportParameter("complemento_CadenaOriginal", objxml.complemento.CadenaOriginal))
|
||||
If Not IsNothing(objxml.complemento.Pagos) Then
|
||||
parametros.Add(New ReportParameter("CPFechaPago", objxml.complemento.Pagos.FechaPago))
|
||||
parametros.Add(New ReportParameter("CPFormaDePagoP", objxml.complemento.Pagos.FormaDePagoP))
|
||||
parametros.Add(New ReportParameter("CPFormaDePagoPText", objxml.complemento.Pagos.FormaDePagoPText))
|
||||
parametros.Add(New ReportParameter("CPMonedaP", objxml.complemento.Pagos.MonedaP))
|
||||
parametros.Add(New ReportParameter("CPMonto", objxml.complemento.Pagos.Monto.ToString()))
|
||||
parametros.Add(New ReportParameter("CPTipoCambioP", objxml.complemento.Pagos.TipoCambioP.ToString()))
|
||||
parametros.Add(New ReportParameter("CPNumOperacion", objxml.complemento.Pagos.NumOperacion))
|
||||
parametros.Add(New ReportParameter("CPNomBancoOrdExt", objxml.complemento.Pagos.NomBancoOrdExt))
|
||||
parametros.Add(New ReportParameter("CPRfcEmisorCtaOrd", objxml.complemento.Pagos.RfcEmisorCtaOrd))
|
||||
parametros.Add(New ReportParameter("CPCtaOrdenante", objxml.complemento.Pagos.CtaOrdenante))
|
||||
parametros.Add(New ReportParameter("CPRfcEmisorCtaBen", objxml.complemento.Pagos.RfcEmisorCtaBen))
|
||||
parametros.Add(New ReportParameter("CPCtaBeneficiario", objxml.complemento.Pagos.CtaBeneficiario))
|
||||
|
||||
End If
|
||||
Using MR As ReportViewer = New ReportViewer()
|
||||
Dim rdsTotales As ReportDataSource = New ReportDataSource()
|
||||
Dim ltotales As List(Of utilValores) = New List(Of utilValores)()
|
||||
ltotales.Add(New utilValores("Subtotal", objxml.comprobante.SubTotal.ToString("N2")))
|
||||
|
||||
If objxml.comprobante.Descuento > 0 Then
|
||||
ltotales.Add(New utilValores("Descuento", objxml.comprobante.Descuento.ToString("N2")))
|
||||
End If
|
||||
'If Not IsNothing(objxml) Then
|
||||
' Dim rutaReporte As String = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3.rdlc")
|
||||
' If Not IsNothing(objxml.complemento.Pagos) Then
|
||||
' rutaReporte = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3Pago.rdlc")
|
||||
' End If
|
||||
' Dim NombreArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF"))
|
||||
|
||||
For Each item As CFDIImpuesto In objxml.Impuestos
|
||||
|
||||
If item.Importe > 0 Then
|
||||
Dim TasaOCuota As Decimal = 0
|
||||
Decimal.TryParse(item.TasaOCuota, TasaOCuota)
|
||||
ltotales.Add(New utilValores($"Impuestos {item.Tipo} {item.ImpuestoTexto} {(If(item.TipoFactor = "Tasa", (TasaOCuota * 100).ToString("N4"), item.TasaOCuota))} {(If(item.TipoFactor = "Tasa", "%", ""))}", item.Importe.ToString("N2")))
|
||||
End If
|
||||
Next
|
||||
' Dim QR As ClbNegBICFDv3_2.ClsNegCBBGenerar = New ClbNegBICFDv3_2.ClsNegCBBGenerar()
|
||||
' Dim cQr As Byte() = QR.GenerarCBBBytes(objxml.emisor.Rfc, objxml.receptor.Rfc, If(IsNothing(objxml.complemento.Pagos), objxml.comprobante.Total, objxml.complemento.Pagos.Monto), objxml.complemento.UUID)
|
||||
' Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter)()
|
||||
' parametros.Add(New ReportParameter("comprobante_Certificado", objxml.comprobante.Certificado))
|
||||
' parametros.Add(New ReportParameter("comprobante_CondicionesDePago", objxml.comprobante.CondicionesDePago))
|
||||
' parametros.Add(New ReportParameter("comprobante_Confirmacion", objxml.comprobante.Confirmacion))
|
||||
' parametros.Add(New ReportParameter("comprobante_Fecha", objxml.comprobante.Fecha))
|
||||
' parametros.Add(New ReportParameter("comprobante_Serie", objxml.comprobante.Serie))
|
||||
' parametros.Add(New ReportParameter("comprobante_Folio", objxml.comprobante.Folio))
|
||||
' parametros.Add(New ReportParameter("comprobante_Descuento", objxml.comprobante.Descuento.ToString("N2")))
|
||||
' parametros.Add(New ReportParameter("comprobante_SubTotal", objxml.comprobante.SubTotal.ToString("N2")))
|
||||
' parametros.Add(New ReportParameter("comprobante_Total", objxml.comprobante.Total.ToString("N2")))
|
||||
' parametros.Add(New ReportParameter("comprobante_Version", objxml.comprobante.Version))
|
||||
' parametros.Add(New ReportParameter("comprobante_TipoDeComprobante", objxml.comprobante.TipoDeComprobanteTexto))
|
||||
' parametros.Add(New ReportParameter("comprobante_FormaPago", objxml.comprobante.FormaPagoTexto))
|
||||
' parametros.Add(New ReportParameter("comprobante_LugarExpedicion", objxml.comprobante.LugarExpedicion))
|
||||
' parametros.Add(New ReportParameter("comprobante_NoCertificado", objxml.comprobante.NoCertificado))
|
||||
' parametros.Add(New ReportParameter("comprobante_Sello", objxml.comprobante.Sello))
|
||||
' parametros.Add(New ReportParameter("comprobante_Moneda", objxml.comprobante.Moneda))
|
||||
' parametros.Add(New ReportParameter("comprobante_TipoCambio", objxml.comprobante.TipoCambio.ToString("N2")))
|
||||
' parametros.Add(New ReportParameter("comprobante_MetodoPago", objxml.comprobante.MetodoPagoTexto))
|
||||
' parametros.Add(New ReportParameter("emisor_Rfc", objxml.emisor.Rfc))
|
||||
' parametros.Add(New ReportParameter("emisor_Nombre", objxml.emisor.Nombre))
|
||||
' parametros.Add(New ReportParameter("emisor_RegimenFiscal", objxml.emisor.RegimenFiscalTexto))
|
||||
' parametros.Add(New ReportParameter("receptor_Rfc", objxml.receptor.Rfc))
|
||||
' parametros.Add(New ReportParameter("receptor_Nombre", objxml.receptor.Nombre))
|
||||
' parametros.Add(New ReportParameter("receptor_NumRegIdTrib", objxml.receptor.NumRegIdTrib))
|
||||
' parametros.Add(New ReportParameter("receptor_ResidenciaFiscal", objxml.receptor.ResidenciaFiscal))
|
||||
' parametros.Add(New ReportParameter("receptor_UsoCFDI", objxml.receptor.UsoCFDITexto))
|
||||
' parametros.Add(New ReportParameter("complemento_FechaTimbrado", objxml.complemento.FechaTimbrado))
|
||||
' parametros.Add(New ReportParameter("complemento_NoCertificadoSAT", objxml.complemento.NoCertificadoSAT))
|
||||
' parametros.Add(New ReportParameter("complemento_RfcProvCertif", objxml.complemento.RfcProvCertif))
|
||||
' parametros.Add(New ReportParameter("complemento_SelloCFD", objxml.complemento.SelloCFD))
|
||||
' parametros.Add(New ReportParameter("complemento_SelloSAT", objxml.complemento.SelloSAT))
|
||||
' parametros.Add(New ReportParameter("complemento_UUID", objxml.complemento.UUID))
|
||||
' parametros.Add(New ReportParameter("complemento_CadenaOriginal", objxml.complemento.CadenaOriginal))
|
||||
' If Not IsNothing(objxml.complemento.Pagos) Then
|
||||
' parametros.Add(New ReportParameter("CPFechaPago", objxml.complemento.Pagos.FechaPago))
|
||||
' parametros.Add(New ReportParameter("CPFormaDePagoP", objxml.complemento.Pagos.FormaDePagoP))
|
||||
' parametros.Add(New ReportParameter("CPFormaDePagoPText", objxml.complemento.Pagos.FormaDePagoPText))
|
||||
' parametros.Add(New ReportParameter("CPMonedaP", objxml.complemento.Pagos.MonedaP))
|
||||
' parametros.Add(New ReportParameter("CPMonto", objxml.complemento.Pagos.Monto.ToString()))
|
||||
' parametros.Add(New ReportParameter("CPTipoCambioP", objxml.complemento.Pagos.TipoCambioP.ToString()))
|
||||
' parametros.Add(New ReportParameter("CPNumOperacion", objxml.complemento.Pagos.NumOperacion))
|
||||
' parametros.Add(New ReportParameter("CPNomBancoOrdExt", objxml.complemento.Pagos.NomBancoOrdExt))
|
||||
' parametros.Add(New ReportParameter("CPRfcEmisorCtaOrd", objxml.complemento.Pagos.RfcEmisorCtaOrd))
|
||||
' parametros.Add(New ReportParameter("CPCtaOrdenante", objxml.complemento.Pagos.CtaOrdenante))
|
||||
' parametros.Add(New ReportParameter("CPRfcEmisorCtaBen", objxml.complemento.Pagos.RfcEmisorCtaBen))
|
||||
' parametros.Add(New ReportParameter("CPCtaBeneficiario", objxml.complemento.Pagos.CtaBeneficiario))
|
||||
|
||||
ltotales.Add(New utilValores("Total", objxml.comprobante.Total.ToString("N2")))
|
||||
rdsTotales.Name = "dsTotales"
|
||||
rdsTotales.Value = ltotales
|
||||
MR.LocalReport.DataSources.Add(rdsTotales)
|
||||
Dim rds2 As ReportDataSource = New ReportDataSource()
|
||||
Dim limagenes As List(Of utilImage) = New List(Of utilImage)()
|
||||
limagenes.Add(New utilImage(cQr))
|
||||
rds2.Name = "dsImagenes"
|
||||
rds2.Value = limagenes
|
||||
MR.LocalReport.DataSources.Add(rds2)
|
||||
Dim rdsrelacionados As ReportDataSource = New ReportDataSource()
|
||||
rdsrelacionados.Name = "dsRelacionados"
|
||||
rdsrelacionados.Value = objxml.cFDIRelacionados
|
||||
MR.LocalReport.DataSources.Add(rdsrelacionados)
|
||||
Dim rds1 As ReportDataSource = New ReportDataSource()
|
||||
rds1.Name = "dsConceptos"
|
||||
rds1.Value = objxml.GetConceptosforpdf()
|
||||
MR.LocalReport.DataSources.Add(rds1)
|
||||
' End If
|
||||
' Using MR As ReportViewer = New ReportViewer()
|
||||
' Dim rdsTotales As ReportDataSource = New ReportDataSource()
|
||||
' Dim ltotales As List(Of utilValores) = New List(Of utilValores)()
|
||||
' ltotales.Add(New utilValores("Subtotal", objxml.comprobante.SubTotal.ToString("N2")))
|
||||
|
||||
If Not IsNothing(objxml.complemento.Pagos) Then
|
||||
' If objxml.comprobante.Descuento > 0 Then
|
||||
' ltotales.Add(New utilValores("Descuento", objxml.comprobante.Descuento.ToString("N2")))
|
||||
' End If
|
||||
|
||||
Dim rdsp As ReportDataSource = New ReportDataSource()
|
||||
rdsp.Name = "dsPagos"
|
||||
rdsp.Value = objxml.complemento.Pagos.doctosRelacionados
|
||||
MR.LocalReport.DataSources.Add(rdsp)
|
||||
End If
|
||||
' For Each item As CFDIImpuesto In objxml.Impuestos
|
||||
|
||||
' If item.Importe > 0 Then
|
||||
' Dim TasaOCuota As Decimal = 0
|
||||
' Decimal.TryParse(item.TasaOCuota, TasaOCuota)
|
||||
' ltotales.Add(New utilValores($"Impuestos {item.Tipo} {item.ImpuestoTexto} {(If(item.TipoFactor = "Tasa", (TasaOCuota * 100).ToString("N4"), item.TasaOCuota))} {(If(item.TipoFactor = "Tasa", "%", ""))}", item.Importe.ToString("N2")))
|
||||
' End If
|
||||
' Next
|
||||
|
||||
' ltotales.Add(New utilValores("Total", objxml.comprobante.Total.ToString("N2")))
|
||||
' rdsTotales.Name = "dsTotales"
|
||||
' rdsTotales.Value = ltotales
|
||||
' MR.LocalReport.DataSources.Add(rdsTotales)
|
||||
' Dim rds2 As ReportDataSource = New ReportDataSource()
|
||||
' Dim limagenes As List(Of utilImage) = New List(Of utilImage)()
|
||||
' limagenes.Add(New utilImage(cQr))
|
||||
' rds2.Name = "dsImagenes"
|
||||
' rds2.Value = limagenes
|
||||
' MR.LocalReport.DataSources.Add(rds2)
|
||||
' Dim rdsrelacionados As ReportDataSource = New ReportDataSource()
|
||||
' rdsrelacionados.Name = "dsRelacionados"
|
||||
' rdsrelacionados.Value = objxml.cFDIRelacionados
|
||||
' MR.LocalReport.DataSources.Add(rdsrelacionados)
|
||||
' Dim rds1 As ReportDataSource = New ReportDataSource()
|
||||
' rds1.Name = "dsConceptos"
|
||||
' rds1.Value = objxml.GetConceptosforpdf()
|
||||
' MR.LocalReport.DataSources.Add(rds1)
|
||||
|
||||
' If Not IsNothing(objxml.complemento.Pagos) Then
|
||||
|
||||
' Dim rdsp As ReportDataSource = New ReportDataSource()
|
||||
' rdsp.Name = "dsPagos"
|
||||
' rdsp.Value = objxml.complemento.Pagos.doctosRelacionados
|
||||
' MR.LocalReport.DataSources.Add(rdsp)
|
||||
' End If
|
||||
|
||||
' MR.LocalReport.ReportPath = rutaReporte
|
||||
' MR.ProcessingMode = ProcessingMode.Local
|
||||
' MR.LocalReport.EnableExternalImages = True
|
||||
' MR.LocalReport.SetParameters(parametros)
|
||||
' MR.LocalReport.Refresh()
|
||||
' Dim warnings As Warning() = Nothing
|
||||
' Dim streamids As String() = Nothing
|
||||
' Dim mimeType As String = Nothing
|
||||
' Dim encoding As String = Nothing
|
||||
' Dim extension As String = Nothing
|
||||
' Dim bytes As Byte() = Nothing
|
||||
' bytes = MR.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings)
|
||||
|
||||
' Using fs As FileStream = New FileStream(NombreArchivo, FileMode.Create)
|
||||
' fs.Write(bytes, 0, bytes.Length)
|
||||
' fs.Close()
|
||||
' End Using
|
||||
' End Using
|
||||
' Alert("PDF Generado!")
|
||||
'Else
|
||||
' Alert("no se pudo procesar el archivo xml")
|
||||
'End If
|
||||
|
||||
MR.LocalReport.ReportPath = rutaReporte
|
||||
MR.ProcessingMode = ProcessingMode.Local
|
||||
MR.LocalReport.EnableExternalImages = True
|
||||
MR.LocalReport.SetParameters(parametros)
|
||||
MR.LocalReport.Refresh()
|
||||
Dim warnings As Warning() = Nothing
|
||||
Dim streamids As String() = Nothing
|
||||
Dim mimeType As String = Nothing
|
||||
Dim encoding As String = Nothing
|
||||
Dim extension As String = Nothing
|
||||
Dim bytes As Byte() = Nothing
|
||||
bytes = MR.LocalReport.Render("PDF", Nothing, mimeType, encoding, extension, streamids, warnings)
|
||||
|
||||
Using fs As FileStream = New FileStream(NombreArchivo, FileMode.Create)
|
||||
fs.Write(bytes, 0, bytes.Length)
|
||||
fs.Close()
|
||||
End Using
|
||||
End Using
|
||||
Alert("PDF Generado!")
|
||||
Else
|
||||
Alert("no se pudo procesar el archivo xml")
|
||||
End If
|
||||
End Sub
|
||||
Private Sub VinculacionMasivaComplementos()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user