-- cambios en libreria profact, complemento pago, y agregado de CuentasAterceros

This commit is contained in:
2023-03-30 06:53:24 -07:00
parent ce63f7b057
commit 72733294f3
6 changed files with 51 additions and 22 deletions

View File

@@ -327,12 +327,14 @@ Public Class CFDIConceptos
Public Property ClaveProdServ As String = ""
Public Property ClaveUnidad As String = ""
Public Property Impuestos As List(Of CFDIConceptosImpuestos)
Public Property ACuentaTerceros As CFDIConceptosACuentaTerceros
Public Property Descuento As Decimal = 0.00D
Public Property ObjetoImpuesto As String = "02"
Public Property ImporteGravaIVAAdicional As Decimal = 0.00D 'caso IEPS
Sub New()
Impuestos = New List(Of CFDIConceptosImpuestos)
ACuentaTerceros = New CFDIConceptosACuentaTerceros
End Sub
End Class
@@ -349,6 +351,16 @@ Public Class CFDIConceptosImpuestos
Public Property ImporteMN As Decimal = 0.000000D
End Class
<Serializable>
Public Class CFDIConceptosACuentaTerceros
Public Property RfcACuentaTerceros As String = ""
Public Property NombreACuentaTerceros As String = ""
Public Property RegimenFiscalACuentaTerceros As String = ""
Public Property DomicilioFiscalACuentaTerceros As String = ""
End Class
<Serializable>

View File

@@ -1113,7 +1113,8 @@ Public Class ClsBancos
Timbre = Timbrado.PreparaTimbrePago40(RFCEmpresa, UsuarioActual.Empresa.Empresa, UsuarioActual.Empresa.CodigoRegimenFiscal,
RFCCliente, dr("NombreCliente").ToString, dr("ClienteCP").ToString, dr("CodigoRegimenFiscal").ToString, Serie, Folio.ToString, FechaTimbrado, Cuentapago,
dr("FechaDocumento").ToString.ToDate, dr("ClaveFormaPagoSAT").ToString, dr("AbreviaturaSAT").ToString, dr("VentasTotalPagado").ToString.ToDecimal,
UsuarioActual.Empresa.CP.ToString, CuentaBeneficiario, dr("TipoCambioPago").ToString.ToDecimal, dttpagos, dttpagosimpuestos, CFDIRelacionado:=CFDIRelacionado)
UsuarioActual.Empresa.CP.ToString, CuentaBeneficiario, dr("TipoCambioPago").ToString.ToDecimal, dttpagos, dttpagosimpuestos, CFDIRelacionado:=CFDIRelacionado,
RfcACuentaTerceros:=dr("RfcACuentaTerceros").ToString, NombreACuentaTerceros:=dr("NombreACuentaTerceros").ToString, RegimenFiscalACuentaTerceros:=dr("RegimenFiscalACuentaTerceros").ToString, DomicilioFiscalACuentaTerceros:=dr("DomicilioFiscalACuentaTerceros").ToString)
Else
CFDIVersion = "3.3"

View File

@@ -1325,7 +1325,7 @@ Public Class ClsContabilidad
Try
If GetEncabezadoPrePoliza(CvePrePoliza, Empresa.CveEmpresa) Then
If GetEncabezadoPrePoliza(CvePrePoliza, Empresa.CveEmpresa) AndAlso DtResultados.Rows.Count > 0 Then
CveTipoPoliza = Data.Rows(0)("CveTipoPoliza").ToString.ToEntero
Cargos = Data.Rows(0)("Cargos").ToString.ToDecimal
Abonos = Data.Rows(0)("Abonos").ToString.ToDecimal

View File

