This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2022-01-27 07:23:15 -07:00
33 changed files with 9962 additions and 1986 deletions

View File

@@ -72,7 +72,7 @@ Public Class CFDITimbre
For Each c As CFDIConceptos In Conceptos For Each c As CFDIConceptos In Conceptos
For Each imp As CFDIConceptosImpuestos In c.Impuestos For Each imp As CFDIConceptosImpuestos In c.Impuestos
If imp.TrasladooRetencion = "T" Then 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 End If
Next Next
Next Next
@@ -82,6 +82,7 @@ Public Class CFDITimbre
.Select(Function(t) New CFDITraslados With {.Impuesto = t.Key.Impuesto, .Select(Function(t) New CFDITraslados With {.Impuesto = t.Key.Impuesto,
.TipoFactor = t.Key.TipoFactor, .TipoFactor = t.Key.TipoFactor,
.TasaOCuota = t.Key.TasaOCuota, .TasaOCuota = t.Key.TasaOCuota,
.Base = t.Sum(Function(tt) tt.Base),
.Importe = t.Sum(Function(tt) tt.Importe)}) _ .Importe = t.Sum(Function(tt) tt.Importe)}) _
.OrderBy(Function(x) x.Impuesto).ToList .OrderBy(Function(x) x.Impuesto).ToList
@@ -228,6 +229,7 @@ Public Class CFDIComprobante
Public Property Moneda As String = "" Public Property Moneda As String = ""
Public Property TipoComprobante As String = "" Public Property TipoComprobante As String = ""
Public Property MetodoPago As String = "" Public Property MetodoPago As String = ""
Public Property Exportacion As String = "01" '01-No Aplica
Public Property LugarExpedicion As String = "" Public Property LugarExpedicion As String = ""
Public Property NumCuentaPago As String = "" Public Property NumCuentaPago As String = ""
Public Property Confirmacion As String = "" Public Property Confirmacion As String = ""
@@ -270,6 +272,8 @@ End Class
Public Class CFDIReceptor Public Class CFDIReceptor
Public Property RFC As String Public Property RFC As String
Public Property Nombre As String Public Property Nombre As String
Public Property RegimenFiscalReceptor As String = "601"
Public Property DomicilioFiscalReceptor As String = "601"
Public Property ResidenciaFiscal As String = "" Public Property ResidenciaFiscal As String = ""
Public Property NumeroRegistroTributario As String = "" Public Property NumeroRegistroTributario As String = ""
Public Property UsoCFDI As String Public Property UsoCFDI As String
@@ -314,6 +318,7 @@ Public Class CFDIConceptos
Public Property ClaveUnidad As String = "" Public Property ClaveUnidad As String = ""
Public Property Impuestos As List(Of CFDIConceptosImpuestos) Public Property Impuestos As List(Of CFDIConceptosImpuestos)
Public Property Descuento As Decimal = 0.00D Public Property Descuento As Decimal = 0.00D
Public Property ObjetoImpuesto As String = "02"
Public Property ImporteGravaIVAAdicional As Decimal = 0.00D 'caso IEPS Public Property ImporteGravaIVAAdicional As Decimal = 0.00D 'caso IEPS
Sub New() Sub New()
@@ -408,6 +413,7 @@ Public Class CFDITraslados
Public Property TipoFactor As String Public Property TipoFactor As String
Public Property TasaOCuota As Decimal Public Property TasaOCuota As Decimal
Public Property Importe As Decimal Public Property Importe As Decimal
Public Property Base As Decimal
End Class End Class

View File

@@ -5935,7 +5935,7 @@ Public Class ClsPaginas
Dim bdir As String = If(RutaReporte.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory) Dim bdir As String = If(RutaReporte.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory)
'TOMAR LA RUTA BASE PARA EL DIRECTORIO DE LA EMPRESA 'TOMAR LA RUTA BASE PARA EL DIRECTORIO DE LA EMPRESA
If Not String.IsNullOrEmpty(RutaEmpresa) AndAlso Not RutaReporte.Contains("Grales") Then If Not String.IsNullOrEmpty(RutaEmpresa) AndAlso Not RutaReporte.Contains("Grales") AndAlso Not RutaReporte.Contains("Contabilidad/Reportes/") Then
bdir = RutaEmpresa.Replace($"{CveEmpresa}/", "") bdir = RutaEmpresa.Replace($"{CveEmpresa}/", "")
End If End If

View File

@@ -242,13 +242,14 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function End Function
Public Function GetVentasPendientesCancelacion(CveEmpresa As Integer, CveUsuarioConsulta As Integer) As Boolean Public Function GetVentasPendientesCancelacion(CveEmpresa As Integer, CveUsuarioConsulta As Integer, Optional CveVenta As Integer = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasPendientesCancelacionGet") DataAdapter("PA_Vta_VentasPendientesCancelacionGet")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
End With End With
Try Try
@@ -5270,15 +5271,17 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function End Function
Public Function GetAutorizacionLimite(CveEmpresa As Integer, CveCliente As Integer, CveVendedor As Integer, TipoDocumento As String, Optional CveEstatus As Integer = -1) As Boolean Public Function GetAutorizacionLimite(CveEmpresa As Integer, CveCliente As Integer, CveVendedor As Integer, TipoDocumento As String, Optional CveEstatus As Integer = -1, Optional FechaI As DateTime = MinFecha, Optional FechaF As DateTime = MaxFecha) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Vta_AutorizacionLimitesGet") DataAdapter("PA_Vta_AutorizacionLimitesGet")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
.Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus .Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus
.Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento .Add("@TipoDocumento", SqlDbType.VarChar).Value = TipoDocumento
.Add("@FechaI", SqlDbType.Date).Value = FechaI
.Add("@FechaF", SqlDbType.Date).Value = FechaF
End With End With
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)

View File

@@ -2125,7 +2125,8 @@ Namespace Modelos
If factura.TipoDocto = "RNC" AndAlso factura.Num1 = 1 AndAlso factura.DtMovimientosUsados IsNot Nothing AndAlso ObjAcum IsNot Nothing Then If factura.TipoDocto = "RNC" AndAlso factura.Num1 = 1 AndAlso factura.DtMovimientosUsados IsNot Nothing AndAlso ObjAcum IsNot Nothing Then
'Dim Mensaje As String = "" 'Dim Mensaje As String = ""
Dim CveMovimiento = ObjInventario.AddMovimiento(factura.CveAlmacen, factura.CveConceptoMovimiento, 1, factura.Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, factura.CveVenta, 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 If CveMovimiento <= 0 Then
'Mensaje = "Error al guardar los movimientos" 'Mensaje = "Error al guardar los movimientos"
Resultado = False Resultado = False
@@ -2154,18 +2155,21 @@ Namespace Modelos
End If End If
'si es selectedvalue = 42, es entrada ,3 -salida 'si es selectedvalue = 42, es entrada ,3 -salida
Dim CveConceptoUsados As Integer = If(factura.CveConceptoMovimiento = 42, 1, 2) If Not factura.EsGarantia Then
Dim CveConceptoUsados As Integer = If(factura.CveConceptoMovimiento = 42, 1, 2)
If factura.Cliente.EsDistribuidor AndAlso factura.CveConceptoMovimiento = 42 AndAlso Dr("CveTamaño").ToString.ToEntero > 0 Then If factura.Cliente.EsDistribuidor AndAlso factura.CveConceptoMovimiento = 42 AndAlso Dr("CveTamaño").ToString.ToEntero > 0 Then
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Dr("Cantidad").ToString.ToDecimal(), Dr("CveTamaño").ToString.ToEntero, CveConceptoUsados, CveVenta, UsuarioActual.CveUsuario,
UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, factura.Fecha, CveMovimiento:=CveMovimiento) Then
' Mensaje = "Error al guardar Movimientos de distribuidor"
Resultado = False
Exit For
End If
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Dr("Cantidad").ToString.ToDecimal(), Dr("CveTamaño").ToString.ToEntero, CveConceptoUsados, CveVenta, UsuarioActual.CveUsuario,
UsuarioActual.CveEmpresa, 0, Dr("Observaciones").ToString, factura.Fecha, CveMovimiento:=CveMovimiento) Then
' Mensaje = "Error al guardar Movimientos de distribuidor"
Resultado = False
Exit For
End If End If
End If End If
Next Next
End If End If
@@ -2182,6 +2186,40 @@ Namespace Modelos
Return Resultado Return Resultado
End Function End Function
Private Function CancelarInventarioUsado(factura As Modelos.Factura, CveAlmacenUsado As Integer, CveMovimientoEntrada As Integer, ByRef ObjInventario As ClsInventarios) As Integer
Dim CveMovimiento As Integer = -1
Try
Dim CveConceptoSalidaUsado As Integer = 45
CveMovimiento = ObjInventario.AddMovimiento(CveAlmacenUsado, CveConceptoSalidaUsado, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, factura.CveVenta,
factura.CveSubProyecto, CveActivoFijo:=-1, Guia:="", Observaciones:="", CvePersonal:=-1, CveCliente:=factura.CveCliente, CveClienteSucursal:=-1, Modulo:="M/CU")
If CveMovimiento <= 0 Then
CveMovimiento = -1
Else
Dim DtMovimientosEntrada As DataTable = Nothing
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, factura.CveEmpresa) Then
DtMovimientosEntrada = ObjInventario.DtResultados.Copy()
End If
If DtMovimientosEntrada IsNot Nothing Then
For Each Dr As DataRow In DtMovimientosEntrada.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, Observaciones:=Dr("Observaciones").ToString, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
CveMovimiento = -1
Exit For
End If
Next
DtMovimientosEntrada.Dispose()
DtMovimientosEntrada = Nothing
End If
End If
Catch ex As Exception
OnError("Ocurrió un erro al cancelar el movimiento de usado", ex)
CveMovimiento = -1
End Try
Return CveMovimiento
End Function
Private Function GuardarPolizasVirtuales(SqlTransaccion As SqlClient.SqlTransaction, ObjFactura As Modelos.Factura) As Boolean Private Function GuardarPolizasVirtuales(SqlTransaccion As SqlClient.SqlTransaction, ObjFactura As Modelos.Factura) As Boolean
Dim Resultado As Boolean = True Dim Resultado As Boolean = True
@@ -2405,17 +2443,25 @@ Namespace Modelos
'VERIFICA SI TIENE MOVIMIENTO DE ENTRADA DE USADO 'VERIFICA SI TIENE MOVIMIENTO DE ENTRADA DE USADO
If CveMovimiento > 0 AndAlso CveAlmacen > 0 Then If CveMovimiento > 0 AndAlso CveAlmacen > 0 Then
Dim CveMovimientoReferencia As Integer = -1
Dim TipoMovto68 = TipoMovimiento
'SI ES CANCELACION DEBE GENERAR EL MOVIMIENTO DE SALIDA DE USADOS
If ValorMultiplicador = -1 Then
CveMovimientoReferencia = CancelarInventarioUsado(ObjFactura, CveAlmacen, CveMovimiento, ObjInventario)
Else
CveMovimientoReferencia = CveMovimiento
End If
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then If ObjInventario.GetMovimientosDetalle(CveMovimientoReferencia, UsuarioActual.CveEmpresa) Then
Dim Importe68 As Decimal = ObjInventario.DtResultados.SUMD("Total").RoundSQL Dim Importe68 As Decimal = ObjInventario.DtResultados.SUMD("Total").RoundSQL * ValorMultiplicador
Dim IdCtaContable68 = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacen}").ToEntero Dim IdCtaContable68 = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacen}").ToEntero
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, Importe68, Referencia, 68, Concepto, FechaMovimiento, IdCtaContable68, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=Importe68, Contabilizable:=False) Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovto68, Importe68, Referencia, 68, Concepto, FechaMovimiento, IdCtaContable68, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoReferencia, ImporteMX:=Importe68, Contabilizable:=False) Then
ErrorPrepoliza = True ErrorPrepoliza = True
End If End If
Dim Importe318 As Decimal = importeMovimiento - Importe68 Dim Importe318 As Decimal = (Math.Abs(importeMovimiento) - Math.Abs(Importe68)) * ValorMultiplicador
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, Importe318, Referencia, 318, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=Importe318, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, Importe318, Referencia, 318, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=Importe318, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True ErrorPrepoliza = True
@@ -2428,7 +2474,6 @@ Namespace Modelos
Else Else
ErrorPrepoliza = True ErrorPrepoliza = True
End If End If
Else Else
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
@@ -6259,7 +6304,8 @@ Namespace Modelos
Public Property CveAlmacen As Integer Public Property CveAlmacen As Integer
Public Property GenerarSalidaAlmacen As Boolean = False Public Property GenerarSalidaAlmacen As Boolean = False
Public Property CveConceptoMovimiento As Integer 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 DtMovimientosUsados As DataTable
Public Property CveAlmacenDevolucion As Integer Public Property CveAlmacenDevolucion As Integer
Public Property CveVenta As Integer Public Property CveVenta As Integer
@@ -6493,7 +6539,7 @@ Namespace Modelos
End Property End Property
Public Property MotivoDescuento As String = "" Public Property MotivoDescuento As String = ""
Public Property EsGarantia As Boolean Public Property EsGarantia As Boolean = False
#Region "Totales" #Region "Totales"
@@ -9965,6 +10011,8 @@ Namespace Modelos
Public Property Pais As String Public Property Pais As String
Public Property RFC As String Public Property RFC As String
Public Property CP As String Public Property CP As String
Public Property CveRegimenFiscal As Integer
Public Property CodigoRegimenFiscal As String
Public Property Telefono As String Public Property Telefono As String
Public Property Contacto As String Public Property Contacto As String
Public Property Mail As String Public Property Mail As String

View File

