This commit is contained in:
rakcsle
2022-06-02 10:59:07 -07:00
10 changed files with 165 additions and 98 deletions

View File

@@ -3749,7 +3749,7 @@ Public Class ClsGenerales
End Function
Public Function UpdateTimbreTimbrado(CveTimbre As Integer, FolioFiscal As String, Fecha As DateTime, CveUsuario As Integer, CveEmpresa As Integer,
CvePAC As Integer) As Boolean
CvePAC As Integer, CFDIVersion As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_TimbreTimbrado")
@@ -3759,6 +3759,7 @@ Public Class ClsGenerales
.Add("@FolioFiscal", SqlDbType.VarChar).Value = FolioFiscal
.Add("@Fecha", SqlDbType.DateTime).Value = Fecha
.Add("@CvePAC", SqlDbType.Int).Value = CvePAC
.Add("@CDFIVersion", SqlDbType.VarChar).Value = CFDIVersion
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With

View File

@@ -8802,9 +8802,17 @@ Public Class ClsPaginas
#End Region
#Region "PDF PAGOS"
Private Function ValorXML(n As XmlNode, Campo As String, Optional Retorno As String = "") As String
Dim o As XmlNode = n.Attributes.Cast(Of XmlAttribute)().SingleOrDefault(Function(a) String.Compare(a.Name, Campo, True) = 0)
If o Is Nothing Then
Return Retorno
Else
Return o.Value
End If
End Function
Public Sub PDFReciboDePagos(CveVenta As Integer, CveIE As Integer, CveComplementoPago As Integer, Optional imprimir As Boolean = True)
Dim ObjBancos As New ClsBancos
Dim ObjClientes As New ClsClientes
Dim params As New List(Of ReportParameter)
@@ -8855,6 +8863,7 @@ Public Class ClsPaginas
DTConceptosPagoRelacionado.Columns.Add("MetodoDePagoDR", GetType(String))
DTConceptosPagoRelacionado.Columns.Add("MonedaDR", GetType(String))
DTConceptosPagoRelacionado.Columns.Add("TipoCambioDR", GetType(String))
DTConceptosPagoRelacionado.Columns.Add("ObjetoImpDR", GetType(String))
If ObjBancos.GetComplementoPagos(CveComplementoPago, CveIE, CveVenta, UsuarioActual.CveEmpresa) Then
@@ -8901,13 +8910,29 @@ Public Class ClsPaginas
Dim ImagenCBB As String = $"file://{Ruta}CBB\{Serie}-{Folio}.jpg"
If File.Exists(PathXML) Then
Dim XmlDoc As New System.Xml.XmlDocument
XmlDoc.Load(PathXML)
Dim Version = ValorXML(XmlDoc.DocumentElement, "version")
Dim namespaces As New XmlNamespaceManager(XmlDoc.NameTable)
Dim Prefijo As String = If(XmlDoc.DocumentElement.Prefix = "", "cfd", XmlDoc.DocumentElement.Prefix)
Dim cfdVer As String = ""
Dim validaElemento = XmlDoc.DocumentElement("cfdi:Complemento")
Dim validaElementoPago = XmlDoc.DocumentElement("cfdi:Conceptos")
If Version = "3.3" Then
cfdVer = "http://www.sat.gob.mx/cfd/3"
Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4"
End If
namespaces.AddNamespace(Prefijo, cfdVer)
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
namespaces.AddNamespace("pago20", "http://www.sat.gob.mx/Pagos20")
'Datos Fiscales
If Not IsNothing(validaElemento) Then
For i As Integer = 0 To XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Count - 1
@@ -8924,46 +8949,60 @@ Public Class ClsPaginas
'Pago
If Not IsNothing(validaElemento) Then
Dim PagosChild = XmlDoc.DocumentElement("cfdi:Complemento").ChildNodes.Cast(Of XmlNode).Where(Function(a) a.LocalName.Equals("Pagos", StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault()
Dim nodePagos As XmlNodeList
If Version = "3.3" Then
nodePagos = XmlDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Complemento/pago10:Pago", Prefijo), namespaces)
Else
nodePagos = XmlDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Complemento/pago20:Pagos/pago20:Pago", Prefijo), namespaces)
End If
For Each Pagos As XmlNode In PagosChild.ChildNodes
Dim Dr As DataRow = DTConceptosPago.NewRow
If Not Pagos.Attributes("CtaOrdenante") Is Nothing Then Dr("CtaOrdenante") = Pagos.Attributes("CtaOrdenante").Value Else Dr("CtaOrdenante") = ""
If Not Pagos.Attributes("TipoCambioP") Is Nothing Then Dr("TipoCambioP") = Pagos.Attributes("TipoCambioP").Value Else Dr("TipoCambioP") = ""
If Not Pagos.Attributes("RfcEmisorCtaOrd") Is Nothing Then
Dr("RfcEmisorCtaOrd") = Pagos.Attributes("RfcEmisorCtaOrd").Value
RFCOrdenante = Pagos.Attributes("RfcEmisorCtaOrd").Value
For Each Pagos As XmlNode In nodePagos
If Version = "4.0" AndAlso Pagos.Name = "pago20:Totales" Then
Dim a As String = "a"
Else
Dr("RfcEmisorCtaOrd") = ""
Dim Dr As DataRow = DTConceptosPago.NewRow
If Not Pagos.Attributes("CtaOrdenante") Is Nothing Then Dr("CtaOrdenante") = Pagos.Attributes("CtaOrdenante").Value Else Dr("CtaOrdenante") = ""
If Not Pagos.Attributes("TipoCambioP") Is Nothing Then Dr("TipoCambioP") = Pagos.Attributes("TipoCambioP").Value Else Dr("TipoCambioP") = ""
If Not Pagos.Attributes("RfcEmisorCtaOrd") Is Nothing Then
Dr("RfcEmisorCtaOrd") = Pagos.Attributes("RfcEmisorCtaOrd").Value
RFCOrdenante = Pagos.Attributes("RfcEmisorCtaOrd").Value
Else
Dr("RfcEmisorCtaOrd") = ""
End If
Dr("Monto") = Pagos.Attributes("Monto").Value
Dr("MonedaP") = Pagos.Attributes("MonedaP").Value
Dr("FormaDePagoP") = GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPagoSAT", $"ClaveFormaPagoSAT= '{Pagos.Attributes("FormaDePagoP").Value}'")
Dr("FechaPago") = Pagos.Attributes("FechaPago").Value
FechaRecibo = Pagos.Attributes("FechaPago").Value
TotalLetra = Pagos.Attributes("Monto").Value.ToString.ToDouble.Texto2Letras(CveMoneda)
DTConceptosPago.Rows.Add(Dr)
For Each Relacionado As XmlNode In Pagos.SelectNodes("//pago20:DoctoRelacionado", namespaces)
Dim DrRelacionado As DataRow = DTConceptosPagoRelacionado.NewRow
If Not Relacionado.Attributes("Folio") Is Nothing Then DrRelacionado("Folio") = Relacionado.Attributes("Folio").Value Else DrRelacionado("Folio") = ""
If Not Relacionado.Attributes("Serie") Is Nothing Then DrRelacionado("Serie") = Relacionado.Attributes("Serie").Value Else DrRelacionado("Serie") = ""
If Not Relacionado.Attributes("TipoCambioDR") Is Nothing Then DrRelacionado("TipoCambioDR") = Relacionado.Attributes("TipoCambioDR").Value Else DrRelacionado("TipoCambioDR") = ""
DrRelacionado("IdDocumento") = Relacionado.Attributes("IdDocumento").Value
DrRelacionado("ImpPagado") = Relacionado.Attributes("ImpPagado").Value
DrRelacionado("ImpSaldoAnt") = Relacionado.Attributes("ImpSaldoAnt").Value
DrRelacionado("NumParcialidad") = Relacionado.Attributes("NumParcialidad").Value
If Version = "3.3" Then DrRelacionado("MetodoDePagoDR") = Relacionado.Attributes("MetodoDePagoDR").Value
If Version = "4.0" Then DrRelacionado("ObjetoImpDR") = Relacionado.Attributes("ObjetoImpDR").Value
DrRelacionado("MonedaDR") = Relacionado.Attributes("MonedaDR").Value
DTConceptosPagoRelacionado.Rows.Add(DrRelacionado)
Next
End If
Dr("Monto") = Pagos.Attributes("Monto").Value
Dr("MonedaP") = Pagos.Attributes("MonedaP").Value
Dr("FormaDePagoP") = GlobalDTVtaFormaPago.FiltroPrimeroValor("FormaPagoSAT", $"ClaveFormaPagoSAT= '{Pagos.Attributes("FormaDePagoP").Value}'")
Dr("FechaPago") = Pagos.Attributes("FechaPago").Value
FechaRecibo = Pagos.Attributes("FechaPago").Value
TotalLetra = Pagos.Attributes("Monto").Value.ToString.ToDouble.Texto2Letras(CveMoneda)
DTConceptosPago.Rows.Add(Dr)
For Each Relacionado As XmlNode In Pagos.ChildNodes
Dim DrRelacionado As DataRow = DTConceptosPagoRelacionado.NewRow
If Not Relacionado.Attributes("Folio") Is Nothing Then DrRelacionado("Folio") = Relacionado.Attributes("Folio").Value Else DrRelacionado("Folio") = ""
If Not Relacionado.Attributes("Serie") Is Nothing Then DrRelacionado("Serie") = Relacionado.Attributes("Serie").Value Else DrRelacionado("Serie") = ""
If Not Relacionado.Attributes("TipoCambioDR") Is Nothing Then DrRelacionado("TipoCambioDR") = Relacionado.Attributes("TipoCambioDR").Value Else DrRelacionado("TipoCambioDR") = ""
DrRelacionado("IdDocumento") = Relacionado.Attributes("IdDocumento").Value
DrRelacionado("ImpPagado") = Relacionado.Attributes("ImpPagado").Value
DrRelacionado("ImpSaldoAnt") = Relacionado.Attributes("ImpSaldoAnt").Value
DrRelacionado("NumParcialidad") = Relacionado.Attributes("NumParcialidad").Value
DrRelacionado("MetodoDePagoDR") = Relacionado.Attributes("MetodoDePagoDR").Value
DrRelacionado("MonedaDR") = Relacionado.Attributes("MonedaDR").Value
DTConceptosPagoRelacionado.Rows.Add(DrRelacionado)
Next
Next
End If

View File

@@ -4854,14 +4854,14 @@ Public Class ClsVentas
End Try
Return retorno
End Function
Public Function AddMetasVendedores(CveVendedor As Integer, MesAño As Date, CveMarca As Integer, MetaCantidad As Integer, MetaImporte As Decimal, CveClasificacion As Integer, CveClasificacionSup As Integer, CveEmpresa As Integer) As Boolean
Public Function AddMetasVendedores(CveVendedor As Integer, MesAño As Date, CveMarca As Integer, MetaCantidad As Decimal, MetaImporte As Decimal, CveClasificacion As Integer, CveClasificacionSup As Integer, CveEmpresa As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Vta_MetasVendedoresAdd", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
.Add("@MesAño", SqlDbType.DateTime).Value = MesAño
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
.Add("@MetaCantidad", SqlDbType.Int).Value = MetaCantidad
.Add("@MetaCantidad", SqlDbType.SmallMoney).Value = MetaCantidad
.Add("@MetaImporte", SqlDbType.Decimal).Value = MetaImporte
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveClasificacionSup", SqlDbType.Int).Value = CveClasificacionSup

View File

@@ -3891,7 +3891,7 @@ Namespace Modelos
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:=RowGarantia("CveVentaDetalle").ToString.ToEntero) Then
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
OcurrioError = True
Exit For
End If

View File

@@ -2832,7 +2832,7 @@ Public Class Timbrado
Case "T"
Dim objGrales As New ClsGenerales
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC) Then
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC, "3.3") Then
Retorno = ""
Else
Retorno = "Error"
@@ -5658,7 +5658,7 @@ Public Class Timbrado
Case "T"
Dim objGrales As New ClsGenerales
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC) Then
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC, "4.0") Then
Retorno = ""
Else
Retorno = "Error"

