diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb
index a9469f6b0..111ecd684 100644
--- a/App_Code/CFDITimbre.vb
+++ b/App_Code/CFDITimbre.vb
@@ -344,13 +344,9 @@ Public Class CFDIConceptosImpuestos
Public Property TipoFactor As String = "Tasa"
Public Property TasaOCuota As Decimal = 0.00D
Public Property Importe As Decimal = 0.00D ' propiedad utilizada solo para hacer ajustes, por default toma la multiplicación de base * tasa
- Public Property BaseMN As Decimal = 0.00D
- Public Property ImporteMN As Decimal = 0.00D
- 'Public ReadOnly Property Importe As Decimal
- ' Get
- ' If ImporteT = 0.00 Then Return Base * TasaOCuota Else Return ImporteT
- ' End Get
- 'End Property
+ Public Property BaseMN As Decimal = 0.000000D
+ Public Property ImporteMN As Decimal = 0.000000D
+
End Class
@@ -401,6 +397,7 @@ Public Class CFDIRetenciones
Public Property Impuesto As String
Public Property Importe As Decimal = 0.000000D
Public Property TasaOCuota As String
+ Public Property ImporteMN As Decimal = 0.000000D
End Class
@@ -428,7 +425,6 @@ Public Class CFDITraslados
Public Property Base As Decimal = 0.000000D
Public Property ImporteMN As Decimal = 0.000000D
Public Property BaseMN As Decimal = 0.000000D
- Public Property EquivalenciaDR As Decimal = 0.000000D
End Class
@@ -463,17 +459,17 @@ Public Class CFDIComplementoPagos
Public ReadOnly Property Totales As CFDIComplementoPagosTotales
Get
Dim tRetorno As New CFDIComplementoPagosTotales
- tRetorno.MontoTotalPagos = (From c In DocumentosRelacionados Select c.ImpPagado * TipoCambioP).Sum()
+ tRetorno.MontoTotalPagos = (From c In DocumentosRelacionados Select c.ImpPagadoMN).Sum()
- tRetorno.TotalTrasladosBaseIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.BaseMN * c.EquivalenciaDR).Sum()
- tRetorno.TotalTrasladosBaseIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.BaseMN * c.EquivalenciaDR).Sum()
- tRetorno.TotalTrasladosBaseIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.BaseMN * c.EquivalenciaDR).Sum()
+ tRetorno.TotalTrasladosBaseIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.BaseMN).Sum()
+ tRetorno.TotalTrasladosBaseIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.BaseMN).Sum()
+ tRetorno.TotalTrasladosBaseIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.BaseMN).Sum()
- tRetorno.TotalTrasladosImpuestoIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.Importe * c.EquivalenciaDR).Sum()
- tRetorno.TotalTrasladosImpuestoIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.ImporteMN * c.EquivalenciaDR).Sum()
- tRetorno.TotalTrasladosImpuestoIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.ImporteMN * c.EquivalenciaDR).Sum()
+ tRetorno.TotalTrasladosImpuestoIVA0 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0 Select c.Importe).Sum()
+ tRetorno.TotalTrasladosImpuestoIVA8 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.08 Select c.ImporteMN).Sum()
+ tRetorno.TotalTrasladosImpuestoIVA16 = (From c In Traslados Where c.Impuesto = "002" And c.TasaOCuota = 0.16 Select c.ImporteMN).Sum()
- tRetorno.TotalRetencionesIEPS = (From c In Retenciones Where c.Impuesto = "003" Select c.Importe).Sum()
+ tRetorno.TotalRetencionesIEPS = (From c In Retenciones Where c.Impuesto = "003" Select c.ImporteMN).Sum()
Return tRetorno
End Get
@@ -510,15 +506,15 @@ Public Class CFDIComplementoPagos
For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados
For Each imp As CFDIConceptosImpuestos In c.Impuestos
If imp.TrasladooRetencion = "R" Then
- tRetorno.Add(New CFDIRetenciones With {.Impuesto = imp.Impuesto, .Importe = imp.Importe * (1 / c.TipoCambioDR)})
-
+ tRetorno.Add(New CFDIRetenciones With {.Impuesto = imp.Impuesto, .Importe = imp.Importe, .ImporteMN = imp.ImporteMN})
End If
Next
Next
If tRetorno.Count > 0 Then
TRetenciones = tRetorno.GroupBy(Function(t) New With {Key t.Impuesto}) _
.Select(Function(t) New CFDIRetenciones With {.Impuesto = t.Key.Impuesto,
- .Importe = t.Sum(Function(tt) tt.Importe)}) _
+ .Importe = t.Sum(Function(tt) tt.Importe),
+ .ImporteMN = t.Sum(Function(tt) tt.ImporteMN)}) _
.OrderBy(Function(x) x.Impuesto).ToList
End If
@@ -535,7 +531,7 @@ Public Class CFDIComplementoPagos
For Each c As CFDIComplementoPagosDocsRelacionados In DocumentosRelacionados
For Each imp As CFDIConceptosImpuestos In c.Impuestos
If imp.TrasladooRetencion = "T" Then
- tRetorno.Add(New CFDITraslados With {.Impuesto = imp.Impuesto, .Base = imp.Base, .Importe = imp.Importe, .TasaOCuota = imp.TasaOCuota, .TipoFactor = imp.TipoFactor, .BaseMN = imp.BaseMN, .ImporteMN = imp.ImporteMN, .EquivalenciaDR = c.TipoCambioDR})
+ tRetorno.Add(New CFDITraslados With {.Impuesto = imp.Impuesto, .Base = imp.Base, .Importe = imp.Importe, .TasaOCuota = imp.TasaOCuota, .TipoFactor = imp.TipoFactor, .BaseMN = imp.BaseMN, .ImporteMN = imp.ImporteMN})
End If
Next
Next
@@ -572,6 +568,7 @@ Public Class CFDIComplementoPagosDocsRelacionados
Public Property NumParcialidad As Integer = 1
Public Property ImpSaldoAnt As Decimal
Public Property ImpPagado As Decimal
+ Public Property ImpPagadoMN As Decimal
Public Property ImpSaldoInsoluto As Decimal
Public Property ObjetoImpuesto As String = "01"
Public Property Impuestos As List(Of CFDIConceptosImpuestos)
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 1d01c1666..b9e31dd39 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -6012,11 +6012,17 @@ Public Class ClsPaginas
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
End If
- If EsProduccion AndAlso SubReportData Is Nothing Then
+ If EsProduccion Then
- Dim wsreport As New WSRDLC.WebServiceSoapClient
- Dim params As New List(Of WSRDLC.ReportParameter)
- Dim reportobjects As New List(Of WSRDLC.ReportObjects)
+ Dim wsreport As New WSRDLC2.WebServiceSoapClient
+ Dim params As New List(Of WSRDLC2.ReportParameter)
+ Dim reportobjects As New List(Of WSRDLC2.ReportObjects)
+
+ Dim jsonData As String = Nothing
+
+ If SubReportData IsNot Nothing Then
+ jsonData = Newtonsoft.Json.JsonConvert.SerializeObject(SubReportData)
+ End If
Dim ds As New DataSet
For Each rpds As ReportDataSource In DataSource
@@ -6026,7 +6032,7 @@ Public Class ClsPaginas
dt.TableName = rpds.Name
ds.Tables.Add(dt)
Else
- Dim ojext As New WSRDLC.ReportObjects
+ Dim ojext As New WSRDLC2.ReportObjects
ojext.Name = rpds.Name
ojext.Value = rpds.Value
reportobjects.Add(ojext)
@@ -6034,7 +6040,7 @@ Public Class ClsPaginas
Next
For Each rpds As ReportParameter In Parametros
- Dim param As New WSRDLC.ReportParameter
+ Dim param As New WSRDLC2.ReportParameter
param.Name = rpds.Name
'SI ES TEXTO, QUITAR TABS Y OTROS ESPACIOS QUE DEN PROBLEMAS AL MANDAR LA PETICION
@@ -6047,7 +6053,7 @@ Public Class ClsPaginas
params.Add(param)
Next
- Bytes = wsreport.StreamNEWPDFBytes(RutaReporte, ds, reportobjects.ToArray(), params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
+ Bytes = wsreport.StreamNEWPDFBytes(RutaReporte, ds, reportobjects.ToArray(), params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario, jsonData)
wsreport = Nothing
params = Nothing
ds.Dispose() : ds = Nothing
@@ -9035,8 +9041,6 @@ Public Class ClsPaginas
Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4"
End If
-
-
If Version = "4.0" Then
If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
@@ -9047,8 +9051,6 @@ Public Class ClsPaginas
End If
End If
-
-
namespaces.AddNamespace(Prefijo, cfdVer)
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
@@ -9113,17 +9115,8 @@ Public Class ClsPaginas
DrRelacionado("MonedaDR") = Relacionado.Attributes("MonedaDR").Value
-
If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso Version = "4.0" Then
-
-
- ' Relacionado.SelectSingleNode($"//{PagoVersion}:ImpuestosDR/{PagoVersion}:TrasladosDR/{PagoVersion}:TrasladoDR", namespaces)
-
- 'Dim NodoImpuestosDR As XmlNode = Relacionado.SelectSingleNode($"{PagoVersion}:ImpuestosDR", namespaces)
- 'Dim NodoTrasladosDR As XmlNode = NodoImpuestosDR.SelectSingleNode($"{PagoVersion}:TrasladosDR", namespaces)
- 'Dim TrasladoDR As XmlNodeList = NodoTrasladosDR.ChildNodes
-
Dim NodosTraslados = Relacionado.SelectNodes($"{PagoVersion}:ImpuestosDR/{PagoVersion}:TrasladosDR/{PagoVersion}:TrasladoDR", namespaces)
For Each NodoTraslados As XmlNode In NodosTraslados
@@ -9132,7 +9125,6 @@ Public Class ClsPaginas
Dim TasaOCuotaDR As String = ValorXML(NodoTraslados, "TasaOCuotaDR")
Dim ImporteDR As Decimal = ValorXML(NodoTraslados, "ImporteDR").ToDecimal
-
If ImpuestoDR = "001" Then
DrRelacionado("Tra001ImpuestoDR") = ImpuestoDR
DrRelacionado("Tra001TipoFactorDR") = TipoFactor
@@ -9153,19 +9145,15 @@ Public Class ClsPaginas
DrRelacionado("Tra003TasaOCuotaDR") = TasaOCuotaDR
DrRelacionado("Tra003ImporteDR") = ImporteDR
End If
-
Next
-
For Each NodoRetenciiones As XmlNode In Relacionado.SelectNodes($"{PagoVersion}:ImpuestosDR/{PagoVersion}:RetencionesDR/{PagoVersion}:RetencionDR", namespaces)
-
Dim ImpuestoDR As String = ValorXML(NodoRetenciiones, "ImpuestoDR") ' ImpuestoDR
Dim TipoFactor As String = ValorXML(NodoRetenciiones, "TipoFactorDR")
Dim TasaOCuotaDR As String = ValorXML(NodoRetenciiones, "TasaOCuotaDR")
Dim ImporteDR As Decimal = ValorXML(NodoRetenciiones, "ImporteDR").ToDecimal
-
If ImpuestoDR = "001" Then
DrRelacionado("Ret001ImpuestoDR") = ImpuestoDR
DrRelacionado("Ret001TipoFactorDR") = TipoFactor
@@ -9186,20 +9174,10 @@ Public Class ClsPaginas
DrRelacionado("Ret003TasaOCuotaDR") = TasaOCuotaDR
DrRelacionado("Ret003ImporteDR") = ImporteDR
End If
-
Next
-
-
-
-
End If
-
DTConceptosPagoRelacionado.Rows.Add(DrRelacionado)
-
-
-
Next
-
End If
Next
@@ -9215,7 +9193,6 @@ Public Class ClsPaginas
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} ||"
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 288dad8eb..6984877cd 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -2229,11 +2229,10 @@ Public Class ClsVentas
End Function
Public Function AddPromociones(Promocion As String, FechaInicio As Date, FechaFin As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Boolean,
CveMoneda As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveSubProyecto As Integer, TipoAplicacion As String,
- Optional CveMarca As Integer = -1) As Integer
+ Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1) As Integer
Dim Retorno = -1
DataAdapter("PA_Vta_PromocionesAdd")
-
With SqlAdapter.SelectCommand.Parameters
.Add("@Promocion", SqlDbType.VarChar).Value = Promocion
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
@@ -2247,6 +2246,7 @@ Public Class ClsVentas
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@TipoAplicacion", SqlDbType.VarChar).Value = TipoAplicacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
+ .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor
.Add("@CvePromocion", SqlDbType.Int).Direction = ParameterDirection.Output
End With
@@ -2260,11 +2260,10 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function UpdatePromociones(Promocion As String, FechaInicio As Date, FechaFin As Date, CveVendedor As Integer, CveCliente As Integer, Estatus As Boolean,
- CveMoneda As Integer, CveUsuario As Integer, CvePromocion As Integer, CveSubProyecto As Integer, TipoAplicacion As Integer, CveEmpresa As Integer, Optional CveMarca As Integer = -1) As Boolean
+ CveMoneda As Integer, CveUsuario As Integer, CvePromocion As Integer, CveSubProyecto As Integer, TipoAplicacion As Integer, CveEmpresa As Integer, Optional CveMarca As Integer = -1, Optional EsDistribuidor As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_PromocionesUpdate")
-
With SqlAdapter.SelectCommand.Parameters
.Add("@Promocion", SqlDbType.VarChar).Value = Promocion
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
@@ -2278,6 +2277,7 @@ Public Class ClsVentas
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@TipoAplicacion", SqlDbType.Int).Value = TipoAplicacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
+ .Add("@EsDistribuidor", SqlDbType.Int).Value = EsDistribuidor
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb
index 9ccd14525..bb4ef868d 100644
--- a/App_Code/LogicNominas.vb
+++ b/App_Code/LogicNominas.vb
@@ -29,7 +29,7 @@ Public Class LogicNominas
ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero()
ObjFactura.Serie = cfdi.Comprobante.Serie
ObjFactura.Timbre = cfdi
- If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC) Then
+ If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC, False) Then
Retorno = ObjTimbrado.MensajeErrorCFDI
End If
End If
@@ -139,6 +139,8 @@ Public Class LogicNominas
Dim ClaveEstado As String = ""
Dim MetodoPagoFijo As Boolean
+ Dim CodigoPostal As String = ""
+
Dim ObjIncapacidades As New List(Of CFDINominaIncapacidades)
'Conexiones a la Base de Datos
Dim cfdi As New CFDITimbre
@@ -175,7 +177,7 @@ Public Class LogicNominas
RFC = objPersonal.RFC
cfdi.Emisor.RegistroPatronal = objPersonal.DtResultados.Rows(0)("RegistroPatronal").ToString()
NombreCompleto = objPersonal.NombreCompleto
-
+ CodigoPostal = objPersonal.CP
Sindicalizado = objPersonal.DtResultados.Rows(0)("Sindicalizado").ToString().ToUpper().Contiene("TRUE", "1")
CURP = objPersonal.CURP
NumeroSS = objPersonal.NumeroSS
@@ -441,6 +443,10 @@ Public Class LogicNominas
cfdi.Comprobante.FormadePago = "99"
cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString() ' AHORITA SOLO SE REQUIERE ESPECIFICAR EL CODIGO POSTAL
cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta
+ '4.0
+ cfdi.Receptor.DomicilioFiscalReceptor = CodigoPostal
+ cfdi.Receptor.RegimenFiscalReceptor = "605"
+
cfdi.Nomina.Receptor.CURP = CURP
cfdi.Nomina.Receptor.NSS = NumeroSS
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index 7d498dd07..36bf96aae 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -1107,7 +1107,7 @@ Public Class Timbrado
Dim VentaFolioFiscal, VentaSerie, VentaFolio, VentaAbreviaturaSAT, VentaMetodoPago, ObjetoImpuesto As String
- Dim VentaImportePago, VentaImporteSaldoInsoluto, VentaImporteSaldoAnterior, VentaTipoCambio, VentaTipoCambioMN, PorcentajeIVA, PorcentajeIEPS As Decimal
+ Dim VentaImportePago, VentaImportePagoMN, VentaImporteSaldoInsoluto, VentaImporteSaldoAnterior, VentaTipoCambio, VentaTipoCambioMN, PorcentajeIVA, PorcentajeIEPS As Decimal
Dim VentaNumParcialidad As Integer
If dttpagos IsNot Nothing AndAlso dttpagos.Rows.Count > 0 Then
@@ -1126,6 +1126,7 @@ Public Class Timbrado
PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal
PorcentajeIEPS = dr("PorcentajeIEPS").ToString.ToDecimal
ObjetoImpuesto = dr("ObjetoImpuesto").ToString
+ VentaImportePagoMN = dr("VentasTotalPagado").ToString.ToDecimal
'' si la moneda es igual, se omite el tipo de cambio de la venta
If MonedaPago = VentaAbreviaturaSAT Then
@@ -1134,7 +1135,7 @@ Public Class Timbrado
'condiciones especiales para el pago en pesos, facturas en moneda extranjera
ElseIf MonedaPago = "MXN" AndAlso VentaAbreviaturaSAT <> "MXN" Then
VentaTipoCambioMN = VentaTipoCambio
- VentaTipoCambio = 1 / VentaTipoCambio
+ VentaTipoCambio = (1 / VentaTipoCambio).RoundSQL(6)
End If
' For Each drr As Data.DataRow In DtFacturasPagadas.Rows
@@ -1144,9 +1145,10 @@ Public Class Timbrado
.MonedaDR = VentaAbreviaturaSAT,
.MetodoDePagoDR = VentaMetodoPago,
.ImpPagado = VentaImportePago,
+ .ImpPagadoMN = (VentaImportePago / VentaTipoCambio).RoundSQL,
.ImpSaldoInsoluto = VentaImporteSaldoInsoluto,
.ImpSaldoAnt = VentaImporteSaldoAnterior,
- .TipoCambioDR = VentaTipoCambioMN,
+ .TipoCambioDR = VentaTipoCambio,
.EquivalenciaDR = VentaTipoCambio,
.NumParcialidad = VentaNumParcialidad,
.ObjetoImpuesto = ObjetoImpuesto} 'If(drr("MetodoPago").ToString = "PUE", 0, drr("NumParcialidad").ToString.ToEntero)}
@@ -1158,8 +1160,8 @@ Public Class Timbrado
.TasaOCuota = drp("PorcentajeImpuesto").ToString().ToDecimal,
.Impuesto = drp("TipoImpuesto").ToString,
.Importe = drp("Importe").ToString().ToDecimal.RoundSQL,
- .BaseMN = (drp("Base").ToString.ToDecimal * VentaTipoCambioMN).RoundSQL,
- .ImporteMN = (drp("Importe").ToString.ToDecimal * VentaTipoCambioMN).RoundSQL
+ .BaseMN = (drp("Base").ToString.ToDecimal / VentaTipoCambio).RoundSQL(6),
+ .ImporteMN = (drp("Importe").ToString.ToDecimal * VentaTipoCambio).RoundSQL(6)
}
)
@@ -1183,7 +1185,7 @@ Public Class Timbrado
Return Timbre
End Function
- Public Function TimbrarFactura(UsuarioActual As Usuario, Ventas As Modelos.Factura, Optional CvePACEspecial As Integer = -1) As Boolean
+ Public Function TimbrarFactura(UsuarioActual As Usuario, Ventas As Modelos.Factura, Optional CvePACEspecial As Integer = -1, Optional NomUsaPac4 As Boolean = True) As Boolean
Dim Retorno As Boolean = False
Dim tCvePAC As Integer = UsuarioActual.Empresa.CvePAC
@@ -1219,7 +1221,7 @@ Public Class Timbrado
Retorno = If(Ret = "", True, False)
Case 3
- If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
+ If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso NomUsaPac4 Then
Retorno = TimbrarFacturaProFactV40(UsuarioActual, Ventas)
Else
Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas)
@@ -1227,7 +1229,7 @@ Public Class Timbrado
'Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas, TmpDTConceptos, TmpDTImpuestos, TmpDTComplementos, Ruta, LstFordASN, FordGSDBM, ObjV)
Case 4
- If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
+ If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso NomUsaPac4 Then
Dim Ret As String = TimbrarFacturaGoCFDIv40(Ventas, UsuarioActual, CvePACEspecial)
If Ret <> "" Then MensajeErrorCFDI = Ret
Retorno = If(Ret = "", True, False)
@@ -1239,7 +1241,7 @@ Public Class Timbrado
Case 5
- If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
+ If UsuarioActual.Empresa.Funcionalidad(350) = "1" AndAlso NomUsaPac4 Then
Dim Ret As String = TimbrarFacturaPADEv40(Ventas, UsuarioActual, CvePACEspecial)
If Ret <> "" Then MensajeErrorCFDI = Ret
Retorno = If(Ret = "", True, False)
@@ -4186,9 +4188,9 @@ Public Class Timbrado
If docimp.TrasladooRetencion = "T" Then
Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR
- Tra.BaseDR = docimp.BaseMN.RoundSQL(2)
+ Tra.BaseDR = docimp.Base.RoundSQL(2)
Tra.ImporteDRSpecified = True
- Tra.ImporteDR = docimp.ImporteMN.RoundSQL(2)
+ Tra.ImporteDR = docimp.Importe.RoundSQL(2)
Tra.ImpuestoDR = docimp.Impuesto
Tra.TipoFactorDR = docimp.TipoFactor
Tra.TasaOCuotaDRSpecified = True
@@ -4225,8 +4227,8 @@ Public Class Timbrado
ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImpuestoP = Tra.Impuesto
ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TipoFactorP = Tra.TipoFactor
ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TasaOCuotaP = Tra.TasaOCuota.RoundSQL(6)
- ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.Importe.RoundSQL(6)
- ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.Base.RoundSQL(2)
+ ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.ImporteMN.RoundSQL(6)
+ ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.BaseMN.RoundSQL(2)
x += 1
Next
End If
@@ -5100,7 +5102,7 @@ Public Class Timbrado
doc.Serie,
doc.Folio,
doc.MonedaDR,
- doc.TipoCambioDR,
+ doc.EquivalenciaDR,
doc.NumParcialidad,
doc.ImpSaldoAnt,
doc.ImpPagado,
@@ -5135,7 +5137,7 @@ Public Class Timbrado
If (ObjCFDITimbre.ComplementoPagos.Retenciones).Count > 0 Then
For Each Ret As CFDIRetenciones In ObjCFDITimbre.ComplementoPagos.Retenciones
- cfdi.Pago20RetencionP(Ret.Impuesto, Ret.Importe)
+ cfdi.Pago20RetencionP(Ret.Impuesto, Ret.ImporteMN)
Next
End If
diff --git a/App_WebReferences/WSRDLC2/Reference.svcmap b/App_WebReferences/WSRDLC2/Reference.svcmap
new file mode 100644
index 000000000..070b96bcb
--- /dev/null
+++ b/App_WebReferences/WSRDLC2/Reference.svcmap
@@ -0,0 +1,31 @@
+
+