@@ -51,6 +51,83 @@ Public Class Timbrado
#End Region #End Region
Public Function ObtenerAcuse(CveVenta As Integer, UsuarioActual As Usuario) As Boolean
Dim Retorno As Boolean = False
Try
Dim RowVentas As DataRow = Nothing
Dim RFCEmisor = UsuarioActual.Empresa.RFC
Dim RFCReceptor As String = ""
Dim FolioFiscal As String = ""
Dim FolioSustitucion As String = ""
Dim CvePACCancelacion As Integer = -1
Dim CveSATMotivoCancelacion As Integer = -1
Dim CveMotivoCancelacion As Integer = -1
Dim TotalT As Decimal = 0
Using ObjVentas As New ClsVentas
If ObjVentas.GetVentasPendientesCancelacion(UsuarioActual.CveEmpresa, 100, CveVenta) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
RowVentas = ObjVentas.DtResultados.Rows(0)
End If
End Using
If RowVentas IsNot Nothing Then
FolioFiscal = RowVentas("FolioFiscal").ToString()
RFCReceptor = RowVentas("RFCReceptor").ToString()
CvePACCancelacion = RowVentas("CvePAC").ToString().ToEntero()
CveMotivoCancelacion = RowVentas("CveMotivoCancelacion").ToString().ToEntero()
TotalT = RowVentas("Total").ToString().ToDecimal()
FolioSustitucion = RowVentas("FolioFiscalSustitucion").ToString()
End If
If CveMotivoCancelacion > 0 Then
Dim Row As DataRow = ClsPaginas.GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimero("")
If Row IsNot Nothing Then
CveSATMotivoCancelacion = Row("CveSATMotivoCancelacion").ToString().ToEntero()
End If
End If
If CvePACCancelacion = 4 Then
Dim solicitud As New WSGF.Service1SoapClient
Dim resp As New WSGF.StructXml()
resp = solicitud.GetAcuse(RFCEmisor, "rene.molina@adsistemas.mx", "rene2018", FolioFiscal)
If (resp.Estado = 0) Then
Dim xmlDoc As New System.Xml.XmlDocument()
xmlDoc.LoadXml(Encoding.UTF8.GetString(Convert.FromBase64String(resp.CfdiB64)))
Dim xpath As String = "Acuse/Folios"
Dim nodes = xmlDoc.SelectNodes(xpath)
CancelacionState = xmlDoc.GetElementsByTagName("EstatusUUID")(0).InnerText.ToEntero
xpath = "Acuse/Signature"
nodes = xmlDoc.SelectNodes(xpath)
Me.CancelacionAcuse = xmlDoc.GetElementsByTagName("SignatureValue")(0).InnerText
Me.CancelacionFecha = xmlDoc.SelectSingleNode("Acuse").Attributes("Fecha").Value.ToDate
Retorno = True
Else
CancelacionAcuse = resp.Descripcion
Retorno = False
End If
solicitud = Nothing
Else
If CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion, FolioSustitucion:=FolioSustitucion) Then
'GENERAMOS EL ACUSE Y MANDAMOS MAIL DE CON EL ACUSE DE CANCELACIÓN
CancelacionFecha = Me.CancelacionFecha
CancelacionAcuse = Me.CancelacionAcuse
Retorno = True
End If
End If
Catch ex As Exception
OnError("Ocurrió un error al intentar obtener el acuse", ex)
Retorno = False
End Try
Return Retorno
End Function
Public Shared Function VerificarVigenciaSAT(uuid As String, emisor As String, receptor As String, total As String, produccion As Boolean) As AcuseCancelacionSAT Public Shared Function VerificarVigenciaSAT(uuid As String, emisor As String, receptor As String, total As String, produccion As Boolean) As AcuseCancelacionSAT
Dim Retorno As AcuseCancelacionSAT = Nothing Dim Retorno As AcuseCancelacionSAT = Nothing
Dim resp As Cancelacion2022.AcuseSat = New Cancelacion2022.AcuseSat() Dim resp As Cancelacion2022.AcuseSat = New Cancelacion2022.AcuseSat()
@@ -939,10 +1016,16 @@ Public Class Timbrado
Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas) Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas)
'Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas, TmpDTConceptos, TmpDTImpuestos, TmpDTComplementos, Ruta, LstFordASN, FordGSDBM, ObjV) 'Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas, TmpDTConceptos, TmpDTImpuestos, TmpDTComplementos, Ruta, LstFordASN, FordGSDBM, ObjV)
Case 4 Case 4
If Ventas.Version = "4.0" 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 Case 5
@@ -2078,7 +2161,7 @@ Public Class Timbrado
#Region "Impuestos" #Region "Impuestos"
'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS 'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS
If Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then If Ventas.Total <> 0 And (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then
cfdi.Impuestos(ObjCFDITimbre.TotalImpuestosRetenidos, ObjCFDITimbre.TotalImpuestosTrasladados) cfdi.Impuestos(ObjCFDITimbre.TotalImpuestosRetenidos, ObjCFDITimbre.TotalImpuestosTrasladados)
End If End If
#End Region #End Region
@@ -2092,55 +2175,59 @@ Public Class Timbrado
Next Next
End If End If
''se acumulan los importes
For Each Tras In ObjCFDITimbre.Traslados If ObjCFDITimbre.Traslados.Sum(Function(x) x.Importe) > 0 Then
cfdi.Traslado(Tras.Impuesto, Tras.TipoFactor, Tras.TasaOCuota, Tras.Importe) ''se acumulan los importes
Next For Each Tras In ObjCFDITimbre.Traslados
cfdi.Traslado(Tras.Impuesto, Tras.TipoFactor, Tras.TasaOCuota, Tras.Importe)
Next
End If
#End Region #End Region
#Region "Impuestos Locales" #Region "Impuestos Locales"
If ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe) > 0 OrElse ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe) > 0 Then 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 For Each ret As CFDIRetencionesLocales In ObjCFDITimbre.RetencionesLocales
If ret.Importe > 0 Then If ret.Importe > 0 Then
cfdi.RetencionLocal(ret.ImpuestoLocalRetenido, ret.TasaRetencion, ret.Importe) cfdi.RetencionLocal(ret.ImpuestoLocalRetenido, ret.TasaRetencion, ret.Importe)
End If End If
Next Next
For Each ret As CFDITrasladosLocales In ObjCFDITimbre.TrasladosLocales For Each ret As CFDITrasladosLocales In ObjCFDITimbre.TrasladosLocales
If ret.Importe > 0 Then If ret.Importe > 0 Then
cfdi.TrasladoLocal(ret.ImpuestoLocalTraslado, ret.TasaTraslado, ret.Importe) cfdi.TrasladoLocal(ret.ImpuestoLocalTraslado, ret.TasaTraslado, ret.Importe)
End If End If
Next Next
End If End If
If Ventas.CveComplementoTimbrado > 0 Then If Ventas.CveComplementoTimbrado > 0 Then
Select Case Ventas.CveComplementoTimbrado Select Case Ventas.CveComplementoTimbrado
Case 5 'INE Proceso Ordinario Directivo Estatal" Case 5 'INE Proceso Ordinario Directivo Estatal"
cfdi.Ine11("Ordinario", "Directivo Estatal", "0") cfdi.Ine11("Ordinario", "Directivo Estatal", "0")
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "") cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad) cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
Case 6 'INE Proceso Ordinario Ejecutivo Estatal" Case 6 'INE Proceso Ordinario Ejecutivo Estatal"
cfdi.Ine11("Ordinario", "Ejecutivo Estatal", "0") cfdi.Ine11("Ordinario", "Ejecutivo Estatal", "0")
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "") cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad) cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
Case 7 'INE Proceso Ordinario Ejecutivo Nacional" Case 7 'INE Proceso Ordinario Ejecutivo Nacional"
cfdi.Ine11("Ordinario", "Ejecutivo Nacional", Ventas.ComplementoINE.INEIdContabilidad.ToString) cfdi.Ine11("Ordinario", "Ejecutivo Nacional", Ventas.ComplementoINE.INEIdContabilidad.ToString)
Case 8 'INE PreCampaña Case 8 'INE PreCampaña
cfdi.Ine11(Ventas.ComplementoINE.INETipoProceso, "", "0") cfdi.Ine11(Ventas.ComplementoINE.INETipoProceso, "", "0")
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, Ventas.ComplementoINE.INETipoComite) cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, Ventas.ComplementoINE.INETipoComite)
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad) cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
End Select End Select
End If End If
@@ -2149,11 +2236,11 @@ Public Class Timbrado
#Region "Comercio Exterior" #Region "Comercio Exterior"
If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then
If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then
'DATOS GENERALES 'DATOS GENERALES
cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado, cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado,
ObjCFDITimbre.Complementos.ComercioExterior11.TipoOperacion, ObjCFDITimbre.Complementos.ComercioExterior11.TipoOperacion,
ObjCFDITimbre.Complementos.ComercioExterior11.ClavedePedimento, ObjCFDITimbre.Complementos.ComercioExterior11.ClavedePedimento,
ObjCFDITimbre.Complementos.ComercioExterior11.CertificadoOrigen, ObjCFDITimbre.Complementos.ComercioExterior11.CertificadoOrigen,
@@ -2164,9 +2251,9 @@ Public Class Timbrado
ObjCFDITimbre.Complementos.ComercioExterior11.Observaciones, ObjCFDITimbre.Complementos.ComercioExterior11.Observaciones,
ObjCFDITimbre.Complementos.ComercioExterior11.TipoCambioUSD, ObjCFDITimbre.Complementos.ComercioExterior11.TipoCambioUSD,
ObjCFDITimbre.Complementos.ComercioExterior11.TotalUSD) ObjCFDITimbre.Complementos.ComercioExterior11.TotalUSD)
'EMISOR 'EMISOR
cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP)) cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP))
cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle, cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroExterior, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroExterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroInterior, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroInterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Colonia, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Colonia,
@@ -2176,9 +2263,9 @@ Public Class Timbrado
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Estado, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Estado,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Pais, ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Pais,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CP) ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CP)
'RECEPTOR 'RECEPTOR
cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib) cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib)
cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle, cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroExterior, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroExterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroInterior, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroInterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Colonia, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Colonia,
@@ -2188,7 +2275,7 @@ Public Class Timbrado
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Estado, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Estado,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Pais, ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Pais,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.CP) ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.CP)
cfdi.ComercioExterior11Destinatario(ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib, cfdi.ComercioExterior11Destinatario(ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Nombre, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Nombre,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Calle, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Calle,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior,
@@ -2200,35 +2287,35 @@ Public Class Timbrado
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Estado, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Estado,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Pais, ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Pais,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.CP) ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.CP)
'MERCANCIAS 'MERCANCIAS
If ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias IsNot Nothing AndAlso ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias.Count > 0 Then If ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias IsNot Nothing AndAlso ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias.Count > 0 Then
For Each concep As CFDIComercioExterior11Mercancias In ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias For Each concep As CFDIComercioExterior11Mercancias In ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias
cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares) cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares)
If concep.DescripcionesEspecificas.Marca <> "" Then If concep.DescripcionesEspecificas.Marca <> "" Then
cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca, cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca,
concep.DescripcionesEspecificas.Modelo, concep.DescripcionesEspecificas.Modelo,
concep.DescripcionesEspecificas.SubModelo, concep.DescripcionesEspecificas.SubModelo,
concep.DescripcionesEspecificas.NumeroSerie) concep.DescripcionesEspecificas.NumeroSerie)
End If End If
Next Next
End If
End If End If
End If End If
End If
#End Region #End Region
End If End If
#Region "C O M P L E M E N T O C A R T A P O R T E" #Region "C O M P L E M E N T O C A R T A P O R T E"
If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then
Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte
@@ -3256,6 +3343,700 @@ Public Class Timbrado
Return Retorno Return Retorno
End Function 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")> <Serializable(), XmlRoot("servicioTimbrado")>
Public Class PADEServicioTimbradoResp Public Class PADEServicioTimbradoResp
<XmlElement("id")> <XmlElement("id")>

View File

@@ -1118,7 +1118,7 @@ Partial Class Compras_Compras
CargaDatosAgregarPS() CargaDatosAgregarPS()
TieneAnticiposXML = False TieneAnticiposXML = False
Modalidad = "" Modalidad = ""
Version = "3.3" Version = "4.0"
CveMetodoPago = -1 CveMetodoPago = -1
RFCProv = "" RFCProv = ""
CargaDdlTipoGasto() CargaDdlTipoGasto()
@@ -1638,7 +1638,7 @@ Partial Class Compras_Compras
End Sub End Sub
Private Sub ValidaIVA() Private Sub ValidaIVA()
If Version <> "3.3" And CveCompra <= 0 Then If (Version <> "3.3" And Version <> "4.0") And CveCompra <= 0 Then
Dim ImporteIVAXML As Double = (TxtSubTotal.Text.Trim.ToDouble - TxtDescuento.Text.Trim.ToDouble - TxtIEPS.Text.Trim.ToDouble) * 0.16 Dim ImporteIVAXML As Double = (TxtSubTotal.Text.Trim.ToDouble - TxtDescuento.Text.Trim.ToDouble - TxtIEPS.Text.Trim.ToDouble) * 0.16
If Math.Abs(TxtIVA.Text.Trim.ToDouble - ImporteIVAXML) >= 1 Then If Math.Abs(TxtIVA.Text.Trim.ToDouble - ImporteIVAXML) >= 1 Then
Alert("El <b>IVA</b> del <b>CFDi</b> no tiene un comportamiento normal, por favor verifique que sea correcto. <br /><br /> <b>NOTA:</b> Esta advertencia no aplica en casos de conceptos(alimentos, combustibles o servicios de comunicación) exentos de IVA o causantes de IEPS.", TipoMensaje.MsgAdvertencia) Alert("El <b>IVA</b> del <b>CFDi</b> no tiene un comportamiento normal, por favor verifique que sea correcto. <br /><br /> <b>NOTA:</b> Esta advertencia no aplica en casos de conceptos(alimentos, combustibles o servicios de comunicación) exentos de IVA o causantes de IEPS.", TipoMensaje.MsgAdvertencia)
@@ -1743,15 +1743,29 @@ Partial Class Compras_Compras
CargaComprobanteXML(XMLDoc) CargaComprobanteXML(XMLDoc)
If NuevaValidacionXML = 1 Or Version = "3.3" Then If NuevaValidacionXML = 1 Or (Version = "3.3" Or Version = "4.0") Then
Dim Xml As New StringBuilder Dim Xml As New StringBuilder
Dim nodo As XmlNode = XMLDoc.DocumentElement Dim nodo As XmlNode = XMLDoc.DocumentElement
Dim Version = ValorXML(nodo, "version") Dim Version = ValorXML(nodo, "version")
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix) Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3" Dim cfdVer As String = ""
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable) Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
If Version = "3.2" Then
Prefijo = "cfd"
cfdVer = "http://www.sat.gob.mx/cfd/2"
ElseIf Version = "3.3" Then
cfdVer = "http://www.sat.gob.mx/cfd/3"
Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4"
End If
'If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
namespaces.AddNamespace(Prefijo, cfdVer) namespaces.AddNamespace(Prefijo, cfdVer)
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital") namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal") namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
@@ -1759,7 +1773,8 @@ Partial Class Compras_Compras
Dim nodeconceptos As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Conceptos", Prefijo), namespaces) Dim nodeconceptos As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Conceptos", Prefijo), namespaces)
Xml.Append(Replace(Replace(Replace(nodeconceptos.OuterXml, "<cfdi:", "<"), "</cfdi:", "</"), "xmlns:cfdi=""http://www.sat.gob.mx/cfd/3""", "")) Xml.Append(Replace(Replace(Replace(Replace(nodeconceptos.OuterXml, "<cfdi:", "<"), "</cfdi:", "</"), "xmlns:cfdi=""http://www.sat.gob.mx/cfd/3""", ""), "xmlns:cfdi=""http://www.sat.gob.mx/cfd/4""", ""))
If ObjeFacturas.GetFacturasComparacionXML(Version, Xml.ToString, UsuarioActual.CveEmpresa) Then If ObjeFacturas.GetFacturasComparacionXML(Version, Xml.ToString, UsuarioActual.CveEmpresa) Then
TmpDT = ObjeFacturas.DtResultados TmpDT = ObjeFacturas.DtResultados
TmpDT.Columns.Add("CveSATPSActualizado") TmpDT.Columns.Add("CveSATPSActualizado")
@@ -1883,7 +1898,7 @@ Partial Class Compras_Compras
Dim Msg As String = "" Dim Msg As String = ""
If Version = "3.3" Then If Version = "3.3" Or Version = "4.0" Then
ValidacionesTotalesXml() ValidacionesTotalesXml()
@@ -3573,11 +3588,25 @@ Partial Class Compras_Compras
'Dim DtPSTemp = TmpDT.Clone 'Dim DtPSTemp = TmpDT.Clone
'Dim Row As DataRow = Nothing 'Dim Row As DataRow = Nothing
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3"
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable) Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2" Dim nodo As XmlNode = XMLDoc.DocumentElement
Dim VersionCFDI As String = ValorXML(nodo, "version")
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = ""
If VersionCFDI = "3.2" Then
Prefijo = "cfd"
cfdVer = "http://www.sat.gob.mx/cfd/2"
ElseIf VersionCFDI = "3.3" Then
cfdVer = "http://www.sat.gob.mx/cfd/3"
Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4"
End If
namespaces.AddNamespace(Prefijo, cfdVer) namespaces.AddNamespace(Prefijo, cfdVer)
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital") namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal") namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
@@ -3714,7 +3743,7 @@ Partial Class Compras_Compras
'Alert(ValorXML(node, "ClaveProdServ").Trim) 'Alert(ValorXML(node, "ClaveProdServ").Trim)
If Version = "3.3" Then If Version = "3.3" Or Version = "4.0" Then
If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then
'OBTENER TRASLADOS POR DETALLES 'OBTENER TRASLADOS POR DETALLES
Dim ContadorTraslado = 0 Dim ContadorTraslado = 0
@@ -5171,7 +5200,7 @@ Partial Class Compras_Compras
End If End If
'ACTUALIZAR PRODUCTO/SERVICIO SAT 'ACTUALIZAR PRODUCTO/SERVICIO SAT
If Version = "3.3" Then If Version = "3.3" Or Version = "4.0" Then
If Row("CveSATPSActualizado").ToString().ToEntero() = 1 Then If Row("CveSATPSActualizado").ToString().ToEntero() = 1 Then
If Not ObjProductosServicios.UpdateProductosServiciosSAT(Row("CvePS").ToString().ToEntero(), Row("CveSATPS").ToString().ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then If Not ObjProductosServicios.UpdateProductosServiciosSAT(Row("CvePS").ToString().ToEntero(), Row("CveSATPS").ToString().ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
ErrorSATPS = True ErrorSATPS = True
@@ -10833,7 +10862,7 @@ Partial Class Compras_Compras
If Version = "3.3" Then If Version = "3.3" Or Version = "4.0" Then
Dim drm As DataRow = GlobalDTVtaMetodoPago.FiltroPrimero(String.Format("ClaveMetodoPagoSAT = '{0}'", ValorXML(nodo, "MetodoPago"))) Dim drm As DataRow = GlobalDTVtaMetodoPago.FiltroPrimero(String.Format("ClaveMetodoPagoSAT = '{0}'", ValorXML(nodo, "MetodoPago")))
If drm IsNot Nothing Then If drm IsNot Nothing Then
CveMetodoPago = drm("CveMetodoPago").ToString.ToEntero CveMetodoPago = drm("CveMetodoPago").ToString.ToEntero
@@ -10842,11 +10871,28 @@ Partial Class Compras_Compras
End If End If
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3"
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable) Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = ""
If Version = "3.2" Then
Prefijo = "cfd"
cfdVer = "http://www.sat.gob.mx/cfd/2"
ElseIf Version = "3.3" Then
cfdVer = "http://www.sat.gob.mx/cfd/3"
Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4"
End If
'If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2"
namespaces.AddNamespace(Prefijo, cfdVer) namespaces.AddNamespace(Prefijo, cfdVer)
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital") namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal") namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
@@ -10889,7 +10935,7 @@ Partial Class Compras_Compras
TotalRetenciones = ValorXML(node, "totalImpuestosRetenidos", "0").ToDecimal TotalRetenciones = ValorXML(node, "totalImpuestosRetenidos", "0").ToDecimal
If Version = "3.3" Then If Version = "3.3" Or Version = "4.0" Then
For Each retencion As XmlNode In nodeRetenciones For Each retencion As XmlNode In nodeRetenciones
If retencion.Attributes("Impuesto").Value = "002" Then If retencion.Attributes("Impuesto").Value = "002" Then
@@ -10920,7 +10966,7 @@ Partial Class Compras_Compras
TotalTraslados = ValorXML(node, "totalImpuestosTrasladados", "0").ToDecimal TotalTraslados = ValorXML(node, "totalImpuestosTrasladados", "0").ToDecimal
Dim nodeTraslados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Traslados/{0}:Traslado", Prefijo), namespaces) Dim nodeTraslados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Traslados/{0}:Traslado", Prefijo), namespaces)
If Version = "3.3" Then If Version = "3.3" Or Version = "4.0" Then
For Each traslado As XmlNode In nodeTraslados For Each traslado As XmlNode In nodeTraslados
If traslado.Attributes("Impuesto").Value = "002" Then If traslado.Attributes("Impuesto").Value = "002" Then
@@ -15639,7 +15685,7 @@ Partial Class Compras_Compras
e.Row.FCLabel("LbEstatusInv").Text = "NA" e.Row.FCLabel("LbEstatusInv").Text = "NA"
End If End If
If Version = "3.3" Then If Version = "3.3" Or Version = "4.0" Then
CargaPSSAT(e.Row.FCDropDownLost("DdlSATPS")) CargaPSSAT(e.Row.FCDropDownLost("DdlSATPS"))
If e.Row.DBCampo("CveSATPS").ToEntero > 0 Then If e.Row.DBCampo("CveSATPS").ToEntero > 0 Then
e.Row.FCDropDownLost("DdlSATPS").SelectedValue = e.Row.DBCampo("CveSATPS") e.Row.FCDropDownLost("DdlSATPS").SelectedValue = e.Row.DBCampo("CveSATPS")
@@ -18305,7 +18351,7 @@ Partial Class Compras_Compras
Row("Consec") = TmpDT.Rows.Count + 1 Row("Consec") = TmpDT.Rows.Count + 1
End If End If
If Version = "3.3" And CveSATPS > 0 Then If (Version = "3.3" Or Version = "4.0") And CveSATPS > 0 Then
Dim DrPSSAT As DataRow = Nothing Dim DrPSSAT As DataRow = Nothing
If CargaXml Then If CargaXml Then
DrPSSAT = GlobalDTPSATPS("-1", CveSATPS.ToString).FiltroPrimero("") DrPSSAT = GlobalDTPSATPS("-1", CveSATPS.ToString).FiltroPrimero("")
@@ -18362,7 +18408,7 @@ Partial Class Compras_Compras
Row("NoDeducible") = NoDeducible Row("NoDeducible") = NoDeducible
Row("PU") = Math.Round(PU, DecimalesPermitidos) Row("PU") = Math.Round(PU, DecimalesPermitidos)
If CargaXml And Version = "3.3" Then If CargaXml And (Version = "3.3" Or Version = "4.0") Then
Row("IVA") = Math.Round(IVA, DecimalesPermitidos) Row("IVA") = Math.Round(IVA, DecimalesPermitidos)
Row("IVAPorcentaje") = PorcentajeIVA Row("IVAPorcentaje") = PorcentajeIVA
Row("RetIVA") = Math.Round(RetIVA, DecimalesPermitidos) Row("RetIVA") = Math.Round(RetIVA, DecimalesPermitidos)

