Comercio Exterior 4.0

This commit is contained in:
Oscar Irigoyen
2022-08-21 12:32:03 -07:00
parent f12f047b27
commit fbcffa35fd
3 changed files with 193 additions and 152 deletions

View File

@@ -4919,81 +4919,81 @@ Public Class Timbrado
#End Region #End Region
#Region "Comercio Exterior" #Region "Comercio Exterior"
'If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then
' If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then
' 'DATOS GENERALES 'DATOS GENERALES
' cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado, cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado,
' ObjCFDITimbre.Complementos.ComercioExterior11.TipoOperacion, ObjCFDITimbre.Complementos.ComercioExterior11.TipoOperacion,
' ObjCFDITimbre.Complementos.ComercioExterior11.ClavedePedimento, ObjCFDITimbre.Complementos.ComercioExterior11.ClavedePedimento,
' ObjCFDITimbre.Complementos.ComercioExterior11.CertificadoOrigen, ObjCFDITimbre.Complementos.ComercioExterior11.CertificadoOrigen,
' ObjCFDITimbre.Complementos.ComercioExterior11.NumCertificadoOrigen, ObjCFDITimbre.Complementos.ComercioExterior11.NumCertificadoOrigen,
' ObjCFDITimbre.Complementos.ComercioExterior11.NumeroExportadorConfiable, ObjCFDITimbre.Complementos.ComercioExterior11.NumeroExportadorConfiable,
' ObjCFDITimbre.Complementos.ComercioExterior11.Incoterm, ObjCFDITimbre.Complementos.ComercioExterior11.Incoterm,
' ObjCFDITimbre.Complementos.ComercioExterior11.Subdivision, ObjCFDITimbre.Complementos.ComercioExterior11.Subdivision,
' ObjCFDITimbre.Complementos.ComercioExterior11.Observaciones, ObjCFDITimbre.Complementos.ComercioExterior11.Observaciones,
' ObjCFDITimbre.Complementos.ComercioExterior11.TipoCambioUSD, ObjCFDITimbre.Complementos.ComercioExterior11.TipoCambioUSD,
' ObjCFDITimbre.Complementos.ComercioExterior11.TotalUSD) ObjCFDITimbre.Complementos.ComercioExterior11.TotalUSD)
' 'EMISOR 'EMISOR
' cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP)) cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP))
' cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle, cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroExterior, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroExterior,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroInterior, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroInterior,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Colonia, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Colonia,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Localidad, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Localidad,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Referencia, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Referencia,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Municipio, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Municipio,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Estado, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Estado,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Pais, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Pais,
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CP) ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CP)
' 'RECEPTOR 'RECEPTOR
' cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib) cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib)
' cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle, cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroExterior, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroExterior,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroInterior, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroInterior,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Colonia, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Colonia,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Localidad, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Localidad,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Referencia, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Referencia,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Municipio, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Municipio,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Estado, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Estado,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Pais, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Pais,
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.CP) ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.CP)
' cfdi.ComercioExterior11Destinatario(ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib, cfdi.ComercioExterior11Destinatario(ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Nombre, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Nombre,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Calle, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Calle,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroInterior, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroInterior,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Colonia, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Colonia,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Localidad, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Localidad,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Referencia, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Referencia,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Municipio, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Municipio,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Estado, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Estado,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Pais, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Pais,
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.CP) ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.CP)
' 'MERCANCIAS 'MERCANCIAS
' If ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias IsNot Nothing AndAlso ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias.Count > 0 Then If ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias IsNot Nothing AndAlso ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias.Count > 0 Then
' For Each concep As CFDIComercioExterior11Mercancias In ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias For Each concep As CFDIComercioExterior11Mercancias In ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias
' cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares) cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares)
' If concep.DescripcionesEspecificas.Marca <> "" Then If concep.DescripcionesEspecificas.Marca <> "" Then
' cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca, cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca,
' concep.DescripcionesEspecificas.Modelo, concep.DescripcionesEspecificas.Modelo,
' concep.DescripcionesEspecificas.SubModelo, concep.DescripcionesEspecificas.SubModelo,
' concep.DescripcionesEspecificas.NumeroSerie) concep.DescripcionesEspecificas.NumeroSerie)
' End If End If
' Next Next
' End If End If
' End If End If
'End If End If
#End Region #End Region
End If End If

