Compras correciones, no actualiza iva al editar despues de asignar, AF insumos check de AF encontrado mantener activo
This commit is contained in:
@@ -28,6 +28,7 @@ Imports System.Drawing
|
||||
Imports Microsoft.Owin.Security.Provider
|
||||
Imports Telerik.Web.UI
|
||||
Imports Stimulsoft.Base.StiDbType
|
||||
|
||||
'Imports Telerik.Web.UI
|
||||
|
||||
|
||||
@@ -1577,9 +1578,6 @@ Partial Class Compras_eFacturas
|
||||
Dim swTiempo As New StringBuilder
|
||||
sw.Start()
|
||||
|
||||
|
||||
|
||||
|
||||
For Each comprmido As String In ListComprimidos
|
||||
|
||||
Dim FiInfo As New FileInfo(comprmido)
|
||||
@@ -4204,6 +4202,8 @@ Partial Class Compras_eFacturas
|
||||
|
||||
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")))
|
||||
|
||||
@@ -8966,7 +8966,9 @@ Namespace ADS.eFacturas
|
||||
Public Sub ImprimirPDF(UsuarioActual As Usuario, NombreArchivo As String, DirectorioEmpresa As String, TipodeComprobante As String)
|
||||
Dim objxml As XmlSatCFDI = Me
|
||||
|
||||
Dim rutaReporte As String = If(TipodeComprobante = "Pag", "Grales\Formatos\CFDIV3Pago.rdlc", "Grales\Formatos\CFDIV3.rdlc")
|
||||
Dim rutaReporte As String = $"{DirectorioEmpresas}{If(TipodeComprobante = "Pag", "Grales\Formatos\CFDIV3Pago.rdlc", "Grales\Formatos\CFDIV3.rdlc")}"
|
||||
|
||||
'Dim rutaReporte As String = If(TipodeComprobante = "Pag", "Grales\Formatos\CFDIV3Pago.rdlc", "Grales\Formatos\CFDIV3.rdlc")
|
||||
|
||||
|
||||
Dim cQr As Byte() = Nothing
|
||||
@@ -9035,46 +9037,173 @@ Namespace ADS.eFacturas
|
||||
Dim listaDS As New List(Of ReportDataSource)
|
||||
Dim rdsTotales As New ReportDataSource()
|
||||
Dim ltotales As New List(Of utilValores)()
|
||||
|
||||
Dim DTTotales As New DataTable
|
||||
DTTotales.TableName = "DTTotales"
|
||||
DTTotales.Columns.Add("Nombre")
|
||||
DTTotales.Columns.Add("Valor")
|
||||
|
||||
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
|
||||
Dim nRow As DataRow = DTTotales.NewRow
|
||||
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")))
|
||||
|
||||
nRow("Nombre") = $"Impuestos {item.Tipo} {item.ImpuestoTexto} {(If(item.TipoFactor = "Tasa", (TasaOCuota * 100).ToString("N4"), item.TasaOCuota))} {(If(item.TipoFactor = "Tasa", "%", ""))}"
|
||||
nRow("Valor") = item.Importe.ToString("N2")
|
||||
DTTotales.Rows.Add(nRow)
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
ltotales.Add(New utilValores("Total", objxml.comprobante.Total.ToString("N2")))
|
||||
rdsTotales.Name = "dsTotales"
|
||||
rdsTotales.Value = ltotales
|
||||
rdsTotales.Value = DTTotales 'ltotales.ToDataTable
|
||||
listaDS.Add(rdsTotales)
|
||||
|
||||
|
||||
Dim dtByte As New DataTable()
|
||||
dtByte.Columns.Add("ImagenByte", GetType(Byte()))
|
||||
dtByte.TableName = "dtImagenes"
|
||||
Dim nrowByteArray As DataRow = dtByte.NewRow
|
||||
nrowByteArray("ImagenByte") = cQr
|
||||
dtByte.Rows.Add(nrowByteArray)
|
||||
|
||||
'byteArrayList.Add(cQr)
|
||||
Dim rds2 As New ReportDataSource()
|
||||
Dim limagenes As New List(Of utilImage)()
|
||||
limagenes.Add(New utilImage(cQr))
|
||||
'Dim limagenes As New List(Of utilImage)()
|
||||
'limagenes.Add(New utilImage(cQr))
|
||||
rds2.Name = "dsImagenes"
|
||||
rds2.Value = limagenes
|
||||
rds2.Value = dtByte
|
||||
listaDS.Add(rds2)
|
||||
|
||||
|
||||
Dim dtRelacionados As New DataTable
|
||||
dtRelacionados.TableName = "dtRelacionados"
|
||||
dtRelacionados.Columns.Add("TipoRelacion")
|
||||
dtRelacionados.Columns.Add("TipoRelacionTexto")
|
||||
dtRelacionados.Columns.Add("UUID")
|
||||
|
||||
|
||||
For Each relaciondo As CFDIRelacionado In objxml.cFDIRelacionados
|
||||
Dim CFDIRelacionadoRow As DataRow = dtRelacionados.NewRow
|
||||
CFDIRelacionadoRow("TipoRelacion") = relaciondo.TipoRelacion
|
||||
CFDIRelacionadoRow("TipoRelacionTexto") = relaciondo.TipoRelacionTexto
|
||||
CFDIRelacionadoRow("UUID") = relaciondo.UUID
|
||||
dtRelacionados.Rows.Add(CFDIRelacionadoRow)
|
||||
Next
|
||||
|
||||
Dim rdsrelacionados As New ReportDataSource()
|
||||
rdsrelacionados.Name = "dsRelacionados"
|
||||
rdsrelacionados.Value = objxml.cFDIRelacionados
|
||||
rdsrelacionados.Value = dtRelacionados 'objxml.cFDIRelacionados
|
||||
listaDS.Add(rdsrelacionados)
|
||||
|
||||
|
||||
|
||||
Dim dtConceptos As New DataTable
|
||||
dtConceptos.TableName = "dtConceptos"
|
||||
dtConceptos.Columns.Add("tipo", GetType(Integer))
|
||||
dtConceptos.Columns.Add("orden", GetType(Integer))
|
||||
dtConceptos.Columns.Add("ClaveProdServ", GetType(String))
|
||||
dtConceptos.Columns.Add("NoIdentificacion", GetType(String))
|
||||
dtConceptos.Columns.Add("Cantidad", GetType(String)) ' Nota: Se asume que es cadena, cambiar si necesario
|
||||
dtConceptos.Columns.Add("ClaveUnidad", GetType(String))
|
||||
dtConceptos.Columns.Add("Unidad", GetType(String))
|
||||
dtConceptos.Columns.Add("ValorUnitario", GetType(Decimal))
|
||||
dtConceptos.Columns.Add("Importe", GetType(Decimal))
|
||||
dtConceptos.Columns.Add("Descuento", GetType(Decimal))
|
||||
dtConceptos.Columns.Add("NumeroPedimento", GetType(String))
|
||||
dtConceptos.Columns.Add("CuentaPredial", GetType(String))
|
||||
dtConceptos.Columns.Add("Descripcion", GetType(String))
|
||||
dtConceptos.Columns.Add("Impuesto", GetType(String))
|
||||
dtConceptos.Columns.Add("Impuesto_Tipo", GetType(String))
|
||||
dtConceptos.Columns.Add("Impuesto_Base", GetType(Decimal))
|
||||
dtConceptos.Columns.Add("Impuesto_TipoFactor", GetType(String))
|
||||
dtConceptos.Columns.Add("Impuesto_TasaOCuota", GetType(String))
|
||||
dtConceptos.Columns.Add("Impuesto_Importe", GetType(Decimal))
|
||||
|
||||
For Each concepto As CFDIConcepto_I In objxml.GetConceptosforpdf()
|
||||
Dim CFDIRelacionadoRow As DataRow = dtConceptos.NewRow
|
||||
|
||||
CFDIRelacionadoRow("tipo") = concepto.tipo
|
||||
CFDIRelacionadoRow("orden") = concepto.orden
|
||||
CFDIRelacionadoRow("ClaveProdServ") = concepto.ClaveProdServ
|
||||
CFDIRelacionadoRow("NoIdentificacion") = concepto.NoIdentificacion
|
||||
CFDIRelacionadoRow("Cantidad") = concepto.Cantidad
|
||||
CFDIRelacionadoRow("ClaveUnidad") = concepto.ClaveUnidad
|
||||
CFDIRelacionadoRow("Unidad") = concepto.Unidad
|
||||
CFDIRelacionadoRow("ValorUnitario") = concepto.ValorUnitario
|
||||
CFDIRelacionadoRow("Importe") = concepto.Importe
|
||||
CFDIRelacionadoRow("Descuento") = concepto.Descuento
|
||||
CFDIRelacionadoRow("NumeroPedimento") = concepto.NumeroPedimento
|
||||
CFDIRelacionadoRow("CuentaPredial") = concepto.CuentaPredial
|
||||
CFDIRelacionadoRow("Descripcion") = concepto.Descripcion
|
||||
CFDIRelacionadoRow("Impuesto") = concepto.Impuesto
|
||||
CFDIRelacionadoRow("Impuesto_Tipo") = concepto.Impuesto_Tipo
|
||||
CFDIRelacionadoRow("Impuesto_Base") = concepto.Impuesto_Base
|
||||
CFDIRelacionadoRow("Impuesto_TipoFactor") = concepto.Impuesto_TipoFactor
|
||||
CFDIRelacionadoRow("Impuesto_TasaOCuota") = If(concepto.Impuesto_TasaOCuota Is Nothing, "", concepto.Impuesto_TasaOCuota)
|
||||
CFDIRelacionadoRow("Impuesto_Importe") = If(concepto.Impuesto_Importe > 0, concepto.Impuesto_Importe, 0)
|
||||
|
||||
dtConceptos.Rows.Add(CFDIRelacionadoRow)
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Dim rds1 As New ReportDataSource()
|
||||
rds1.Name = "dsConceptos"
|
||||
rds1.Value = objxml.GetConceptosforpdf()
|
||||
rds1.Value = dtConceptos 'objxml.GetConceptosforpdf()
|
||||
listaDS.Add(rds1)
|
||||
|
||||
|
||||
If objxml.complemento.Pagos IsNot Nothing Then
|
||||
|
||||
' Crear un nuevo DataTable y agregar las columnas correspondientes
|
||||
Dim DTdoctosRelacionados As New DataTable()
|
||||
DTdoctosRelacionados.TableName = "dtDocumentos"
|
||||
|
||||
' Agregar todas las columnas respetando los tipos de datos
|
||||
DTdoctosRelacionados.Columns.Add("IdDocumento", GetType(String))
|
||||
DTdoctosRelacionados.Columns.Add("Serie", GetType(String))
|
||||
DTdoctosRelacionados.Columns.Add("Folio", GetType(String))
|
||||
DTdoctosRelacionados.Columns.Add("MonedaDR", GetType(String))
|
||||
DTdoctosRelacionados.Columns.Add("MetodoDePagoDR", GetType(String))
|
||||
DTdoctosRelacionados.Columns.Add("NumParcialidad", GetType(String))
|
||||
DTdoctosRelacionados.Columns.Add("ImpSaldoAnt", GetType(Decimal))
|
||||
DTdoctosRelacionados.Columns.Add("ImpPagado", GetType(Decimal))
|
||||
DTdoctosRelacionados.Columns.Add("ImpSaldoInsoluto", GetType(Decimal))
|
||||
|
||||
' Llenar el DataTable con los valores de la lista de documentos
|
||||
For Each doctosRelacionado As CFDIPagoDoctoRelacionado In objxml.complemento.Pagos.doctosRelacionados
|
||||
Dim nRowdoctosRelacionados As DataRow = DTdoctosRelacionados.NewRow()
|
||||
|
||||
' Asignar valores a cada columna desde las propiedades del objeto documento
|
||||
nRowdoctosRelacionados("IdDocumento") = doctosRelacionado.IdDocumento
|
||||
nRowdoctosRelacionados("Serie") = doctosRelacionado.Serie
|
||||
nRowdoctosRelacionados("Folio") = doctosRelacionado.Folio
|
||||
nRowdoctosRelacionados("MonedaDR") = doctosRelacionado.MonedaDR
|
||||
nRowdoctosRelacionados("MetodoDePagoDR") = doctosRelacionado.MetodoDePagoDR
|
||||
nRowdoctosRelacionados("NumParcialidad") = doctosRelacionado.NumParcialidad
|
||||
nRowdoctosRelacionados("ImpSaldoAnt") = doctosRelacionado.ImpSaldoAnt
|
||||
nRowdoctosRelacionados("ImpPagado") = doctosRelacionado.ImpPagado
|
||||
nRowdoctosRelacionados("ImpSaldoInsoluto") = doctosRelacionado.ImpSaldoInsoluto
|
||||
|
||||
' Agregar la fila al DataTable
|
||||
DTdoctosRelacionados.Rows.Add(nRowdoctosRelacionados)
|
||||
Next
|
||||
|
||||
Dim rdsp As New ReportDataSource()
|
||||
rdsp.Name = "dsPagos"
|
||||
rdsp.Value = objxml.complemento.Pagos.doctosRelacionados
|
||||
rdsp.Value = DTdoctosRelacionados ' objxml.complemento.Pagos.doctosRelacionados
|
||||
listaDS.Add(rdsp)
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
@@ -9097,6 +9226,11 @@ Namespace ADS.eFacturas
|
||||
End Sub
|
||||
|
||||
Public Class utilValores
|
||||
|
||||
Public Sub New()
|
||||
' Constructor sin parámetros
|
||||
End Sub
|
||||
|
||||
Public Sub New(nombre As String, valor As String)
|
||||
Me.Nombre = nombre
|
||||
Me.Valor = valor
|
||||
|
||||
Reference in New Issue
Block a user