View File

@@ -14,6 +14,8 @@ Imports Stimulsoft.Report.Components
Imports Stimulsoft.Report.Dictionary Imports Stimulsoft.Report.Dictionary
Imports Stimulsoft.Report.Web Imports Stimulsoft.Report.Web
Imports Newtonsoft.Json.Linq Imports Newtonsoft.Json.Linq
Imports System
Imports Microsoft.VisualBasic
Partial Class PopUpVerFactura Partial Class PopUpVerFactura
Inherits ClsPaginas Inherits ClsPaginas
@@ -4166,6 +4168,11 @@ Partial Class PopUpVerFactura
'ImprimirPDF(String.Format("Empresas/{0}/Formatos/Salidas.rdlc", 72), DtMovimientos, params, "ReporteSalidas", RDSName:="DsInventarios") 'ImprimirPDF(String.Format("Empresas/{0}/Formatos/Salidas.rdlc", 72), DtMovimientos, params, "ReporteSalidas", RDSName:="DsInventarios")
ImprimirPDF(UsuarioActual.Empresa.Ruta & "Formatos/Salidas.rdlc", DtMovimientos, params, String.Format("Salida de Almacen - {0}", Folio.ToString), RDSName:="DsInventarios") ImprimirPDF(UsuarioActual.Empresa.Ruta & "Formatos/Salidas.rdlc", DtMovimientos, params, String.Format("Salida de Almacen - {0}", Folio.ToString), RDSName:="DsInventarios")
Else Else
If UsuarioActual.CveEmpresa = 140 Then
params.Add(New ReportParameter("Concepto", ConceptoReporte))
params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("UsuarioRegistro", UsuarioRegistro))
End If
params.Add(New ReportParameter("Folio", Folio)) params.Add(New ReportParameter("Folio", Folio))
params.Add(New ReportParameter("Fecha", Fecha)) params.Add(New ReportParameter("Fecha", Fecha))
params.Add(New ReportParameter("Almacen", Almacen)) params.Add(New ReportParameter("Almacen", Almacen))
@@ -4830,6 +4837,19 @@ Partial Class PopUpVerFactura
Dim Titulo As String = "Acuse de cancelación de CFDI" Dim Titulo As String = "Acuse de cancelación de CFDI"
Dim EstadoCFDI As String = "Cancelado" Dim EstadoCFDI As String = "Cancelado"
'SI NO TIENE EL SELLO BUSCA OBTNERLO DE NUEVO
If String.IsNullOrEmpty(SelloCancelacion) Then
Dim ObjCancelacion As New Timbrado
If ObjCancelacion.ObtenerAcuse(CveVenta, UsuarioActual) Then
SelloCancelacion = ObjCancelacion.CancelacionAcuse
If FechaCancelacion = Nothing OrElse FechaCancelacion = MinFecha Then
FechaCancelacion = ObjCancelacion.CancelacionFecha
End If
End If
End If
If CveEstatusFactura = 20 Then If CveEstatusFactura = 20 Then
Titulo = "Acuse de solicitud de cancelación de CFDI" Titulo = "Acuse de solicitud de cancelación de CFDI"
EstadoCFDI = "Vigente" EstadoCFDI = "Vigente"

View File

@@ -2845,6 +2845,8 @@ Partial Class Compras_eFacturas
Dim XMLDoc As New XmlDocument Dim XMLDoc As New XmlDocument
Dim Archivo As String = String.Format("{0}Compras\{1}\{2}", UsuarioActual.Empresa.Ruta, gvRow.DataKey("RFCDe"), gvRow.DataKey("XML")) Dim Archivo As String = String.Format("{0}Compras\{1}\{2}", UsuarioActual.Empresa.Ruta, gvRow.DataKey("RFCDe"), gvRow.DataKey("XML"))
Dim Prefijo As String = ""
If IO.File.Exists(Archivo) Then If IO.File.Exists(Archivo) Then
@@ -2855,12 +2857,27 @@ Partial Class Compras_eFacturas
XMLDoc.LoadXml(SXML) XMLDoc.LoadXml(SXML)
Dim Xml As New StringBuilder Dim Xml As New StringBuilder
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable) Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
namespaces.AddNamespace(XMLDoc.DocumentElement.Prefix, "http://www.sat.gob.mx/cfd/3") Dim RootDocumento As XmlElement = XMLDoc.DocumentElement
Dim VersionCFDI As String = ValorXML(RootDocumento, "version")
If VersionCFDI = "3.3" Then
Prefijo = "pago10"
namespaces.AddNamespace("pago10", "http://www.sat.gob.mx/Pagos")
namespaces.AddNamespace(XMLDoc.DocumentElement.Prefix, "http://www.sat.gob.mx/cfd/3")
ElseIf VersionCFDI = "4.0" Then
Prefijo = "pago20"
namespaces.AddNamespace("pago20", "http://www.sat.gob.mx/Pagos20")
namespaces.AddNamespace(XMLDoc.DocumentElement.Prefix, "http://www.sat.gob.mx/cfd/4")
End If
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital") namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
' namespaces.AddNamespace("pago10", "http://www.sat.gob.mx/Pagos")
nodeComp = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", XMLDoc.DocumentElement.Prefix), namespaces) nodeComp = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", XMLDoc.DocumentElement.Prefix), namespaces)
@@ -2868,20 +2885,20 @@ Partial Class Compras_eFacturas
nodeTFD = nodeComp.SelectSingleNode(String.Format("//{0}:TimbreFiscalDigital", "tfd"), namespaces) nodeTFD = nodeComp.SelectSingleNode(String.Format("//{0}:TimbreFiscalDigital", "tfd"), namespaces)
Dim PrefijoPagos As String = "" 'Dim PrefijoPagos As String = ""
For Each nodoPrefijo As XmlNode In nodeComp.ChildNodes 'For Each nodoPrefijo As XmlNode In nodeComp.ChildNodes
If nodoPrefijo.Prefix <> "tfd" And nodoPrefijo.Prefix.ToUpper.Contains("PAGO") Then ' If nodoPrefijo.Prefix <> "tfd" And nodoPrefijo.Prefix.ToUpper.Contains("PAGO") Then
PrefijoPagos = nodoPrefijo.Prefix ' PrefijoPagos = nodoPrefijo.Prefix
End If ' End If
Next 'Next
namespaces.AddNamespace(PrefijoPagos, "http://www.sat.gob.mx/Pagos") 'namespaces.AddNamespace(PrefijoPagos, "http://www.sat.gob.mx/Pagos")
nodeComp = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", XMLDoc.DocumentElement.Prefix), namespaces) nodeComp = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", XMLDoc.DocumentElement.Prefix), namespaces)
nodePagos = nodeComp.SelectSingleNode(String.Format("//{0}:Pagos/{0}:Pago", PrefijoPagos), namespaces) nodePagos = nodeComp.SelectSingleNode(String.Format("//{0}:Pagos/{0}:Pago", Prefijo), namespaces)
nodePagos2 = nodeComp.SelectSingleNode(String.Format("//{0}:Pagos", PrefijoPagos), namespaces) nodePagos2 = nodeComp.SelectSingleNode(String.Format("//{0}:Pagos", Prefijo), namespaces)
@@ -2923,7 +2940,7 @@ Partial Class Compras_eFacturas
Dim nodePagosN As XmlNodeList Dim nodePagosN As XmlNodeList
nodePagosN = nodeComp.SelectNodes(String.Format("//{0}:Pagos", PrefijoPagos), namespaces) nodePagosN = nodeComp.SelectNodes(String.Format("//{0}:Pagos", Prefijo), namespaces)
For Each NodosPagos As XmlNode In nodePagosN For Each NodosPagos As XmlNode In nodePagosN
@@ -2964,7 +2981,7 @@ Partial Class Compras_eFacturas
MontoPago = Monto MontoPago = Monto
Dim ObjCompraFolios As New ClsCompras Dim ObjCompraFolios As New ClsCompras
If ObjCompraFolios.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace($"{PrefijoPagos}:", ""), UsuarioActual.CveEmpresa, OP:=If(CveComplementoPagoCompra > 0, 2, 1), CveFactura:=CveFacturaComplemento) Then If ObjCompraFolios.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace($"{Prefijo}:", ""), UsuarioActual.CveEmpresa, OP:=If(CveComplementoPagoCompra > 0, 2, 1), CveFactura:=CveFacturaComplemento) Then
' '
'.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace("pago10:", ""), UsuarioActual.CveEmpresa) Then '.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace("pago10:", ""), UsuarioActual.CveEmpresa) Then
If ObjCompraFolios.DtResultados.Rows.Count > 0 Then If ObjCompraFolios.DtResultados.Rows.Count > 0 Then

View File

@@ -1091,7 +1091,12 @@ Partial Class Contabilidad_RepBalanceGeneral
'parametros a enviar al reporte 'parametros a enviar al reporte
Dim params As New List(Of ReportParameter) Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("pImg", New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri))
'LogoRuta = String.Format("file://{0}Formatos\Suc{1}.png", UsuarioActual.Empresa.Ruta, Vta.CveSucursal)
Dim RutaLogo As String = String.Format("file://{0}Logo.png", UsuarioActual.Empresa.Ruta)
params.Add(New ReportParameter("pImg", RutaLogo))
params.Add(New ReportParameter("pFirma1", "")) params.Add(New ReportParameter("pFirma1", ""))
params.Add(New ReportParameter("pFirma2", "")) params.Add(New ReportParameter("pFirma2", ""))
params.Add(New ReportParameter("pFechaFin", FechaF)) params.Add(New ReportParameter("pFechaFin", FechaF))
@@ -1125,7 +1130,10 @@ Partial Class Contabilidad_RepBalanceGeneral
'parametros a enviar al reporte 'parametros a enviar al reporte
Dim params As New List(Of ReportParameter) Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("pImg", New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri))
Dim RutaLogo As String = String.Format("file://{0}Logo.png", UsuarioActual.Empresa.Ruta)
params.Add(New ReportParameter("pImg", RutaLogo))
'params.Add(New ReportParameter("pImg", New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri))
params.Add(New ReportParameter("pFechaFin", FechaF)) params.Add(New ReportParameter("pFechaFin", FechaF))
params.Add(New ReportParameter("pSubtotal", DdlSubtotales.SelectedValue.ToString)) params.Add(New ReportParameter("pSubtotal", DdlSubtotales.SelectedValue.ToString))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
@@ -1148,7 +1156,9 @@ Partial Class Contabilidad_RepBalanceGeneral
'parametros a enviar al reporte 'parametros a enviar al reporte
Dim params As New List(Of ReportParameter) Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa)) params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("pImg", New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri)) Dim RutaLogo As String = String.Format("file://{0}Logo.png", UsuarioActual.Empresa.Ruta)
params.Add(New ReportParameter("pImg", RutaLogo))
'params.Add(New ReportParameter("pImg", New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri))
params.Add(New ReportParameter("pFechaI", DdlEjercicio.SelectedValue)) params.Add(New ReportParameter("pFechaI", DdlEjercicio.SelectedValue))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
params.Add(New ReportParameter("FechaImpresion", Now.ToShortDateString)) params.Add(New ReportParameter("FechaImpresion", Now.ToShortDateString))