View File

@@ -41,8 +41,10 @@ Public Class Timbres
Private Sub CreaObjetosTraslados(TipoDocto As String, CveTimbre As Integer)
ObjFactura = New Modelos.Factura
ObjFactura = New Modelos.Factura
ObjFactura.Version = "3.3"
If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then ObjFactura.Version = "4.0"
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
ObjFactura.UsuarioActual = UsuarioActual
@@ -84,8 +86,10 @@ Public Class Timbres
Timbre.Comprobante.SubTotal = Obj.SubTotal
Timbre.Comprobante.Descuentos = Obj.Descuento
Timbre.Comprobante.Moneda = "XXX"
Timbre.Comprobante.TipoCambio = "" ' CONDICIÓN SI LA MONEDA ES 'XXX'
Timbre.Receptor.UsoCFDI = "P01"
Timbre.Comprobante.TipoCambio = "" ' CONDICIÓN SI LA MONEDA ES 'XXX'
Timbre.Receptor.UsoCFDI = "S01"
If ObjFactura.Version = "3.3" Then Timbre.Receptor.UsoCFDI = "P01"
Dim totSubTotal As Decimal = Obj.SubTotal
Dim totIVA As Decimal = Obj.IVA
@@ -124,7 +128,7 @@ Public Class Timbres
Timbre.Receptor.RFC = drT("EmpresaRFC").ToString
Timbre.Receptor.Nombre = drT("EmpresaNombre").ToString
Timbre.Receptor.DomicilioFiscalReceptor = drT("DirDesCP").ToString
Timbre.Receptor.DomicilioFiscalReceptor = drT("DomicilioFiscalReceptor").ToString
Timbre.Receptor.RegimenFiscalReceptor = drT("CodigoRegimenFiscalReceptor").ToString
CveMovimiento = drT("CveMovimientoAlmacen").ToString.ToEntero
@@ -216,8 +220,8 @@ Public Class Timbres
End If
Dim Ubica As New CFDICartaPorteUbicacion
Ubica.TipoEstacion = ""
Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Origen", .IDUbicacion = "OR000001", .RFCRemitenteDestinatario = drT("RemitenteRFC").ToString,
Ubica.TipoEstacion = ""
Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Origen", .IDUbicacion = "OR000001", .RFCRemitenteDestinatario = drT("RemitenteRFC").ToString,
.FechaHoraSalidaLlegada = FechaSalida.ToString("yyyy-MM-ddTHH:mm:ss"),' "2021-08-23T11:13:01",
.NombreRemitenteDestinatario = drT("RemitenteNombre").ToString,
.Domicilio = DomOrigen}
@@ -230,9 +234,9 @@ Public Class Timbres
.NumRegIdTrib = NumRegIdTrib}
CartaPorte.Ubicaciones.Add(Ubica)
CartaPorte.FiguraTransporte.ClaveTransporte = "01"
CartaPorte.FiguraTransporte.ClaveTransporte = "01"
Dim DomicilioOperador As New CFDICartaPorteDomicilio With {.Calle = drT("FiguraDomicilio").ToString,
Dim DomicilioOperador As New CFDICartaPorteDomicilio With {.Calle = drT("FiguraDomicilio").ToString,
.NumeroExterior = drT("FiguraNumeroExterior").ToString,
.NumeroInterior = drT("FiguraNumeroInterior").ToString,
.Colonia = drT("FiguraClaveSATColonia").ToString,
@@ -242,7 +246,7 @@ Public Class Timbres
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {
.RFCFigura = drT("FiguraRFC").ToString,
.NombreFigura = drT("FiguraChofer").ToString,
.NumLicencia = drT("FiguraLicencia").ToString,
@@ -251,8 +255,8 @@ Public Class Timbres
.Domicilio = DomicilioOperador})
'concepto único
Dim concepto As New CFDIConceptos With {.Cantidad = 1,
'concepto único
Dim concepto As New CFDIConceptos With {.Cantidad = 1,
.Descripcion = "Traslado",
.ValorUnitario = 0,
.Importe = 0,
@@ -261,22 +265,23 @@ Public Class Timbres
.ClaveUnidad = "E48",
.ClaveProdServ = "78101802",
.Noidentificacion = "",
.CuentaPredial = ""}
.CuentaPredial = "",
.ObjetoImpuesto = "01"}
Timbre.Conceptos.Add(concepto)
Timbre.Conceptos.Add(concepto)
For Each drr As DataRow In Obj.DtDetalle.Rows
For Each drr As DataRow In Obj.DtDetalle.Rows
If drr("PS").ToString.Length = 1 Then
tPS = drr("Obs").ToString
If drr("PS").ToString.Length = 1 Then
tPS = drr("Obs").ToString
Else
If drr("PS").ToString.Length = 0 Then
tPS = ""
Else
If drr("PS").ToString.Length = 0 Then
tPS = ""
Else
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
End If
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
End If
Dim conceptoCarta As New CFDICartaPorteMercancia With {
End If
Dim conceptoCarta As New CFDICartaPorteMercancia With {
.BienesTransp = drr("SATClaveProdServ").ToString,
.ClaveSTCC = "", 'para metodo ferroviario
.Cantidad = drr("Cantidad").ToString.ToDecimal,
@@ -290,29 +295,29 @@ Public Class Timbres
.Embalaje = drr("ClaveEmbalaje").ToString,
.DescripEmbalaje = drr("Embalaje").ToString,
.ValorMercancia = drr("PU").ToString.ToDecimal,
.Moneda = "MXN", 'temporal
.Moneda = IIf(drr("PU").ToString.ToDecimal > 0, "MXN", ""), 'temporal
.FraccionArrancelaria = "",
.UUIDComercioExt = ""
}
Dim DetalleMercancia As New CFDICartaPorteMercanciaDetalleMercancia With {.PesoNeto = drr("PesoKg").ToString.ToDecimal * drr("Cantidad").ToString.ToDecimal, .NumPiezas = drr("Cantidad").ToString.ToDecimal}
conceptoCarta.DetalleMercancia = DetalleMercancia
Dim DetalleMercancia As New CFDICartaPorteMercanciaDetalleMercancia With {.PesoNeto = drr("PesoKg").ToString.ToDecimal * drr("Cantidad").ToString.ToDecimal, .NumPiezas = drr("Cantidad").ToString.ToDecimal}
conceptoCarta.DetalleMercancia = DetalleMercancia
Dim MercanciaTransporta As New CFDICartaPorteMercanciaTransporta With {.Cantidad = drr("Cantidad").ToString.ToDecimal, .IDOrigen = "OR000001", .IDDestino = "DE000001"}
conceptoCarta.MercanciasCantidadTransporta.Add(MercanciaTransporta)
Dim MercanciaTransporta As New CFDICartaPorteMercanciaTransporta With {.Cantidad = drr("Cantidad").ToString.ToDecimal, .IDOrigen = "OR000001", .IDDestino = "DE000001"}
conceptoCarta.MercanciasCantidadTransporta.Add(MercanciaTransporta)
totSubTotal = totSubTotal - concepto.Importe
CartaPorte.Mercancias.Mercancias.Add(conceptoCarta)
totSubTotal = totSubTotal - concepto.Importe
CartaPorte.Mercancias.Mercancias.Add(conceptoCarta)
i += 1
Next
Timbre.Complementos.CartaPorte = CartaPorte
i += 1
Next
Timbre.Complementos.CartaPorte = CartaPorte
Else
'' T R A S L A D O S
Else
'' T R A S L A D O S
'DETALLES
If Obj.DtDetalle IsNot Nothing Then
'DETALLES
If Obj.DtDetalle IsNot Nothing Then
For Each drr As DataRow In Obj.DtDetalle.Rows
If drr("PS").ToString.Length = 1 Then
@@ -337,7 +342,8 @@ Public Class Timbres
.ClaveUnidad = drr("SATClaveUM").ToString,
.ClaveProdServ = drr("SATClaveProdServ").ToString,
.Noidentificacion = drr("Noidentificacion").ToString,
.CuentaPredial = ""}
.CuentaPredial = "",
.ObjetoImpuesto = "01"}
'VERIFICA SUMA SUBTOTALES
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'PROCESO DE AJUSTA DE DECIMALES
concepto.Importe = totSubTotal