View File

@@ -2406,8 +2406,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> </div>
</div>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="portlet light xspadding bordered whitoutcol" style="width: 100%;"> <div class="portlet light xspadding bordered whitoutcol" style="width: 100%;">
@@ -2418,10 +2417,12 @@
</div> </div>
<div class="actions"> <div class="actions">
<div class="btn-group"> <div class="btn-group">
</div> </div>
</div> </div>
<div class="tools"> <div class="tools">
Emitir <asp:CheckBox ID="ChkEmitirComercioExterior" runat="server" CssClass="chksino" Text=" " OnCheckedChanged="ChkEmitirComercioExterior_CheckedChanged" AutoPostBack="true" />
<a href="javascript:;" onclick="CargaComercioExterior()" class="expand"></a> <a href="javascript:;" onclick="CargaComercioExterior()" class="expand"></a>
</div> </div>
</div> </div>
@@ -2429,6 +2430,16 @@
<asp:UpdatePanel ID="UpComercioExterior" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpComercioExterior" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="form-body"> <div class="form-body">
<%-- <div class="row rowpadding">
<label class="col-md-2">Emitir:</label>
<div class="col-md-10">
</div>
</div>
<br /> --%>
<div class="row"> <div class="row">
<label class="col-md-2 form-group form-md-line-input">Tipo Operación:</label> <label class="col-md-2 form-group form-md-line-input">Tipo Operación:</label>
<div class="col-md-3 form-group form-md-line-input" style="margin-top: 0px; padding-top: 0px; display: inline-block;"> <div class="col-md-3 form-group form-md-line-input" style="margin-top: 0px; padding-top: 0px; display: inline-block;">

View File