File diff suppressed because it is too large Load Diff

View File

@@ -253,12 +253,11 @@
</TablixCells> </TablixCells>
</TablixRow> </TablixRow>
<TablixRow> <TablixRow>
<Height>0.69042cm</Height> <Height>0.47875cm</Height>
<TablixCells> <TablixCells>
<TablixCell> <TablixCell>
<CellContents> <CellContents>
<Textbox Name="Cantidad"> <Textbox Name="Cantidad">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
<Paragraphs> <Paragraphs>
<Paragraph> <Paragraph>
@@ -291,7 +290,6 @@
<TablixCell> <TablixCell>
<CellContents> <CellContents>
<Textbox Name="Codigo"> <Textbox Name="Codigo">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
<Paragraphs> <Paragraphs>
<Paragraph> <Paragraph>
@@ -323,7 +321,6 @@
<TablixCell> <TablixCell>
<CellContents> <CellContents>
<Textbox Name="PS"> <Textbox Name="PS">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
<Paragraphs> <Paragraphs>
<Paragraph> <Paragraph>
@@ -353,7 +350,6 @@
<TablixCell> <TablixCell>
<CellContents> <CellContents>
<Textbox Name="SerieLote"> <Textbox Name="SerieLote">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
<Paragraphs> <Paragraphs>
<Paragraph> <Paragraph>
@@ -383,7 +379,6 @@
<TablixCell> <TablixCell>
<CellContents> <CellContents>
<Textbox Name="Lote"> <Textbox Name="Lote">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
<Paragraphs> <Paragraphs>
<Paragraph> <Paragraph>
@@ -443,7 +438,7 @@
<DataSetName>DsInventarios</DataSetName> <DataSetName>DsInventarios</DataSetName>
<Top>0.17639cm</Top> <Top>0.17639cm</Top>
<Left>0.22456cm</Left> <Left>0.22456cm</Left>
<Height>1.11096cm</Height> <Height>0.89929cm</Height>
<Width>20.39972cm</Width> <Width>20.39972cm</Width>
<Style> <Style>
<Border> <Border>
@@ -579,42 +574,10 @@
<Width>8.1198in</Width> <Width>8.1198in</Width>
<Page> <Page>
<PageHeader> <PageHeader>
<Height>4.11151cm</Height> <Height>4.27026cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage> <PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage> <PrintOnLastPage>true</PrintOnLastPage>
<ReportItems> <ReportItems>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Empresa.Value</Value>
<Style>
<FontSize>14pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>0.28677cm</Top>
<Left>4.37211cm</Left>
<Height>0.67056cm</Height>
<Width>8.97552cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox34"> <Textbox Name="Textbox34">
<CanGrow>true</CanGrow> <CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
@@ -629,15 +592,15 @@
</Style> </Style>
</TextRun> </TextRun>
</TextRuns> </TextRuns>
<Style /> <Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox34</rd:DefaultName> <rd:DefaultName>Textbox34</rd:DefaultName>
<Top>1.02789cm</Top> <Top>1.71608cm</Top>
<Left>4.37211cm</Left> <Height>0.67239cm</Height>
<Height>0.95277cm</Height> <Width>20.62428cm</Width>
<Width>8.10916cm</Width>
<ZIndex>1</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -648,21 +611,6 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<Image Name="Logo">
<Source>External</Source>
<Value>=Parameters!LogoPath.Value</Value>
<Sizing>FitProportional</Sizing>
<Top>0.3175cm</Top>
<Left>0.19987cm</Left>
<Height>1.66316cm</Height>
<Width>3.43141cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox15"> <Textbox Name="Textbox15">
<CanGrow>true</CanGrow> <CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
@@ -682,11 +630,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox15</rd:DefaultName> <rd:DefaultName>Textbox15</rd:DefaultName>
<Top>2.34504cm</Top> <Top>2.68428cm</Top>
<Left>2.45652cm</Left> <Left>10.74503cm</Left>
<Height>0.6cm</Height> <Height>0.56824cm</Height>
<Width>9.54145cm</Width> <Width>9.56615cm</Width>
<ZIndex>3</ZIndex> <ZIndex>1</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -711,11 +659,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox18</rd:DefaultName> <rd:DefaultName>Textbox18</rd:DefaultName>
<Top>3.11789cm</Top> <Top>3.42537cm</Top>
<Left>2.43182cm</Left> <Left>10.74503cm</Left>
<Height>0.6cm</Height> <Height>0.6cm</Height>
<Width>9.54145cm</Width> <Width>9.56615cm</Width>
<ZIndex>4</ZIndex> <ZIndex>2</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -743,11 +691,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox16</rd:DefaultName> <rd:DefaultName>Textbox16</rd:DefaultName>
<Top>3.097cm</Top> <Top>3.43623cm</Top>
<Left>0.26872cm</Left> <Left>8.61368cm</Left>
<Height>0.6cm</Height> <Height>0.57827cm</Height>
<Width>2.11724cm</Width> <Width>2.11724cm</Width>
<ZIndex>5</ZIndex> <ZIndex>3</ZIndex>
<Visibility> <Visibility>
<Hidden>=IIF(Parameters!FacturadoA.Value = "", True, False)</Hidden> <Hidden>=IIF(Parameters!FacturadoA.Value = "", True, False)</Hidden>
</Visibility> </Visibility>
@@ -778,11 +726,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox14</rd:DefaultName> <rd:DefaultName>Textbox14</rd:DefaultName>
<Top>2.34504cm</Top> <Top>2.68428cm</Top>
<Left>0.25631cm</Left> <Left>8.60127cm</Left>
<Height>0.6cm</Height> <Height>0.56824cm</Height>
<Width>2.12965cm</Width> <Width>2.12965cm</Width>
<ZIndex>6</ZIndex> <ZIndex>4</ZIndex>
<Visibility> <Visibility>
<Hidden>=IIF(Parameters!FacturaProveedor.Value = "", True, False)</Hidden> <Hidden>=IIF(Parameters!FacturaProveedor.Value = "", True, False)</Hidden>
</Visibility> </Visibility>
@@ -820,7 +768,7 @@
<Left>13.63291cm</Left> <Left>13.63291cm</Left>
<Height>0.89103cm</Height> <Height>0.89103cm</Height>
<Width>4.09693cm</Width> <Width>4.09693cm</Width>
<ZIndex>7</ZIndex> <ZIndex>5</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -856,7 +804,7 @@
<Left>17.72984cm</Left> <Left>17.72984cm</Left>
<Height>0.9263cm</Height> <Height>0.9263cm</Height>
<Width>2.57165cm</Width> <Width>2.57165cm</Width>
<ZIndex>8</ZIndex> <ZIndex>6</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -884,11 +832,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName> <rd:DefaultName>Textbox4</rd:DefaultName>
<Top>3.09701cm</Top> <Top>3.42537cm</Top>
<Left>12.65424cm</Left> <Left>0.32995cm</Left>
<Height>0.59999cm</Height> <Height>0.59999cm</Height>
<Width>1.80326cm</Width> <Width>1.80326cm</Width>
<ZIndex>9</ZIndex> <ZIndex>7</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -906,9 +854,11 @@
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>=Parameters!Almacen.Value</Value> <Value>=Parameters!Almacen.Value</Value>
<Style> <Style />
<FontSize>8pt</FontSize> </TextRun>
</Style> <TextRun>
<Value xml:space="preserve"> </Value>
<Style />
</TextRun> </TextRun>
</TextRuns> </TextRuns>
<Style> <Style>
@@ -917,11 +867,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName> <rd:DefaultName>Textbox6</rd:DefaultName>
<Top>2.40855cm</Top> <Top>2.70516cm</Top>
<Left>14.4575cm</Left> <Left>2.13321cm</Left>
<Height>0.56824cm</Height> <Height>0.54736cm</Height>
<Width>5.9022cm</Width> <Width>6.43631cm</Width>
<ZIndex>10</ZIndex> <ZIndex>8</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -941,7 +891,6 @@
<TextRun> <TextRun>
<Value>=Parameters!Fecha.Value</Value> <Value>=Parameters!Fecha.Value</Value>
<Style> <Style>
<FontSize>8pt</FontSize>
<Format>d</Format> <Format>d</Format>
</Style> </Style>
</TextRun> </TextRun>
@@ -952,11 +901,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox32</rd:DefaultName> <rd:DefaultName>Textbox32</rd:DefaultName>
<Top>3.12876cm</Top> <Top>3.42537cm</Top>
<Left>14.4575cm</Left> <Left>2.13321cm</Left>
<Height>0.58913cm</Height> <Height>0.58913cm</Height>
<Width>5.9022cm</Width> <Width>6.43631cm</Width>
<ZIndex>11</ZIndex> <ZIndex>9</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -984,11 +933,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName> <rd:DefaultName>Textbox3</rd:DefaultName>
<Top>2.34505cm</Top> <Top>2.70516cm</Top>
<Left>12.65424cm</Left> <Left>0.32995cm</Left>
<Height>0.59999cm</Height> <Height>0.54736cm</Height>
<Width>1.80326cm</Width> <Width>1.80326cm</Width>
<ZIndex>12</ZIndex> <ZIndex>10</ZIndex>
<Style> <Style>
<Border> <Border>
<Style>None</Style> <Style>None</Style>
@@ -1018,11 +967,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName> <rd:DefaultName>Textbox3</rd:DefaultName>
<Top>1.27306cm</Top> <Top>1.20956cm</Top>
<Left>13.63291cm</Left> <Left>13.63291cm</Left>
<Height>0.47477cm</Height> <Height>0.47477cm</Height>
<Width>4.09693cm</Width> <Width>4.09693cm</Width>
<ZIndex>13</ZIndex> <ZIndex>11</ZIndex>
<Visibility> <Visibility>
<Hidden>=IIF(Parameters!FolioRelacionado.Value = "",true,false)</Hidden> <Hidden>=IIF(Parameters!FolioRelacionado.Value = "",true,false)</Hidden>
</Visibility> </Visibility>
@@ -1055,11 +1004,11 @@
</Paragraph> </Paragraph>
</Paragraphs> </Paragraphs>
<rd:DefaultName>Textbox31</rd:DefaultName> <rd:DefaultName>Textbox31</rd:DefaultName>
<Top>1.27306cm</Top> <Top>1.20956cm</Top>
<Left>17.72984cm</Left> <Left>17.72984cm</Left>
<Height>0.47477cm</Height> <Height>0.47477cm</Height>
<Width>2.57165cm</Width> <Width>2.57165cm</Width>
<ZIndex>14</ZIndex> <ZIndex>12</ZIndex>
<Visibility> <Visibility>
<Hidden>=IIF(Parameters!FolioRelacionado.Value = "",true,false)</Hidden> <Hidden>=IIF(Parameters!FolioRelacionado.Value = "",true,false)</Hidden>
</Visibility> </Visibility>
@@ -1073,6 +1022,53 @@
<PaddingBottom>2pt</PaddingBottom> <PaddingBottom>2pt</PaddingBottom>
</Style> </Style>
</Textbox> </Textbox>
<Image Name="Image1">
<Source>Embedded</Source>
<Value>Logo2</Value>
<Sizing>Fit</Sizing>
<Left>0.1299in</Left>
<Height>0.61281in</Height>
<Width>1.32508in</Width>
<ZIndex>13</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox14">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>BDH BATERÍAS DISTRIBUCIONES DE HERMOSILLO S.A. DE C.V.</Value>
<Style>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Left>3.83674cm</Left>
<Height>1.55733cm</Height>
<Width>9.26108cm</Width>
<ZIndex>14</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems> </ReportItems>
<Style> <Style>
<Border> <Border>
@@ -1420,6 +1416,8 @@
</ReportParameter> </ReportParameter>
<ReportParameter Name="Almacen"> <ReportParameter Name="Almacen">
<DataType>String</DataType> <DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt> <Prompt>ReportParameter1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="Folio"> <ReportParameter Name="Folio">
@@ -1436,10 +1434,14 @@
</ReportParameter> </ReportParameter>
<ReportParameter Name="Fecha"> <ReportParameter Name="Fecha">
<DataType>String</DataType> <DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt> <Prompt>ReportParameter1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="FechaImpresion"> <ReportParameter Name="FechaImpresion">
<DataType>String</DataType> <DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt> <Prompt>ReportParameter1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="Descuentos"> <ReportParameter Name="Descuentos">
@@ -1525,7 +1527,250 @@
<AllowBlank>true</AllowBlank> <AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt> <Prompt>ReportParameter1</Prompt>
</ReportParameter> </ReportParameter>
<ReportParameter Name="SubProyecto">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters> </ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="Logo2">
<MIMEType>image/png</MIMEType>
<ImageData>iVBORw0KGgoAAAANSUhEUgAAEHQAAAgICAYAAAC1Y1ExAAAGkWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgeG1sbnM6eG1wRE09Imh0dHA6Ly9ucy5hZG9iZS5jb20veG1wLzEuMC9EeW5hbWljTWVkaWEvIgogICAgeG1sbnM6c3REaW09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9EaW1lbnNpb25zIyIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1NUMwODVDQjkxQ0JFNTExQUJBMkNBMkZFODhFOEFDMCIKICAgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1M0MwODVDQjkxQ0JFNTExQUJBMkNBMkZFODhFOEFDMCIKICAgeG1wTU06T3Jp
Z2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzA4NUNCOTFDQkU1MTFBQkEyQ0EyRkU4OEU4QUMwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDE2LTAyLTA0VDE1OjU4OjAxLTA3OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAxNi0wMi0wNFQxNTo1OC0wNzowMCIKICAgeG1wRE06dmlkZW9QaXhlbEFzcGVjdFJhdGlvPSIxMDAwMDAwLzEwMDAwMDAiCiAgIHhtcERNOnZpZGVvQWxwaGFNb2RlPSJzdHJhaWdodCIKICAgeG1wRE06dmlkZW9GcmFtZVJhdGU9IjAuMDAwMDAwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NTRDMDg1Q0I5MUNCRTUxMUFCQTJDQTJGRTg4RThBQzAiCiAgICAgIHN0RXZ0OndoZW49IjIwMTYtMDItMDRUMTU6NTgtMDc6MDAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFByZW1pZXJlIFBybyBDUzYgKFdpbmRvd3MpIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIi8+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjU1QzA4NUNCOTFDQkU1MTFBQkEyQ0EyRkU4OEU4QUMwIgogICAgICBzdEV2dDp3aGVuPSIyMDE2LTAyLTA0VDE1OjU4OjAxLTA3OjAwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQcmVtaWVyZSBQcm8gQ1M2IChXaW5kb3dzKSIK
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
AAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAAAAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAA
AAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQAAAAAAAAAAAAAAAAAAAAAyEygAwAAAAAAAAAAAAAAAAAAAEBmAh0AAAAAAAAAAAAAAAAAAAAAMhPoAAAAAAAAAAAAAAAAAAAAAJCZQAcAAAAAAAAAAAAAAAAAAACAzAQ6AAAAAAAAAAAAAAAAAAAAAGQm0AEAAAAAAAAAAAAAAAAAAAAgM4EOAAAAAAAAAAAAAAAAAAAAAJkJdAAAAAAAAAAAAAAAAAAAAADITKADAAAAAAAAAAAAAAAAAAAAQGYCHQAAAAAAAAAAAAAAAAAAAAAyE+gAAAAAAAAAAAAAAAAAAAAAkJlABwAAAAAAAAAAAAAAAAAAAIDMBDoAAAAAAAAAAAAAAAAAAAAAZCbQAQAAAAAAAAAAAAAAAAAAACAzgQ4AAAAAAAAAAAAAAAAAAAAAmQl0AAAAAAAAAAAAAAAAAAAAAMhMoAMAAAAAAAAAAAAAAAAAAABAZgIdAAAAAAAAAAAAAAAAAAAAADIT6AAAAAAAAAAAAAAAAAAAAACQmUAHAAAAAAAAAAAAAAAAAAAAgMwEOgAAAAAAAAAAAAAAAAAAAABkJtABAAAAAAAAAAAAAAAAAAAAIDOBDgAAAAAAAAAAAAAAAAAAAACZCXQA
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
ADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAA
ADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwEzoAAAAAAAAAAAAAAAAAAAAADATOgAAAAAAAAAAAAAAAAAAAADMhA4AAAAAAAAAAAAAAAAAAAAAM6EDAAAAAAAAAAAAAAAAAAAAwCzg8zze50D8YwAAAABJRU5ErkJggg==</ImageData>
</EmbeddedImage>
</EmbeddedImages>
<rd:ReportUnitType>Cm</rd:ReportUnitType> <rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>e6b08487-acfe-4020-a8f2-f9a54953646f</rd:ReportID> <rd:ReportID>e6b08487-acfe-4020-a8f2-f9a54953646f</rd:ReportID>
</Report> </Report>

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"> <Report xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner" xmlns:cl="http://schemas.microsoft.com/sqlserver/reporting/2010/01/componentdefinition" xmlns="http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition">
<AutoRefresh>0</AutoRefresh> <AutoRefresh>0</AutoRefresh>
<DataSources> <DataSources>
<DataSource Name="DsOC"> <DataSource Name="DsOC">
@@ -2163,6 +2163,25 @@
<FontSize>8pt</FontSize> <FontSize>8pt</FontSize>
</Style> </Style>
</TextRun> </TextRun>
<TextRun>
<Value>.</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Régimen: 626 - Régimen Simplificado de Confianza</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns> </TextRuns>
<Style /> <Style />
</Paragraph> </Paragraph>
@@ -2998,7 +3017,7 @@
<KeepTogether>true</KeepTogether> <KeepTogether>true</KeepTogether>
<Top>15.5602cm</Top> <Top>15.5602cm</Top>
<Left>0.16937cm</Left> <Left>0.16937cm</Left>
<Height>2.67786cm</Height> <Height>2.67787cm</Height>
<Width>20.85172cm</Width> <Width>20.85172cm</Width>
<ZIndex>20</ZIndex> <ZIndex>20</ZIndex>
<Visibility> <Visibility>
@@ -3011,7 +3030,7 @@
</Style> </Style>
</Rectangle> </Rectangle>
</ReportItems> </ReportItems>
<Height>18.23806cm</Height> <Height>18.23807cm</Height>
<Style /> <Style />
</Body> </Body>
<Width>21.16666cm</Width> <Width>21.16666cm</Width>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -159,6 +159,15 @@ Partial Class Inventarios_RecepcionUsados
ViewState("TieneSalida") = value ViewState("TieneSalida") = value
End Set End Set
End Property End Property
Private Property DTBCIUsados As DataTable
Get
Return If(IsNothing(ViewState("DTBCIUsados")), Nothing, CType(ViewState("DTBCIUsados"), DataTable))
End Get
Set(value As DataTable)
ViewState("DTBCIUsados") = value
End Set
End Property
Private Property DtBitacora As DataTable Private Property DtBitacora As DataTable
Get Get
Return CType(ViewState("DtBitacora"), DataTable) Return CType(ViewState("DtBitacora"), DataTable)
@@ -1488,7 +1497,7 @@ Partial Class Inventarios_RecepcionUsados
If CveMovimiento <= 0 Then If CveMovimiento <= 0 Then
CveMovimiento = ObjInv.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, CveConcepto, 1, TxtFecha.Text.ToDate, TxtFolio.Text.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 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 End If
ObjInv.AddMovimientoDetalle(CveMovimiento, Cantidad, CveUM, CvePS, CostoPromedio, -1, Serie:=Serie) ObjInv.AddMovimientoDetalle(CveMovimiento, Cantidad, CveUM, CvePS, CostoPromedio, -1, Serie:=Serie)
@@ -2391,6 +2400,9 @@ Partial Class Inventarios_RecepcionUsados
'GUARDAR AJUSTES 'GUARDAR AJUSTES
Me.ObjRemisionNC.DtAjustes = TmpDTAjustes Me.ObjRemisionNC.DtAjustes = TmpDTAjustes
If Me.ObjRemisionNC.DtAjustes IsNot Nothing AndAlso Me.ObjRemisionNC.DtAjustes.Rows.Count > 0 Then
Me.ObjRemisionNC.EsGarantia = True
End If
'VALIDA PROMOCIONES Y EXISTENCIAS 'VALIDA PROMOCIONES Y EXISTENCIAS
Dim ObjVentas As New ClsVentas Dim ObjVentas As New ClsVentas
@@ -2750,7 +2762,8 @@ Partial Class Inventarios_RecepcionUsados
ObjRemisionNC.DtMovimientosUsados = DtMovimientos ObjRemisionNC.DtMovimientosUsados = DtMovimientos
ObjRemisionNC.CveAlmacen = DdlAlmacen.SelectedValue.ToEntero() ObjRemisionNC.CveAlmacen = DdlAlmacen.SelectedValue.ToEntero()
ObjRemisionNC.ObservacionesMovimiento = TxtObservaciones.Text ObjRemisionNC.MovimientoObservaciones = TxtObservaciones.Text
ObjRemisionNC.MovimientoRecibio = TxtResponsable.Text
ObjRemisionNC.CveConceptoMovimiento = CveConcepto ObjRemisionNC.CveConceptoMovimiento = CveConcepto
End Sub End Sub
@@ -2843,6 +2856,7 @@ Partial Class Inventarios_RecepcionUsados
Dim CveMarca As Integer = -1 Dim CveMarca As Integer = -1
Dim CveClasificacion As Integer = -1 Dim CveClasificacion As Integer = -1
Dim PrecioSugerido As Decimal = 0 Dim PrecioSugerido As Decimal = 0
Dim CveTamanio As Integer = -1
Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSParametro).FiltroPrimero("") Dim drPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSParametro).FiltroPrimero("")
If drPS IsNot Nothing Then If drPS IsNot Nothing Then
@@ -2857,6 +2871,7 @@ Partial Class Inventarios_RecepcionUsados
Dim PS As String = drPS("PS").ToString Dim PS As String = drPS("PS").ToString
CveMarca = drPS("CveMarca").ToString.ToEntero CveMarca = drPS("CveMarca").ToString.ToEntero
CveClasificacion = drPS("CveClasificacion").ToString.ToEntero CveClasificacion = drPS("CveClasificacion").ToString.ToEntero
CveTamanio = drPS("CveTamaño").ToString.ToEntero
Dim Arr = PS.Split("-"c) Dim Arr = PS.Split("-"c)
If Arr.Count > 1 Then If Arr.Count > 1 Then
@@ -2918,6 +2933,19 @@ Partial Class Inventarios_RecepcionUsados
'CvePrecioLista = CvePrecioListaPS 'CvePrecioLista = CvePrecioListaPS
End If End If
DdlBCIAjuste.Items.Clear()
If DTBCIUsados IsNot Nothing AndAlso CveTamanio > 0 Then
DdlBCIAjuste.DataSource = DTBCIUsados.FiltraParametros($"CveTamaño={CveTamanio}")
DdlBCIAjuste.DataBind()
DdlBCIAjuste.Items.Insert(0, New ListItem("Seleccione", "-1"))
If CveTamanio = 16 Then 'motobaterias
DdlBCIAjuste.Items.Insert(0, New ListItem(" - ", "0"))
End If
'UPPDatosUsado.Update() ''refresca el RFV
Else
DdlBCIAjuste.Items.Insert(0, New ListItem(" - ", "0"))
End If
DdlTipoUso.Items.Clear() DdlTipoUso.Items.Clear()
DdlTipoUso.DataSource = GlobalDTAcumGarantiasMesesTipoUso(UsuarioActual.CveEmpresa, CveMarca) DdlTipoUso.DataSource = GlobalDTAcumGarantiasMesesTipoUso(UsuarioActual.CveEmpresa, CveMarca)
DdlTipoUso.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlTipoUso.Items.Insert(0, New ListItem("Seleccione", "-1"))
@@ -2961,6 +2989,7 @@ Partial Class Inventarios_RecepcionUsados
If ObjGral.BCIUsadoGet(UsuarioActual.CveEmpresa) Then If ObjGral.BCIUsadoGet(UsuarioActual.CveEmpresa) Then
DdlBCIAjuste.DataSource = ObjGral.DtResultados DdlBCIAjuste.DataSource = ObjGral.DtResultados
DdlBCIAjuste.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlBCIAjuste.Items.Insert(0, New ListItem("Seleccione", "-1"))
DTBCIUsados = ObjGral.DtResultados.Copy()
End If End If
ObjGral.Dispose() ObjGral.Dispose()
DdlBCIAjuste.DataBind() DdlBCIAjuste.DataBind()