View File

@@ -1370,7 +1370,7 @@ Partial Class Bancos_ProveedoresAbonar
IdCtaContable = IdCuenta
End If
Dim Importe42 As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
Dim Importe42 As Decimal = gvr.FCTextBox("TxtAbonar").Text.ToDecimal + gvr.FCTextBox("TxtComision").Text.ToDecimal
ImporteMovimiento = Importe42
importeMX = If(CveMoneda = 2, If(DivTC.Visible, Importe42 / TxtTC.Text.ToDecimal * TipoCambioPago, Importe42 * TipoCambioPago), Importe42)
TipoCambioGeneral = TipoCambioPago

Binary file not shown.

View File

@@ -1692,12 +1692,17 @@ Partial Class PopUpVerFactura
Dim ImagenCBB As New System.IO.FileInfo(RutaCBB)
Dim nodo As XmlNode = XMLDoc.DocumentElement
Dim Version = ValorXML(nodo, "version")
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3"
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
If Version = "3.3" Then
cfdVer = "http://www.sat.gob.mx/cfd/3"
Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4"
End If
If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
namespaces.AddNamespace(Prefijo, cfdVer)
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
@@ -1737,7 +1742,6 @@ Partial Class PopUpVerFactura
Next
End If
Dim nodeComp As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", Prefijo), namespaces)
Dim nodeCartaPorte As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:CartaPorte", "cartaporte20"), namespaces)