@@ -6334,6 +6334,10 @@ Partial Class Ventas
LblTipoOperacion.Text = ObjCliente.ClaveSATTipoOperacionDescripcion LblTipoOperacion.Text = ObjCliente.ClaveSATTipoOperacionDescripcion
LblClavePedimento.Text = ObjCliente.ClaveSATPedimentoDescripcion LblClavePedimento.Text = ObjCliente.ClaveSATPedimentoDescripcion
If ObjCliente.AplicaComercioExterior Then
ChkEmitirComercioExterior.Checked = True
End If
If ObjCliente.AplicaComercioExterior Then If ObjCliente.AplicaComercioExterior Then
DdlSATMotivoTraslado.DataSource = GlobalDTSATMotivoTraslado DdlSATMotivoTraslado.DataSource = GlobalDTSATMotivoTraslado
DdlSATMotivoTraslado.DataBind() DdlSATMotivoTraslado.DataBind()
@@ -11759,6 +11763,10 @@ Partial Class Ventas
Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre
Dim Timbre As New CFDITimbre Dim Timbre As New CFDITimbre
Timbre.Comprobante.Version = If(UsuarioActual.Empresa.Funcionalidad(350) = "1", "4.0", "3.3")
Timbre.Comprobante.TipoComprobante = If(Obj.TipoDocto.Contiene("Ing", "Ant"), "I", If(Obj.TipoDocto.Contiene("Egs", "Dev"), "E", "")) Timbre.Comprobante.TipoComprobante = If(Obj.TipoDocto.Contiene("Ing", "Ant"), "I", If(Obj.TipoDocto.Contiene("Egs", "Dev"), "E", ""))
Timbre.Comprobante.Folio = Obj.Folio.ToString() Timbre.Comprobante.Folio = Obj.Folio.ToString()
Timbre.Comprobante.Serie = Obj.Serie Timbre.Comprobante.Serie = Obj.Serie
@@ -11967,10 +11975,16 @@ Partial Class Ventas
i += 1 i += 1
Next Next
Dim AplicaComercioExteriorSubProyecto As Boolean = If(GlobalDTSubProyectos(-1, Obj.CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa)(0)("AplicaComercioExterior").ToString() = "True", True, False) Dim AplicaComercioExteriorSubProyecto As Boolean
If ChkEmitirComercioExterior.Checked Then
AplicaComercioExteriorSubProyecto = If(GlobalDTSubProyectos(-1, Obj.CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa)(0)("AplicaComercioExterior").ToString() = "True", True, False)
Timbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto = AplicaComercioExteriorSubProyecto Timbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto = AplicaComercioExteriorSubProyecto
If Obj.Cliente.AplicaComercioExterior And AplicaComercioExteriorSubProyecto Then If Obj.Cliente.AplicaComercioExterior And AplicaComercioExteriorSubProyecto Then
'DATOS GENERALES 'DATOS GENERALES
Timbre.Comprobante.Exportacion = "02"
Timbre.Complementos.ComercioExterior11.TipoOperacion = GlobalDTTipoOperacion().FiltraParametros($"CveTipoOperacion={CveTipoOperacion}")(0)("ClaveSATTipoOperacion").ToString() Timbre.Complementos.ComercioExterior11.TipoOperacion = GlobalDTTipoOperacion().FiltraParametros($"CveTipoOperacion={CveTipoOperacion}")(0)("ClaveSATTipoOperacion").ToString()
Timbre.Complementos.ComercioExterior11.ClavedePedimento = GlobalDTClavePedimento().FiltraParametros($"CvePedimento={CvePedimento}")(0)("ClaveSATPedimento").ToString() Timbre.Complementos.ComercioExterior11.ClavedePedimento = GlobalDTClavePedimento().FiltraParametros($"CvePedimento={CvePedimento}")(0)("ClaveSATPedimento").ToString()
Timbre.Complementos.ComercioExterior11.CertificadoOrigen = "0" Timbre.Complementos.ComercioExterior11.CertificadoOrigen = "0"
@@ -11980,6 +11994,7 @@ Partial Class Ventas
Timbre.Complementos.ComercioExterior11.MotivoTraslado = GlobalDTSATMotivoTraslado.FiltroPrimeroValor("ClaveSATMotivoTraslado", $"CveMotivoTraslado={DdlSATMotivoTraslado.SelectedValue}") Timbre.Complementos.ComercioExterior11.MotivoTraslado = GlobalDTSATMotivoTraslado.FiltroPrimeroValor("ClaveSATMotivoTraslado", $"CveMotivoTraslado={DdlSATMotivoTraslado.SelectedValue}")
'EMISOR 'EMISOR
Dim Dr As DataRow Dim Dr As DataRow
Dr = Nothing Dr = Nothing
@@ -11997,8 +12012,9 @@ Partial Class Ventas
Timbre.Complementos.ComercioExterior11.Emisor.Pais = Dr("ClaveSATPais").ToString() Timbre.Complementos.ComercioExterior11.Emisor.Pais = Dr("ClaveSATPais").ToString()
Timbre.Complementos.ComercioExterior11.Emisor.CP = Dr("ClaveSATCP").ToString() Timbre.Complementos.ComercioExterior11.Emisor.CP = Dr("ClaveSATCP").ToString()
'RECEPTOR 'RECEPTOR
Timbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib = "" ' EN LA VERSION 3.3 NO DEBE DE REGISTRARSE ESTE VALOR Timbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib = If(Timbre.Comprobante.Version = "4.0", Obj.Cliente.NumRegIdTrib, "") ' EN LA VERSION 3.3 NO DEBE DE REGISTRARSE ESTE VALOR
Timbre.Complementos.ComercioExterior11.Receptor.Calle = Obj.Cliente.Direccion Timbre.Complementos.ComercioExterior11.Receptor.Calle = Obj.Cliente.Direccion
Timbre.Complementos.ComercioExterior11.Receptor.NumeroExterior = Obj.Cliente.NoExt Timbre.Complementos.ComercioExterior11.Receptor.NumeroExterior = Obj.Cliente.NoExt
Timbre.Complementos.ComercioExterior11.Receptor.NumeroInterior = Obj.Cliente.NoInt Timbre.Complementos.ComercioExterior11.Receptor.NumeroInterior = Obj.Cliente.NoInt
@@ -12065,6 +12081,15 @@ Partial Class Ventas
Next Next
End If End If
Else
Timbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto = False
End If
Return Timbre Return Timbre
End Function End Function
@@ -35005,5 +35030,10 @@ Partial Class Ventas
End Function End Function
Protected Sub ChkEmitirComercioExterior_CheckedChanged(sender As Object, e As EventArgs)
End Sub
End Class End Class