View File

@@ -567,7 +567,7 @@ Partial Class Inventarios_TraspasoAlmacen
If CveProducto > 0 Then If CveProducto > 0 Then
If TxtnSerie.Visible Then If TxtnSerie.Visible Then
Cantidad = 1 Cantidad = 1
If TxtnSerie.Text = "" Then If String.IsNullOrEmpty(TxtnSerie.Text.Trim()) OrElse String.IsNullOrWhiteSpace(TxtnSerie.Text.Trim()) Then
Alert("Serie es necesario", TipoMensaje.MsgAdvertencia) Alert("Serie es necesario", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')") RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
Exit Sub Exit Sub

View File

@@ -417,8 +417,7 @@
</div> </div>
<div class="ContentPlaceHolderc"> <div class="ContentPlaceHolderc">
<asp:ContentPlaceHolder ID="C" runat="server"> <asp:ContentPlaceHolder ID="C" runat="server">
</asp:ContentPlaceHolder> </asp:ContentPlaceHolder>
<br />
</div> </div>
</div> </div>
</div> </div>

View File

@@ -258,7 +258,7 @@ Partial Class Site
If UsuarioActual.TienePermisoPagina(392) Then tdProspectos.Visible = True : ImgProspecto.Attributes.Add("onclick", "AbrirVentana('/Prospeccion/PopUpBuscarProspectos.aspx',980,547,'popBuscarProspectos');") If UsuarioActual.TienePermisoPagina(392) Then tdProspectos.Visible = True : ImgProspecto.Attributes.Add("onclick", "AbrirVentana('/Prospeccion/PopUpBuscarProspectos.aspx',980,547,'popBuscarProspectos');")
If UsuarioActual.TienePermisoPagina(228) Then tdBExi.Visible = True If UsuarioActual.TienePermisoPagina(228) OrElse UsuarioActual.TienePermisoPagina(6) Then tdBExi.Visible = True
'Contratos 'Contratos
If UsuarioActual.TienePermisoPagina(313) Then TdContratos.Visible = True If UsuarioActual.TienePermisoPagina(313) Then TdContratos.Visible = True

View File

@@ -31,14 +31,16 @@
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style=""> <div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle " style=""> <div class="portlet-title portlet-filterT smalltitle">
<div class="tools"> <div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" class="btn btn-primary" /> <asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div> </div>
<div class="titlefiltros caption" style="margin-top: -8px;"> <div class="titlefiltros caption">
<ul class="list-inline" style="font-size: 12px;"> <div class="row" style="height: 32px;">
<li>Estatus: <label class="col-md-1">Estatus: </label>
<div class="col-md-2">
<asp:DropDownList AppendDataBoundItems="true" ID="DdlEstatus" runat="server" Width="200px" DataTextField="Nombre" DataValueField="CveDispositivosGrupos" CssClass="form-control input-sm select2me"> <asp:DropDownList AppendDataBoundItems="true" ID="DdlEstatus" runat="server" Width="200px" DataTextField="Nombre" DataValueField="CveDispositivosGrupos" CssClass="form-control input-sm select2me">
<asp:ListItem Selected="True" Value="-1" Text="Todos"></asp:ListItem> <asp:ListItem Selected="True" Value="-1" Text="Todos"></asp:ListItem>
<asp:ListItem Value="0" Text="Solicitada"></asp:ListItem> <asp:ListItem Value="0" Text="Solicitada"></asp:ListItem>
@@ -46,16 +48,51 @@
<asp:ListItem Value="2" Text="Aplicada"></asp:ListItem> <asp:ListItem Value="2" Text="Aplicada"></asp:ListItem>
<asp:ListItem Value="3" Text="Rechazada"></asp:ListItem> <asp:ListItem Value="3" Text="Rechazada"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</li> </div>
<li>Cliente: <label class="col-md-1">Cliente: </label>
<div class="col-md-2">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClienteFiltro" Width="200px" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"></ADS:Dropdownlost> <ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClienteFiltro" Width="200px" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"></ADS:Dropdownlost>
</li> </div>
<li>Vendedor: <label class="col-md-1">Vendedor: </label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVendedorFiltro" CssClass="form-control marginFixRow select2me" runat="server" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" Width="200px"> <asp:DropDownList ID="DdlVendedorFiltro" CssClass="form-control marginFixRow select2me" runat="server" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" Width="200px">
</asp:DropDownList> </asp:DropDownList>
</li> </div>
</ul> </div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-1 truncate">
Fecha Inicio:
</div>
<div class="col-md-2" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-1 truncate">
Fecha Fin:
</div>
<div class="col-md-2" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -67,15 +104,20 @@
EmptyDataText="No se encontraron autorizaciones" ToolTip="" EmptyDataText="No se encontraron autorizaciones" ToolTip=""
CssClass="table table-striped table-advance table-hover ScrollAD mysmallbtn" data-sort="true" Width="100%" GridLines="None"> CssClass="table table-striped table-advance table-hover ScrollAD mysmallbtn" data-sort="true" Width="100%" GridLines="None">
<Columns> <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: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="Vendedor" HeaderText="Vendedor" ItemStyle-Width="15%" />
<asp:BoundField DataField="Importe" ItemStyle-Width="15%" HeaderText="Importe" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" /> <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="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="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="DiasVencidos" ItemStyle-Width="5%" HeaderText="D.Venc" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:N0}" />
<asp:BoundField DataField="TipoDocumento" HeaderText="Tipo" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="5%" />
<asp:HyperLinkField DataTextField="FacturaAplicada" Target="_blank" HeaderText="Factura" DataNavigateUrlFields="CveVentaAplicada" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" /> <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:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Estatus" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%"> <asp:TemplateField HeaderText="Estatus" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%">

View File

@@ -1,5 +1,4 @@
 Imports Extensiones
Imports Extensiones
Partial Class Ventas_CatAutorizacionLimites Partial Class Ventas_CatAutorizacionLimites
Inherits ClsPaginas Inherits ClsPaginas
@@ -24,6 +23,8 @@ Partial Class Ventas_CatAutorizacionLimites
#End Region #End Region
Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
CargaDatos() CargaDatos()
End If End If
End Sub End Sub
@@ -63,8 +64,12 @@ Partial Class Ventas_CatAutorizacionLimites
UpModal.Update() UpModal.Update()
End Sub End Sub
Private Sub CargaDatos()
Dim CveCliente As Integer = -1
If DdlClienteFiltro.SelectedValue.ToEntero() <= 0 Then
CveCliente = -1
Else Else
Dim CveCliente As Integer = -1 CveCliente = DdlClienteFiltro.SelectedValue.ToEntero()
End If End If
Dim FechaI, FechaF As Date Dim FechaI, FechaF As Date
@@ -153,6 +158,12 @@ Partial Class Ventas_CatAutorizacionLimites
If e.Row.DBCampo("CveEstatus") = "0" Then If e.Row.DBCampo("CveEstatus") = "0" Then
e.Row.FCLabel("LblEstatus").CssClass = "badge badge-secondary" e.Row.FCLabel("LblEstatus").CssClass = "badge badge-secondary"
e.Row.FCLinkButton("LnkAutorizar").Visible = True 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.FCLabel("LblEstatus").CssClass = "badge badge-primary"
e.Row.FCLinkButton("LnkAutorizar").Visible = False e.Row.FCLinkButton("LnkAutorizar").Visible = False
e.Row.FCLinkButton("LnkRechazar").Visible = False e.Row.FCLinkButton("LnkRechazar").Visible = False
@@ -175,7 +186,7 @@ Partial Class Ventas_CatAutorizacionLimites
' e.Row.Cells(1).Text = "Inactivo" ' e.Row.Cells(1).Text = "Inactivo"
' e.Row.Cells(1).ForeColor = Drawing.Color.Red ' e.Row.Cells(1).ForeColor = Drawing.Color.Red
' e.Row.Cells(1).Font.Bold = True ' e.Row.Cells(1).Font.Bold = True
'End If 'End If
End If End If
End Sub End Sub
@@ -192,7 +203,7 @@ Partial Class Ventas_CatAutorizacionLimites
Dim Importe = gvRow.DataKey("Importe").ToDecimal() Dim Importe = gvRow.DataKey("Importe").ToDecimal()
Dim CveEstatusAutorizacion As Integer = 1 Dim CveEstatusAutorizacion As Integer = 1
Dim ObjVentas As New ClsVentas Dim ObjVentas As New ClsVentas
If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion) Then If ObjVentas.AutorizacionLimitesUpdate(CveAutorizacion, CveCliente, CveVendedor, Importe, CveEstatusAutorizacion) Then
Alert("El límite de crédito fue autorizado.") Alert("El límite de crédito fue autorizado.")
End If End If

