diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb index a5704429e..02f4141a0 100644 --- a/App_Code/CFDITimbre.vb +++ b/App_Code/CFDITimbre.vb @@ -578,7 +578,11 @@ Public Class CFDICartaPorte Public Property TranspInternac As String = "" Public Property EntradaSalidaMercancia As String = "" Public Property ViaEntradaSalida As String = "" - Public Property TotalDistanciaRecorrida As Double = 0 + Public ReadOnly Property TotalDistanciaRecorrida As Decimal + Get + Return Ubicaciones.Sum(Function(item) item.DistanciaRecorrida) * 2 + End Get + End Property Public Property Ubicaciones As New List(Of CFDICartaPorteUbicaciones) Public Property Mercancias As New CFDICartaPorteMercancias Public Property FiguraTransporte As New CFDICartaPorteFiguraTransporte diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 31a54c57f..28c446361 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -2736,6 +2736,8 @@ Namespace Modelos Dim CveVenta As Integer = ObjFactura.CveVenta Dim CveVentaAmortizacion As Integer = row2("CveVenta").ToString().ToEntero + If row2("CveIE").ToString().ToEntero > 0 Then CveIEAnticipo = row2("CveIE").ToString().ToEntero + 'FALTA LA MONEDA PAR ALA CUENTA .RMF Y MANDAR EL CVEIE 'SI ES FACTURA EN 0 Y TIENE ANTICIPOS If (ObjFactura.Total = 0 AndAlso UsuarioActual.CveEmpresa.Contiene(72) AndAlso ObjFactura.TipoDocto.Contiene("Ing")) AndAlso row2("TipoDocto").ToString() = "Ant" Then @@ -2752,7 +2754,7 @@ Namespace Modelos If importeMovimiento <> 0 Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=CveVenta, CveVentaAmortizacion:=CveVentaAmortizacion, CveCliente:=ObjFactura.CveCliente, - CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), + CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True Exit For @@ -6699,30 +6701,30 @@ Namespace Modelos If Not Me.disposedValue Then If disposing Then '' TODO: dispose managed state (managed objects). - If Not DtDetalle Is Nothing Then DtDetalle.Dispose() - If Not DtAjustes Is Nothing Then DtAjustes.Dispose() - If Not DtAnticipos Is Nothing Then DtAnticipos.Dispose() - If Not DtContratosSerieDetalle Is Nothing Then DtContratosSerieDetalle.Dispose() - If Not DtCotizacionesPS Is Nothing Then DtCotizacionesPS.Dispose() - If Not DtDeduccion Is Nothing Then DtDeduccion.Dispose() - If Not DtDesgloseImpuestos Is Nothing Then DtDesgloseImpuestos.Dispose() - If Not DtDocumentacionCliente Is Nothing Then DtDocumentacionCliente.Dispose() - If Not DtDocumentosRelacionados Is Nothing Then DtDocumentosRelacionados.Dispose() - If Not DtFirmas Is Nothing Then DtFirmas.Dispose() - If Not DtImpuestosLocales Is Nothing Then DtImpuestosLocales.Dispose() - If Not DtInventario Is Nothing Then DtInventario.Dispose() - If Not DtNCVinculadas Is Nothing Then DtNCVinculadas.Dispose() - If Not DTOrdenesCompraPS Is Nothing Then DTOrdenesCompraPS.Dispose() - If Not DtOtrosConceptos Is Nothing Then DtOtrosConceptos.Dispose() - If Not DtPagos Is Nothing Then DtPagos.Dispose() - If Not DtPedidos2 Is Nothing Then DtPedidos2.Dispose() - If Not DtPedidos2PS Is Nothing Then DtPedidos2PS.Dispose() - If Not DtPromociones Is Nothing Then DtPromociones.Dispose() - If Not DtRecepcionUsados Is Nothing Then DtRecepcionUsados.Dispose() - If Not DtRemConceptosSurtidos Is Nothing Then DtRemConceptosSurtidos.Dispose() - If Not DtRemisiones Is Nothing Then DtRemisiones.Dispose() - If Not DtRemisionesPS Is Nothing Then DtRemisionesPS.Dispose() - If Not DtVentasNC Is Nothing Then DtVentasNC.Dispose() + If Not DtDetalle Is Nothing Then DtDetalle.Dispose() : DtDetalle = Nothing + If Not DtAjustes Is Nothing Then DtAjustes.Dispose() : DtAjustes = Nothing + If Not DtAnticipos Is Nothing Then DtAnticipos.Dispose() : DtAnticipos = Nothing + If Not DtContratosSerieDetalle Is Nothing Then DtContratosSerieDetalle.Dispose() : DtContratosSerieDetalle = Nothing + If Not DtCotizacionesPS Is Nothing Then DtCotizacionesPS.Dispose() : DtCotizacionesPS = Nothing + If Not DtDeduccion Is Nothing Then DtDeduccion.Dispose() : DtDeduccion = Nothing + If Not DtDesgloseImpuestos Is Nothing Then DtDesgloseImpuestos.Dispose() : DtDesgloseImpuestos = Nothing + If Not DtDocumentacionCliente Is Nothing Then DtDocumentacionCliente.Dispose() : DtDocumentacionCliente = Nothing + If Not DtDocumentosRelacionados Is Nothing Then DtDocumentosRelacionados.Dispose() : DtDocumentosRelacionados = Nothing + If Not DtFirmas Is Nothing Then DtFirmas.Dispose() : DtFirmas = Nothing + If Not DtImpuestosLocales Is Nothing Then DtImpuestosLocales.Dispose() : DtImpuestosLocales = Nothing + If Not DtInventario Is Nothing Then DtInventario.Dispose() : DtInventario = Nothing + If Not DtNCVinculadas Is Nothing Then DtNCVinculadas.Dispose() : DtNCVinculadas = Nothing + If Not DTOrdenesCompraPS Is Nothing Then DTOrdenesCompraPS.Dispose() : DTOrdenesCompraPS = Nothing + If Not DtOtrosConceptos Is Nothing Then DtOtrosConceptos.Dispose() : DtOtrosConceptos = Nothing + If Not DtPagos Is Nothing Then DtPagos.Dispose() : DtPagos = Nothing + If Not DtPedidos2 Is Nothing Then DtPedidos2.Dispose() : DtPedidos2 = Nothing + If Not DtPedidos2PS Is Nothing Then DtPedidos2PS.Dispose() : DtPedidos2PS = Nothing + If Not DtPromociones Is Nothing Then DtPromociones.Dispose() : DtPromociones = Nothing + If Not DtRecepcionUsados Is Nothing Then DtRecepcionUsados.Dispose() : DtRecepcionUsados = Nothing + If Not DtRemConceptosSurtidos Is Nothing Then DtRemConceptosSurtidos.Dispose() : DtRemConceptosSurtidos = Nothing + If Not DtRemisiones Is Nothing Then DtRemisiones.Dispose() : DtRemisiones = Nothing + If Not DtRemisionesPS Is Nothing Then DtRemisionesPS.Dispose() : DtRemisionesPS = Nothing + If Not DtVentasNC Is Nothing Then DtVentasNC.Dispose() : DtVentasNC = Nothing End If End If Me.disposedValue = True diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index eb7963a0e..f90e995a9 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -9,6 +9,7 @@ Imports System.Xml Imports System.Data Imports System.Xml.Serialization Imports System.Net +Imports ProfactCartaPorte = Profact.TimbraCFDI33.Complementos.CartaPorte10 Public Class Timbrado @@ -2129,8 +2130,8 @@ Public Class Timbrado #Region "C O M P L E M E N T O C A R T A P O R T E" + If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then - If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte @@ -2191,7 +2192,6 @@ Public Class Timbrado End If - End If #End Region @@ -3413,7 +3413,7 @@ Public Class Timbrado If ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("I", "E") Then -#Region "Impuestos" +#Region " Impuestos" 'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS If Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then comprobante.Impuestos = New Profact.TimbraCFDI33.ComprobanteImpuestos() @@ -3453,7 +3453,7 @@ Public Class Timbrado #End Region -#Region "Impuestos Locales" +#Region " Impuestos Locales" If ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe) > 0 Then @@ -3487,7 +3487,7 @@ Public Class Timbrado #End Region -#Region "Comercio Exterior" +#Region " Comercio Exterior" If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then @@ -3653,15 +3653,9 @@ Public Class Timbrado #End Region - - - - - - End If -#Region "Complemento Pago" +#Region " Complemento Pago" If ObjCFDITimbre.Comprobante.TipoComprobante = "P" Then Dim ComPag = New Profact.TimbraCFDI33.Complementos.Pagos10.Pagos() @@ -3782,18 +3776,15 @@ Public Class Timbrado #End Region -#Region "C O M P L E M E N T O C A R T A P O R T E" +#Region " C O M P L E M E N T O C A R T A P O R T E" If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then - If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte - - - ''DATOS GENERALES - Dim ComCartaPorte = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorte() - Dim Transp As Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteTranspInternac + ''DATOS GENERALES + Dim ComCartaPorte = New ProfactCartaPorte.CartaPorte() + Dim Transp As ProfactCartaPorte.CartaPorteTranspInternac ComCartaPorte.TranspInternac = If(Carta.TranspInternac = "No", Transp.No, Transp.Sí) ComCartaPorte.EntradaSalidaMercSpecified = False ComCartaPorte.ViaEntradaSalidaSpecified = False @@ -3802,17 +3793,17 @@ Public Class Timbrado 'UBICACIONES If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then Dim i As Integer = 0 - ComCartaPorte.Ubicaciones = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteUbicacion(Carta.Ubicaciones.Count - 1) {} + ComCartaPorte.Ubicaciones = New ProfactCartaPorte.CartaPorteUbicacion(Carta.Ubicaciones.Count - 1) {} For Each ubica As CFDICartaPorteUbicaciones In Carta.Ubicaciones 'origen - ComCartaPorte.Ubicaciones(i) = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteUbicacion + ComCartaPorte.Ubicaciones(i) = New ProfactCartaPorte.CartaPorteUbicacion ComCartaPorte.Ubicaciones(i).TipoEstacionSpecified = False ComCartaPorte.Ubicaciones(i).DistanciaRecorrida = ubica.DistanciaRecorrida - ComCartaPorte.Ubicaciones(i).Origen = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteUbicacionOrigen With {.IDOrigen = ubica.Origen.IDOrigen, + ComCartaPorte.Ubicaciones(i).Origen = New ProfactCartaPorte.CartaPorteUbicacionOrigen With {.IDOrigen = ubica.Origen.IDOrigen, .RFCRemitente = ubica.Origen.RFCRemitente, .NombreRemitente = ubica.Origen.NombreRemitente, .FechaHoraSalida = ubica.Origen.FechaHoraSalida.ToDate} - ComCartaPorte.Ubicaciones(i).Domicilio = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteUbicacionDomicilio With {.Calle = ubica.Origen.Domicilio.Calle, + ComCartaPorte.Ubicaciones(i).Domicilio = New ProfactCartaPorte.CartaPorteUbicacionDomicilio With {.Calle = ubica.Origen.Domicilio.Calle, .NumeroExterior = ubica.Origen.Domicilio.NumeroExterior, .NumeroInterior = ubica.Origen.Domicilio.NumeroInterior, .Colonia = ubica.Origen.Domicilio.Colonia, @@ -3825,12 +3816,12 @@ Public Class Timbrado - ComCartaPorte.Ubicaciones(i).Destino = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteUbicacionDestino With {.IDDestino = ubica.Destino.IDDestino, + ComCartaPorte.Ubicaciones(i).Destino = New ProfactCartaPorte.CartaPorteUbicacionDestino With {.IDDestino = ubica.Destino.IDDestino, .RFCDestinatario = ubica.Destino.RFCDestinatario, .NombreDestinatario = ubica.Destino.NombreDestinatario, .FechaHoraProgLlegada = ubica.Destino.FechaHoraProgLlegada.ToDate} - ComCartaPorte.Ubicaciones(i).Domicilio = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteUbicacionDomicilio With {.Calle = ubica.Destino.Domicilio.Calle, + ComCartaPorte.Ubicaciones(i).Domicilio = New ProfactCartaPorte.CartaPorteUbicacionDomicilio With {.Calle = ubica.Destino.Domicilio.Calle, .NumeroExterior = ubica.Destino.Domicilio.NumeroExterior, .NumeroInterior = ubica.Destino.Domicilio.NumeroInterior, .Colonia = ubica.Destino.Domicilio.Colonia, @@ -3852,89 +3843,132 @@ Public Class Timbrado End If - 'MERCANCIAS - If Carta.Mercancias IsNot Nothing Then - ComCartaPorte.Mercancias = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteMercancias - ComCartaPorte.Mercancias.PesoBrutoTotal = Carta.Mercancias.PesoBrutoTotal.ToDecimal - ComCartaPorte.Mercancias.PesoNetoTotal = Carta.Mercancias.PesoNetoTotal.ToDecimal - ComCartaPorte.Mercancias.NumTotalMercancias = Carta.Mercancias.NumTotalMercancias - ComCartaPorte.Mercancias.CargoPorTasacion = Carta.Mercancias.CargoporTasacion.ToDecimal - ' ComCartaPorte.Mercancias.UnidadPeso = Carta.Mercancias.UnidadPeso + 'MERCANCIAS + If Carta.Mercancias IsNot Nothing Then + ComCartaPorte.Mercancias = New ProfactCartaPorte.CartaPorteMercancias + ComCartaPorte.Mercancias.PesoBrutoTotal = Carta.Mercancias.PesoBrutoTotal.ToDecimal + ComCartaPorte.Mercancias.PesoNetoTotal = Carta.Mercancias.PesoNetoTotal.ToDecimal + ComCartaPorte.Mercancias.NumTotalMercancias = Carta.Mercancias.NumTotalMercancias + ComCartaPorte.Mercancias.CargoPorTasacion = Carta.Mercancias.CargoporTasacion.ToDecimal + ' ComCartaPorte.Mercancias.UnidadPeso = Carta.Mercancias.UnidadPeso - If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then + If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then + Dim i As Integer = 0 + ComCartaPorte.Mercancias.Mercancia = New ProfactCartaPorte.CartaPorteMercanciasMercancia(Carta.Mercancias.Mercancias.Count - 1) {} + For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias + 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).BienesTranspSpecified = True + End If + If concep.ClaveSTCC <> "" Then + ComCartaPorte.Mercancias.Mercancia(i).ClaveSTCCSpecified = True + ComCartaPorte.Mercancias.Mercancia(i).ClaveSTCC = CType([Enum].Parse(GetType(ProfactCartaPorte.c_ClaveProdSTCC), "Item" & concep.ClaveSTCC), ProfactCartaPorte.c_ClaveProdSTCC) + End If + + ComCartaPorte.Mercancias.Mercancia(i).Descripcion = concep.Descripción + ComCartaPorte.Mercancias.Mercancia(i).Cantidad = concep.Cantidad + ComCartaPorte.Mercancias.Mercancia(i).ClaveUnidadSpecified = False + ComCartaPorte.Mercancias.Mercancia(i).Unidad = concep.Unidad + ComCartaPorte.Mercancias.Mercancia(i).Dimensiones = concep.Dimensiones + If concep.ClaveMaterialPeligroso <> "" Then + ComCartaPorte.Mercancias.Mercancia(i).MaterialPeligrosoSpecified = True + ComCartaPorte.Mercancias.Mercancia(i).CveMaterialPeligrosoSpecified = True + End If + If concep.Embalaje <> "" Then + ComCartaPorte.Mercancias.Mercancia(i).EmbalajeSpecified = True + ComCartaPorte.Mercancias.Mercancia(i).Embalaje = CType([Enum].Parse(GetType(ProfactCartaPorte.c_TipoEmbalaje), "Item" & concep.Embalaje), ProfactCartaPorte.c_TipoEmbalaje) + End If + ComCartaPorte.Mercancias.Mercancia(i).DescripEmbalaje = concep.DescripEmbalaje + ComCartaPorte.Mercancias.Mercancia(i).PesoEnKg = concep.PesoenKg + ComCartaPorte.Mercancias.Mercancia(i).ValorMercanciaSpecified = False + ComCartaPorte.Mercancias.Mercancia(i).MonedaSpecified = False + ComCartaPorte.Mercancias.Mercancia(i).FraccionArancelariaSpecified = False + ComCartaPorte.Mercancias.Mercancia(i).UUIDComercioExt = concep.UUIDComercioExt + i += 1 + Next + End If + End If + + ' + If Carta.FiguraTransporte IsNot Nothing Then + + If Carta.FiguraTransporte.AutoTransporteFederal IsNot Nothing Then + ComCartaPorte.FiguraTransporte = New ProfactCartaPorte.CartaPorteFiguraTransporte + + ComCartaPorte.FiguraTransporte.CveTransporte = ProfactCartaPorte.c_CveTransporte.Item02 + ComCartaPorte.Mercancias.AutotransporteFederal = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederal + If Carta.FiguraTransporte.AutoTransporteFederal.PermSCT <> "" Then + ComCartaPorte.Mercancias.AutotransporteFederal.PermSCT = CType([Enum].Parse(GetType(ProfactCartaPorte.c_TipoPermiso), Carta.FiguraTransporte.AutoTransporteFederal.PermSCT), ProfactCartaPorte.c_TipoPermiso) + End If + ComCartaPorte.Mercancias.AutotransporteFederal.NumPermisoSCT = Carta.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT + ComCartaPorte.Mercancias.AutotransporteFederal.NombreAseg = Carta.FiguraTransporte.AutoTransporteFederal.NombreAseg + ComCartaPorte.Mercancias.AutotransporteFederal.NumPolizaSeguro = Carta.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro + + Dim ConfigVehicular As New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederalIdentificacionVehicular + ConfigVehicular.ConfigVehicular = CType([Enum].Parse(GetType(ProfactCartaPorte.c_ConfigAutotransporte), Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular), ProfactCartaPorte.c_ConfigAutotransporte) + ConfigVehicular.AnioModeloVM = Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM + ConfigVehicular.PlacaVM = Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM + + ComCartaPorte.Mercancias.AutotransporteFederal.IdentificacionVehicular = ConfigVehicular + + If Carta.FiguraTransporte.AutoTransporteFederal.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporteFederal.Remolques.Count > 0 Then Dim i As Integer = 0 - ComCartaPorte.Mercancias.Mercancia = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteMercanciasMercancia(Carta.Mercancias.Mercancias.Count - 1) {} - For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias - ComCartaPorte.Mercancias.Mercancia(i) = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteMercanciasMercancia - ComCartaPorte.Mercancias.Mercancia(i).BienesTranspSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).ClaveSTCCSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).Descripcion = concep.Descripción - ComCartaPorte.Mercancias.Mercancia(i).Cantidad = concep.Cantidad - ComCartaPorte.Mercancias.Mercancia(i).ClaveUnidadSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).Unidad = concep.Unidad - ComCartaPorte.Mercancias.Mercancia(i).Dimensiones = concep.Dimensiones - ComCartaPorte.Mercancias.Mercancia(i).MaterialPeligrosoSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).CveMaterialPeligrosoSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).EmbalajeSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).DescripEmbalaje = concep.DescripEmbalaje - ComCartaPorte.Mercancias.Mercancia(i).PesoEnKg = concep.PesoenKg - ComCartaPorte.Mercancias.Mercancia(i).ValorMercanciaSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).MonedaSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).FraccionArancelariaSpecified = False - ComCartaPorte.Mercancias.Mercancia(i).UUIDComercioExt = concep.UUIDComercioExt - - 'cfdi.CartaPorteMercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, concep.Embalaje, concep.DescripEmbalaje, concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt) + ComCartaPorte.Mercancias.AutotransporteFederal.Remolques = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederalRemolque(Carta.FiguraTransporte.AutoTransporteFederal.Remolques.Count - 1) {} + For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporteFederal.Remolques + ComCartaPorte.Mercancias.AutotransporteFederal.Remolques(i) = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederalRemolque + ComCartaPorte.Mercancias.AutotransporteFederal.Remolques(i).SubTipoRem = CType([Enum].Parse(GetType(ProfactCartaPorte.c_SubTipoRem), concep.SubTipoRemolque), ProfactCartaPorte.c_SubTipoRem) + ComCartaPorte.Mercancias.AutotransporteFederal.Remolques(i).Placa = concep.Placa + i += 1 Next + ' End If End If - ' - If Carta.FiguraTransporte IsNot Nothing Then + If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then + Dim i As Integer = 0 + ComCartaPorte.FiguraTransporte.Operadores = New ProfactCartaPorte.CartaPorteFiguraTransporteOperadoresOperador(Carta.FiguraTransporte.Operadores.Count - 1) {} + For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores + ComCartaPorte.FiguraTransporte.Operadores(i) = New ProfactCartaPorte.CartaPorteFiguraTransporteOperadoresOperador + ComCartaPorte.FiguraTransporte.Operadores(i).RFCOperador = concep.RFCOperador + ComCartaPorte.FiguraTransporte.Operadores(i).NumLicencia = concep.NumLicencia + ComCartaPorte.FiguraTransporte.Operadores(i).NombreOperador = concep.NombreOperador + ComCartaPorte.FiguraTransporte.Operadores(i).NumRegIdTribOperador = concep.NumRegidTribOperador + 'OComCartaPorte.FiguraTransporte.Operadores(i)(0) = concep.ResidenciaFiscalOperador 'falta - If Carta.FiguraTransporte.AutoTransporteFederal IsNot Nothing Then - ComCartaPorte.FiguraTransporte = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteFiguraTransporte - - ComCartaPorte.FiguraTransporte.CveTransporte = Profact.TimbraCFDI33.Complementos.CartaPorte10.c_CveTransporte.Item02 - 'ComCartaPorte.FiguraTransporte.CveTransporte. - - 'cfdi.CartaPorteAutotransporteFederal(Carta.FiguraTransporte.AutoTransporteFederal.PermSCT, Carta.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT, Carta.FiguraTransporte.AutoTransporteFederal.NombreAseg, Carta.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro) - - 'cfdi.CartaPorteIdentificacionVehicular(Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM) - - 'If Carta.FiguraTransporte.AutoTransporteFederal.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporteFederal.Remolques.Count > 0 Then - 'For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporteFederal.Remolques - 'cfdi.CartaPorteRemolque(concep.SubTipoRemolque, concep.Placa) - ' Next - ' - 'End If - End If + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio = New ProfactCartaPorte.CartaPorteFiguraTransporteOperadoresOperadorDomicilio() + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Calle = concep.Domicilio.Calle + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.CodigoPostal = "25350" 'concep.Domicilio.CP + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Colonia = "0347" + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Estado = "COA" + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Localidad = "23" + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Municipio = "004" + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.NumeroExterior = "728" + ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Pais = ProfactCartaPorte.c_Pais.MEX - 'If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then - ' Dim i As Integer = 0 - ' ComCartaPorte.FiguraTransporte.Operadores = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteFiguraTransporteOperadoresOperador(Carta.FiguraTransporte.Operadores.Count - 1)() {} - ' For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores - ' Dim Oper = New Profact.TimbraCFDI33.Complementos.CartaPorte10.CartaPorteFiguraTransporteOperadoresOperador() - ' Oper.RFCOperador = concep.RFCOperador - ' Oper.NumLicencia = concep.NumLicencia - ' Oper.NombreOperador = concep.NombreOperador - ' Oper.NumRegIdTribOperador = concep.NumRegidTribOperador - ' 'Oper.ResidenciaFiscalOperador = concep.ResidenciaFiscalOperador - ' ComCartaPorte.FiguraTransporte.Operadores - ' 'cfdi.CartaPorteOperador(concep.RFCOperador, concep.NumLicencia, concep.NombreOperador, concep.NumRegidTribOperador, concep.ResidenciaFiscalOperador) - ' Next - 'End If - + i += 1 + Next End If End If + Dim nsComp As New System.Xml.Serialization.XmlSerializerNamespaces() + nsComp.Add("CartaPorte", "http://www.sat.gob.mx/CartaPorte") + Dim xmlComp As String = Profact.TimbraCFDI.XMLUtilerias.SerializaObjeto(ComCartaPorte, GetType(ProfactCartaPorte.CartaPorte), nsComp) + Dim docComp As New XmlDocument() + docComp.LoadXml(xmlComp) + comprobante.CartaPorteSpecified = True + LXmlComplementos.Add(docComp.DocumentElement) + TieneComplemento = True + End If #End Region -#Region "Nomina12" +#Region " Nomina12" If ObjCFDITimbre.Comprobante.TipoComprobante = "N" Then Dim Nom = New Profact.TimbraCFDI33.Complementos.Nomina12.Nomina() 'cfdi.Esquema.AgregarEsquema("http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd") diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index 2fb2b064c..39c5d4679 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -191,6 +191,7 @@ Partial Class Inventarios_TraspasoAlmacen If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then divFechaEnvio.Visible = True + HplNuevaUnidad.Enabled = False End If @@ -212,7 +213,7 @@ Partial Class Inventarios_TraspasoAlmacen DivTransitorio2.Visible = True End If - If UsuarioActual.CveEmpresa.Contiene(1, 119) Then + If UsuarioActual.CveEmpresa.Contiene(1, 119, 140, 2) Then DivEmitirTimbrado.Visible = True LblEmitirTimbrado.Visible = True ChkEmitirTimbrado.Checked = True @@ -1164,9 +1165,6 @@ Partial Class Inventarios_TraspasoAlmacen End If - 'DdlClasificacion.SelectedValue = "-1" - 'DdlClasificacion_SelectedIndexChanged(DdlClasificacion, EventArgs.Empty) - If ChkEmitirTimbrado.Checked AndAlso ChkTransitorio.Checked Then CveMovimientoTimbrado = CveMovimientoSalida : Timbrar() Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, "") @@ -2693,7 +2691,7 @@ Partial Class Inventarios_TraspasoAlmacen Timbre.Comprobante.LugarExpedicion = Obj.SubProyecto.CP Timbre.Comprobante.Confirmacion = "" - Timbre.Receptor.RFC = "XAXX010101000" + Timbre.Receptor.RFC = UsuarioActual.Empresa.RFC Timbre.Receptor.Nombre = UsuarioActual.Empresa.Empresa Timbre.Receptor.UsoCFDI = "P01" @@ -2710,7 +2708,6 @@ Partial Class Inventarios_TraspasoAlmacen CartaPorte.TranspInternac = "No" CartaPorte.EntradaSalidaMercancia = "" CartaPorte.ViaEntradaSalida = "" - CartaPorte.TotalDistanciaRecorrida = 12 CartaPorte.Mercancias.PesoBrutoTotal = 0 CartaPorte.Mercancias.UnidadPeso = "" @@ -2778,36 +2775,36 @@ Partial Class Inventarios_TraspasoAlmacen If CveSubProyectoOrigen > 0 Then Dim drr As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyectoOrigen).FiltroPrimero("") DomOrigen = New CFDICartaPorteDomicilio With {.Calle = drr("Calle").ToString, - .Colonia = drr("Colonia").ToString, - .CP = drr("CP").ToString, - .Estado = drr("Estado").ToString, - .Pais = drr("Pais").ToString, - .Municipio = drr("Municipio").ToString, - .Localidad = drr("Localidad").ToString} + .Colonia = "",'drr("Colonia").ToString, + .CP = drr("CP").ToString, + .Estado = "SON", ' drr("Estado").ToString, + .Pais = "MEX",'drr("Pais").ToString, + .Municipio = "", ' drr("Municipio").ToString, + .Localidad = ""} ' drr("Localidad").ToString} End If Dim CveSubProyectoDestino As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDestino.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto", "").ToEntero Dim DomDestino As CFDICartaPorteDomicilio = Nothing - If CveSubProyectoOrigen > 0 Then - Dim drr As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyectoOrigen).FiltroPrimero("") + If CveSubProyectoDestino > 0 Then + Dim drr As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyectoDestino).FiltroPrimero("") DomDestino = New CFDICartaPorteDomicilio With {.Calle = drr("Calle").ToString, - .Colonia = drr("Colonia").ToString, - .CP = drr("CP").ToString, - .Estado = drr("Estado").ToString, - .Pais = drr("Pais").ToString, - .Municipio = drr("Municipio").ToString, - .Localidad = drr("Localidad").ToString} + .Colonia = "",'drr("Colonia").ToString, + .CP = drr("CP").ToString, + .Estado = "SON", ' drr("Estado").ToString, + .Pais = "MEX",'drr("Pais").ToString, + .Municipio = "", ' drr("Municipio").ToString, + .Localidad = ""} ' drr("Localidad").ToString} End If Dim Ubica As New CFDICartaPorteUbicaciones - Ubica.TipoEstacion = "01" - Ubica.DistanciaRecorrida = 6 - Ubica.Origen = New CFDICartaPorteUbicacionOrigen With {.RFCRemitente = UsuarioActual.Empresa.RFC, - .FechaHoraSalida = Now.ToString("yyyy-MM-ddTH:mm:ss"),' "2021-08-23T11:13:01", + Ubica.TipoEstacion = "" + Ubica.DistanciaRecorrida = 1 + Ubica.Origen = New CFDICartaPorteUbicacionOrigen With {.RFCRemitente = "",'UsuarioActual.Empresa.RFC, + .FechaHoraSalida = Now.ToString("yyyy-MM-ddTHH:mm:ss"),' "2021-08-23T11:13:01", .NombreRemitente = UsuarioActual.Empresa.Empresa, .Domicilio = DomOrigen} - Ubica.Destino = New CFDICartaPorteUbicacionDestino With {.RFCDestinatario = UsuarioActual.Empresa.RFC,'"CAMJ841219I33", + Ubica.Destino = New CFDICartaPorteUbicacionDestino With {.RFCDestinatario = "",'UsuarioActual.Empresa.RFC,'"CAMJ841219I33", .FechaHoraProgLlegada = TxtFechaEntrega.Text.ToDate.ToString("yyyy-MM-ddT23:59:59"), .NombreDestinatario = UsuarioActual.Empresa.Empresa, .Domicilio = DomDestino} @@ -3025,7 +3022,7 @@ Partial Class Inventarios_TraspasoAlmacen 'If TimbrarFacturaGoCFDIv33(ObjFactura, UsuarioActual, 4) <> "" Then ' MensajeAlert.AppendFormat("