diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 9292e9dab..8dfcc177b 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -6702,11 +6702,17 @@ Public Class ClsPaginas
Dim ImgCBB As String
Dim RutaFormato As String = String.Format("{0}Formatos\Nomina.rdlc", RutaEmpresa)
Dim RutaFormatoDefault As String = String.Format("Empresas\Grales\Formatos\Nomina.rdlc")
+ Dim CFDIVersion As String = ""
+ Dim UsoCFDI As String = ""
+
+
+
'SI ESTA TIMBRADA - CON XML
If System.IO.File.Exists(PathXML) Then
Dim XmlDoc As New System.Xml.XmlDocument
'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml")
XmlDoc.Load(PathXML)
+
If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then
FechaEmision = XmlDoc.DocumentElement.Attributes("Fecha").InnerText.ToDate
NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("NoCertificado").InnerText
@@ -6733,6 +6739,27 @@ Public Class ClsPaginas
Next
End If
+
+
+ Try
+ CFDIVersion = ValorNodoXML(XmlDoc.DocumentElement, "version")
+
+
+ Dim nsManager As New XmlNamespaceManager(XmlDoc.NameTable)
+ nsManager.AddNamespace("cfdi", If(CFDIVersion = "4.0", "http://www.sat.gob.mx/cfd/4", "http://www.sat.gob.mx/cfd/3"))
+
+ Dim receptorNode As XmlNode = XmlDoc.SelectSingleNode("/cfdi:comprobante/cfdi:emisor/cfdi:receptor", nsManager)
+
+ If receptorNode IsNot Nothing Then
+ UsoCFDI = ValorNodoXML(receptorNode, "usocfdi")
+ UsoCFDI = GlobalDTSATUsosCFDI(-1, "-1").FiltroPrimeroValor("UsoCFDIDescripcion", $" UsoCFDI = '{UsoCFDI}' ")
+ End If
+
+
+ Catch ex As Exception
+
+ End Try
+
'SIN TIMBRAR - SIN XML
Else
FolioFiscal = "Sin Timbrar"
@@ -6860,6 +6887,9 @@ Public Class ClsPaginas
RptParametro.Add(New ReportParameter("CadenaOriginal", CadenaOriginalCFD))
RptParametro.Add(New ReportParameter("QR", ImgCBB.ToString))
+ RptParametro.Add(New ReportParameter("CFDIVersion", CFDIVersion))
+ RptParametro.Add(New ReportParameter("UsoCFDI", UsoCFDI))
+
Dim LSRds As New List(Of ReportDataSource)
Dim rds2 = New ReportDataSource()
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index 64289248f..45b574d7b 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -3908,7 +3908,8 @@ Namespace Modelos
Dim CvePS = RowGarantia("CvePS").ToString().ToEntero()
Dim CveTamaño As Integer = RowGarantia("CveTamaño").ToString().ToEntero()
Dim CveUM As Integer = RowGarantia("CveUnidadMedida").ToString().ToEntero()
- Dim PU As Decimal = RowGarantia("Importe").ToString().ToDecimal() ' / RowGarantia("Cantidad").ToString().ToDouble()
+ Dim PU As Decimal = 0 ' el valor de garántía debe de ser cero, tema contable
+ ' Dim PU As Decimal = RowGarantia("Importe").ToString().ToDecimal() ' / RowGarantia("Cantidad").ToString().ToDouble()
Dim Serie As String = RowGarantia("Comprobante").ToString
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoGarantia, RowGarantia("Cantidad").ToString().ToDouble(), CveUM, CvePS, PU, Serie:=Serie, CveVentaDetalle:=IIf(RowGarantia("MismoCvePS").ToString = "1", RowGarantia("CveVentaDetalle"), -1).ToString.ToEntero) Then
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index daf80962c..9656f3e26 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -1472,8 +1472,8 @@ Public Class Timbrado
If concep.Unidad <> "" Then comprobante.Conceptos(i).Unidad = concep.Unidad
comprobante.Conceptos(i).ClaveUnidad = concep.ClaveUnidad
comprobante.Conceptos(i).Descripcion = concep.Descripcion
- comprobante.Conceptos(i).ValorUnitario = concep.ValorUnitario.RoundSQL(6)
- comprobante.Conceptos(i).Importe = concep.Importe.RoundSQL(NumDecimalesImporte)
+ comprobante.Conceptos(i).ValorUnitario = Decimal.Parse(concep.ValorUnitario.ToString("0.00####")) ' formateo forzoso, ej,2543.1
+ comprobante.Conceptos(i).Importe = Decimal.Parse(concep.Importe.RoundSQL(NumDecimalesImporte).ToString("0.00")) ' formateo forzoso, ej,2543.1
comprobante.Conceptos(i).ClaveProdServ = concep.ClaveProdServ
comprobante.Conceptos(i).ObjetoImp = concep.ObjetoImpuesto
@@ -2141,16 +2141,19 @@ Public Class Timbrado
If concep.NumRegidTribFigura <> "" Then ComCartaPorte.FiguraTransporte(i).NumRegIdTribFigura = concep.NumRegidTribFigura
'OComCartaPorte.FiguraTransporte.Operadores(i)(0) = concep.ResidenciaFiscalOperador 'falta
- ComCartaPorte.FiguraTransporte(i).Domicilio = New ProfactCartaPorte.CartaPorteTiposFiguraDomicilio()
- ComCartaPorte.FiguraTransporte(i).Domicilio.Calle = concep.Domicilio.Calle
- If concep.Domicilio.NumeroInterior <> "" Then ComCartaPorte.FiguraTransporte(i).Domicilio.NumeroInterior = concep.Domicilio.NumeroInterior
- ComCartaPorte.FiguraTransporte(i).Domicilio.CodigoPostal = concep.Domicilio.CP
- If concep.Domicilio.Colonia <> "" Then ComCartaPorte.FiguraTransporte(i).Domicilio.Colonia = concep.Domicilio.Colonia
- ComCartaPorte.FiguraTransporte(i).Domicilio.Estado = concep.Domicilio.Estado
- If concep.Domicilio.Localidad <> "" Then ComCartaPorte.FiguraTransporte(i).Domicilio.Localidad = concep.Domicilio.Localidad
- ComCartaPorte.FiguraTransporte(i).Domicilio.Municipio = concep.Domicilio.Municipio
- If concep.Domicilio.NumeroExterior <> "" Then ComCartaPorte.FiguraTransporte(i).Domicilio.NumeroExterior = concep.Domicilio.NumeroExterior
- ComCartaPorte.FiguraTransporte(i).Domicilio.Pais = ProfactCartaPorte.c_Pais.MEX
+ If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador
+ ComCartaPorte.FiguraTransporte(i).Domicilio = New ProfactCartaPorte.CartaPorteTiposFiguraDomicilio()
+ ComCartaPorte.FiguraTransporte(i).Domicilio.Calle = concep.Domicilio.Calle
+ If concep.Domicilio.NumeroInterior <> "" Then ComCartaPorte.FiguraTransporte(i).Domicilio.NumeroInterior = concep.Domicilio.NumeroInterior
+ ComCartaPorte.FiguraTransporte(i).Domicilio.CodigoPostal = concep.Domicilio.CP
+ If concep.Domicilio.Colonia <> "" Then ComCartaPorte.FiguraTransporte(i).Domicilio.Colonia = concep.Domicilio.Colonia
+ ComCartaPorte.FiguraTransporte(i).Domicilio.Estado = concep.Domicilio.Estado
+ If concep.Domicilio.Localidad <> "" Then ComCartaPorte.FiguraTransporte(i).Domicilio.Localidad = concep.Domicilio.Localidad
+ ComCartaPorte.FiguraTransporte(i).Domicilio.Municipio = concep.Domicilio.Municipio
+ If concep.Domicilio.NumeroExterior <> "" Then ComCartaPorte.FiguraTransporte(i).Domicilio.NumeroExterior = concep.Domicilio.NumeroExterior
+ ComCartaPorte.FiguraTransporte(i).Domicilio.Pais = ProfactCartaPorte.c_Pais.MEX
+
+ End If
i += 1
Next
diff --git a/Bancos/FlujoDiario.aspx b/Bancos/FlujoDiario.aspx
index bbe317b6a..f7c74ee6f 100644
--- a/Bancos/FlujoDiario.aspx
+++ b/Bancos/FlujoDiario.aspx
@@ -41,6 +41,14 @@