View File

@@ -1,4 +1,4 @@
<%@ Page Title="Ventas - Clientes" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="Clientes.aspx.vb" Inherits="Clientes" %> <%@ Page Title="Ventas - Clientes" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="Clientes.aspx.vb" Inherits="Clientes" ValidateRequest="false" %>
<%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="cc1" %> <%@ Register Assembly="TimePicker" Namespace="MKB.TimePicker" TagPrefix="cc1" %>
<%@ Register Assembly="eWorld.UI" Namespace="eWorld.UI" TagPrefix="ew" %> <%@ Register Assembly="eWorld.UI" Namespace="eWorld.UI" TagPrefix="ew" %>

View File

@@ -1891,12 +1891,89 @@
<asp:Button ID="btnShow" runat="server" Text="Show Modal Popup" Style="visibility: hidden; display: none;" /> <asp:Button ID="btnShow" runat="server" Text="Show Modal Popup" Style="visibility: hidden; display: none;" />
<asp:Button ID="btnClose" runat="server" CssClass="btn btn-danger" Style="visibility: hidden; display: none;" Text="Cancelar" /> <asp:Button ID="btnClose" runat="server" CssClass="btn btn-danger" Style="visibility: hidden; display: none;" Text="Cancelar" />
<asp:Button ID="btnShowBloqueoCorte" runat="server" Text="Show Modal Popup" Style="visibility: hidden; display: none;" />
<!-- ModalPopupExtender --> <!-- ModalPopupExtender -->
<cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="PanelIniciarTurno" TargetControlID="btnShow" <cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="PanelIniciarTurno" TargetControlID="btnShow"
CancelControlID="btnClose" BackgroundCssClass="modalBackground"> CancelControlID="btnClose" BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender> </cc1:ModalPopupExtender>
<cc1:ModalPopupExtender ID="MPEBloqueo" runat="server" PopupControlID="PanelBloqueoCorte" TargetControlID="btnShowBloqueoCorte" BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>
<asp:Panel ID="PanelBloqueoCorte" runat="server" CssClass="modalPopup" align="center" Style="display: none">
<table border="0" width="650px" cellspacing="1" style="background-color: White; padding-left: 10px;">
<tr style="background-color: #3598dc; color: #FFFFFF; font-size: 14px">
<td>Pantalla Bloqueada&nbsp;</td>
<td></td>
</tr>
<tr>
<td colspan="1">&nbsp;</td>
<td colspan="1">&nbsp;</td>
</tr>
<tr>
<td colspan="2">
<div class="row">
<div class="col-md-12" style="vertical-align: middle;" align="center">
<div style="z-index: 5; position: relative;">
<div id="DivAdvertenciaBloqueo" clientidmode="Static" runat="server" class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>
<asp:Literal ID="LblMotivoBloqueo" runat="server" Text=""></asp:Literal>
</div>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="row">
<div class="col-md-12">
<div class="portlet light smmallpadding traspasorow bordered">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1;">Estado de caja</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:Label ID="LblEfectivoBloqueo" CssClass="form-control" runat="server"></asp:Label>
<label for="<%= LblEfectivoBloqueo.ClientID.ToString()%>">Efectivo Esperado:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEfectivoCajaBloqueo" CssClass="form-control" runat="server" onkeyup="javascript:this.value=Comma(this.value);" />
<asp:RegularExpressionValidator ID="REVEfectivoCajaBloqueo" runat="server" ControlToValidate="TxtEfectivoCajaBloqueo" Display="None" ErrorMessage="El campo <b>''Dinero''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." ValidationExpression="^([1-9]{1}[\d]{0,2}(\,[\d]{3})*(\.[\d]{0,4})?|[1-9]{1}[\d]{0,}(\.[\d]{0,4})?|0(\.[\d]{0,2})?|(\.[\d]{1,4})?)$" ValidationGroup="GprBloqueo"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender25" runat="server" HighlightCssClass="vco" TargetControlID="REVEfectivoCajaBloqueo" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtEfectivoEnCaja.ClientID.ToString()%>">Efectivo en Caja:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="LblDiferenciaCajaBloqueo" CssClass="form-control" runat="server" Enabled="false" />
<label for="<%= LblDiferenciaCajaBloqueo.ClientID.ToString()%>">Diferencia:</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="1">&nbsp;</td>
<td colspan="1">&nbsp;</td>
</tr>
</table>
<asp:Button ID="BtnCerrarBloqueo" runat="server" CssClass="btn btn-danger" Text="Cerrar Turno" ValidationGroup="GprBloqueo" />
</asp:Panel>
<asp:Panel ID="PanelIniciarTurno" runat="server" CssClass="modalPopup" align="center" Style="display: none"> <asp:Panel ID="PanelIniciarTurno" runat="server" CssClass="modalPopup" align="center" Style="display: none">
<table border="0" width="250px" cellspacing="1" style="background-color: White; padding-left: 10px;"> <table border="0" width="250px" cellspacing="1" style="background-color: White; padding-left: 10px;">
@@ -3170,6 +3247,12 @@
} }
} }
function CalculaDiferenciaBloqueo() {
var total = 0;
total = ToDouble($('#C_TxtEfectivoCajaBloqueo').val()) - ToDouble($('#C_LblEfectivoBloqueo').text());
$('#C_LblDiferenciaCajaBloqueo').val(FormatoNumero(total));
}
// Get the input field // Get the input field
var txtCodigoAcceso = document.getElementById("C_TxtCodigoAcceso"); var txtCodigoAcceso = document.getElementById("C_TxtCodigoAcceso");

View File

@@ -1149,6 +1149,7 @@ Partial Class PV
TxtImporteCheque.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();") TxtImporteCheque.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();")
TxtImporteTransferencia.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();") TxtImporteTransferencia.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();")
TxtEfectivoEnCaja.Attributes.Add("onKeyUp", "CalculaDiferencia();") TxtEfectivoEnCaja.Attributes.Add("onKeyUp", "CalculaDiferencia();")
TxtEfectivoCajaBloqueo.Attributes.Add("onKeyUp", "CalculaDiferenciaBloqueo();")
'ImgCerrarTerminoCorte.Attributes.Add("OnClick", "$('#DivTerminarCorte').hide();") 'ImgCerrarTerminoCorte.Attributes.Add("OnClick", "$('#DivTerminarCorte').hide();")
'ImgCerrarIE.Attributes.Add("OnClick", "$('#DivIngresoEgreso').hide();") 'ImgCerrarIE.Attributes.Add("OnClick", "$('#DivIngresoEgreso').hide();")
'ImgCerrarEstadoCaja.Attributes.Add("OnClick", "$('#DivEstadoCaja').hide();") 'ImgCerrarEstadoCaja.Attributes.Add("OnClick", "$('#DivEstadoCaja').hide();")
@@ -2129,6 +2130,7 @@ Partial Class PV
#Region "PUNTO DE VENTA" #Region "PUNTO DE VENTA"
Private Sub CargaCorteCaja() Private Sub CargaCorteCaja()
Dim DebeCerrarCorte As Boolean = False
'Checar si hay un Turno Abierto 'Checar si hay un Turno Abierto
Dim ObjPVenta As New ClsPuntoVenta Dim ObjPVenta As New ClsPuntoVenta
@@ -2136,18 +2138,33 @@ Partial Class PV
If ObjPVenta.DtResultados.Rows.Count > 0 Then If ObjPVenta.DtResultados.Rows.Count > 0 Then
CveCorte = ObjPVenta.CveCorte CveCorte = ObjPVenta.CveCorte
LblEstatusCaja.Text = ObjPVenta.FechaInicial.ToShortDateString Dim FechaICorte = ObjPVenta.FechaInicial.Date '.AddDays(-1)
TrEstatusCaja.Visible = True If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso FechaICorte < Now.Date Then
BtnIniciarTurno.Visible = False DebeCerrarCorte = True
LkbEstadodeCaja.Visible = True LblMotivoBloqueo.Text = $"Existe un corte del día <b>{FechaICorte.ToString("dd/MM/yyyy")}</b>. Favor de cerrarlo para iniciar un nuevo corte."
LkbIngreso.Visible = True Else
LkbRetiro.Visible = True LblEstatusCaja.Text = ObjPVenta.FechaInicial.ToShortDateString
TrEstatusCaja.Visible = True
BtnIniciarTurno.Visible = False
LkbEstadodeCaja.Visible = True
LkbIngreso.Visible = True
LkbRetiro.Visible = True
End If
Else Else
'Ingresar un nuevo Turno 'Ingresar un nuevo Turno
RegistraScript("window.onload = function MuestraCorteCaja() { document.getElementById(""C_btnShow"").click(); }") RegistraScript("window.onload = function MuestraCorteCaja() { document.getElementById(""C_btnShow"").click(); }")
End If End If
End If End If
ObjPVenta.Dispose() ObjPVenta.Dispose()
If DebeCerrarCorte Then
CargaDatosCorte()
BtnEmitirImprimir.Visible = False
HlCliente.Visible = False
DdlPS.Visible = False
RegistraScript("window.onload = function MuestraPantallaBloqueo() { document.getElementById(""C_btnShowBloqueoCorte"").click(); }")
End If
End Sub End Sub
Private Sub BtnIniciarTurno_Click(sender As Object, e As EventArgs) Handles BtnIniciarTurno.Click Private Sub BtnIniciarTurno_Click(sender As Object, e As EventArgs) Handles BtnIniciarTurno.Click
Dim ObjPVenta As New ClsPuntoVenta Dim ObjPVenta As New ClsPuntoVenta
@@ -2181,6 +2198,7 @@ Partial Class PV
Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString.ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString.ToDouble + ObjPVenta.DtResultados(0)("Propina").ToString.ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString.ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString.ToDouble Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString.ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString.ToDouble + ObjPVenta.DtResultados(0)("Propina").ToString.ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString.ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString.ToDouble
DineroCaja = Total DineroCaja = Total
LblEfectivoEsperado.Text = Total.FormatoNumero(2) LblEfectivoEsperado.Text = Total.FormatoNumero(2)
LblEfectivoBloqueo.Text = Total.FormatoNumero(2)
Dim Dt As New DataTable Dim Dt As New DataTable
@@ -2288,6 +2306,20 @@ Partial Class PV
End If End If
ObjPVenta.Dispose() ObjPVenta.Dispose()
End Sub End Sub
Private Sub BtnCerrarBloqueo_Click(sender As Object, e As EventArgs) Handles BtnCerrarBloqueo.Click
Dim ObjPVenta As New ClsPuntoVenta
If TxtEfectivoCajaBloqueo.Text.Trim <> "" Then
If ObjPVenta.UpdateFinalizadoVtaCortes(CveCorte, TxtEfectivoCajaBloqueo.Text.ToDouble, LblDiferenciaCajaBloqueo.Text.ToDouble, Now, UsuarioActual.CveEmpresa) Then
RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}", CveCorte, "PDF"))}'", "Imprimir")
Dim Liga = "document.location.href=""/Ventas/PV.aspx"";"
Alert("Se ha cerrado el turno correctamente.", TipoMensaje.MsgInformacion, Liga)
End If
Else
Alert("Debe especificar el efectivo en caja", TipoMensaje.MsgAdvertencia)
RegistraScript("window.onload = function MuestraPantallaBloqueo() { document.getElementById(""C_btnShowBloqueoCorte"").click(); }")
End If
ObjPVenta.Dispose()
End Sub
Private Sub BtnCancelar_Click(sender As Object, e As EventArgs) Handles BtnCancelar.Click Private Sub BtnCancelar_Click(sender As Object, e As EventArgs) Handles BtnCancelar.Click
Response.Redirect("~/Inicio.aspx") Response.Redirect("~/Inicio.aspx")
End Sub End Sub

View File

@@ -70,7 +70,7 @@
<asp:BoundField HeaderText="Motivo" DataField="MotivoCancelacion" ItemStyle-Width="25%" /> <asp:BoundField HeaderText="Motivo" DataField="MotivoCancelacion" ItemStyle-Width="25%" />
<asp:TemplateField ItemStyle-Width="35px" HeaderText="Verificar"> <asp:TemplateField ItemStyle-Width="35px" HeaderText="Verificar">
<ItemTemplate> <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> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
</Columns> </Columns>

View File

