diff --git a/Bin/APP_Code_CSharp.dll b/Bin/APP_Code_CSharp.dll
index 7e7523cc5..becf87606 100644
Binary files a/Bin/APP_Code_CSharp.dll and b/Bin/APP_Code_CSharp.dll differ
diff --git a/Bin/APP_Code_CSharp.pdb b/Bin/APP_Code_CSharp.pdb
index 9f610333e..e08316fcb 100644
Binary files a/Bin/APP_Code_CSharp.pdb and b/Bin/APP_Code_CSharp.pdb differ
diff --git a/Bin/ClbNegBICFDv3_2.dll b/Bin/ClbNegBICFDv3_2.dll
index 8ccf14b8c..fb9e13010 100644
Binary files a/Bin/ClbNegBICFDv3_2.dll and b/Bin/ClbNegBICFDv3_2.dll differ
diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx
index a3b6472f7..5f537d57a 100644
--- a/Compras/eFacturas.aspx
+++ b/Compras/eFacturas.aspx
@@ -301,7 +301,7 @@
No Recibidas
-
@@ -338,7 +338,7 @@
-
+
@@ -380,6 +380,12 @@
+
+
+
+
+
+
diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb
index 683c2a728..ef2355aba 100644
--- a/Compras/eFacturas.aspx.vb
+++ b/Compras/eFacturas.aspx.vb
@@ -1017,7 +1017,7 @@ Partial Class Compras_eFacturas
e.Row.FCLinkButton("LnkAgregarPagoP").Visible = True
End If
Else
- e.Row.FCLiteral("LtlXML").Text = "N/D"
+ e.Row.FCLiteral("LtlXML").Text = "N/D" ' String.Format("{0}{1}\{2}", Destino, e.Row.DBCampo("RFCDe"), e.Row.DBCampo("XML")) '
If e.Row.DBCampo("TipoComprobante") = "P" Then
e.Row.FCLinkButton("LnkAgregarPagoP").Visible = False
End If
@@ -1026,7 +1026,7 @@ Partial Class Compras_eFacturas
If File.Exists(String.Format("{0}{1}/{2}", Destino, e.Row.DBCampo("RFCDe"), e.Row.DBCampo("PDF"))) Then
e.Row.FCLiteral("LtlPDF").Text = String.Format("Ver", HttpUtility.UrlEncode(e.Row.DBCampo("RFCDe")), HttpUtility.UrlEncode(e.Row.DBCampo("PDF")))
Else
- e.Row.FCLiteral("LtlPDF").Text = "N/D"
+ e.Row.FCLiteral("LtlPDF").Text = "N/D" ' String.Format("{0}{1}/{2}", Destino, e.Row.DBCampo("RFCDe"), e.Row.DBCampo("PDF"))
End If
If e.Row.DBCampo("FueValidado").Contiene("1", "2", "3") Then
@@ -3142,4 +3142,134 @@ Partial Class Compras_eFacturas
Response.End()
End If
End Sub
+ 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}", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\Grales\Formatos\CFDIV3.rdlc")
+ If Not IsNothing(objxml.complemento.Pagos) Then
+ rutaReporte = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\Grales\Formatos\CFDIV3Pago.rdlc")
+ End If
+ Dim NombreArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF"))
+
+
+ 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
+
+ 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
+ End Sub
End Class
\ No newline at end of file
diff --git a/Scripts/custom.js b/Scripts/custom.js
index 2444aef7f..3df5108f9 100644
--- a/Scripts/custom.js
+++ b/Scripts/custom.js
@@ -1738,10 +1738,23 @@ function loaderEnd() {
}, 10);
}
+
jQuery(document).ready(function () {
$("body").on("click", ".ajax__tab_outer .ajax__tab_inner .ajax__tab_tab", function () {
setTimeout(loadadscroll, 10);
});
+//KeppMenuOpen
+ {
+ let varpath = window.location.pathname;
+ if (window.location.pathname != '') {
+ let textfinder = '.page-sidebar-menu a[href="' + varpath + '"]';
+ let objmenu = $($(textfinder)[0]);
+ objmenu.parents().filter("li").addClass('active open')
+ objmenu.parents().filter(".sub-menu").css("display", "")
+
+ }
+ }
+
$('body').on('click', '.tab-wizard > .ajax__tab_header > span,.tab-wizard2 > .ajax__tab_header > span', function (e) {
let padre = $(this).closest('.tab-wizard,.tab-wizard2 ');