View File

@@ -1268,8 +1268,6 @@ Partial Class Clientes
CargaCombosComercioExterior()
End Sub
Private Sub CargaSubProyectoss()
@@ -2480,18 +2478,37 @@ Partial Class Clientes
End If
'CargaSucursal()
'If UsuarioActual.TienePermisoProceso(170) AndAlso TxtCodigo.Text.Trim = "" Then
' Alert("Es necesario ingresar un Código", TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
If UsuarioActual.Empresa.Funcionalidad(350).Contiene("1", "2") Then
'Dim rowcodigo As DataTable = GlobalDTCliente.FiltraParametros(String.Format("Codigo='{0}' AND CveEmpresa={1} ", TxtCodigo.Text.Trim, UsuarioActual.CveEmpresa))
'If (Not IsNothing(rowcodigo)) AndAlso (rowcodigo.Rows.Count > 0) AndAlso (rowcodigo.Rows(0)("CveCliente").ToString().Toentero() <> CveCliente) Then
' Alert(String.Format("ya existe un Cliente Con este Codigo '{0}'", TxtCodigo.Text.Trim), TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
Dim ObjClientes As New ClsClientes()
If TxtRFC.Text.ToUpper.Contiene("XAXX010101000", "XEXX010101000") AndAlso DdlRegimenFiscal.SelectedValue <> "11" Then
Alert("El Regimen fiscal del cliente debe ser <b>'616 - Sin obligaciones fiscales'</b> cuando se utiliza el RFC genérico.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If TxtRFC.Text.ToUpper.Contiene("XAXX010101000", "XEXX010101000") AndAlso DdlUsoCFDI.SelectedValue <> "23" Then
Alert("El Regimen fiscal del cliente debe ser <b>'S01 - Sin efectos fiscales'</b> cuando se utiliza el RFC genérico.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
'CargaSucursal()
'If UsuarioActual.TienePermisoProceso(170) AndAlso TxtCodigo.Text.Trim = "" Then
' Alert("Es necesario ingresar un Código", TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
'Dim rowcodigo As DataTable = GlobalDTCliente.FiltraParametros(String.Format("Codigo='{0}' AND CveEmpresa={1} ", TxtCodigo.Text.Trim, UsuarioActual.CveEmpresa))
'If (Not IsNothing(rowcodigo)) AndAlso (rowcodigo.Rows.Count > 0) AndAlso (rowcodigo.Rows(0)("CveCliente").ToString().Toentero() <> CveCliente) Then
' Alert(String.Format("ya existe un Cliente Con este Codigo '{0}'", TxtCodigo.Text.Trim), TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
Dim ObjClientes As New ClsClientes()
Dim objDoc As New ClsEdocumentacion(ObjClientes.IniciaTransacSQL())
Dim MsgCuentaContable As String = ""
Dim ErrorProceso As Boolean = False