Merge branch 'master' of http://oirigoyen@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -33,6 +33,13 @@ Public Class CFDITimbre
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property AplicaImpuestosTraslados As Boolean 'detecte si va la etiqueta de impuestos, aunque sea en cero
|
||||
Get
|
||||
Return (From c In Conceptos
|
||||
Select c.Impuestos.Where(Function(tra) tra.TrasladooRetencion = "T" And tra.TipoFactor = "Tasa")).Count() > 0
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Retenciones As List(Of CFDIRetenciones)
|
||||
Get
|
||||
Dim tRetorno As New List(Of CFDIRetenciones)
|
||||
@@ -72,7 +79,7 @@ Public Class CFDITimbre
|
||||
For Each c As CFDIConceptos In Conceptos
|
||||
For Each imp As CFDIConceptosImpuestos In c.Impuestos
|
||||
If imp.TrasladooRetencion = "T" Then
|
||||
tRetorno.Add(New CFDITraslados With {.Impuesto = imp.Impuesto, .Importe = imp.Importe, .TasaOCuota = imp.TasaOCuota, .TipoFactor = imp.TipoFactor})
|
||||
tRetorno.Add(New CFDITraslados With {.Impuesto = imp.Impuesto, .Base = imp.Base, .Importe = imp.Importe, .TasaOCuota = imp.TasaOCuota, .TipoFactor = imp.TipoFactor})
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
@@ -82,6 +89,7 @@ Public Class CFDITimbre
|
||||
.Select(Function(t) New CFDITraslados With {.Impuesto = t.Key.Impuesto,
|
||||
.TipoFactor = t.Key.TipoFactor,
|
||||
.TasaOCuota = t.Key.TasaOCuota,
|
||||
.Base = t.Sum(Function(tt) tt.Base),
|
||||
.Importe = t.Sum(Function(tt) tt.Importe)}) _
|
||||
.OrderBy(Function(x) x.Impuesto).ToList
|
||||
|
||||
@@ -228,6 +236,7 @@ Public Class CFDIComprobante
|
||||
Public Property Moneda As String = ""
|
||||
Public Property TipoComprobante As String = ""
|
||||
Public Property MetodoPago As String = ""
|
||||
Public Property Exportacion As String = "01" '01-No Aplica
|
||||
Public Property LugarExpedicion As String = ""
|
||||
Public Property NumCuentaPago As String = ""
|
||||
Public Property Confirmacion As String = ""
|
||||
@@ -270,6 +279,8 @@ End Class
|
||||
Public Class CFDIReceptor
|
||||
Public Property RFC As String
|
||||
Public Property Nombre As String
|
||||
Public Property RegimenFiscalReceptor As String = ""
|
||||
Public Property DomicilioFiscalReceptor As String = ""
|
||||
Public Property ResidenciaFiscal As String = ""
|
||||
Public Property NumeroRegistroTributario As String = ""
|
||||
Public Property UsoCFDI As String
|
||||
@@ -314,6 +325,7 @@ Public Class CFDIConceptos
|
||||
Public Property ClaveUnidad As String = ""
|
||||
Public Property Impuestos As List(Of CFDIConceptosImpuestos)
|
||||
Public Property Descuento As Decimal = 0.00D
|
||||
Public Property ObjetoImpuesto As String = "02"
|
||||
Public Property ImporteGravaIVAAdicional As Decimal = 0.00D 'caso IEPS
|
||||
|
||||
Sub New()
|
||||
@@ -408,6 +420,7 @@ Public Class CFDITraslados
|
||||
Public Property TipoFactor As String
|
||||
Public Property TasaOCuota As Decimal
|
||||
Public Property Importe As Decimal
|
||||
Public Property Base As Decimal
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
@@ -125,6 +125,7 @@ Public Class ClsClientes
|
||||
Public Property Celular As String
|
||||
Public Property ExtOtros As String
|
||||
Public Property CveUsoCFDI As Integer
|
||||
Public Property CveRegimenFiscal As Integer
|
||||
Public Property CveFormaPago33 As Integer
|
||||
Public Property CveMetodoPago33 As Integer
|
||||
Public Property CveClienteCorporativo As String
|
||||
@@ -384,6 +385,8 @@ Public Class ClsClientes
|
||||
_CveFormaPago33 = Data(0)("CveFormaPago33").ToString.ToEntero
|
||||
_CveMetodoPago33 = Data(0)("CveMetodoPago33").ToString.ToEntero
|
||||
|
||||
_CveRegimenFiscal = Data(0)("CveRegimenFiscal").ToString.ToEntero
|
||||
|
||||
_CveClienteCorporativo = Data(0)("CveClienteCorporativo").ToString
|
||||
_DesglosaIEPS = CType(Data(0)("DesglosaIEPS"), Boolean)
|
||||
_NoDesglosaIVA = CType(Data(0)("NoDesglosaIVA"), Boolean)
|
||||
@@ -573,7 +576,7 @@ Public Class ClsClientes
|
||||
Optional AplicaComercioExterior As Boolean = False, Optional CveTipoOperacion As Integer = -1, Optional CvePedimento As Integer = -1, Optional CveIncoterm As Integer = -1, Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1,
|
||||
Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1", Optional RequiereOC As Boolean = False,
|
||||
Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0,
|
||||
Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1) As Boolean
|
||||
Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1", Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional CveRegimenFiscal As Integer = 0) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
|
||||
@@ -714,7 +717,7 @@ Public Class ClsClientes
|
||||
.Add("@CveSATEstado", SqlDbType.Int).Value = CveSATEstado
|
||||
|
||||
.Add("@CveAdminTrayecto", SqlDbType.TinyInt).Value = CveAdminTrayecto
|
||||
|
||||
.Add("@CveRegimenFiscal", SqlDbType.TinyInt).Value = CveRegimenFiscal
|
||||
|
||||
End With
|
||||
Try
|
||||
@@ -763,7 +766,7 @@ Public Class ClsClientes
|
||||
Optional CveMotivoTraslado As Integer = 0, Optional NumRegIdTrib As String = "-1", Optional ComExtEstado As String = "-1", Optional ComExtMunicipio As String = "-1", Optional ComExtColonia As String = "-1",
|
||||
Optional ApellidoPaternoPF As String = "-1", Optional ApellidoMaternoPF As String = "-1", Optional NombresPF As String = "-1", Optional RequiereOC As Boolean = False,
|
||||
Optional LT As String = "0", Optional LG As String = "0", Optional EsDistribuidor As Boolean = False, Optional TipoCliente As Integer = 1, Optional CargoUsado As Boolean = False, Optional BonificacionUsado As Boolean = False, Optional CveTipoRetencion As Integer = 0, Optional CorreoEntregaCompras As String = "-1", Optional CorreoEntregaAlmacen As String = "-1",
|
||||
Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional NoDesglosaIVA As Boolean = False) As Boolean
|
||||
Optional CveSATEstado As Integer = -1, Optional CveAdminTrayecto As Integer = -1, Optional NoDesglosaIVA As Boolean = False, Optional CveRegimenFiscal As Integer = 0) As Boolean
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
@@ -920,6 +923,7 @@ Public Class ClsClientes
|
||||
.Add("@CveSATEstado", SqlDbType.Int).Value = CveSATEstado
|
||||
|
||||
.Add("@CveAdminTrayecto", SqlDbType.TinyInt).Value = CveAdminTrayecto
|
||||
.Add("@CveRegimenFiscal", SqlDbType.TinyInt).Value = CveRegimenFiscal
|
||||
|
||||
End With
|
||||
Try
|
||||
|
||||
@@ -716,6 +716,23 @@ Public Class ClsPaginas
|
||||
Application("GlobalDTNomSatRegimenContratacion") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property GlobalDTRegimenesFiscales() As DataTable
|
||||
Get
|
||||
Dim AppNombre As String = String.Format("GlobalDTRegimenesFiscales")
|
||||
'sino existe, recarga los datos
|
||||
If Application(AppNombre) Is Nothing Then
|
||||
Dim ObjGral As New ClsSisEmpresas
|
||||
If ObjGral.GetRegimenFiscal(-1) Then Application(AppNombre) = ObjGral.DtResultados
|
||||
ObjGral.Dispose()
|
||||
End If
|
||||
GlobalDTRegimenesFiscales = DirectCast(Application(AppNombre), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
Dim AppNombre As String = String.Format("GlobalDTRegimenesFiscales")
|
||||
Application(AppNombre) = value
|
||||
End Set
|
||||
End Property
|
||||
Property GlobalDTNomSatRiesgoPuesto() As DataTable
|
||||
Get
|
||||
GlobalDTNomSatRiesgoPuesto = DirectCast(Application("GlobalDTNomSatRiesgoPuesto"), DataTable)
|
||||
@@ -6933,7 +6950,7 @@ Public Class ClsPaginas
|
||||
Dim TC As Decimal = ValorNodoXML(XmlDoc.DocumentElement, "TC").ToDecimal
|
||||
If TC <= 0 Then TC = 1
|
||||
|
||||
If ValorNodoXML(XmlDoc.DocumentElement, "version") = "3.3" Then
|
||||
If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then
|
||||
Vta.FechaEmision = ValorNodoXML(XmlDoc.DocumentElement, "fecha").ToDate
|
||||
Vta.NoSerieCertificadoContribuyente = ValorNodoXML(XmlDoc.DocumentElement, "NoCertificado")
|
||||
|
||||
@@ -7039,7 +7056,7 @@ Public Class ClsPaginas
|
||||
|
||||
|
||||
'Dim CadenaOriginals As String = "||1.0|" + Vta.FolioFiscal + "|" + Vta.FechaCertificacion.ToString("yyyy-MM-dd") + "T" + Vta.FechaCertificacion.ToString("HH:mm:ss") + "|" + Vta.SelloCFDi + "|" + Vta.NoSerieCertificado + "||"
|
||||
Dim CadenaOriginals As String = String.Format("||{0}|{1}|{2}T{3}|{4}|{5}||", If(Vta.Version = "3.3", "1.1", "1.0"), Vta.FolioFiscal, Vta.FechaCertificacion.ToString("yyyy-MM-dd"), Vta.FechaCertificacion.ToString("HH:mm:ss"), Vta.SelloCFDi, Vta.NoSerieCertificado)
|
||||
Dim CadenaOriginals As String = String.Format("||{0}|{1}|{2}T{3}|{4}|{5}||", If(Vta.Version.Contiene("3.3", "4.0"), "1.1", "1.0"), Vta.FolioFiscal, Vta.FechaCertificacion.ToString("yyyy-MM-dd"), Vta.FechaCertificacion.ToString("HH:mm:ss"), Vta.SelloCFDi, Vta.NoSerieCertificado)
|
||||
If Not ImagenCBB.Exists Then ImgCBB = ""
|
||||
Dim RutaFormato As String = ""
|
||||
Dim RutaFormatoDefault As String = ""
|
||||
@@ -7162,7 +7179,7 @@ Public Class ClsPaginas
|
||||
params.Add(New ReportParameter("MetodoPago", Vta.ClaveMetodoPagoSAT.ToString))
|
||||
End If
|
||||
|
||||
If Vta.Version = "3.3" Then
|
||||
If Vta.Version.Contiene("3.3", "4.0") Then
|
||||
params.Add(New ReportParameter("FormaPago", Vta.FormaPago33.ToString))
|
||||
params.Add(New ReportParameter("MetodoPago", Vta.MetodoPago33.ToString))
|
||||
params.Add(New ReportParameter("UsoCFDI", Vta.UsoCFDI))
|
||||
@@ -8342,7 +8359,7 @@ Public Class ClsPaginas
|
||||
'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml")
|
||||
XmlDoc.Load(PathXML)
|
||||
|
||||
If ValorNodoXML(XmlDoc.DocumentElement, "version") = "3.3" Then
|
||||
If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then
|
||||
FechaEmision = XmlDoc.DocumentElement.Attributes("Fecha").InnerText.ToDate
|
||||
NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("NoCertificado").InnerText
|
||||
|
||||
|
||||
@@ -2125,7 +2125,8 @@ Namespace Modelos
|
||||
If factura.TipoDocto = "RNC" AndAlso factura.Num1 = 1 AndAlso factura.DtMovimientosUsados IsNot Nothing AndAlso ObjAcum IsNot Nothing Then
|
||||
'Dim Mensaje As String = ""
|
||||
Dim CveMovimiento = ObjInventario.AddMovimiento(factura.CveAlmacen, factura.CveConceptoMovimiento, 1, factura.Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, factura.CveVenta,
|
||||
CveSubProyecto, CveActivoFijo:=-1, Guia:="", Observaciones:=factura.ObservacionesMovimiento, CvePersonal:=-1, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, Modulo:="RU/G")
|
||||
CveSubProyecto, CveActivoFijo:=-1,
|
||||
Observaciones:=factura.MovimientoObservaciones, Recibio:=factura.MovimientoRecibio, CvePersonal:=-1, CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, Modulo:="RU/GModel")
|
||||
If CveMovimiento <= 0 Then
|
||||
'Mensaje = "Error al guardar los movimientos"
|
||||
Resultado = False
|
||||
@@ -6303,7 +6304,8 @@ Namespace Modelos
|
||||
Public Property CveAlmacen As Integer
|
||||
Public Property GenerarSalidaAlmacen As Boolean = False
|
||||
Public Property CveConceptoMovimiento As Integer
|
||||
Public Property ObservacionesMovimiento As String
|
||||
Public Property MovimientoObservaciones As String
|
||||
Public Property MovimientoRecibio As String
|
||||
Public Property DtMovimientosUsados As DataTable
|
||||
Public Property CveAlmacenDevolucion As Integer
|
||||
Public Property CveVenta As Integer
|
||||
@@ -10009,6 +10011,8 @@ Namespace Modelos
|
||||
Public Property Pais As String
|
||||
Public Property RFC As String
|
||||
Public Property CP As String
|
||||
Public Property CveRegimenFiscal As Integer
|
||||
Public Property CodigoRegimenFiscal As String
|
||||
Public Property Telefono As String
|
||||
Public Property Contacto As String
|
||||
Public Property Mail As String
|
||||
|
||||
@@ -868,7 +868,7 @@ Public Class Timbrado
|
||||
Timbre.Comprobante.FormadePago = ""
|
||||
Timbre.Comprobante.CondicionesdePago = ""
|
||||
Timbre.Comprobante.MetodoPago = ""
|
||||
Timbre.Comprobante.Subtotal = 0
|
||||
Timbre.Comprobante.SubTotal = 0
|
||||
Timbre.Comprobante.Descuentos = 0
|
||||
Timbre.Comprobante.Moneda = "XXX"
|
||||
Timbre.Comprobante.TipoCambio = ""
|
||||
@@ -1016,10 +1016,16 @@ Public Class Timbrado
|
||||
Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas)
|
||||
'Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas, TmpDTConceptos, TmpDTImpuestos, TmpDTComplementos, Ruta, LstFordASN, FordGSDBM, ObjV)
|
||||
Case 4
|
||||
If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
|
||||
Dim Ret As String = TimbrarFacturaGoCFDIv40(Ventas, UsuarioActual, CvePACEspecial)
|
||||
If Ret <> "" Then MensajeErrorCFDI = Ret
|
||||
Retorno = If(Ret = "", True, False)
|
||||
Else
|
||||
Dim Ret As String = TimbrarFacturaGoCFDIv33(Ventas, UsuarioActual, CvePACEspecial)
|
||||
If Ret <> "" Then MensajeErrorCFDI = Ret
|
||||
Retorno = If(Ret = "", True, False)
|
||||
End If
|
||||
|
||||
Dim Ret As String = TimbrarFacturaGoCFDIv33(Ventas, UsuarioActual, CvePACEspecial)
|
||||
If Ret <> "" Then MensajeErrorCFDI = Ret
|
||||
Retorno = If(Ret = "", True, False)
|
||||
|
||||
Case 5
|
||||
|
||||
@@ -1088,7 +1094,7 @@ Public Class Timbrado
|
||||
ObjCFDITimbre.Comprobante.Fecha,
|
||||
ObjCFDITimbre.Comprobante.FormadePago,
|
||||
ObjCFDITimbre.Comprobante.CondicionesdePago,
|
||||
ObjCFDITimbre.Comprobante.Subtotal,
|
||||
ObjCFDITimbre.Comprobante.SubTotal,
|
||||
ObjCFDITimbre.Comprobante.Descuentos,
|
||||
ObjCFDITimbre.Comprobante.TipoCambio.ToDecimal,
|
||||
ObjCFDITimbre.Comprobante.Moneda,
|
||||
@@ -1507,7 +1513,7 @@ Public Class Timbrado
|
||||
ObjCFDITimbre.Comprobante.Fecha.ToString("yyyy-MM-ddTHH:mm:ss"),
|
||||
ObjCFDITimbre.Comprobante.FormadePago,
|
||||
ObjCFDITimbre.Comprobante.CondicionesdePago,
|
||||
ObjCFDITimbre.Comprobante.Subtotal,
|
||||
ObjCFDITimbre.Comprobante.SubTotal,
|
||||
ObjCFDITimbre.Comprobante.Descuentos,
|
||||
ObjCFDITimbre.Comprobante.Moneda,
|
||||
ObjCFDITimbre.Comprobante.TipoCambio.ToString,
|
||||
@@ -2100,7 +2106,7 @@ Public Class Timbrado
|
||||
ObjCFDITimbre.Comprobante.Fecha.ToString("yyyy-MM-ddTHH:mm:ss"),
|
||||
ObjCFDITimbre.Comprobante.FormadePago,
|
||||
ObjCFDITimbre.Comprobante.CondicionesdePago,
|
||||
ObjCFDITimbre.Comprobante.Subtotal,
|
||||
ObjCFDITimbre.Comprobante.SubTotal,
|
||||
ObjCFDITimbre.Comprobante.Descuentos,
|
||||
ObjCFDITimbre.Comprobante.Moneda,
|
||||
ObjCFDITimbre.Comprobante.TipoCambio.ToString,
|
||||
@@ -2155,7 +2161,7 @@ Public Class Timbrado
|
||||
|
||||
#Region "Impuestos"
|
||||
'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS
|
||||
If Ventas.Total <> 0 And (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then
|
||||
If Ventas.Total <> 0 And (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.AplicaImpuestosTraslados) Then
|
||||
cfdi.Impuestos(ObjCFDITimbre.TotalImpuestosRetenidos, ObjCFDITimbre.TotalImpuestosTrasladados)
|
||||
End If
|
||||
#End Region
|
||||
@@ -2169,8 +2175,8 @@ Public Class Timbrado
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
If ObjCFDITimbre.Traslados.Sum(Function(x) x.Importe) > 0 Then
|
||||
'' si el importe de impuestos es mayor a cero o si es tasa con importe = 0, debe de ir el atributo
|
||||
If ObjCFDITimbre.AplicaImpuestosTraslados Then
|
||||
''se acumulan los importes
|
||||
For Each Tras In ObjCFDITimbre.Traslados
|
||||
cfdi.Traslado(Tras.Impuesto, Tras.TipoFactor, Tras.TasaOCuota, Tras.Importe)
|
||||
@@ -2183,45 +2189,45 @@ Public Class Timbrado
|
||||
|
||||
If ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe) > 0 OrElse ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe) > 0 Then
|
||||
|
||||
cfdi.ImpuestosLocales(ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe), ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe))
|
||||
cfdi.ImpuestosLocales(ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe), ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe))
|
||||
|
||||
For Each ret As CFDIRetencionesLocales In ObjCFDITimbre.RetencionesLocales
|
||||
If ret.Importe > 0 Then
|
||||
cfdi.RetencionLocal(ret.ImpuestoLocalRetenido, ret.TasaRetencion, ret.Importe)
|
||||
End If
|
||||
Next
|
||||
For Each ret As CFDIRetencionesLocales In ObjCFDITimbre.RetencionesLocales
|
||||
If ret.Importe > 0 Then
|
||||
cfdi.RetencionLocal(ret.ImpuestoLocalRetenido, ret.TasaRetencion, ret.Importe)
|
||||
End If
|
||||
Next
|
||||
|
||||
For Each ret As CFDITrasladosLocales In ObjCFDITimbre.TrasladosLocales
|
||||
If ret.Importe > 0 Then
|
||||
cfdi.TrasladoLocal(ret.ImpuestoLocalTraslado, ret.TasaTraslado, ret.Importe)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
For Each ret As CFDITrasladosLocales In ObjCFDITimbre.TrasladosLocales
|
||||
If ret.Importe > 0 Then
|
||||
cfdi.TrasladoLocal(ret.ImpuestoLocalTraslado, ret.TasaTraslado, ret.Importe)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
If Ventas.CveComplementoTimbrado > 0 Then
|
||||
If Ventas.CveComplementoTimbrado > 0 Then
|
||||
|
||||
Select Case Ventas.CveComplementoTimbrado
|
||||
Case 5 'INE Proceso Ordinario Directivo Estatal"
|
||||
cfdi.Ine11("Ordinario", "Directivo Estatal", "0")
|
||||
Select Case Ventas.CveComplementoTimbrado
|
||||
Case 5 'INE Proceso Ordinario Directivo Estatal"
|
||||
cfdi.Ine11("Ordinario", "Directivo Estatal", "0")
|
||||
|
||||
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
|
||||
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
Case 6 'INE Proceso Ordinario Ejecutivo Estatal"
|
||||
cfdi.Ine11("Ordinario", "Ejecutivo Estatal", "0")
|
||||
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
|
||||
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
Case 6 'INE Proceso Ordinario Ejecutivo Estatal"
|
||||
cfdi.Ine11("Ordinario", "Ejecutivo Estatal", "0")
|
||||
|
||||
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
|
||||
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
Case 7 'INE Proceso Ordinario Ejecutivo Nacional"
|
||||
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
|
||||
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
Case 7 'INE Proceso Ordinario Ejecutivo Nacional"
|
||||
|
||||
cfdi.Ine11("Ordinario", "Ejecutivo Nacional", Ventas.ComplementoINE.INEIdContabilidad.ToString)
|
||||
Case 8 'INE PreCampaña
|
||||
cfdi.Ine11(Ventas.ComplementoINE.INETipoProceso, "", "0")
|
||||
cfdi.Ine11("Ordinario", "Ejecutivo Nacional", Ventas.ComplementoINE.INEIdContabilidad.ToString)
|
||||
Case 8 'INE PreCampaña
|
||||
cfdi.Ine11(Ventas.ComplementoINE.INETipoProceso, "", "0")
|
||||
|
||||
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, Ventas.ComplementoINE.INETipoComite)
|
||||
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
End Select
|
||||
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, Ventas.ComplementoINE.INETipoComite)
|
||||
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
End Select
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
@@ -2230,11 +2236,11 @@ Public Class Timbrado
|
||||
|
||||
#Region "Comercio Exterior"
|
||||
|
||||
If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then
|
||||
If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then
|
||||
If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then
|
||||
If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then
|
||||
|
||||
'DATOS GENERALES
|
||||
cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado,
|
||||
'DATOS GENERALES
|
||||
cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.TipoOperacion,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.ClavedePedimento,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.CertificadoOrigen,
|
||||
@@ -2245,9 +2251,9 @@ Public Class Timbrado
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Observaciones,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.TipoCambioUSD,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.TotalUSD)
|
||||
'EMISOR
|
||||
cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP))
|
||||
cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle,
|
||||
'EMISOR
|
||||
cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP))
|
||||
cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroExterior,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroInterior,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Colonia,
|
||||
@@ -2257,9 +2263,9 @@ Public Class Timbrado
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Estado,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Pais,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CP)
|
||||
'RECEPTOR
|
||||
cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib)
|
||||
cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle,
|
||||
'RECEPTOR
|
||||
cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib)
|
||||
cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroExterior,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroInterior,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Colonia,
|
||||
@@ -2269,7 +2275,7 @@ Public Class Timbrado
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Estado,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Pais,
|
||||
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.Calle,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior,
|
||||
@@ -2281,35 +2287,35 @@ Public Class Timbrado
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Estado,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Pais,
|
||||
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.CP)
|
||||
'MERCANCIAS
|
||||
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
|
||||
cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares)
|
||||
If concep.DescripcionesEspecificas.Marca <> "" Then
|
||||
cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca,
|
||||
'MERCANCIAS
|
||||
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
|
||||
cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares)
|
||||
If concep.DescripcionesEspecificas.Marca <> "" Then
|
||||
cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca,
|
||||
concep.DescripcionesEspecificas.Modelo,
|
||||
concep.DescripcionesEspecificas.SubModelo,
|
||||
concep.DescripcionesEspecificas.NumeroSerie)
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
#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
|
||||
|
||||
@@ -3337,6 +3343,700 @@ Public Class Timbrado
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
|
||||
#Region "T i m b r a d o v. 4. 0"
|
||||
Public Function TimbrarFacturaGoCFDIv40(Ventas As Modelos.Factura, UsuarioActual As Usuario, Optional CvePACEspecial As Integer = -1) As String
|
||||
If CvePACEspecial = -1 Then
|
||||
CvePACEspecial = UsuarioActual.Empresa.CvePAC
|
||||
End If
|
||||
Dim sw As New Diagnostics.Stopwatch
|
||||
Dim swmili As Long = 0
|
||||
Dim swTiempo As New StringBuilder
|
||||
sw.Start()
|
||||
Dim Retorno As String = ""
|
||||
Dim ObjCFDITimbre As CFDITimbre = Ventas.Timbre
|
||||
|
||||
Dim ArchivoLLave As String = String.Format("{0}Certificados\{1}", UsuarioActual.Empresa.Ruta, UsuarioActual.Empresa.ArchivoKey)
|
||||
Dim ArchivoCertificado As String = String.Format("{0}Certificados\{1}", UsuarioActual.Empresa.Ruta, UsuarioActual.Empresa.ArchivoCer)
|
||||
Dim UsuarioServicio As String = If(CvePACEspecial = 2, UsuarioActual.Empresa.RFC, "rene.molina@adsistemas.mx")
|
||||
Dim ClaveServicio As String = If(CvePACEspecial = 2, UsuarioActual.Empresa.RFC.ToLower, "rene2018")
|
||||
Dim Clave As String = UsuarioActual.Empresa.ContraseñaKey
|
||||
Dim EmisorRFC As String = UsuarioActual.Empresa.RFC
|
||||
Dim UrlServicio As String = "" ' Produccion
|
||||
Dim RutaArchivo As String = String.Format("{0}XML\{1}\", UsuarioActual.Empresa.Ruta, Ventas.TipoDocto)
|
||||
Dim NombreArchivoXML As String = ObjCFDITimbre.Comprobante.SerieFolio
|
||||
Dim SubTotal As Decimal = 0
|
||||
Dim TimbraProduccion As Boolean = True
|
||||
If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo)
|
||||
|
||||
UrlServicio = "https://cfdi.gofac.com.mx/timbrado.asmx?WSDL"
|
||||
|
||||
If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1 Then
|
||||
|
||||
EmisorRFC = "EKU9003173C9"
|
||||
UsuarioActual.Empresa.Empresa = "ESCUELA KEMPER URGATE SA DE CV"
|
||||
ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\EKU9003173C9.key"
|
||||
ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\EKU9003173C9.cer"
|
||||
|
||||
Clave = "12345678a"
|
||||
TimbraProduccion = False
|
||||
UsuarioServicio = "UserTest"
|
||||
ClaveServicio = "1234567890"
|
||||
|
||||
End If
|
||||
|
||||
#Region "Valida"
|
||||
If Not File.Exists(ArchivoCertificado) Then
|
||||
Alert("El archivo de certificado no existe", TipoMensaje.MsgError)
|
||||
Return "El archivo de certificado no existe"
|
||||
End If
|
||||
If Not File.Exists(ArchivoLLave) Then
|
||||
Alert("El archivo de llave privada no existe", TipoMensaje.MsgError)
|
||||
Return "El archivo de llave privada no existe"
|
||||
End If
|
||||
If UsuarioActual.Empresa.ContraseñaKey = "" Then
|
||||
Alert("La clave no puede ser vacía", TipoMensaje.MsgError)
|
||||
Return "La clave no puede ser vacía"
|
||||
End If
|
||||
#End Region
|
||||
|
||||
#Region "Variables"
|
||||
Dim llaveByte As Byte(), certByte As Byte()
|
||||
Dim llaveBase64 As String, certBase64 As String
|
||||
Dim cfdi As New GoFac.Cfdi4
|
||||
Dim complemento As String = ""
|
||||
Dim complementoConcepto As String = ""
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Verifica"
|
||||
Try
|
||||
llaveByte = System.IO.File.ReadAllBytes(ArchivoLLave)
|
||||
llaveBase64 = Convert.ToBase64String(llaveByte)
|
||||
Catch ex As Exception
|
||||
Alert($"Error al leer la llave privada: {ex.Message}", TipoMensaje.MsgError)
|
||||
Return "Error al leer la llave privada"
|
||||
End Try
|
||||
|
||||
|
||||
Try
|
||||
certByte = System.IO.File.ReadAllBytes(ArchivoCertificado)
|
||||
certBase64 = Convert.ToBase64String(certByte)
|
||||
Catch ex As Exception
|
||||
Alert($"Error al leer el certificado: {ex.Message}", TipoMensaje.MsgError)
|
||||
Return "Error al leer el certificado"
|
||||
|
||||
End Try
|
||||
#End Region
|
||||
|
||||
|
||||
sw.Stop()
|
||||
swTiempo.AppendFormat("Verificado : ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
|
||||
swmili = sw.ElapsedMilliseconds
|
||||
sw.Start()
|
||||
|
||||
|
||||
'cfdi.QuitarCerosDecimalDerecha = True ' no limita a 2 decimales, el atributo, de cantidad y precio unitario
|
||||
#Region "Certificado"
|
||||
cfdi.CertArchivo(ArchivoCertificado)
|
||||
#End Region
|
||||
|
||||
|
||||
sw.Stop()
|
||||
swTiempo.AppendFormat("Certificado : ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
|
||||
swmili = sw.ElapsedMilliseconds
|
||||
sw.Start()
|
||||
|
||||
#Region "Comprobante"
|
||||
|
||||
cfdi.Comprobante(
|
||||
ObjCFDITimbre.Comprobante.Serie,
|
||||
ObjCFDITimbre.Comprobante.Folio,
|
||||
ObjCFDITimbre.Comprobante.Fecha.ToString("yyyy-MM-ddTHH:mm:ss"),
|
||||
ObjCFDITimbre.Comprobante.FormadePago,
|
||||
ObjCFDITimbre.Comprobante.CondicionesdePago,
|
||||
ObjCFDITimbre.Comprobante.SubTotal,
|
||||
ObjCFDITimbre.Comprobante.Descuentos,
|
||||
ObjCFDITimbre.Comprobante.Moneda,
|
||||
ObjCFDITimbre.Comprobante.TipoCambio.ToString,
|
||||
ObjCFDITimbre.Comprobante.Total,
|
||||
ObjCFDITimbre.Comprobante.TipoComprobante,
|
||||
ObjCFDITimbre.Comprobante.Exportacion,
|
||||
ObjCFDITimbre.Comprobante.MetodoPago,
|
||||
ObjCFDITimbre.Comprobante.LugarExpedicion,
|
||||
ObjCFDITimbre.Comprobante.Confirmacion)
|
||||
|
||||
If ObjCFDITimbre.CFDIRelacionados.TipoRelacion <> "" Then
|
||||
cfdi.CfdiRelacionados(ObjCFDITimbre.CFDIRelacionados.TipoRelacion)
|
||||
For Each uid As String In ObjCFDITimbre.CFDIRelacionados.UUID
|
||||
cfdi.CfdiRelacionado(uid)
|
||||
Next
|
||||
End If
|
||||
#Region "Emisor"
|
||||
' cfdi.agregarCfdiRelacionados()
|
||||
cfdi.Emisor(EmisorRFC, UsuarioActual.Empresa.Empresa, UsuarioActual.Empresa.CodigoRegimenFiscal, "")
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Receptor"
|
||||
|
||||
cfdi.Receptor(ObjCFDITimbre.Receptor.RFC, ObjCFDITimbre.Receptor.Nombre, ObjCFDITimbre.Receptor.DomicilioFiscalReceptor, ObjCFDITimbre.Receptor.ResidenciaFiscal, ObjCFDITimbre.Receptor.NumeroRegistroTributario, ObjCFDITimbre.Receptor.RegimenFiscalReceptor, ObjCFDITimbre.Receptor.UsoCFDI)
|
||||
|
||||
#End Region
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Conceptos"
|
||||
|
||||
'Nodo conceptos, se agregan los PS
|
||||
|
||||
If ObjCFDITimbre.Conceptos IsNot Nothing AndAlso ObjCFDITimbre.Conceptos.Count > 0 Then
|
||||
For Each concep As CFDIConceptos In ObjCFDITimbre.Conceptos
|
||||
cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario, concep.Importe, concep.Descuento, concep.ObjetoImpuesto)
|
||||
For Each imp As CFDIConceptosImpuestos In concep.Impuestos
|
||||
If imp.TrasladooRetencion = "T" Then
|
||||
cfdi.ConceptoTraslado(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe)
|
||||
Else
|
||||
cfdi.ConceptoRetencion(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe)
|
||||
End If
|
||||
Next
|
||||
If concep.CuentaPredial <> "" Then cfdi.CuentaPredial(concep.CuentaPredial)
|
||||
If concep.NumeroPedimento <> "" Then cfdi.InformacionAduanera(concep.NumeroPedimento)
|
||||
Next
|
||||
End If
|
||||
|
||||
#End Region
|
||||
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("I", "E") Then
|
||||
|
||||
#Region "Impuestos"
|
||||
'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS
|
||||
If Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then
|
||||
cfdi.Impuestos(ObjCFDITimbre.TotalImpuestosRetenidos, ObjCFDITimbre.TotalImpuestosTrasladados)
|
||||
End If
|
||||
#End Region
|
||||
#Region " Traslados y Retenciones"
|
||||
|
||||
|
||||
If ObjCFDITimbre.Retenciones.Sum(Function(x) x.Importe) > 0 Then
|
||||
''se acumulan los importes
|
||||
For Each Ret In ObjCFDITimbre.Retenciones
|
||||
cfdi.Retencion(Ret.Impuesto, Ret.Importe)
|
||||
Next
|
||||
End If
|
||||
|
||||
''se acumulan los importes
|
||||
For Each Tras In ObjCFDITimbre.Traslados
|
||||
cfdi.Traslado(Tras.Base, Tras.Impuesto, Tras.TipoFactor, Tras.TasaOCuota, Tras.Importe)
|
||||
Next
|
||||
#End Region
|
||||
|
||||
#Region "Impuestos Locales"
|
||||
|
||||
If ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe) > 0 OrElse ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe) > 0 Then
|
||||
|
||||
cfdi.ImpuestosLocales(ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe), ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe))
|
||||
|
||||
For Each ret As CFDIRetencionesLocales In ObjCFDITimbre.RetencionesLocales
|
||||
If ret.Importe > 0 Then
|
||||
cfdi.RetencionLocal(ret.ImpuestoLocalRetenido, ret.TasaRetencion, ret.Importe)
|
||||
End If
|
||||
Next
|
||||
|
||||
For Each ret As CFDITrasladosLocales In ObjCFDITimbre.TrasladosLocales
|
||||
If ret.Importe > 0 Then
|
||||
cfdi.TrasladoLocal(ret.ImpuestoLocalTraslado, ret.TasaTraslado, ret.Importe)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
'If Ventas.CveComplementoTimbrado > 0 Then
|
||||
|
||||
' Select Case Ventas.CveComplementoTimbrado
|
||||
' Case 5 'INE Proceso Ordinario Directivo Estatal"
|
||||
' cfdi.Ine11("Ordinario", "Directivo Estatal", "0")
|
||||
|
||||
' cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
|
||||
' cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
' Case 6 'INE Proceso Ordinario Ejecutivo Estatal"
|
||||
' cfdi.Ine11("Ordinario", "Ejecutivo Estatal", "0")
|
||||
|
||||
' cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
|
||||
' cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
' Case 7 'INE Proceso Ordinario Ejecutivo Nacional"
|
||||
|
||||
' cfdi.Ine11("Ordinario", "Ejecutivo Nacional", Ventas.ComplementoINE.INEIdContabilidad.ToString)
|
||||
' Case 8 'INE PreCampaña
|
||||
' cfdi.Ine11(Ventas.ComplementoINE.INETipoProceso, "", "0")
|
||||
|
||||
' cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, Ventas.ComplementoINE.INETipoComite)
|
||||
' cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
|
||||
' End Select
|
||||
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "Comercio Exterior"
|
||||
|
||||
'If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then
|
||||
' If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then
|
||||
|
||||
' 'DATOS GENERALES
|
||||
' cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.TipoOperacion,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.ClavedePedimento,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.CertificadoOrigen,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.NumCertificadoOrigen,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.NumeroExportadorConfiable,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Incoterm,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Subdivision,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Observaciones,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.TipoCambioUSD,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.TotalUSD)
|
||||
' 'EMISOR
|
||||
' cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP))
|
||||
' cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroExterior,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroInterior,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Colonia,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Localidad,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Referencia,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Municipio,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Estado,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Pais,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CP)
|
||||
' 'RECEPTOR
|
||||
' cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib)
|
||||
' cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroExterior,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroInterior,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Colonia,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Localidad,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Referencia,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Municipio,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Estado,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Pais,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.CP)
|
||||
' cfdi.ComercioExterior11Destinatario(ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Nombre,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Calle,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroInterior,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Colonia,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Localidad,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Referencia,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Municipio,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Estado,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Pais,
|
||||
' ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.CP)
|
||||
' 'MERCANCIAS
|
||||
' 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
|
||||
' cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares)
|
||||
' If concep.DescripcionesEspecificas.Marca <> "" Then
|
||||
' cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca,
|
||||
' concep.DescripcionesEspecificas.Modelo,
|
||||
' concep.DescripcionesEspecificas.SubModelo,
|
||||
' concep.DescripcionesEspecificas.NumeroSerie)
|
||||
' End If
|
||||
' Next
|
||||
|
||||
' End If
|
||||
|
||||
|
||||
' End If
|
||||
'End If
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
#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
|
||||
|
||||
Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte
|
||||
|
||||
''DATOS GENERALES
|
||||
cfdi.CartaPorte(Carta.TranspInternac, Carta.EntradaSalidaMercancia, "", Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida)
|
||||
|
||||
'UBICACIONES
|
||||
If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then
|
||||
For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones
|
||||
'origen
|
||||
cfdi.CartaPorteUbicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida)
|
||||
'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida)
|
||||
cfdi.CartaPorteDomicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP)
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
'MERCANCIAS
|
||||
If Carta.Mercancias IsNot Nothing Then
|
||||
cfdi.CartaPorteMercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion)
|
||||
If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then
|
||||
For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias
|
||||
cfdi.CartaPorteMercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), concep.DescripEmbalaje, concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt)
|
||||
For Each transp In concep.MercanciasCantidadTransporta
|
||||
cfdi.CartaPorteCantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes)
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
'
|
||||
If Carta.FiguraTransporte IsNot Nothing Then
|
||||
|
||||
If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then
|
||||
|
||||
cfdi.CartaPorteAutotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT)
|
||||
|
||||
cfdi.CartaPorteIdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM)
|
||||
|
||||
cfdi.CartaPorteSeguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil,
|
||||
Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente,
|
||||
Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga,
|
||||
Carta.FiguraTransporte.AutoTransporte.PrimaSeguro)
|
||||
|
||||
If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then
|
||||
For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques
|
||||
cfdi.CartaPorteRemolque(concep.SubTipoRemolque, concep.Placa)
|
||||
Next
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then
|
||||
For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores
|
||||
cfdi.CartaPorteTiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, ""))
|
||||
If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador
|
||||
cfdi.CartaPortePartesTransporte("PT01")
|
||||
cfdi.CartaPortePartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "Complemento Pago"
|
||||
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante = "P" Then
|
||||
|
||||
cfdi.Pago(ObjCFDITimbre.ComplementoPagos.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss"),
|
||||
ObjCFDITimbre.ComplementoPagos.FormaDePagoP,
|
||||
ObjCFDITimbre.ComplementoPagos.MonedaP,
|
||||
ObjCFDITimbre.ComplementoPagos.TipoCambioP,
|
||||
ObjCFDITimbre.ComplementoPagos.Monto,
|
||||
ObjCFDITimbre.ComplementoPagos.NumOperacion,
|
||||
ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaOrd,
|
||||
ObjCFDITimbre.ComplementoPagos.NomBancoOrdExt,
|
||||
ObjCFDITimbre.ComplementoPagos.CtaOrdenante,
|
||||
ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaBen,
|
||||
ObjCFDITimbre.ComplementoPagos.CtaBeneficiario,
|
||||
ObjCFDITimbre.ComplementoPagos.TipoCadPago,
|
||||
ObjCFDITimbre.ComplementoPagos.CertPago,
|
||||
ObjCFDITimbre.ComplementoPagos.CadPago,
|
||||
ObjCFDITimbre.ComplementoPagos.SelloPago)
|
||||
|
||||
|
||||
If ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados.Count > 0 Then
|
||||
|
||||
|
||||
For Each doc As CFDIComplementoPagosDocsRelacionados In ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados
|
||||
cfdi.PagoDoctoRelacionado(doc.IdDocumento,
|
||||
doc.Serie,
|
||||
doc.Folio,
|
||||
doc.MonedaDR,
|
||||
doc.TipoCambioDR,
|
||||
doc.MetodoDePagoDR,
|
||||
doc.NumParcialidad,
|
||||
doc.ImpSaldoAnt,
|
||||
doc.ImpPagado,
|
||||
doc.ImpSaldoInsoluto)
|
||||
|
||||
Next
|
||||
|
||||
'Estos impuestos aplicarían para anticipos
|
||||
If ObjCFDITimbre.ComplementoPagos.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.ComplementoPagos.TotalImpuestosTrasladados > 0 Then
|
||||
|
||||
cfdi.PagoImpuestos(ObjCFDITimbre.ComplementoPagos.TotalImpuestosRetenidos, ObjCFDITimbre.ComplementoPagos.TotalImpuestosTrasladados)
|
||||
If (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "R").Count > 0 Then
|
||||
For Each Ret As CFDIConceptosImpuestos In (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "R")
|
||||
cfdi.PagoRetencion(Ret.Impuesto, Ret.Importe)
|
||||
Next
|
||||
End If
|
||||
If (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "T").Count > 0 Then
|
||||
For Each Tra As CFDIConceptosImpuestos In (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "T")
|
||||
cfdi.PagoTraslado(Tra.Impuesto, Tra.TipoFactor, Tra.TasaOCuota, Tra.Importe)
|
||||
Next
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
#Region "Nomina12"
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante = "N" Then
|
||||
|
||||
'cfdi.Esquema.AgregarEsquema("http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd")
|
||||
cfdi.Nomina12(ObjCFDITimbre.Nomina.TipoNomina, ObjCFDITimbre.Nomina.FechaPago.ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.FechaInicio.ToDate().ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.FechaFin.ToDate().ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.NumDiasPagados, If(ObjCFDITimbre.Nomina.Percepciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Percepciones.Count > 0, ObjCFDITimbre.Nomina.TotalPercepciones, 0), If(ObjCFDITimbre.Nomina.Deducciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Deducciones.Count > 0, ObjCFDITimbre.Nomina.TotalDeducciones, 0), If(ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing AndAlso ObjCFDITimbre.Nomina.OtrosPagos.Count > 0, ObjCFDITimbre.Nomina.TotalOtrosPagos, 0))
|
||||
|
||||
cfdi.Nomina12Emisor(ObjCFDITimbre.Emisor.CURP, If(ObjCFDITimbre.Nomina.Receptor.TipoContrato.Contiene("09", "10", "99"), "", ObjCFDITimbre.Emisor.RegistroPatronal), ObjCFDITimbre.Emisor.RFC)
|
||||
|
||||
If UsuarioActual.Empresa.UsaAC Then cfdi.Nomina12EntidadSNCF("IF", 90)
|
||||
|
||||
|
||||
#Region "Receptor"
|
||||
|
||||
cfdi.Nomina12Receptor(ObjCFDITimbre.Nomina.Receptor.CURP,
|
||||
ObjCFDITimbre.Nomina.Receptor.NSS,
|
||||
ObjCFDITimbre.Nomina.Receptor.FechaInicioContrato.ToDate().ToString("yyyy-MM-dd"),
|
||||
ObjCFDITimbre.Nomina.Receptor.Antiguedad,
|
||||
ObjCFDITimbre.Nomina.Receptor.TipoContrato,
|
||||
ObjCFDITimbre.Nomina.Receptor.Sindicalizado,
|
||||
ObjCFDITimbre.Nomina.Receptor.CodigoTipoJornada,
|
||||
ObjCFDITimbre.Nomina.Receptor.CodigoRegimenContratacion,
|
||||
ObjCFDITimbre.Nomina.Receptor.CodigoEmpleado,
|
||||
ObjCFDITimbre.Nomina.Receptor.Departamento,
|
||||
ObjCFDITimbre.Nomina.Receptor.Puesto,
|
||||
ObjCFDITimbre.Nomina.Receptor.CodigoRiesgoPuesto,
|
||||
If(ObjCFDITimbre.Nomina.TipoNomina = "E", "99", ObjCFDITimbre.Nomina.Receptor.TipoPeriodo),
|
||||
ObjCFDITimbre.Nomina.Receptor.CodigoBanco,
|
||||
ObjCFDITimbre.Nomina.Receptor.NumeroCuenta,
|
||||
ObjCFDITimbre.Nomina.Receptor.SBC,
|
||||
ObjCFDITimbre.Nomina.Receptor.SDI,
|
||||
ObjCFDITimbre.Nomina.Receptor.CodigoEntidadFederativa)
|
||||
'cfdi.Nomina12SubContratacion("", "0")
|
||||
'cfdi.agregarNominaPercepcionesPercepcionAccionesOTitulos12("100", "200");
|
||||
'cfdi.agregarNominaPercepcionesSeparacionIndemnizacion12("100", "10", "1000", "100", "50");
|
||||
'cfdi.agregarNominaPercepcionesJubilacionPensionRetiro12("50", "100", "10", "100", "0");
|
||||
|
||||
|
||||
End If
|
||||
#End Region
|
||||
If ObjCFDITimbre.Nomina IsNot Nothing Then
|
||||
'If cfdi.Nomina12SeparacionIndemnizacion Then
|
||||
If ObjCFDITimbre.Nomina.Percepciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Percepciones.Count > 0 Then
|
||||
cfdi.Nomina12Percepciones(ObjCFDITimbre.Nomina.TotalSueldos, ObjCFDITimbre.Nomina.TotalIndemnizacion, ObjCFDITimbre.Nomina.TotalJubilacion, ObjCFDITimbre.Nomina.TotalPercepcionesGravado, ObjCFDITimbre.Nomina.TotalPercepcionesExento)
|
||||
For Each percep As CFDINominaPercepciones In ObjCFDITimbre.Nomina.Percepciones
|
||||
cfdi.Nomina12Percepcion(percep.TipoPercepcion, percep.Clave, percep.Concepto, Math.Round(percep.ImporteGravado, 2), Math.Round(percep.ImporteExento, 2))
|
||||
If percep.TipoPercepcion.ToEntero() = 19 Then
|
||||
|
||||
If ObjCFDITimbre.Nomina.HorasExtras IsNot Nothing AndAlso ObjCFDITimbre.Nomina.HorasExtras.Count > 0 Then
|
||||
For Each HoraExtra As CFDINominaHorasExtras In ObjCFDITimbre.Nomina.HorasExtras
|
||||
cfdi.Nomina12HorasExtra(HoraExtra.Dias.ToEntero, HoraExtra.TipoHoras, HoraExtra.HorasExtra, HoraExtra.ImportePagado)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
If ObjCFDITimbre.IStimbreFiniquito Then
|
||||
'ObjCFDITimbre.Nomina.
|
||||
Dim UltimoSueldoOrdinario As Double = ObjCFDITimbre.Nomina.UltimoSueldoOrdinario.ToString().ToDouble()
|
||||
Dim TotalIndemnizacion As Double = ObjCFDITimbre.Nomina.TotalIndemnizacion
|
||||
Dim t1 As Double = If(UltimoSueldoOrdinario < TotalIndemnizacion, UltimoSueldoOrdinario, TotalIndemnizacion)
|
||||
Dim t2 As Double = If(UltimoSueldoOrdinario < TotalIndemnizacion, TotalIndemnizacion, UltimoSueldoOrdinario)
|
||||
cfdi.Nomina12SeparacionIndemnizacion(TotalIndemnizacion, ObjCFDITimbre.Nomina.Antiguedad, UltimoSueldoOrdinario, t1, t2 - t1)
|
||||
|
||||
End If
|
||||
'deducciones al final
|
||||
If ObjCFDITimbre.Nomina.Deducciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Deducciones.Count > 0 Then
|
||||
cfdi.Nomina12Deducciones(ObjCFDITimbre.Nomina.TotalDeduccionesOtras, Math.Round(ObjCFDITimbre.Nomina.TotalDeduccionesImpuestosRetenidos, 2))
|
||||
For Each deduc As CFDINominaDeducciones In ObjCFDITimbre.Nomina.Deducciones
|
||||
cfdi.Nomina12Deduccion(deduc.TipoDeduccion, deduc.Clave, deduc.Concepto, Math.Round(deduc.Importe, 2))
|
||||
Next
|
||||
End If
|
||||
If ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing Then
|
||||
' cfdi.agregarNominaOtrosPagosOtroPago12("002", "002", "Subsidio", "10.00");
|
||||
' cfdi.agregarNominaOtrosPagosOtroPagoSubsidioAlEmpleo12("10.00");
|
||||
If ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing AndAlso ObjCFDITimbre.Nomina.OtrosPagos.Count > 0 Then
|
||||
For Each otpag As CFDINominaOtrosPagos In ObjCFDITimbre.Nomina.OtrosPagos
|
||||
cfdi.Nomina12OtroPago(otpag.TipoOtroPago, otpag.Clave, otpag.Concepto, otpag.Importe)
|
||||
If otpag.TipoOtroPago = "002" Then
|
||||
cfdi.Nomina12SubsidioAlEmpleo(otpag.Subsidiocausado)
|
||||
End If
|
||||
|
||||
If otpag.TipoOtroPago = "004" AndAlso otpag.Importe > 0 Then
|
||||
If otpag.ejercicio > 0 Then
|
||||
cfdi.CompensacionSaldosAFavor(otpag.SaldoAFavor, otpag.ejercicio, otpag.RemanenteSalFav) 'otpag.SaldoAFavor
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
If ObjCFDITimbre.Nomina.Incapacidades IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Incapacidades.Count > 0 Then
|
||||
For Each Incap As CFDINominaIncapacidades In ObjCFDITimbre.Nomina.Incapacidades
|
||||
cfdi.Nomina12Incapacidad(Incap.DiasIncapacidad.ToEntero, Incap.TipoIncapacidad, Incap.Importe)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
#End Region
|
||||
|
||||
sw.Stop()
|
||||
swTiempo.AppendFormat("Armado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
|
||||
swmili = sw.ElapsedMilliseconds
|
||||
sw.Start()
|
||||
#Region "Genera XML"
|
||||
Dim ArchivoGenerado As Boolean = False
|
||||
Try
|
||||
cfdi.GenerarXMLB64(llaveBase64, Clave)
|
||||
ArchivoGenerado = True
|
||||
Catch ex As Exception
|
||||
Retorno = cfdi.Mensaje
|
||||
If Retorno = "" OrElse IsNothing(Retorno) Then
|
||||
Retorno = $"llaveBase64 ={llaveBase64} <br/>Clave ={Clave} <br/> {ex.ToString()}"
|
||||
End If
|
||||
MensajeErrorCFDI = Retorno
|
||||
End Try
|
||||
|
||||
#End Region
|
||||
sw.Stop()
|
||||
swTiempo.AppendFormat("Genera: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
|
||||
swmili = sw.ElapsedMilliseconds
|
||||
sw.Start()
|
||||
|
||||
#Region "Timbra"
|
||||
If ArchivoGenerado Then
|
||||
|
||||
cfdi.TimbrarCfdi(UsuarioServicio, ClaveServicio, UrlServicio, TimbraProduccion)
|
||||
|
||||
sw.Stop()
|
||||
swTiempo.AppendFormat("Timbrado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
|
||||
swmili = sw.ElapsedMilliseconds
|
||||
sw.Start()
|
||||
'Verifica el error
|
||||
If cfdi.Mensaje = "" Then
|
||||
|
||||
Dim FolioFiscal As String
|
||||
|
||||
UUID = cfdi.CfdiInfo.UUID
|
||||
FolioFiscal = cfdi.CfdiInfo.UUID 'obtenerAtributo(cfdi.XmlTimbrado, "TimbreFiscalDigital", "UUID") 'XmlDoc.DocumentElement("cfdi:Complemento").FirstChild.Attributes("UUID").InnerText
|
||||
|
||||
If FolioFiscal <> "" Then
|
||||
|
||||
cfdi.EscribirXml(RutaArchivo & NombreArchivoXML & ".xml")
|
||||
|
||||
sw.Stop()
|
||||
swTiempo.AppendFormat("Guardado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
|
||||
swmili = sw.ElapsedMilliseconds
|
||||
sw.Start()
|
||||
|
||||
Select Case ObjCFDITimbre.Comprobante.TipoComprobante
|
||||
Case "N"
|
||||
|
||||
Using ObjNomina2 As New ClsNominas()
|
||||
|
||||
If ObjNomina2.UpdateEstatusNomNominas(3, CvePACEspecial, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, ("01/01/2000").ToDate, ObjCFDITimbre.Nomina.CveNomina, 0, 0, 0, 0, 0, isFiniquito:=Ventas.Timbre.IStimbreFiniquito) Then
|
||||
Retorno = ""
|
||||
Else
|
||||
Retorno = "Error"
|
||||
End If
|
||||
End Using
|
||||
|
||||
Case "T"
|
||||
|
||||
Dim objGrales As New ClsGenerales
|
||||
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC) Then
|
||||
Retorno = ""
|
||||
Else
|
||||
Retorno = "Error"
|
||||
End If
|
||||
objGrales.Dispose()
|
||||
|
||||
Using ObjInv As New ClsInventarios()
|
||||
If ObjInv.UpdateMovimientoTimbrado(Ventas.Inv_CveMovimiento, 1, FolioFiscal, MinFecha) Then
|
||||
Retorno = ""
|
||||
Else
|
||||
Retorno = "Error"
|
||||
End If
|
||||
End Using
|
||||
|
||||
|
||||
Case Else
|
||||
|
||||
'Actualiza Estatus Factura
|
||||
If Ventas.CveVenta > 0 Then
|
||||
|
||||
Using ObjVentas As New ClsVentas()
|
||||
|
||||
If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then
|
||||
Retorno = ""
|
||||
Else
|
||||
Retorno = "Error"
|
||||
End If
|
||||
End Using
|
||||
|
||||
'Genero la addenda Ford
|
||||
If Ventas.Cliente.Ford_GSDB <> "" Then
|
||||
|
||||
Dim RutaCadena As String = String.Format("{0}{1}.xml", RutaArchivo, NombreArchivoXML) 'If(UsuarioActual.Empresa.FacturaProduccion, String.Format("{0}XML\{1}\{2}.xml", Ruta, Ventas.SerieFolio), String.Format("{0}XML\{1}\{2}.xml", Ruta, Ventas.TipoDocto, Ventas.SerieFolio))
|
||||
|
||||
Dim FolioFactura As String = ""
|
||||
If UsuarioActual.CveEmpresa = 8 Then FolioFactura = Ventas.Folio.ToString ' sogo, pordefault manda el folio de la factura
|
||||
GeneraAddendaFord(RutaCadena, FolioFactura, Ventas.FordASN, Ventas.FordGSDB)
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
End Select
|
||||
|
||||
|
||||
If Not IO.Directory.Exists($"{UsuarioActual.Empresa.Ruta}CBB\") Then IO.Directory.CreateDirectory($"{UsuarioActual.Empresa.Ruta}CBB\")
|
||||
|
||||
Try
|
||||
Dim RutaCBB As String = $"{UsuarioActual.Empresa.Ruta}CBB\{ObjCFDITimbre.Comprobante.SerieFolio}.jpg"
|
||||
'temp
|
||||
'Dim b As Byte() = cfdi. .QrCode($"?re={UsuarioActual.Empresa.RFC}&rr={ObjCFDITimbre.Receptor.RFC}&tt={String.Format("{0,12:F6}", ObjCFDITimbre.Comprobante.Total).Trim()}&id={FolioFiscal}")
|
||||
'File.WriteAllBytes(RutaCBB, b)
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al generar el QR", ex)
|
||||
End Try
|
||||
Retorno = ""
|
||||
Else
|
||||
Retorno = "No se pudo timbrar ante el SAT. UUID no generado."
|
||||
End If
|
||||
sw.Stop()
|
||||
swTiempo.AppendFormat("Actualizado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
|
||||
swmili = sw.ElapsedMilliseconds
|
||||
sw.Start()
|
||||
|
||||
Else
|
||||
Retorno = cfdi.Mensaje
|
||||
MensajeErrorCFDI = cfdi.Mensaje
|
||||
If cfdi.Xml <> "" Then cfdi.EscribirXml(RutaArchivo & NombreArchivoXML & ".xml")
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
#End Region
|
||||
GuardaLogTimbrado(swTiempo.ToString, CvePACEspecial)
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
#End Region
|
||||
|
||||
<Serializable(), XmlRoot("servicioTimbrado")>
|
||||
Public Class PADEServicioTimbradoResp
|
||||
<XmlElement("id")>
|
||||
|
||||
@@ -167,7 +167,8 @@
|
||||
<asp:Repeater ID="RptDatos" runat="server" OnItemDataBound="RptDatos_ItemDataBound">
|
||||
<ItemTemplate>
|
||||
<tr>
|
||||
<td><%# DataBinder.Eval(Container.DataItem, "NombreComercial") %></td>
|
||||
|
||||
<td><%# string.Format("<a href='/Ventas/Clientes.aspx?CveCliente={0}' target='_blank'>{1}</a>",DataBinder.Eval(Container.DataItem, "CveCliente"),DataBinder.Eval(Container.DataItem, "NombreComercial")) %></td>
|
||||
<asp:Repeater ID="rptdocumentacion" runat="server">
|
||||
<ItemTemplate>
|
||||
<td><%#
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -585,7 +585,7 @@
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>Regimen General de Ley Personas Morales</Value>
|
||||
<Value>Régimen Simplificado de Confianza</Value>
|
||||
<Style>
|
||||
<FontFamily>Myriad Pro</FontFamily>
|
||||
<FontSize>9.16pt</FontSize>
|
||||
|
||||
@@ -1586,10 +1586,10 @@ KM12 HERMOSILLO, SONORA</Value>
|
||||
<Page>
|
||||
<PageHeight>29.7cm</PageHeight>
|
||||
<PageWidth>21cm</PageWidth>
|
||||
<LeftMargin>2cm</LeftMargin>
|
||||
<RightMargin>2cm</RightMargin>
|
||||
<TopMargin>2cm</TopMargin>
|
||||
<BottomMargin>2cm</BottomMargin>
|
||||
<LeftMargin>0cm</LeftMargin>
|
||||
<RightMargin>0cm</RightMargin>
|
||||
<TopMargin>0cm</TopMargin>
|
||||
<BottomMargin>0cm</BottomMargin>
|
||||
<ColumnSpacing>0.13cm</ColumnSpacing>
|
||||
<Style />
|
||||
</Page>
|
||||
|
||||
@@ -2914,6 +2914,10 @@ Partial Class Inventarios_EntregaAlmacen
|
||||
|
||||
If RbEntregaInterna.Checked Then
|
||||
Msg.AppendFormat("<br/><br/>Se agregó una guía de paquetería interna")
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso TipoDocto = "Rem" Then
|
||||
Msg.AppendFormat("<br/><br/>Recibir Usado: <b><a href=""/Inventarios/RecepcionUsados.aspx?CveRemision={0}"" target=""_blank"">Ir a Recepción de Usados</a></b>", CveVentaSurtir)
|
||||
End If
|
||||
|
||||
Alert(Msg.ToString(), TipoMensaje.MsgInformacion)
|
||||
|
||||
@@ -109,7 +109,12 @@ Partial Class Inventarios_Kardex
|
||||
|
||||
If ddlProducto2.UsaWebService Then
|
||||
ddlProducto2.ddlWS.Attributes.Add("data-Estatus", "-1")
|
||||
ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios")
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then '' se cambio la página para que puedan filtrar "servicios" como los usados.
|
||||
ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Kardex")
|
||||
Else
|
||||
ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios")
|
||||
End If
|
||||
|
||||
ddlProducto2.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
|
||||
|
||||
'DdlClasificacion.AutoPostBack = False
|
||||
|
||||
@@ -236,7 +236,8 @@
|
||||
<label class="col-md-1" style="width: 110px">Recibe:</label>
|
||||
<div class="col-md-3">
|
||||
<asp:TextBox runat="server" Text="" ID="TxtResponsable" Width="100%" />
|
||||
<%--<asp:DropDownList ID="DdlResponsable" runat="server" DataTextField="Nombre" DataValueField="CveUsuario" CssClass="form-control input-sm" Style="width: 200px !important;"></asp:DropDownList>--%>
|
||||
<asp:RequiredFieldValidator ID="RFVResponsable" runat="server" ControlToValidate="TxtResponsable" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Recibe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEResponsable" runat="server" HighlightCssClass="vco" TargetControlID="RFVResponsable"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@@ -280,6 +281,12 @@
|
||||
<asp:TextBox ID="TxtRemision" runat="server" Enabled="false" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="DivRemisionRecibida" runat="server" visible="false">
|
||||
<label class="col-md-1 truncate" style="width: 110px">Remision:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:TextBox ID="TxtRemisionRecibida" runat="server" Enabled="false" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -349,6 +349,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
CargaInicial()
|
||||
CargaRemisionFromURL()
|
||||
GeneraRNCFromURL()
|
||||
End If
|
||||
End Sub
|
||||
@@ -424,6 +425,17 @@ Partial Class Inventarios_RecepcionUsados
|
||||
'DdlProducto2.setEsWebService(True)
|
||||
'DdlProducto2.Attributes.Add("data-metodo", "getpsusados")
|
||||
End Sub
|
||||
|
||||
Private Sub CargaRemisionFromURL()
|
||||
Me.CveRemisionRecibida = -1
|
||||
|
||||
Dim CveRemision As Integer = IfNull(Request("CveRemision"), "-1").ToString().ToEntero()
|
||||
If CveRemision > 0 Then
|
||||
Me.CveRemisionRecibida = CveRemision
|
||||
RecibirRemision()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Private Sub GeneraRNCFromURL()
|
||||
Dim RFC As String = IfNull(Request("RFC"), "").ToString()
|
||||
Dim CveAlmacen As Integer = IfNull(Request("CveAlmacen"), "-1").ToString().ToEntero()
|
||||
@@ -1497,7 +1509,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
|
||||
If CveMovimiento <= 0 Then
|
||||
CveMovimiento = ObjInv.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, CveConcepto, 1, TxtFecha.Text.ToDate, TxtFolio.Text.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
-1, -1, -1, -1, Modulo:="RU/G")
|
||||
-1, -1, -1, -1, Recibio:=TxtResponsable.Text.Trim, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RU/G2")
|
||||
End If
|
||||
|
||||
ObjInv.AddMovimientoDetalle(CveMovimiento, Cantidad, CveUM, CvePS, CostoPromedio, -1, Serie:=Serie)
|
||||
@@ -2185,11 +2197,15 @@ Partial Class Inventarios_RecepcionUsados
|
||||
UpGenerales.Update()
|
||||
End Sub
|
||||
Protected Sub BtnRecibir_Click(sender As Object, e As EventArgs)
|
||||
DtMovimientos.Rows.Clear()
|
||||
|
||||
Me.CveRemisionRecibida = -1
|
||||
Me.CveRemisionRecibida = CType(CType(sender, LinkButton).NamingContainer, GridViewRow).DataKey("CveVenta").ToEntero()
|
||||
|
||||
RecibirRemision()
|
||||
End Sub
|
||||
|
||||
Private Sub RecibirRemision()
|
||||
DtMovimientos.Rows.Clear()
|
||||
|
||||
Dim DtUsados As DataTable = Nothing
|
||||
Dim CveCliente As Integer = -1
|
||||
|
||||
@@ -2210,6 +2226,8 @@ Partial Class Inventarios_RecepcionUsados
|
||||
|
||||
Me.ObjFactura = New Modelos.Factura(UsuarioActual, CveRemisionRecibida, UsuarioActual.CveEmpresa, DirectorioServidor:=ModExtensiones.DirectorioBaseEmpresas)
|
||||
|
||||
TxtRemisionRecibida.Text = Me.ObjFactura.SerieFolio
|
||||
DivRemisionRecibida.Visible = True
|
||||
|
||||
'SI ES DISTRIBUIDOR VAMOS A GENERAR LA REMISION DE NOTA DE CREDITO
|
||||
If EsDistribuidor Then
|
||||
@@ -2419,7 +2437,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
Me.ObjRemisionNC.OrdenCompra = ""
|
||||
Me.ObjRemisionNC.PedidoContrato = ""
|
||||
Me.ObjRemisionNC.ObservacionesAlmacen = ""
|
||||
|
||||
Me.ObjRemisionNC.Recibio = TxtResponsable.Text.Trim
|
||||
'If TmpDTPolizaVirtual IsNot Nothing Then
|
||||
' Me.ObjRemisionNC.DtPolizasVirtuales = TmpDTPolizaVirtual
|
||||
'End If
|
||||
@@ -2762,7 +2780,8 @@ Partial Class Inventarios_RecepcionUsados
|
||||
|
||||
ObjRemisionNC.DtMovimientosUsados = DtMovimientos
|
||||
ObjRemisionNC.CveAlmacen = DdlAlmacen.SelectedValue.ToEntero()
|
||||
ObjRemisionNC.ObservacionesMovimiento = TxtObservaciones.Text
|
||||
ObjRemisionNC.MovimientoObservaciones = TxtObservaciones.Text
|
||||
ObjRemisionNC.MovimientoRecibio = TxtResponsable.Text
|
||||
ObjRemisionNC.CveConceptoMovimiento = CveConcepto
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -131,18 +131,16 @@
|
||||
ShowHeaderWhenEmpty="false" CssClass="table table-advance table-GvM Widthall" GridLines="None">
|
||||
<Columns>
|
||||
<asp:HyperLinkField HeaderText="Fecha" ItemStyle-Width="75px" DataTextField="FechaMovto" ItemStyle-CssClass="Texto" DataNavigateUrlFields="CveMovimiento" DataNavigateUrlFormatString="/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}" />
|
||||
<asp:BoundField HeaderText="Almacen" ItemStyle-Width="150px" DataField="Almacen" />
|
||||
<asp:HyperLinkField HeaderText="Folio" ItemStyle-Width="50px" DataTextField="Folio" ItemStyle-CssClass="Texto" DataNavigateUrlFields="CveMovimiento" DataNavigateUrlFormatString="/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}" />
|
||||
<asp:BoundField HeaderText="Almacen" DataField="Almacen" />
|
||||
<asp:HyperLinkField HeaderText="Folio" ItemStyle-Width="100px" DataTextField="Folio" ItemStyle-CssClass="Texto" DataNavigateUrlFields="CveMovimiento" DataNavigateUrlFormatString="/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}" />
|
||||
<asp:BoundField HeaderText="Activo Fijo" DataField="CodigoAF" ItemStyle-HorizontalAlign="Left" Visible="false" />
|
||||
<asp:BoundField HeaderText="SubProyecto" DataField="SubProyecto" ItemStyle-HorizontalAlign="Left" Visible="false" />
|
||||
<asp:BoundField HeaderText="Entradas" ItemStyle-Width="75px" DataField="Entradas" DataFormatString="{0:#,###.####}" ItemStyle-HorizontalAlign="Left"/>
|
||||
<asp:BoundField HeaderText="Costo" ItemStyle-Width="75px" DataField="CostoE" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Left"/>
|
||||
<asp:BoundField HeaderText="Importe" ItemStyle-Width="75px" DataField="ImporteE" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Left"/>
|
||||
<asp:BoundField HeaderText="Salidas" ItemStyle-Width="75px" DataField="Salidas" DataFormatString="{0:#,###.####}" ItemStyle-HorizontalAlign="Left"/>
|
||||
<asp:BoundField HeaderText="Costo" ItemStyle-Width="75px" DataField="CostoS" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Left"/>
|
||||
<asp:BoundField HeaderText="Importe" ItemStyle-Width="75px" DataField="ImporteS" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Left"/>
|
||||
<asp:BoundField HeaderText="Existencia" ItemStyle-Width="75px" DataField="ExistenciaAcum" DataFormatString="{0:#,###.####}" ItemStyle-HorizontalAlign="Left"/>
|
||||
<asp:BoundField HeaderText="Valor" ItemStyle-Width="75px" DataField="ValorAcum" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Left"/>
|
||||
<asp:BoundField HeaderText="Entradas" ItemStyle-Width="75px" DataField="Entradas" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right"/>
|
||||
<asp:BoundField HeaderText="Costo" ItemStyle-Width="100px" DataField="CostoE" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right"/>
|
||||
<asp:BoundField HeaderText="Salidas" ItemStyle-Width="75px" DataField="Salidas" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right"/>
|
||||
<asp:BoundField HeaderText="Costo" ItemStyle-Width="100px" DataField="CostoS" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right"/>
|
||||
<asp:BoundField HeaderText="Existencia" ItemStyle-Width="75px" DataField="ExistenciaAcum" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right"/>
|
||||
<asp:BoundField HeaderText="Valor" ItemStyle-Width="100px" DataField="ValorAcum" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right"/>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
|
||||
@@ -85,13 +85,9 @@ Partial Class Inventarios_RepExistenciasCostos
|
||||
Private Sub CargaPermisos()
|
||||
Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201)
|
||||
GvM.Columns(6).Visible = TienePermisoImportes
|
||||
|
||||
GvM.Columns(7).Visible = TienePermisoImportes
|
||||
|
||||
GvM.Columns(9).Visible = TienePermisoImportes
|
||||
GvM.Columns(8).Visible = TienePermisoImportes
|
||||
GvM.Columns(10).Visible = TienePermisoImportes
|
||||
|
||||
GvM.Columns(12).Visible = TienePermisoImportes
|
||||
End Sub
|
||||
Public Sub CargaCombos()
|
||||
|
||||
@@ -130,7 +126,6 @@ Partial Class Inventarios_RepExistenciasCostos
|
||||
|
||||
DdlAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
|
||||
|
||||
DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1)
|
||||
DdlAlmacen.DataBind()
|
||||
DdlAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
@@ -202,11 +197,8 @@ Partial Class Inventarios_RepExistenciasCostos
|
||||
|
||||
Dim TienePermisoImportes = UsuarioActual.TienePermisoProceso(201)
|
||||
e.Row.Cells(6).Visible = TienePermisoImportes
|
||||
e.Row.Cells(7).Visible = TienePermisoImportes
|
||||
e.Row.Cells(9).Visible = TienePermisoImportes
|
||||
e.Row.Cells(8).Visible = TienePermisoImportes
|
||||
e.Row.Cells(10).Visible = TienePermisoImportes
|
||||
e.Row.Cells(12).Visible = TienePermisoImportes
|
||||
|
||||
|
||||
Select Case e.Row.DBCampo("Orden").ToEntero
|
||||
Case 10
|
||||
@@ -224,8 +216,6 @@ Partial Class Inventarios_RepExistenciasCostos
|
||||
e.Row.Cells(8).Text = ""
|
||||
e.Row.Cells(9).Text = ""
|
||||
e.Row.Cells(10).Text = ""
|
||||
e.Row.Cells(11).Text = ""
|
||||
e.Row.Cells(12).Text = ""
|
||||
Case 15
|
||||
If e.Row.DBCampo("CveMovimiento").ToString.ToEntero <= 0 Then
|
||||
e.Row.Cells(0).Text = e.Row.DBCampo("FechaMovto")
|
||||
@@ -240,8 +230,8 @@ Partial Class Inventarios_RepExistenciasCostos
|
||||
e.Row.Cells(1).Visible = False
|
||||
e.Row.Cells(2).Visible = False
|
||||
|
||||
e.Row.Cells(11).Text = e.Row.DBCampo("ExistenciaTotal").ToDouble().ToString("#,####.####")
|
||||
e.Row.Cells(12).Text = e.Row.DBCampo("ValorTotal").FormatoNumero
|
||||
e.Row.Cells(9).Text = e.Row.DBCampo("ExistenciaTotal").ToDouble().ToString("#,####.####")
|
||||
e.Row.Cells(10).Text = e.Row.DBCampo("ValorTotal").FormatoNumero
|
||||
End Select
|
||||
|
||||
|
||||
|
||||
862
RH/Personal.aspx
862
RH/Personal.aspx
File diff suppressed because it is too large
Load Diff
@@ -52,6 +52,18 @@ Partial Class RH_Personal
|
||||
ViewState("DTDocumentacion") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property DTDocumentacionFiscal As DataTable
|
||||
Get
|
||||
If ViewState("DTDocumentacionFiscal") Is Nothing Then
|
||||
Return New DataTable
|
||||
Else
|
||||
Return DirectCast(ViewState("DTDocumentacionFiscal"), DataTable)
|
||||
End If
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DTDocumentacionFiscal") = value
|
||||
End Set
|
||||
End Property
|
||||
Property NombreCompleto As String
|
||||
Get
|
||||
If ViewState("NombreCompleto") Is Nothing Then
|
||||
@@ -3749,8 +3761,18 @@ Partial Class RH_Personal
|
||||
Else
|
||||
GvDocumentosFirma.DataSource = Nothing
|
||||
End If
|
||||
|
||||
|
||||
If DTDocumentacion.FiltraParametros(" Modulo = 7 ").Rows.Count > 0 Then
|
||||
GVMaterialidad.DataSource = DTDocumentacion.FiltraParametros(" Modulo = 7 ")
|
||||
Else
|
||||
GVMaterialidad.DataSource = Nothing
|
||||
End If
|
||||
|
||||
GVMaterialidad.DataBind()
|
||||
GvDocumentosFirma.DataBind()
|
||||
|
||||
UpMaterialidad.Update()
|
||||
UPGvDocumentosFirma.Update()
|
||||
UpGvDocumentosFirma2.Update()
|
||||
End If
|
||||
|
||||
@@ -104,15 +104,20 @@
|
||||
EmptyDataText="No se encontraron autorizaciones" ToolTip=""
|
||||
CssClass="table table-striped table-advance table-hover ScrollAD mysmallbtn" data-sort="true" Width="100%" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Tipo " ItemStyle-Width="5%">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="LblTipo" Text='<%# Eval("TipoDocumento") %>' runat="server"></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="TipoAutorizacionTexto" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%" />
|
||||
<asp:HyperLinkField DataTextField="NombreComercial" Target="_blank" HeaderText="Cliente" DataNavigateUrlFields="CveCliente" DataNavigateUrlFormatString="/Ventas/Clientes.aspx?CveCliente={0}" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="20%" />
|
||||
<asp:BoundField DataField="Vendedor" HeaderText="Vendedor" ItemStyle-Width="15%" />
|
||||
<asp:BoundField DataField="Importe" ItemStyle-Width="15%" HeaderText="Importe" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField DataField="LimiteCredito" ItemStyle-Width="10%" HeaderText="Limite Credito" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField DataField="LimiteCredito" ItemStyle-Width="10%" HeaderText="Limite Crédito" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField DataField="Saldo" ItemStyle-Width="10%" HeaderText="Saldo" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
|
||||
<asp:BoundField DataField="FechaIng" ItemStyle-Width="10%" HeaderText="Fecha" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
|
||||
<asp:BoundField DataField="TipoAutorizacionTexto" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%" />
|
||||
<asp:BoundField DataField="DiasVencidos" ItemStyle-Width="5%" HeaderText="Dias Vencidos" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:N0}" />
|
||||
<asp:BoundField DataField="TipoDocumento" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
|
||||
|
||||
<asp:BoundField DataField="DiasVencidos" ItemStyle-Width="5%" HeaderText="D.Venc" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:N0}" />
|
||||
<asp:HyperLinkField DataTextField="FacturaAplicada" Target="_blank" HeaderText="Factura" DataNavigateUrlFields="CveVentaAplicada" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:TemplateField HeaderText="Estatus" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%">
|
||||
|
||||
@@ -158,6 +158,12 @@ Partial Class Ventas_CatAutorizacionLimites
|
||||
If e.Row.DBCampo("CveEstatus") = "0" Then
|
||||
e.Row.FCLabel("LblEstatus").CssClass = "badge badge-secondary"
|
||||
e.Row.FCLinkButton("LnkAutorizar").Visible = True
|
||||
e.Row.FCLinkButton("LnkRechazar").Visible = True
|
||||
ElseIf e.Row.DBCampo("CveEstatus") = "1" Then
|
||||
e.Row.FCLabel("LblEstatus").CssClass = "badge badge-success"
|
||||
e.Row.FCLinkButton("LnkAutorizar").Visible = False
|
||||
e.Row.FCLinkButton("LnkRechazar").Visible = True
|
||||
ElseIf e.Row.DBCampo("CveEstatus") = "2" Then
|
||||
e.Row.FCLabel("LblEstatus").CssClass = "badge badge-primary"
|
||||
e.Row.FCLinkButton("LnkAutorizar").Visible = False
|
||||
e.Row.FCLinkButton("LnkRechazar").Visible = False
|
||||
|
||||
@@ -501,6 +501,19 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" id="divRegimen" runat="server" visible="false" >
|
||||
<div class="col-md-12">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlRegimenFiscal" DataTextField="CodigoRegimenFiscalTexto" Width="100%" DataValueField="CveRegimenFiscal" runat="server" CssClass="form-control input-sm select2me">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVRegimenFiscal" runat="server" InitialValue="-1" ControlToValidate="DdlRegimenFiscal" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Regimen Fiscal''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<label for="<%= DdlRegimenFiscal.ClientID.ToString()%>">Régimen Fiscal:</label>
|
||||
<i></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@@ -753,6 +753,10 @@ Partial Class Clientes
|
||||
DivRetIVA.Visible = False
|
||||
End If
|
||||
|
||||
If UsuarioActual.CveUsuario = 100 Then
|
||||
divRegimen.Visible = True
|
||||
End If
|
||||
|
||||
If Request("CveCliente") IsNot Nothing AndAlso IsNumeric(Request("CveCliente")) AndAlso Request("CveCliente").ToEntero() > 0 Then
|
||||
'If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 AndAlso Not Request("CveCliente").Contiene("10450", "10460", "10458") Then
|
||||
' BtnGuardar.Enabled = False : BtnEliminar.Enabled = False : LbAgregarSucursal.Enabled = False : LbEnviarActivacionPortal.Enabled = False
|
||||
@@ -1246,10 +1250,9 @@ Partial Class Clientes
|
||||
|
||||
CargaClasificaciones()
|
||||
|
||||
If UsuarioActual.Empresa.UsaContabilidad Then
|
||||
'CargaCuentasContables()
|
||||
End If
|
||||
|
||||
DdlRegimenFiscal.DataSource = GlobalDTRegimenesFiscales
|
||||
DdlRegimenFiscal.DataBind()
|
||||
|
||||
CargaCombosComercioExterior()
|
||||
|
||||
@@ -1574,6 +1577,7 @@ Partial Class Clientes
|
||||
DdlUsoCFDI.SelectedValueExist(ObjClientes.CveUsoCFDI.ToString())
|
||||
DdlMetodoPago33.SelectedValueExist(ObjClientes.CveMetodoPago33.ToString())
|
||||
DdlFormaPago33.SelectedValueExist(ObjClientes.CveFormaPago33.ToString())
|
||||
DdlRegimenFiscal.SelectedValueExist(ObjClientes.CveRegimenFiscal)
|
||||
|
||||
ChkDesglosarIEPS.Checked = ObjClientes.DesglosaIEPS
|
||||
ChkNoDesglosaIVA.Checked = ObjClientes.NoDesglosaIVA
|
||||
@@ -2613,7 +2617,8 @@ Partial Class Clientes
|
||||
CveFormaPago33:=DdlFormaPago33.SelectedValue.ToEntero(), CveMetodoPago33:=DdlMetodoPago33.SelectedValue.ToEntero(), DesglosaIEPS:=ChkDesglosarIEPS.Checked, AplicaComercioExterior:=ChkAplicaComercioExterior.Checked, CveTipoOperacion:=DdlTipoOperacion.SelectedValue.ToEntero(), CvePedimento:=DdlClavePedimento.SelectedValue.ToEntero(), CveIncoterm:=DdlIncoterm.SelectedValue.ToEntero(),
|
||||
CvePais:=DdlPais.SelectedValue.ToEntero(), CveEstado:=DdlEstado.SelectedValue.ToEntero(), CveMunicipio:=DdlMunicipio.SelectedValue.ToEntero(), CveColonia:=DdlColonia.SelectedValue.ToEntero(), CveMotivoTraslado:=IIf(DdlMotivoTraslado.SelectedValue = "-1", "0", DdlMotivoTraslado.SelectedValue).ToString().ToEntero(), NumRegIdTrib:=IIf(TxtNumRegIdTrib.Text = "", "-1", TxtNumRegIdTrib.Text).ToString(),
|
||||
ComExtEstado:=IIf(TxtComExtEstado.Text = "", "-1", TxtComExtEstado.Text).ToString(), ComExtMunicipio:=IIf(TxtComExtMunicipio.Text = "", "-1", TxtComExtMunicipio.Text).ToString(), ComExtColonia:=IIf(TxtComExtColonia.Text = "", "-1", TxtComExtColonia.Text).ToString(), RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked,
|
||||
TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero())) Then
|
||||
TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(), CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()),
|
||||
CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero) Then
|
||||
|
||||
ViewState("CveCliente") = ObjClientes.CveCliente
|
||||
|
||||
@@ -2710,7 +2715,7 @@ Partial Class Clientes
|
||||
ApellidoPaternoPF:=IIf(TxtApellidoPaterno.Text = "", "-1", TxtApellidoPaterno.Text).ToString(), ApellidoMaternoPF:=IIf(TxtApellidoMaterno.Text = "", "-1", TxtApellidoMaterno.Text).ToString(), NombresPF:=IIf(TxtNombres.Text = "", "-1", TxtNombres.Text).ToString(),
|
||||
RequiereOC:=ChkRequiereOC.Checked, LT:=LT, LG:=LG, EsDistribuidor:=ChkEsDistribuidor.Checked, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero(), CargoUsado:=ChkCargoUsado.Checked, BonificacionUsado:=ChkBonificacionUsado.Checked, CveTipoRetencion:=DdlTipoRetencion.SelectedValue.ToEntero(), CorreoEntregaCompras:=TxtCorreoEntregaCompras.Text, CorreoEntregaAlmacen:=TxtCorreoEntregaAlmacen.Text, CveSATEstado:=DdlEstadoSAT.SelectedValue.ToEntero(),
|
||||
CveAdminTrayecto:=If(DdlAdminTrayecto.SelectedValue.ToEntero() <= 0, 0, DdlAdminTrayecto.SelectedValue.ToEntero()),
|
||||
NoDesglosaIVA:=ChkNoDesglosaIVA.Checked) Then
|
||||
NoDesglosaIVA:=ChkNoDesglosaIVA.Checked, CveRegimenFiscal:=DdlRegimenFiscal.SelectedValue.ToEntero) Then
|
||||
|
||||
|
||||
ObjClientes.LimpiaImpuestosLocales(CveCliente)
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
<asp:BoundField HeaderText="Motivo" DataField="MotivoCancelacion" ItemStyle-Width="25%" />
|
||||
<asp:TemplateField ItemStyle-Width="35px" HeaderText="Verificar">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton runat="server" OnClick="BtnValidar_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea verificar la cancelación?" data-btn-ok-label="si"></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" OnClick="BtnValidar_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea verificar la cancelación?" data-btn-ok-label="si"></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
|
||||
@@ -281,11 +281,11 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
}
|
||||
}
|
||||
|
||||
if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
|
||||
{
|
||||
retorno.IrARefacturar = true;
|
||||
retorno.LigaRefacturacion = string.Format("Ventas.aspx?CveDevolucion={0}&NuevaFactura=1", CveVenta);
|
||||
}
|
||||
//if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
|
||||
//{
|
||||
// retorno.IrARefacturar = true;
|
||||
// retorno.LigaRefacturacion = string.Format("Ventas.aspx?CveDevolucion={0}&NuevaFactura=1", CveVenta);
|
||||
//}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -333,11 +333,11 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
|
||||
}
|
||||
|
||||
if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
|
||||
{
|
||||
retorno.IrARefacturar = true;
|
||||
retorno.LigaRefacturacion = string.Format("Ventas.aspx?CveDevolucion={0}&NuevaFactura=1", CveVenta);
|
||||
}
|
||||
//if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
|
||||
//{
|
||||
// retorno.IrARefacturar = true;
|
||||
// retorno.LigaRefacturacion = string.Format("Ventas.aspx?CveDevolucion={0}&NuevaFactura=1", CveVenta);
|
||||
//}
|
||||
}
|
||||
else if (resp.EstatusCancelacion.ToUpper() == "SOLICITUD RECHAZADA")
|
||||
{
|
||||
@@ -390,12 +390,18 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
retorno.Mensaje = sb.ToString();
|
||||
return retorno;
|
||||
}
|
||||
private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion, bool EsRefacturacion = false, string FolioSustitucion = "", int CveEstatusRefacturacion = -1)
|
||||
private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion, bool EsRefacturacion = false, string FolioSustitucion = "", int CveEstatusRefacturacion = 0)
|
||||
{
|
||||
Modelos.Factura.MCancelacionVentaMensaje retorno = null;
|
||||
var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion: true);
|
||||
if (EsRefacturacion)
|
||||
{
|
||||
//SI YA FUE REFACTURADA MARCALA COMO REFACTURADA
|
||||
if (!string.IsNullOrEmpty(FolioSustitucion))
|
||||
{
|
||||
CveEstatusRefacturacion = 2;
|
||||
}
|
||||
|
||||
if (CveEstatusRefacturacion > 0)
|
||||
{
|
||||
factura.CveEstatusRefacturacion = CveEstatusRefacturacion;
|
||||
@@ -616,6 +622,41 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//protected void BtnAcuse_Click(object sender, EventArgs e)
|
||||
//{
|
||||
// GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||
// string UsuarioServicio = "rene.molina@adsistemas.mx";
|
||||
// string ClaveServicio = "rene2018";
|
||||
// string UrlServicio = "https://cfdi.gofac.com.mx/timbrado.asmx?WSDL";
|
||||
|
||||
// this.CveVenta = GvRow.DataKey("CveVenta").ToEntero();
|
||||
|
||||
// string Uuid = GvRow.DataKey("FolioFiscal");
|
||||
// decimal Total = GvRow.DataKey("Total").ToDecimal();
|
||||
// string RFCCliente = GvRow.DataKey("RFCCliente");
|
||||
// string FolioFiscalSustitucion = GvRow.DataKey("FolioFiscalSustitucion");
|
||||
// Cancelacion2022.AcuseSat resp = new Cancelacion2022.AcuseSat();
|
||||
// GoFac.GoCfdi a = new GoFac.GoCfdi();
|
||||
// a.ObtenerAcuse(UrlServicio, UsuarioActual.Empresa.RFC, UsuarioServicio, ClaveServicio, Uuid);
|
||||
|
||||
// if (a.CodigoError != 0)
|
||||
// {
|
||||
// //no se pudo obtener, la mandamos cancelar
|
||||
// Timbrado ObjCancelacion = new Timbrado();
|
||||
|
||||
// if (ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, Uuid, Total, RFCCliente, UsuarioActual.Empresa.RFC, 4, ValidaFactura:false, CveSATMotivoCancelacion: 1, FolioSustitucion: FolioFiscalSustitucion ))
|
||||
// {
|
||||
// string b = ObjCancelacion.CancelacionAcuse;
|
||||
// //falta actualizar
|
||||
// Alert("Se regeneró la solicitud de cancelación");
|
||||
// }
|
||||
|
||||
|
||||
// }
|
||||
|
||||
//}
|
||||
}
|
||||
public class MRespuestaSAT
|
||||
{
|
||||
|
||||
@@ -7691,10 +7691,10 @@ Partial Class Ventas
|
||||
If e.Row.DBCampo("CveTipoInvPS").ToEntero() = 5 And CveVenta <= 0 Then
|
||||
|
||||
e.Row.FCTextBox("TxtSerie").Visible = True
|
||||
e.Row.FCTextBox("TxtSerie").Attributes.Remove("onkeypress")
|
||||
e.Row.FCTextBox("TxtSerie").Attributes.Add("onkeypress", String.Format("SeriePS(event,{0},this,{1});", e.Row.FCButton("BtnSerie").ClientID, e.Row.FCHiddenField("HdnSerie").ClientID))
|
||||
e.Row.FCTextBox("TxtSerie").Attributes.Remove("onblur")
|
||||
e.Row.FCTextBox("TxtSerie").Attributes.Add("onblur", String.Format("SeriePSBlur({0},this,{1});", e.Row.FCButton("BtnSerie").ClientID, e.Row.FCHiddenField("HdnSerie").ClientID))
|
||||
e.Row.FCTextBox("TxtSerie").Attributes.Remove("onkeypress")
|
||||
e.Row.FCTextBox("TxtSerie").Attributes.Add("onkeypress", String.Format("SeriePS(event,{0},this,{1});", e.Row.FCButton("BtnSerie").ClientID, e.Row.FCHiddenField("HdnSerie").ClientID))
|
||||
e.Row.FCTextBox("TxtSerie").Attributes.Remove("onblur")
|
||||
e.Row.FCTextBox("TxtSerie").Attributes.Add("onblur", String.Format("SeriePSBlur({0},this,{1});", e.Row.FCButton("BtnSerie").ClientID, e.Row.FCHiddenField("HdnSerie").ClientID))
|
||||
|
||||
'e.Row.FCTextBox("TxtSerie").Attributes.Add("onkeyup", String.Format("LimpiaAF(1, '{0}'); EnterAFEdit(event,this,{1},{2});", e.Row.FCHiddenField("HdnCveConcepto").Value, e.Row.FCHiddenField("HdnCveAF").ClientID, e.Row.FCHiddenField("HdnCodAF").ClientID))
|
||||
|
||||
@@ -10973,11 +10973,15 @@ Partial Class Ventas
|
||||
If Obj.FacturarSucursal Then
|
||||
Timbre.Receptor.RFC = Obj.ClienteSucursal.RFC
|
||||
Timbre.Receptor.Nombre = Obj.ClienteSucursal.Nombre
|
||||
Timbre.Receptor.DomicilioFiscalReceptor = Obj.ClienteSucursal.CP
|
||||
Else
|
||||
Timbre.Receptor.RFC = Obj.Cliente.RFC
|
||||
Timbre.Receptor.Nombre = Obj.Cliente.Nombre
|
||||
Timbre.Receptor.DomicilioFiscalReceptor = Obj.Cliente.CP
|
||||
End If
|
||||
|
||||
Timbre.Receptor.RegimenFiscalReceptor = Obj.Cliente.CodigoRegimenFiscal
|
||||
|
||||
Timbre.Receptor.ResidenciaFiscal = ""
|
||||
Timbre.Receptor.NumeroRegistroTributario = ""
|
||||
Timbre.Receptor.UsoCFDI = Obj.ClaveUsoCFDI
|
||||
@@ -11117,7 +11121,8 @@ Partial Class Ventas
|
||||
.ClaveProdServ = drr("SATClaveProdServ").ToString(),
|
||||
.Noidentificacion = drr("Noidentificacion").ToString(),
|
||||
.CuentaPredial = drr("CuentaPredial").ToString(),
|
||||
.ImporteGravaIVAAdicional = drr("ImporteIEPS").ToString().ToDecimal}
|
||||
.ImporteGravaIVAAdicional = drr("ImporteIEPS").ToString().ToDecimal,
|
||||
.ObjetoImpuesto = drr("CodigoObjetoImpuesto").ToString()}
|
||||
'verifica suma subtotales
|
||||
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal.RoundSQL(2) <> concepto.Importe.RoundSQL(2) AndAlso Math.Abs(totSubTotal.RoundSQL(2) - concepto.Importe.RoundSQL(2)) <= 0.01 Then 'proceso de ajusta de decimales
|
||||
concepto.Importe = totSubTotal
|
||||
@@ -17730,6 +17735,7 @@ Partial Class Ventas
|
||||
Row("CveTipoPS") = DrPS("CveTipoPS")
|
||||
Row("CveTipoInvPS") = DrPS("Inv_CveMetodoInventario")
|
||||
Row("CveTamaño") = DrPS("CveTamaño")
|
||||
Row("ObjetoImpuesto") = DrPS("CodigoObjetoImpuesto")
|
||||
|
||||
If CveClasificacion <= 0 Then Row("CveClasificacion") = DrPS("CveClasificacion")
|
||||
If Clasificacion = "" Then Row("Clasificacion") = DrPS("Clasificacion")
|
||||
@@ -18279,6 +18285,7 @@ Partial Class Ventas
|
||||
|
||||
TmpDT.Columns.Add("TieneProntoPago", GetType(String))
|
||||
TmpDT.Columns.Add("ImporteProntoPago", GetType(Decimal))
|
||||
TmpDT.Columns.Add("ObjetoImpuesto", GetType(String))
|
||||
|
||||
TmpDT.Columns("EsOutSourcing").DefaultValue = False
|
||||
TmpDT.Columns("EsCargo").DefaultValue = False
|
||||
@@ -18286,6 +18293,7 @@ Partial Class Ventas
|
||||
TmpDT.Columns("TieneProntoPago").DefaultValue = "No"
|
||||
TmpDT.Columns("ImporteProntoPago").DefaultValue = 0
|
||||
|
||||
|
||||
End Sub
|
||||
Private Sub CreaDTmpC()
|
||||
DTmpC = New DataTable
|
||||
@@ -26984,9 +26992,7 @@ Partial Class Ventas
|
||||
Protected Sub BtnAplicarNC_Click(sender As Object, e As EventArgs)
|
||||
'SOLO APLICA SI NO HAY DOCUMENTOS QUE SELECCIONAR
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
|
||||
Dim Verificacion As Boolean = False
|
||||
|
||||
If ListaRemisionesNC IsNot Nothing AndAlso ListaRemisionesNC.Count > 0 Then ' si hay opciones seleccionadas, se activa el generar las NCs
|
||||
Verificacion = True
|
||||
Else
|
||||
@@ -26999,7 +27005,7 @@ Partial Class Ventas
|
||||
Dim RowAutorizacion As DataRow = ObjVentas.DtResultados.FiltroPrimero($"CveVenta IS NULL ", Orderby:="TipoAutorizacion")
|
||||
If RowAutorizacion IsNot Nothing Then
|
||||
Dim ImporteAutorizacion As Decimal = RowAutorizacion("Importe").ToString().ToDecimal()
|
||||
If ImporteAutorizacion > TxtTotalGv.Text.ToDecimal Then
|
||||
If ImporteAutorizacion > TxtNCImporte.Text.ToDecimal Then
|
||||
Verificacion = True
|
||||
End If
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user