@@ -281,11 +281,11 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
} }
} }
if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion) //if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
{ //{
retorno.IrARefacturar = true; // retorno.IrARefacturar = true;
retorno.LigaRefacturacion = string.Format("Ventas.aspx?CveDevolucion={0}&NuevaFactura=1", CveVenta); // retorno.LigaRefacturacion = string.Format("Ventas.aspx?CveDevolucion={0}&NuevaFactura=1", CveVenta);
} //}
} }
else else
{ {
@@ -333,11 +333,11 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
} }
if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion) //if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
{ //{
retorno.IrARefacturar = true; // retorno.IrARefacturar = true;
retorno.LigaRefacturacion = string.Format("Ventas.aspx?CveDevolucion={0}&NuevaFactura=1", CveVenta); // retorno.LigaRefacturacion = string.Format("Ventas.aspx?CveDevolucion={0}&NuevaFactura=1", CveVenta);
} //}
} }
else if (resp.EstatusCancelacion.ToUpper() == "SOLICITUD RECHAZADA") else if (resp.EstatusCancelacion.ToUpper() == "SOLICITUD RECHAZADA")
{ {
@@ -390,13 +390,13 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
retorno.Mensaje = sb.ToString(); retorno.Mensaje = sb.ToString();
return retorno; 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; Modelos.Factura.MCancelacionVentaMensaje retorno = null;
var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion: true); var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion: true);
if (EsRefacturacion) if (EsRefacturacion)
{ {
if (CveEstatusRefacturacion > 0) if (CveEstatusRefacturacion >= 0)
{ {
factura.CveEstatusRefacturacion = CveEstatusRefacturacion; factura.CveEstatusRefacturacion = CveEstatusRefacturacion;
} }
@@ -616,6 +616,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 public class MRespuestaSAT
{ {

View File

@@ -6,10 +6,10 @@ Imports Microsoft.Reporting.WebForms
Imports System.Data Imports System.Data
Partial Class Ventas_RepProductosServicios Partial Class Ventas_RepProductosServicios
Inherits ClsPaginas Inherits ClsPaginas
#Region "PROPIEDADES" #Region "PROPIEDADES"
Private Property DtVentas As DataTable Private Property DtVentas As DataTable
Get Get
Return DirectCast(ViewState("DtVentas"), DataTable) Return DirectCast(ViewState("DtVentas"), DataTable)
@@ -52,10 +52,10 @@ Partial Class Ventas_RepProductosServicios
Set(value As Integer) Set(value As Integer)
ViewState("TipoCambio") = value ViewState("TipoCambio") = value
End Set End Set
End Property End Property
#End Region #End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then If Not IsPostBack Then
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx") If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx")
@@ -71,11 +71,11 @@ Partial Class Ventas_RepProductosServicios
End If End If
End If End If
End Sub End Sub
#Region " CARGA DATOS INICIALES " #Region " CARGA DATOS INICIALES "
Private Sub CargaGrupo() Private Sub CargaGrupo()
DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3")) DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3"))
DdlGrupo.Items.Insert(1, New ListItem("Clasificación", "4")) DdlGrupo.Items.Insert(1, New ListItem("Clasificación", "4"))
@@ -244,13 +244,19 @@ Partial Class Ventas_RepProductosServicios
DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1) DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
DdlClientes.DataBind() DdlClientes.DataBind()
DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1")) DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
DdlVendedor.Attributes.Add("disabled", "disabled")
DdlVendedor.Enabled = False
End If End If
End Sub End Sub
#End Region #End Region
#Region " CARGA DATOS " #Region " CARGA DATOS "
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos() CargaDatos()
@@ -308,10 +314,10 @@ Partial Class Ventas_RepProductosServicios
End Using End Using
End If End If
DdlMarcaPSDes.Items.Insert(0, New ListItem(" Todos ", "-1")) DdlMarcaPSDes.Items.Insert(0, New ListItem(" Todos ", "-1"))
End Sub End Sub
#End Region #End Region
#Region " GV DATOS - PERSONALIZAR " #Region " GV DATOS - PERSONALIZAR "
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
@@ -335,7 +341,7 @@ Partial Class Ventas_RepProductosServicios
End Select End Select
Else Else
If e.Row.DBCampo("Orden") = "" Then If e.Row.DBCampo("Orden") = "" Then
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(0).Width = Unit.Pixel(200) e.Row.Cells(0).Width = Unit.Pixel(200)
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
@@ -411,10 +417,10 @@ Partial Class Ventas_RepProductosServicios
End If End If
UPDatos.Update() UPDatos.Update()
End Sub End Sub
#End Region #End Region
#Region " SELECTED INDEX CHANGED" #Region " SELECTED INDEX CHANGED"
Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaClientes() CargaClientes()
@@ -466,8 +472,8 @@ Partial Class Ventas_RepProductosServicios
If DdlTipoComprobante.SelectedValue <> "-1" Then If DdlTipoComprobante.SelectedValue <> "-1" Then
DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(String.Format("TipoDocto = '{0}'", DdlTipoComprobante.SelectedValue)) DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(String.Format("TipoDocto = '{0}'", DdlTipoComprobante.SelectedValue))
Else Else
DdlEstatus.DataSource = GlobalDTEstatusFactura DdlEstatus.DataSource = GlobalDTEstatusFactura
End If End If
DdlEstatus.Items.Add(New ListItem("Todos", "-1")) DdlEstatus.Items.Add(New ListItem("Todos", "-1"))
DdlEstatus.DataBind() DdlEstatus.DataBind()
@@ -485,10 +491,10 @@ Partial Class Ventas_RepProductosServicios
LiEspecifico.Visible = False LiEspecifico.Visible = False
End If End If
UpBodyTipoCambio.Update() UpBodyTipoCambio.Update()
End Sub End Sub
#End Region #End Region
#Region " IMPRIMIR " #Region " IMPRIMIR "
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
If GvDatos.Rows.Count > 0 Then If GvDatos.Rows.Count > 0 Then
@@ -541,12 +547,12 @@ Partial Class Ventas_RepProductosServicios
Alert("No hay información para mostrar.", TipoMensaje.MsgAdvertencia) Alert("No hay información para mostrar.", TipoMensaje.MsgAdvertencia)
End If End If
End Sub End Sub
#End Region #End Region
#Region "GRAFICA" #Region "GRAFICA"
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs) Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not DtVentas IsNot Nothing AndAlso DtVentas.Rows.Count > 0 Then If Not DtVentas IsNot Nothing AndAlso DtVentas.Rows.Count > 0 Then
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia) Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
@@ -676,9 +682,9 @@ Partial Class Ventas_RepProductosServicios
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica() CambioGrafica()
End Sub End Sub
#End Region #End Region
End Class End Class

View File

@@ -346,6 +346,8 @@
<asp:BoundField HeaderText="IVA" DataField="IVA" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Right" /> <asp:BoundField HeaderText="IVA" DataField="IVA" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Total" DataField="Total" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="7.5%" ItemStyle-HorizontalAlign="Right" /> <asp:BoundField HeaderText="Total" DataField="Total" DataFormatString="{0:###,###,###,###.##}" ItemStyle-Width="7.5%" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="RFC" DataField="RFC" ItemStyle-Width="5%" Visible="false" /> <asp:BoundField HeaderText="RFC" DataField="RFC" ItemStyle-Width="5%" Visible="false" />
<asp:BoundField HeaderText="Método de Pago" DataField="MetodoPago" ItemStyle-Width="5%" Visible="false" />
<asp:BoundField HeaderText="Forma de Pago" DataField="FormaPago" ItemStyle-Width="5%" Visible="false" />
</Columns> </Columns>
<RowStyle CssClass="Texto" /> <RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" /> <HeaderStyle CssClass="Titulos" />
@@ -380,6 +382,12 @@
<td style="text-align: left;"> <td style="text-align: left;">
<asp:CheckBox ID="ChkRFC" runat="server" Text="RFC" /> <asp:CheckBox ID="ChkRFC" runat="server" Text="RFC" />
</td> </td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkMetodoPago" runat="server" Text="Metodo de Pago" />
</td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkFormaPago" runat="server" Text="Forma de Pago" />
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@@ -598,6 +598,8 @@ Partial Class Ventas_RepProductosServiciosDetalle
GvDatos.Columns(3).Visible = ChkSucCob.Checked GvDatos.Columns(3).Visible = ChkSucCob.Checked
GvDatos.Columns(9).Visible = ChkObs.Checked GvDatos.Columns(9).Visible = ChkObs.Checked
GvDatos.Columns(15).Visible = ChkRFC.Checked GvDatos.Columns(15).Visible = ChkRFC.Checked
GvDatos.Columns(16).Visible = ChkMetodoPago.Checked
GvDatos.Columns(17).Visible = ChkFormaPago.Checked
CargaDatos() CargaDatos()
UPDatos.Update() UPDatos.Update()

View File