@@ -7788,7 +7788,7 @@ Public Class ClsPaginas
'concepto pago
Concepto = String.Format("{0} NC:{1}", CompraActual.ProveedorNombre, Pago.Referencia)
If Pago.TipoPago = "Egsc" AndAlso Not ErrorMovtos Then ' A N T I C I P O / E G R E S O S X C O M P R O B A R
Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(11, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(11, Pago.CveMonedaPago, True, CompraActual.CveTipoConceptoProveedor)
If Pago.CveMonedaPago > 1 Then
'Agregamos la Extranjera
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableAnticipoProv, CveCompra:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
@@ -7800,7 +7800,7 @@ Public Class ClsPaginas
End If
End If
If Pago.TipoPago.Contiene("NC", "DEV") AndAlso Not ErrorMovtos Then ' N O T A D E C R E D I T O
Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, Pago.CveMonedaPago, True, CompraActual.CveTipoConceptoProveedor)
If Pago.CveMonedaPago > 1 Then
'Agregamos la Extranjera
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True
@@ -7812,7 +7812,7 @@ Public Class ClsPaginas
End If
End If
If Pago.TipoPago = "DD" AndAlso Not ErrorMovtos Then ' D E U D O R D I V E R S O
Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(17, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(17, Pago.CveMonedaPago, True, CompraActual.CveTipoConceptoProveedor)
If Pago.CveMonedaPago > 1 Then
'Agregamos la Extranjera
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CompraActual.IdCtaContableProv, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=Pago.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True

View File

@@ -10,6 +10,8 @@ Imports System.Xml
Imports System.Xml.Serialization
Imports Extensiones
Imports Newtonsoft.Json.Linq
Imports Profact.TimbraCFDI33.Complementos.CartaPorte10
Imports Profact.TimbraCFDI33.Complementos.CartaPorte20
Imports ProfactCartaPorte = Profact.TimbraCFDI33.Complementos.CartaPorte20
@@ -1042,7 +1044,11 @@ Public Class Timbrado
Serie As String, Folio As String, FechaTimbrado As DateTime,
CuentaPago As String, FechaPago As DateTime, FormaPago As String, MonedaPago As String, Monto As Decimal, LugarExpedicion As String,
CuentaBeneficiario As String, TipoCambioP As Decimal, dttpagos As Data.DataTable, dttpagosimpuestos As DataTable,
Optional UsoCFDI As String = "CP01", Optional CFDIRelacionado As String = "") As CFDITimbre
Optional UsoCFDI As String = "CP01", Optional CFDIRelacionado As String = "",
Optional RfcACuentaTerceros As String = "",
Optional NombreACuentaTerceros As String = "",
Optional RegimenFiscalACuentaTerceros As String = "",
Optional DomicilioFiscalACuentaTerceros As String = "") As CFDITimbre
Dim Timbre As New CFDITimbre
@@ -1087,6 +1093,14 @@ Public Class Timbrado
.ClaveProdServ = "84111506",
.Noidentificacion = "",
.ObjetoImpuesto = "01"}
'Pago ACuentaTerceros
If RfcACuentaTerceros <> "" Then
concepto.ACuentaTerceros.RfcACuentaTerceros = RfcACuentaTerceros
concepto.ACuentaTerceros.NombreACuentaTerceros = NombreACuentaTerceros
concepto.ACuentaTerceros.DomicilioFiscalACuentaTerceros = DomicilioFiscalACuentaTerceros
concepto.ACuentaTerceros.RegimenFiscalACuentaTerceros = RegimenFiscalACuentaTerceros
End If
Timbre.Conceptos.Add(concepto)
Select Case FormaPago
@@ -1137,6 +1151,7 @@ Public Class Timbrado
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
VentaTipoCambio = 1
@@ -3628,10 +3643,10 @@ Public Class Timbrado
If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1 Then
AmbienteProductivo = False
Clave = "12345678a"
EmisorRFC = "IIA040805DZ4"
EmisorNombre = "INDISTRIA ILUMINADORA DE ALMACENES SA DE CV"
ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\publicKey.key"
ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\publicCer.cer"
EmisorRFC = "EKU9003173C9"
UsuarioActual.Empresa.Empresa = "ESCUELA KEMPER URGATE"
ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\EKU9003173C9.key"
ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\EKU9003173C9.cer"
UsuarioActual.Empresa.CodigoRegimenFiscal = "601"
End If
@@ -3792,6 +3807,11 @@ Public Class Timbrado
comprobante.Conceptos(i).InformacionAduanera = New Profact.TimbraCFDI40.ComprobanteConceptoInformacionAduanera(1) {} 'solo un codigo por el momento
comprobante.Conceptos(i).InformacionAduanera(0) = New Profact.TimbraCFDI40.ComprobanteConceptoInformacionAduanera() With {.NumeroPedimento = concep.NumeroPedimento}
End If
If concep.ACuentaTerceros IsNot Nothing AndAlso concep.ACuentaTerceros.RfcACuentaTerceros <> "" Then
comprobante.Conceptos(i).ACuentaTerceros = New Profact.TimbraCFDI40.ComprobanteConceptoACuentaTerceros() With {
.RfcACuentaTerceros = concep.ACuentaTerceros.RfcACuentaTerceros, .NombreACuentaTerceros = concep.ACuentaTerceros.NombreACuentaTerceros,
.RegimenFiscalACuentaTerceros = concep.ACuentaTerceros.RegimenFiscalACuentaTerceros, .DomicilioFiscalACuentaTerceros = concep.ACuentaTerceros.DomicilioFiscalACuentaTerceros}
End If
j = 0
k = 0
@@ -4246,7 +4266,9 @@ Public Class Timbrado
ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).ImpuestoP = Tra.Impuesto
ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).TipoFactorP = Tra.TipoFactor
ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).TasaOCuotaP = Tra.TasaOCuota.RoundSQL(6)
ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).TasaOCuotaPSpecified = True
ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.ImporteMN.RoundSQL(6)
ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).ImportePSpecified = True
ComPag.Pago(ii).ImpuestosP(0).TrasladosP(x).BaseP = Tra.BaseMN.RoundSQL(2)
x += 1
Next
@@ -4333,7 +4355,7 @@ Public Class Timbrado
ComCartaPorte.Mercancias.Mercancia(i) = New ProfactCartaPorte.CartaPorteMercanciasMercancia
If concep.BienesTransp <> "" Then
ComCartaPorte.Mercancias.Mercancia(i).BienesTransp = CType([Enum].Parse(GetType(ProfactCartaPorte.c_ClaveProdServCP), "Item" & concep.BienesTransp), ProfactCartaPorte.c_ClaveProdServCP)
ComCartaPorte.Mercancias.Mercancia(i).BienesTransp = concep.BienesTransp
End If
ComCartaPorte.Mercancias.Mercancia(i).Descripcion = concep.Descripción
@@ -4345,7 +4367,7 @@ Public Class Timbrado
ComCartaPorte.Mercancias.Mercancia(i).CveMaterialPeligrosoSpecified = True
'si lleva material pelgroso, debe llevar embalaje
ComCartaPorte.Mercancias.Mercancia(i).EmbalajeSpecified = True
ComCartaPorte.Mercancias.Mercancia(i).Embalaje = CType([Enum].Parse(GetType(ProfactCartaPorte.c_TipoEmbalaje), "Item" & concep.Embalaje), ProfactCartaPorte.c_TipoEmbalaje)
ComCartaPorte.Mercancias.Mercancia(i).Embalaje = concep.Embalaje
ComCartaPorte.Mercancias.Mercancia(i).DescripEmbalaje = concep.DescripEmbalaje
End If
@@ -4760,22 +4782,17 @@ Public Class Timbrado
If Retorno = "[]" Then
Retorno = resultadoTimbre.Descripcion
MensajeErrorCFDI = resultadoTimbre.Descripcion
End If
If MensajeErrorCFDI = "[]" Then
Retorno = resultadoTimbre.Descripcion
End If
End If
resultadoTimbre.GuardaXml(RutaArchivo, NombreArchivoXML)
Catch ex As Exception
Retorno = ex.ToString()
End Try
Else
Retorno = resultadoTimbre.Detalle
MensajeErrorCFDI = resultadoTimbre.Detalle
End If
End If
GuardaLogTimbrado(swTiempo.ToString, UsuarioActual.Empresa.CvePAC)
@@ -5121,7 +5138,6 @@ Public Class Timbrado
docp.CadPago,
docp.SelloPago)
If docp.DocumentosRelacionados.Count > 0 Then
For Each doc As CFDIComplementoPagosDocsRelacionados In docp.DocumentosRelacionados
@@ -5555,7 +5571,7 @@ Public Class Timbrado
If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1 Then
EmisorRFC = "EKU9003173C9"
UsuarioActual.Empresa.Empresa = "ESCUELA KEMPER URGATE SA DE CV"
UsuarioActual.Empresa.Empresa = "ESCUELA KEMPER URGATE"
ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\EKU9003173C9.key"
ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\EKU9003173C9.cer"
@@ -6522,7 +6538,7 @@ Public Class Timbrado
ComCartaPorte.Mercancias.Mercancia(i) = New ProfactCartaPorte.CartaPorteMercanciasMercancia
If concep.BienesTransp <> "" Then
ComCartaPorte.Mercancias.Mercancia(i).BienesTransp = CType([Enum].Parse(GetType(ProfactCartaPorte.c_ClaveProdServCP), "Item" & concep.BienesTransp), ProfactCartaPorte.c_ClaveProdServCP)
ComCartaPorte.Mercancias.Mercancia(i).BienesTransp = concep.BienesTransp
End If
ComCartaPorte.Mercancias.Mercancia(i).Descripcion = concep.Descripción
@@ -6534,7 +6550,7 @@ Public Class Timbrado
ComCartaPorte.Mercancias.Mercancia(i).CveMaterialPeligrosoSpecified = True
'si lleva material pelgroso, debe llevar embalaje
ComCartaPorte.Mercancias.Mercancia(i).EmbalajeSpecified = True
ComCartaPorte.Mercancias.Mercancia(i).Embalaje = CType([Enum].Parse(GetType(ProfactCartaPorte.c_TipoEmbalaje), "Item" & concep.Embalaje), ProfactCartaPorte.c_TipoEmbalaje)
ComCartaPorte.Mercancias.Mercancia(i).Embalaje = concep.Embalaje
End If

Binary file not shown.