@@ -637,7 +637,7 @@
<td><b>Serie - Folio:</b></td> <td><b>Serie - Folio:</b></td>
<td> <td>
<asp:Label ID="LblSerie" runat="server"></asp:Label>- <asp:Label ID="LblSerie" runat="server"></asp:Label>-
<asp:TextBox ID="TxtFolio" runat="server" BorderStyle="None" Text="000" MaxLength="7" Width="60px" ValidationGroup="GrpEmitirImprimir" Style="text-align: left" autopostback="true"></asp:TextBox> <asp:TextBox ID="TxtFolio" runat="server" BorderStyle="None" Text="000" MaxLength="7" Width="60px" ValidationGroup="GrpEmitirImprimir" Style="text-align: left" AutoPostBack="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="TxtFolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEmitirImprimir"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="TxtFolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEmitirImprimir"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender10" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolio" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender10" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolio" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:CompareValidator ID="CVFolio" runat="server" ControlToValidate="TxtFolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> no tiene el formato correcto, solo formato numérico." Operator="DataTypeCheck" Type="Integer" ValidationGroup="GrpEmitirImprimir"></asp:CompareValidator> <asp:CompareValidator ID="CVFolio" runat="server" ControlToValidate="TxtFolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> no tiene el formato correcto, solo formato numérico." Operator="DataTypeCheck" Type="Integer" ValidationGroup="GrpEmitirImprimir"></asp:CompareValidator>
@@ -4239,12 +4239,16 @@
<asp:Button ID="btnShow" runat="server" Text="Show Modal Popup" Style="visibility: hidden; display: none;" /> <asp:Button ID="btnShow" runat="server" Text="Show Modal Popup" Style="visibility: hidden; display: none;" />
<asp:Button ID="btnClose" runat="server" CssClass="btn btn-danger" Style="visibility: hidden; display: none;" Text="Cancelar" /> <asp:Button ID="btnClose" runat="server" CssClass="btn btn-danger" Style="visibility: hidden; display: none;" Text="Cancelar" />
<asp:Button ID="btnShowBloqueo" runat="server" Text="Show Modal Popup" Style="visibility: hidden; display: none;" />
<!-- ModalPopupExtender --> <!-- ModalPopupExtender -->
<cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="PanelIniciarTurno" TargetControlID="btnShow" <cc1:ModalPopupExtender ID="mp1" runat="server" PopupControlID="PanelIniciarTurno" TargetControlID="btnShow"
CancelControlID="btnClose" BackgroundCssClass="modalBackground"> CancelControlID="btnClose" BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender> </cc1:ModalPopupExtender>
<cc1:ModalPopupExtender ID="MPEBloqueo" runat="server" PopupControlID="PanelBloqueo" TargetControlID="btnShowBloqueo" BackgroundCssClass="modalBackground">
</cc1:ModalPopupExtender>
<asp:Panel ID="PanelIniciarTurno" runat="server" CssClass="modalPopup" align="center" Style="display: none"> <asp:Panel ID="PanelIniciarTurno" runat="server" CssClass="modalPopup" align="center" Style="display: none">
<table border="0" width="250px" cellspacing="1" style="background-color: White; padding-left: 10px;"> <table border="0" width="250px" cellspacing="1" style="background-color: White; padding-left: 10px;">
@@ -4286,6 +4290,79 @@
</asp:Panel> </asp:Panel>
<!-- ModalPopupExtender --> <!-- ModalPopupExtender -->
<asp:Panel ID="PanelBloqueo" runat="server" CssClass="modalPopup" align="center" Style="display: none">
<table border="0" width="650px" cellspacing="1" style="background-color: White; padding-left: 10px;">
<tr style="background-color: #3598dc; color: #FFFFFF; font-size: 14px">
<td>Pantalla Bloqueada&nbsp;</td>
<td></td>
</tr>
<tr>
<td colspan="1">&nbsp;</td>
<td colspan="1">&nbsp;</td>
</tr>
<tr>
<td colspan="2">
<div class="row">
<div class="col-md-12" style="vertical-align: middle;" align="center">
<div style="z-index: 5; position: relative;">
<div id="DivAdvertenciaBloqueo" clientidmode="Static" runat="server" class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
<strong style="font-size: 20px; margin-right: 25px;">Información: </strong>
<asp:Literal ID="LblMotivoBloqueo" runat="server" Text=""></asp:Literal>
</div>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<div class="row">
<div class="col-md-12">
<div class="portlet light smmallpadding traspasorow bordered">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1;">Estado de caja</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:Label ID="LblEfectivoBloqueo" CssClass="form-control" runat="server"></asp:Label>
<label for="<%= LblEfectivoBloqueo.ClientID.ToString()%>">Efectivo Esperado:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEfectivoCajaBloqueo" CssClass="form-control" runat="server" onkeyup="javascript:this.value=Comma(this.value);" />
<asp:RegularExpressionValidator ID="REVEfectivoCajaBloqueo" runat="server" ControlToValidate="TxtEfectivoCajaBloqueo" Display="None" ErrorMessage="El campo <b>''Dinero''</b> no tiene el formato correcto, por favor corrija e intente de nuevo (Solo formato numérico)." ValidationExpression="^([1-9]{1}[\d]{0,2}(\,[\d]{3})*(\.[\d]{0,4})?|[1-9]{1}[\d]{0,}(\.[\d]{0,4})?|0(\.[\d]{0,2})?|(\.[\d]{1,4})?)$" ValidationGroup="GprBloqueo"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender25" runat="server" HighlightCssClass="vco" TargetControlID="REVEfectivoCajaBloqueo" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtEfectivoEnCaja.ClientID.ToString()%>">Efectivo en Caja:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="LblDiferenciaCajaBloqueo" CssClass="form-control" runat="server" Enabled="false" />
<label for="<%= LblDiferenciaCajaBloqueo.ClientID.ToString()%>">Diferencia:</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</td>
</tr>
<tr>
<td colspan="1">&nbsp;</td>
<td colspan="1">&nbsp;</td>
</tr>
</table>
<asp:LinkButton ID="BtnCerrarBloqueo" runat="server" CssClass="btn btn-danger" Text="Cerrar Turno" ValidationGroup="GprBloqueo"/>
</asp:Panel>
<div id="DivEstadoCaja" class="modal ADS fade" role="dialog"> <div id="DivEstadoCaja" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 470px; min-width: 470px;"> <div class="modal-dialog" style="width: 470px; min-width: 470px;">
<div class="modal-content"> <div class="modal-content">
@@ -8927,6 +9004,12 @@
$('#C_LblDiferenciaCaja').text(FormatoNumero(total)); $('#C_LblDiferenciaCaja').text(FormatoNumero(total));
} }
function CalculaDiferenciaBloqueo() {
var total = 0;
total = ToDouble($('#C_TxtEfectivoCajaBloqueo').val()) - ToDouble($('#C_LblEfectivoBloqueo').text());
$('#C_LblDiferenciaCajaBloqueo').val(FormatoNumero(total));
}
function CalculaTotalPagoContado() { function CalculaTotalPagoContado() {
var totalEfectivo = ToDouble($get("TxtImporteEfectivo").value); var totalEfectivo = ToDouble($get("TxtImporteEfectivo").value);

View File

@@ -2356,6 +2356,7 @@ Partial Class Ventas
TxtImporteOtrosContado.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();") TxtImporteOtrosContado.Attributes.Add("onKeyUp", "CalculaTotalPagoContado();")
TxtEfectivoEnCaja.Attributes.Add("onKeyUp", "CalculaDiferencia();") TxtEfectivoEnCaja.Attributes.Add("onKeyUp", "CalculaDiferencia();")
TxtEfectivoCajaBloqueo.Attributes.Add("onKeyUp", "CalculaDiferenciaBloqueo();")
'ImgCerrarTerminoCorte.Attributes.Add("OnClick", "$('#DivTerminarCorte').hide();") 'ImgCerrarTerminoCorte.Attributes.Add("OnClick", "$('#DivTerminarCorte').hide();")
'ImgCerrarIE.Attributes.Add("OnClick", "$('#DivIngresoEgreso').hide();")DdlTipoComprobante 'ImgCerrarIE.Attributes.Add("OnClick", "$('#DivIngresoEgreso').hide();")DdlTipoComprobante
@@ -3201,6 +3202,7 @@ Partial Class Ventas
#Region "Punto Venta" #Region "Punto Venta"
Private Sub CargaCorteCaja() Private Sub CargaCorteCaja()
Dim DebeCerrarCorte As Boolean = False
'Checar si hay un Turno Abierto 'Checar si hay un Turno Abierto
Dim ObjPVenta As New ClsPuntoVenta Dim ObjPVenta As New ClsPuntoVenta
@@ -3208,14 +3210,21 @@ Partial Class Ventas
If ObjPVenta.DtResultados.Rows.Count > 0 Then If ObjPVenta.DtResultados.Rows.Count > 0 Then
CveCorte = ObjPVenta.CveCorte CveCorte = ObjPVenta.CveCorte
LblEstatusCaja.Text = ObjPVenta.FechaInicial.ToShortDateString Dim FechaICorte = ObjPVenta.FechaInicial.Date'.AddDays(-5)
LblTurno.Text = ObjPVenta.FechaInicial.ToShortDateString If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso FechaICorte < Now.Date Then
TrEstatusCaja.Visible = True DebeCerrarCorte = True
BtnIniciarTurno.Visible = False LblMotivoBloqueo.Text = $"Existe un corte del día <b>{FechaICorte.ToString("dd/MM/yyyy")}</b>. Favor de cerrarlo para iniciar un nuevo corte."
LkbEstadodeCaja.Visible = True Else
LkbIngreso.Visible = True LblEstatusCaja.Text = ObjPVenta.FechaInicial.ToShortDateString
LkbRetiro.Visible = True LblTurno.Text = ObjPVenta.FechaInicial.ToShortDateString
UpTurno.Visible = True TrEstatusCaja.Visible = True
BtnIniciarTurno.Visible = False
LkbEstadodeCaja.Visible = True
LkbIngreso.Visible = True
LkbRetiro.Visible = True
UpTurno.Visible = True
End If
Else Else
UpTurno.Visible = False UpTurno.Visible = False
'Ingresar un nuevo Turno 'Ingresar un nuevo Turno
@@ -3223,6 +3232,14 @@ Partial Class Ventas
End If End If
End If End If
ObjPVenta.Dispose() ObjPVenta.Dispose()
If DebeCerrarCorte Then
CargaDatosCorte()
BtnEmitirImprimir.Visible = False
HlCliente.Visible = False
DdlPS.Visible = False
RegistraScript("window.onload = function MuestraPantallaBloqueo() { document.getElementById(""C_btnShowBloqueo"").click(); }")
End If
End Sub End Sub
Private Sub BtnIniciarTurno_Click(sender As Object, e As EventArgs) Handles BtnIniciarTurno.Click Private Sub BtnIniciarTurno_Click(sender As Object, e As EventArgs) Handles BtnIniciarTurno.Click
Dim ObjPVenta As New ClsPuntoVenta Dim ObjPVenta As New ClsPuntoVenta
@@ -3256,6 +3273,7 @@ Partial Class Ventas
Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString().ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString().ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble
DineroCaja = Total DineroCaja = Total
LblEfectivoEsperado.Text = Total.FormatoNumero(2) LblEfectivoEsperado.Text = Total.FormatoNumero(2)
LblEfectivoBloqueo.Text = Total.FormatoNumero(2)
Dim Dt As New DataTable Dim Dt As New DataTable
@@ -3368,6 +3386,21 @@ Partial Class Ventas
End If End If
ObjPVenta.Dispose() ObjPVenta.Dispose()
End Sub End Sub
Private Sub BtnCerrarBloqueo_Click(sender As Object, e As EventArgs) Handles BtnCerrarBloqueo.Click
Dim ObjPVenta As New ClsPuntoVenta
If TxtEfectivoCajaBloqueo.Text.Trim <> "" Then
If ObjPVenta.UpdateFinalizadoVtaCortes(CveCorte, TxtEfectivoCajaBloqueo.Text.ToDouble, LblDiferenciaCajaBloqueo.Text.ToDouble, Now, UsuarioActual.CveEmpresa) Then
RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}", CveCorte, "PDF"))}'", "Imprimir")
Dim Liga = "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";"
Alert("Se ha cerrado el turno correctamente.", TipoMensaje.MsgInformacion, Liga)
End If
Else
Alert("Debe especificar el efectivo en caja", TipoMensaje.MsgAdvertencia)
RegistraScript("window.onload = function MuestraPantallaBloqueo() { document.getElementById(""C_btnShowBloqueo"").click(); }")
End If
ObjPVenta.Dispose()
End Sub
Private Sub BtnCancelar_Click(sender As Object, e As EventArgs) Handles BtnCancelar.Click Private Sub BtnCancelar_Click(sender As Object, e As EventArgs) Handles BtnCancelar.Click
Response.Redirect("~/Inicio.aspx") Response.Redirect("~/Inicio.aspx")
End Sub End Sub
@@ -10945,6 +10978,8 @@ Partial Class Ventas
Timbre.Receptor.Nombre = Obj.Cliente.Nombre Timbre.Receptor.Nombre = Obj.Cliente.Nombre
End If End If
Timbre.Receptor.RegimenFiscalReceptor = Obj.Cliente.CodigoRegimenFiscal
Timbre.Receptor.DomicilioFiscalReceptor = Obj.Cliente.CP
Timbre.Receptor.ResidenciaFiscal = "" Timbre.Receptor.ResidenciaFiscal = ""
Timbre.Receptor.NumeroRegistroTributario = "" Timbre.Receptor.NumeroRegistroTributario = ""
Timbre.Receptor.UsoCFDI = Obj.ClaveUsoCFDI Timbre.Receptor.UsoCFDI = Obj.ClaveUsoCFDI
@@ -11835,7 +11870,7 @@ Partial Class Ventas
End If End If
'SI SE FACTURAN RNC DE CARGO, SE AGREGA EL CONCEPTO DE ACREDITAMIENTO 'SI SE FACTURAN RNC DE CARGO, SE AGREGA EL CONCEPTO DE ACREDITAMIENTO
If ListaRNC IsNot Nothing AndAlso ClienteEsDistribuidor AndAlso EsCargo Then If ListaRNC IsNot Nothing AndAlso ClienteEsDistribuidor AndAlso EsCargo AndAlso Not factura.EsGarantia Then
Dim ObjAcum As New ClsAcumuladores(ObjVentas.IniciaTransacSQL()) Dim ObjAcum As New ClsAcumuladores(ObjVentas.IniciaTransacSQL())
Dim CvePSCargo As Integer = -1 Dim CvePSCargo As Integer = -1
@@ -17252,7 +17287,11 @@ Partial Class Ventas
If CveClasifPS = 20636 Then If CveClasifPS = 20636 Then
ValidaCondicionesComerciales = False ValidaCondicionesComerciales = False
End If End If
'CAMBIO DE VIGENCIA NO SE APLICAN DESCUENTOS
If CveClasifPS = 20637 Then
ObjDescuento.ImporteDescuento = 0
Return ObjDescuento
End If
End If End If
Dim dr As DataRow = Nothing Dim dr As DataRow = Nothing
@@ -21477,7 +21516,7 @@ Partial Class Ventas
DrDebito("Folio") = CargaFolioContado(DdlCuentaTarjetaDebito.SelectedValue.ToEntero(), 11) DrDebito("Folio") = CargaFolioContado(DdlCuentaTarjetaDebito.SelectedValue.ToEntero(), 11)
DrDebito("Observaciones") = "" DrDebito("Observaciones") = ""
DrDebito("Tipo") = "Tarjeta de Débito" DrDebito("Tipo") = "Tarjeta de Débito"
DrDebito("CveMetodoPago") = 5 DrDebito("CveMetodoPago") = 18
DrDebito("MesesSinIntereses") = -1 DrDebito("MesesSinIntereses") = -1
DtPagos.Rows.Add(DrDebito) DtPagos.Rows.Add(DrDebito)
@@ -21572,7 +21611,7 @@ Partial Class Ventas
DrDebito("Folio") = CargaFolioContado(DdlCuentaOtrosContado.SelectedValue.ToEntero(), 11) DrDebito("Folio") = CargaFolioContado(DdlCuentaOtrosContado.SelectedValue.ToEntero(), 11)
DrDebito("Observaciones") = "" DrDebito("Observaciones") = ""
DrDebito("Tipo") = "Tarjeta de Débito" DrDebito("Tipo") = "Tarjeta de Débito"
DrDebito("CveMetodoPago") = 5 DrDebito("CveMetodoPago") = 18
DrDebito("MesesSinIntereses") = -1 DrDebito("MesesSinIntereses") = -1
DtPagos.Rows.Add(DrDebito) DtPagos.Rows.Add(DrDebito)
@@ -21615,6 +21654,14 @@ Partial Class Ventas
UpFacturar.Update() UpFacturar.Update()
End If End If
'TOMA EL VALOR DEL PAGO MAS ALTO QUE SE APLIQUE
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DtPagos IsNot Nothing Then
Dim RowPagoMasAlto As DataRow = DtPagos.FiltraParametros("", Orderby:="Importe DESC").FiltroPrimero("")
If RowPagoMasAlto IsNot Nothing Then
DdlFormaPago33.SelectedValueExist(RowPagoMasAlto("CveMetodoPago"))
End If
End If
CargaGridContado() CargaGridContado()
UpContado.Update() UpContado.Update()
@@ -26939,9 +26986,7 @@ Partial Class Ventas
Protected Sub BtnAplicarNC_Click(sender As Object, e As EventArgs) Protected Sub BtnAplicarNC_Click(sender As Object, e As EventArgs)
'SOLO APLICA SI NO HAY DOCUMENTOS QUE SELECCIONAR 'SOLO APLICA SI NO HAY DOCUMENTOS QUE SELECCIONAR
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
Dim Verificacion As Boolean = False Dim Verificacion As Boolean = False
If ListaRemisionesNC IsNot Nothing AndAlso ListaRemisionesNC.Count > 0 Then ' si hay opciones seleccionadas, se activa el generar las NCs If ListaRemisionesNC IsNot Nothing AndAlso ListaRemisionesNC.Count > 0 Then ' si hay opciones seleccionadas, se activa el generar las NCs
Verificacion = True Verificacion = True
Else Else
@@ -26953,7 +26998,10 @@ Partial Class Ventas
If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, -1, "Egs", CveEstatus:=1) Then If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, -1, "Egs", CveEstatus:=1) Then
Dim RowAutorizacion As DataRow = ObjVentas.DtResultados.FiltroPrimero($"CveVenta IS NULL ", Orderby:="TipoAutorizacion") Dim RowAutorizacion As DataRow = ObjVentas.DtResultados.FiltroPrimero($"CveVenta IS NULL ", Orderby:="TipoAutorizacion")
If RowAutorizacion IsNot Nothing Then If RowAutorizacion IsNot Nothing Then
Verificacion = True Dim ImporteAutorizacion As Decimal = RowAutorizacion("Importe").ToString().ToDecimal()
If ImporteAutorizacion > TxtNCImporte.Text.ToDecimal Then
Verificacion = True
End If
End If End If
End If End If
ObjVentas.Dispose() ObjVentas.Dispose()
@@ -27463,12 +27511,16 @@ Partial Class Ventas
End If End If
UltimoRenglonRNC += 1 UltimoRenglonRNC += 1
AgregaTempDT(TmpDTCargo, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(), 'SOLO AGREGA SI LA CANTIDAD ES MAYOR CERO
If Cantidad.RoundSQL(6) > 0D Then
AgregaTempDT(TmpDTCargo, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto, DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowUsado("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA, Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowUsado("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA,
RowUsado("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowUsado("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1, RowUsado("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowUsado("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalle").ToString().ToEntero()) DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalle").ToString().ToEntero())
End If
If Terminar Then If Terminar Then
Exit For Exit For
End If End If
@@ -27552,12 +27604,16 @@ Partial Class Ventas
End If End If
UltimoRenglonRNC += 1 UltimoRenglonRNC += 1
AgregaTempDT(TmpDTCargo, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(), 'SOLO AGREGA SI LA CANTIDAD ES MAYOR CERO
If Cantidad.RoundSQL(6) > 0D Then
AgregaTempDT(TmpDTCargo, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto, DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, 0, ImporteRetIVA, Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, 0, ImporteRetIVA,
0, ImporteRetISR, 0, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1, 0, ImporteRetISR, 0, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalleRNC").ToString().ToEntero()) DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalleRNC").ToString().ToEntero())
End If
If Terminar Then If Terminar Then
Exit For Exit For
End If End If
@@ -27640,11 +27696,15 @@ Partial Class Ventas
End If End If
UltimoRenglonRNC += 1 UltimoRenglonRNC += 1
AgregaTempDT(TmpDTDescNCBonificacion, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(), 'SOLO AGREGA SI LA CANTIDAD ES MAYOR CERO
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto, If Cantidad.RoundSQL(6) > 0D Then
Obs, Cantidad, ImportePU, RowCargo("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowCargo("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA, AgregaTempDT(TmpDTDescNCBonificacion, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
RowCargo("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowCargo("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1, DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1) Obs, Cantidad, ImportePU, RowCargo("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowCargo("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA,
RowCargo("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowCargo("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
End If
Next Next
Next Next
@@ -27730,11 +27790,15 @@ Partial Class Ventas
End If End If
UltimoRenglonRNC += 1 UltimoRenglonRNC += 1
AgregaTempDT(TmpDTDescNCBonificacion, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(), 'SOLO AGREGA SI LA CANTIDAD ES MAYOR CERO
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto, If Cantidad.RoundSQL(6) > 0D Then
Obs, Cantidad, ImportePU, RowCargo("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowCargo("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA, AgregaTempDT(TmpDTDescNCBonificacion, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
RowCargo("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowCargo("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1, DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1) Obs, Cantidad, ImportePU, RowCargo("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowCargo("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA,
RowCargo("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowCargo("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
End If
Next Next
Next Next
@@ -27814,11 +27878,15 @@ Partial Class Ventas
End If End If
UltimoRenglonRNC += 1 UltimoRenglonRNC += 1
AgregaTempDT(TmpDTDescNCBonificacion, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(), 'SOLO AGREGA SI LA CANTIDAD ES MAYOR CERO
If Cantidad.RoundSQL(6) > 0D Then
AgregaTempDT(TmpDTDescNCBonificacion, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto, DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, 0, ImporteRetIVA, Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, 0, ImporteRetIVA,
0, ImporteRetISR, 0, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1, 0, ImporteRetISR, 0, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalleRNC").ToString().ToEntero()) DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalleRNC").ToString().ToEntero())
End If
If Terminar Then If Terminar Then
Exit For Exit For
@@ -27897,11 +27965,15 @@ Partial Class Ventas
End If End If
UltimoRenglonRNC += 1 UltimoRenglonRNC += 1
AgregaTempDT(TmpDTCargo, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(), 'SOLO AGREGA SI LA CANTIDAD ES MAYOR CERO
If Cantidad.RoundSQL(6) > 0D Then
AgregaTempDT(TmpDTCargo, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto, DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
Obs, Cantidad, ImportePU, RowRNC("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowRNC("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA, Obs, Cantidad, ImportePU, RowRNC("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowRNC("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA,
RowRNC("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowRNC("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1, RowRNC("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowRNC("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowRNC("CveVentaDetalle").ToString().ToEntero()) DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowRNC("CveVentaDetalle").ToString().ToEntero())
End If
If Terminar Then If Terminar Then
Exit For Exit For
@@ -31294,7 +31366,7 @@ Partial Class Ventas
Private Function GuardarUsados(CveConcepto As Integer, SqlTransaccion As SqlClient.SqlTransaction, factura As Modelos.Factura) As Boolean Private Function GuardarUsados(CveConcepto As Integer, SqlTransaccion As SqlClient.SqlTransaction, factura As Modelos.Factura) As Boolean
Dim Resultado As Boolean = True Dim Resultado As Boolean = True
If ClienteEsDistribuidor Then If ClienteEsDistribuidor AndAlso Not factura.EsGarantia Then
Dim ObjAcum As New ClsAcumuladores(SqlTransaccion) Dim ObjAcum As New ClsAcumuladores(SqlTransaccion)
Dim CvePSPSA As Integer = UsuarioActual.Empresa.Funcionalidad(533).ToEntero Dim CvePSPSA As Integer = UsuarioActual.Empresa.Funcionalidad(533).ToEntero