Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -235,7 +235,9 @@ End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDIComplementos
|
||||
|
||||
Public Property ComercioExterior11 As CFDIComercioExterior11
|
||||
Public Property CartaPorte As CFDICartaPorte
|
||||
|
||||
Sub New()
|
||||
ComercioExterior11 = New CFDIComercioExterior11
|
||||
@@ -568,4 +570,151 @@ Public Class CFDIComercioExterior11MercanciasDescripcionesEspecificas
|
||||
Public Property Modelo As String = ""
|
||||
Public Property SubModelo As String = ""
|
||||
Public Property NumeroSerie As String = ""
|
||||
End Class
|
||||
End Class
|
||||
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorte
|
||||
Public Property TranspInternac As String = ""
|
||||
Public Property EntradaSalidaMercancia As String = ""
|
||||
Public Property ViaEntradaSalida As String = ""
|
||||
Public Property TotalDistanciaRecorrida As Double = 0
|
||||
Public Property Ubicaciones As New List(Of CFDICartaPorteUbicaciones)
|
||||
Public Property Mercancias As New CFDICartaPorteMercancias
|
||||
Public Property FiguraTransporte As New CFDICartaPorteFiguraTransporte
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteUbicaciones
|
||||
Public Property TipoEstacion As String = ""
|
||||
Public Property DistanciaRecorrida As Double = 0
|
||||
'Public Property Ubicacion As New CFDICartaPorteUbicacion
|
||||
Public Property Origen As New CFDICartaPorteUbicacionOrigen
|
||||
Public Property Destino As New CFDICartaPorteUbicacionDestino
|
||||
End Class
|
||||
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteAutoTransporteFederal
|
||||
Public Property PermSCT As String = ""
|
||||
Public Property NumPermisoSCT As String = ""
|
||||
Public Property NombreAseg As String = ""
|
||||
Public Property NumPolizaSeguro As String = ""
|
||||
Public Property Vehiculo As New CFDICartaPorteIdentificacionVehicular
|
||||
Public Property Remolques As New List(Of CFDICartaPorteRemolque)
|
||||
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteUbicacionOrigen
|
||||
Public Property IDOrigen As String = ""
|
||||
Public Property RFCRemitente As String = ""
|
||||
Public Property NombreRemitente As String = ""
|
||||
Public Property NumRegIdTrib As String = ""
|
||||
Public Property ResidenciaFiscal As String = ""
|
||||
Public Property NumEstacion As String = ""
|
||||
Public Property NombreEstacion As String = ""
|
||||
Public Property NavegacionTrafico As String = ""
|
||||
Public Property FechaHoraSalida As String = ""
|
||||
Public Property Domicilio As New CFDICartaPorteDomicilio
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteUbicacionDestino
|
||||
Public Property IDDestino As String = ""
|
||||
Public Property RFCDestinatario As String = ""
|
||||
Public Property NombreDestinatario As String = ""
|
||||
Public Property NumRegIdTrib As String = ""
|
||||
Public Property ResidenciaFiscal As String
|
||||
Public Property NumEstacion As String
|
||||
Public Property NombreEstacion As String
|
||||
Public Property NavegacionTrafico As String
|
||||
Public Property FechaHoraProgLlegada As String
|
||||
Public Property Domicilio As New CFDICartaPorteDomicilio
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteDomicilio
|
||||
Public Property Calle As String = ""
|
||||
Public Property NumeroExterior As String = ""
|
||||
Public Property NumeroInterior As String = ""
|
||||
Public Property Colonia As String = ""
|
||||
Public Property Localidad As String = ""
|
||||
Public Property Referencia As String = ""
|
||||
Public Property Municipio As String = ""
|
||||
Public Property Estado As String = ""
|
||||
Public Property Pais As String = ""
|
||||
Public Property CP As String = ""
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteMercancias
|
||||
Public Property PesoBrutoTotal As Double = 0
|
||||
Public Property UnidadPeso As String = ""
|
||||
Public ReadOnly Property PesoNetoTotal As Double
|
||||
Get
|
||||
Return Mercancias.Sum(Function(item) item.PesoenKg)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property NumTotalMercancias As Integer
|
||||
Get
|
||||
'Return Mercancias.Sum(Function(item) item.Cantidad).ToEntero
|
||||
Return Mercancias.Count
|
||||
End Get
|
||||
End Property
|
||||
Public Property CargoporTasacion As Double = 0
|
||||
Public Property Mercancias As New List(Of CFDICartaPorteMercancia)
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteMercancia
|
||||
Public Property BienesTransp As String = ""
|
||||
Public Property ClaveSTCC As String = ""
|
||||
Public Property Descripción As String = ""
|
||||
Public Property Cantidad As Decimal = 0
|
||||
Public Property ClaveUnidad As String = ""
|
||||
Public Property Unidad As String = ""
|
||||
Public Property Dimensiones As String = ""
|
||||
Public Property ClaveMaterialPeligroso As String = ""
|
||||
Public Property MaterialPeligroso As String = ""
|
||||
Public Property Embalaje As String = ""
|
||||
Public Property DescripEmbalaje As String = ""
|
||||
Public Property PesoenKg As Double
|
||||
Public Property ValorMercancia As Double
|
||||
Public Property Moneda As String = ""
|
||||
Public Property FraccionArrancelaria As String = ""
|
||||
Public Property UUIDComercioExt As String = ""
|
||||
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteIdentificacionVehicular
|
||||
Public Property ConfigVehicular As String = ""
|
||||
Public Property PlacaVM As String = ""
|
||||
Public Property AnioModeloVM As Integer = 0
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteRemolque
|
||||
Public Property SubTipoRemolque As String = ""
|
||||
Public Property Placa As String = ""
|
||||
Public Property AnioModeloVM As String = ""
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteFiguraTransporte
|
||||
Public Property ClaveTransporte As String = "01"
|
||||
Public Property AutoTransporteFederal As New CFDICartaPorteAutoTransporteFederal
|
||||
Public Property Operadores As New List(Of CFDICartaPorteOperador)
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
Public Class CFDICartaPorteOperador
|
||||
Public Property RFCOperador As String = ""
|
||||
Public Property NumLicencia As String = ""
|
||||
Public Property NombreOperador As String = ""
|
||||
Public Property NumRegidTribOperador As String = ""
|
||||
Public Property ResidenciaFiscalOperador As String = ""
|
||||
Public Property Domicilio As New CFDICartaPorteDomicilio
|
||||
End Class
|
||||
|
||||
@@ -109,7 +109,8 @@ Public Class ClsAcarreos
|
||||
|
||||
|
||||
#Region "Choferes"
|
||||
Public Function AddChofer(Chofer As String, CveUsuario As Integer, CveEmpresa As Integer, CveTransportista As Integer, Identificacion As String, Domicilio As String, Telefono As String, Ciudad As String, Licencia As String) As Boolean
|
||||
Public Function AddChofer(Chofer As String, CveUsuario As Integer, CveEmpresa As Integer, CveTransportista As Integer, Identificacion As String, Telefono As String, Licencia As String, RFC As String, Domicilio As String,
|
||||
Optional NumeroExterior As String = "", Optional NumeroInterior As String = "", Optional Colonia As String = "", Optional Ciudad As String = "", Optional Estado As String = "", Optional CP As String = "") As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Acar_ChoferesAdd")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
@@ -118,10 +119,16 @@ Public Class ClsAcarreos
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveTransportista", SqlDbType.Int).Value = CveTransportista
|
||||
.Add("@Identificacion", SqlDbType.VarChar).Value = Identificacion
|
||||
.Add("@Domicilio", SqlDbType.VarChar).Value = Domicilio
|
||||
.Add("@Telefono", SqlDbType.VarChar).Value = Telefono
|
||||
.Add("@Ciudad", SqlDbType.VarChar).Value = Ciudad
|
||||
.Add("@Licencia", SqlDbType.VarChar).Value = Licencia
|
||||
.Add("@RFC", SqlDbType.VarChar).Value = RFC
|
||||
.Add("@Domicilio", SqlDbType.VarChar).Value = Domicilio
|
||||
.Add("@NumeroExterior", SqlDbType.VarChar).Value = NumeroExterior
|
||||
.Add("@NumeroInterior", SqlDbType.VarChar).Value = NumeroInterior
|
||||
.Add("@Colonia", SqlDbType.VarChar).Value = Colonia
|
||||
.Add("@Ciudad", SqlDbType.VarChar).Value = Ciudad
|
||||
.Add("@Estado", SqlDbType.VarChar).Value = Estado
|
||||
.Add("@CP", SqlDbType.VarChar).Value = CP
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
@@ -133,7 +140,8 @@ Public Class ClsAcarreos
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function UpdateChofer(CveChofer As Integer, Chofer As String, CveUsuario As Integer, CveEmpresa As Integer, Estatus As Integer, CveTransportista As Integer, Identificacion As String, Domicilio As String, Telefono As String, Ciudad As String, Licencia As String) As Boolean
|
||||
Public Function UpdateChofer(CveChofer As Integer, Chofer As String, CveUsuario As Integer, CveEmpresa As Integer, Estatus As Integer, CveTransportista As Integer, Identificacion As String, Telefono As String, Licencia As String, RFC As String, Domicilio As String,
|
||||
Optional NumeroExterior As String = "", Optional NumeroInterior As String = "", Optional Colonia As String = "", Optional Ciudad As String = "", Optional Estado As String = "", Optional CP As String = "") As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Acar_ChoferesUpdate")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
@@ -141,13 +149,19 @@ Public Class ClsAcarreos
|
||||
.Add("@Chofer", SqlDbType.VarChar).Value = Chofer
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@Estatus", SqlDbType.Int).Value = Estatus
|
||||
.Add("@CveTransportista", SqlDbType.Int).Value = CveTransportista
|
||||
.Add("@Identificacion", SqlDbType.VarChar).Value = Identificacion
|
||||
.Add("@Domicilio", SqlDbType.VarChar).Value = Domicilio
|
||||
.Add("@Telefono", SqlDbType.VarChar).Value = Telefono
|
||||
.Add("@Ciudad", SqlDbType.VarChar).Value = Ciudad
|
||||
.Add("@Licencia", SqlDbType.VarChar).Value = Licencia
|
||||
.Add("@RFC", SqlDbType.VarChar).Value = RFC
|
||||
.Add("@Domicilio", SqlDbType.VarChar).Value = Domicilio
|
||||
.Add("@NumeroExterior", SqlDbType.VarChar).Value = NumeroExterior
|
||||
.Add("@NumeroInterior", SqlDbType.VarChar).Value = NumeroInterior
|
||||
.Add("@Colonia", SqlDbType.VarChar).Value = Colonia
|
||||
.Add("@Ciudad", SqlDbType.VarChar).Value = Ciudad
|
||||
.Add("@Estado", SqlDbType.VarChar).Value = Estado
|
||||
.Add("@CP", SqlDbType.VarChar).Value = CP
|
||||
.Add("@Estatus", SqlDbType.Int).Value = Estatus
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
@@ -5774,7 +5774,7 @@ Public Class ClsContabilidad
|
||||
Public Function AddCuentasAsignaciones(Optional CveConceptoContable As Integer = -1, Optional CveEmpresa As Integer = -1, Optional CveCuenta As Integer = -1, Optional IdCtaContable As Integer = -1,
|
||||
Optional CveProveedor As Integer = -1, Optional CveCliente As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveClasificacion As Integer = -1,
|
||||
Optional CveAlmacen As Integer = -1, Optional PorcentajeIVA As Decimal = -1, Optional CveConceptoNomina As Decimal = -1, Optional CveBancoCuenta As Integer = -1,
|
||||
Optional CveSubProyecto As Integer = -1) As Boolean
|
||||
Optional CveSubProyecto As Integer = -1, Optional CveActivoFijo As Integer = -1) As Boolean
|
||||
Dim Retorno = False
|
||||
|
||||
DataAdapter("PA_Conta_CuentasAsignacionesAdd")
|
||||
@@ -5793,6 +5793,7 @@ Public Class ClsContabilidad
|
||||
.Add("@CveConceptoNomina", SqlDbType.Decimal).Value = CveConceptoNomina
|
||||
.Add("@CveBancoCuenta", SqlDbType.Int).Value = CveBancoCuenta
|
||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||
.Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo
|
||||
End With
|
||||
|
||||
Try
|
||||
@@ -5828,7 +5829,7 @@ Public Class ClsContabilidad
|
||||
Optional IdCtaContable As Integer = -1, Optional CveProveedor As Integer = -1, Optional CveCliente As Integer = -1,
|
||||
Optional CvePersonal As Integer = -1, Optional CveClasificacion As Integer = -1, Optional CveAlmacen As Integer = -1,
|
||||
Optional PorcentajeIVA As Decimal = -1, Optional CveConceptoNomina As Decimal = -1, Optional CveBancoCuenta As Integer = -1,
|
||||
Optional CveSubProyecto As Integer = -1) As Boolean
|
||||
Optional CveSubProyecto As Integer = -1, Optional CveActivoFijo As Integer = -1) As Boolean
|
||||
Dim Retorno = False
|
||||
|
||||
DataAdapter("PA_Conta_CuentasAsignacionesUpdate")
|
||||
@@ -5847,6 +5848,7 @@ Public Class ClsContabilidad
|
||||
.Add("@CveConceptoNomina", SqlDbType.Decimal).Value = CveConceptoNomina
|
||||
.Add("@CveBancoCuenta", SqlDbType.Int).Value = CveBancoCuenta
|
||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||
.Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo
|
||||
End With
|
||||
|
||||
Try
|
||||
|
||||
@@ -2525,7 +2525,7 @@ Public Class ClsGenerales
|
||||
Public Function GetHistorialBitacora(CveAcarreo As Integer, CveOrdenCompra As Integer, CveActivoFijo As Integer,
|
||||
CveOS As Integer, CvePS As Integer, CveCompra As Integer, CveIE As Integer,
|
||||
CveEmpresa As Integer, Optional CveUsuario As Integer = -1, Optional CvePersonal As Integer = -1,
|
||||
Optional IdPoliza As Integer = -1, Optional CvePrePoliza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveConceptoNomina As Integer = -1) As Boolean
|
||||
Optional IdPoliza As Integer = -1, Optional CvePrePoliza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveConceptoNomina As Integer = -1, Optional CvePromocion As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Gral_HistorialBitacoraGet")
|
||||
|
||||
@@ -2544,6 +2544,7 @@ Public Class ClsGenerales
|
||||
.Add("@IdPoliza", SqlDbType.Int).Value = IdPoliza
|
||||
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
|
||||
.Add("@CveConceptoNomina", SqlDbType.Int).Value = CveConceptoNomina
|
||||
.Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion
|
||||
|
||||
|
||||
|
||||
@@ -2586,7 +2587,7 @@ Public Class ClsGenerales
|
||||
CveActivoFijo As Integer, CveOS As Integer, CvePS As Integer, CveCompra As Integer,
|
||||
CveIE As Integer, Actual As String, Anterior As String, CveUsuario As Integer,
|
||||
CveEmpresa As Integer, SeElimino As Integer, Descripcion As String, Tipo As String,
|
||||
Id_Clave As String, Optional IdPoliza As Integer = -1) As Boolean
|
||||
Id_Clave As String, Optional IdPoliza As Integer = -1, Optional CvePromocion As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Gral_HistorialBitacoraAdd")
|
||||
|
||||
@@ -2608,6 +2609,7 @@ Public Class ClsGenerales
|
||||
.Add("@Tipo", SqlDbType.VarChar).Value = Tipo
|
||||
.Add("@Id_Clave", SqlDbType.VarChar, 100).Value = Id_Clave
|
||||
.Add("@IdPoliza", SqlDbType.Int).Value = IdPoliza
|
||||
.Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion
|
||||
|
||||
End With
|
||||
'SqlTypes.SqlDateTime.Null
|
||||
|
||||
@@ -2877,12 +2877,13 @@ Public Class ClsInventarios
|
||||
#End Region
|
||||
|
||||
#Region "I N V E N T A R I O - F I S I C O - R E S U L T A D O"
|
||||
Public Function AddInventarioFisicoResultados(CveInventarioFisico As Integer, CveUsuario As Integer) As Boolean
|
||||
Public Function AddInventarioFisicoResultados(CveInventarioFisico As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Inv_InventarioFisicoResultadoAdd")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
@@ -5488,12 +5489,18 @@ Public Class ClsInventarios
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function AddCamiones(Placa As String, Especificacion As String, CveEmpresa As Integer) As Boolean
|
||||
Public Function AddCamiones(Placa As String, Especificacion As String, CveEmpresa As Integer, Optional ConfigCartaPorte As String = "", Optional Anio As Integer = 0, Optional TipoPermisoSCT As String = "", Optional NumPermisoSCT As String = "", Optional NombreAseguradora As String = "", Optional NumPolizaSeguro As String = "") As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Inv_CamionesAdd")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@Placa", SqlDbType.VarChar).Value = Placa
|
||||
.Add("@Especificacion", SqlDbType.VarChar).Value = Especificacion
|
||||
.Add("@ConfigCartaPorte", SqlDbType.VarChar).Value = ConfigCartaPorte
|
||||
.Add("@Anio", SqlDbType.Int).Value = Anio
|
||||
.Add("@TipoPermisoSCT", SqlDbType.VarChar).Value = TipoPermisoSCT
|
||||
.Add("@NumPermisoSCT", SqlDbType.VarChar).Value = NumPermisoSCT
|
||||
.Add("@NombreAseguradora", SqlDbType.VarChar).Value = NombreAseguradora
|
||||
.Add("@NumPolizaSeguro", SqlDbType.VarChar).Value = NumPolizaSeguro
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
Try
|
||||
@@ -5518,13 +5525,19 @@ Public Class ClsInventarios
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function UpdateCamiones(CveCamion As Integer, Placa As String, Especificacion As String) As Boolean
|
||||
Public Function UpdateCamiones(CveCamion As Integer, Placa As String, Especificacion As String, Optional ConfigCartaPorte As String = "", Optional Anio As Integer = 0, Optional TipoPermisoSCT As String = "", Optional NumPermisoSCT As String = "", Optional NombreAseguradora As String = "", Optional NumPolizaSeguro As String = "") As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Inv_CamionesUpdate")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveCamion", SqlDbType.Int).Value = CveCamion
|
||||
.Add("@Placa", SqlDbType.VarChar).Value = Placa
|
||||
.Add("@Especificacion", SqlDbType.VarChar).Value = Especificacion
|
||||
.Add("@ConfigCartaPorte", SqlDbType.VarChar).Value = ConfigCartaPorte
|
||||
.Add("@Anio", SqlDbType.Int).Value = Anio
|
||||
.Add("@TipoPermisoSCT", SqlDbType.VarChar).Value = TipoPermisoSCT
|
||||
.Add("@NumPermisoSCT", SqlDbType.VarChar).Value = NumPermisoSCT
|
||||
.Add("@NombreAseguradora", SqlDbType.VarChar).Value = NombreAseguradora
|
||||
.Add("@NumPolizaSeguro", SqlDbType.VarChar).Value = NumPolizaSeguro
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
@@ -1273,7 +1273,7 @@ Public Class ClsVentas
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function UpdateVentaDetalleRemision(CveVenta As Integer, CvePS As Integer, Cantidad As Decimal, PU As Decimal, IEPS As Decimal, PorcentajeIEPS As Decimal, IVA As Decimal, PorcentajeIVA As Decimal, Observaciones As String, Optional CveUsuarioModifico As Integer = -1) As Boolean
|
||||
Public Function UpdateVentaDetalleRemision(CveVenta As Integer, CvePS As Integer, Cantidad As Decimal, PU As Decimal, IEPS As Decimal, PorcentajeIEPS As Decimal, IVA As Decimal, PorcentajeIVA As Decimal, Descuento As Decimal, Observaciones As String, Optional CveUsuarioModifico As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_VentasDetalleRemisionUpdate")
|
||||
|
||||
@@ -1286,6 +1286,7 @@ Public Class ClsVentas
|
||||
.Add("@PorcentajeIEPS", SqlDbType.Decimal).Value = PorcentajeIEPS
|
||||
.Add("@IVA", SqlDbType.Decimal).Value = IVA
|
||||
.Add("@PorcentajeIVA", SqlDbType.Decimal).Value = PorcentajeIVA
|
||||
.Add("@Descuento", SqlDbType.Decimal).Value = Descuento
|
||||
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
|
||||
.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
|
||||
End With
|
||||
@@ -2561,13 +2562,13 @@ Public Class ClsVentas
|
||||
#End Region
|
||||
|
||||
#Region " I M P U E S T O S L O C A L E S"
|
||||
Public Function AddImpuestosLocales(ImpuestoLocal As String, Porcentaje As Double, Orden As Integer, TipoImpuesto As Integer, Estatus As Integer, IdCtaContable As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
||||
Public Function AddImpuestosLocales(ImpuestoLocal As String, Porcentaje As Decimal, Orden As Integer, TipoImpuesto As Integer, Estatus As Integer, IdCtaContable As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Vta_ImpuestosLocalesAdd")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@ImpuestoLocal", SqlDbType.VarChar).Value = ImpuestoLocal
|
||||
.Add("@Porcentaje", SqlDbType.SmallMoney).Value = Porcentaje
|
||||
.Add("@Porcentaje", SqlDbType.Decimal).Value = Porcentaje
|
||||
.Add("@Orden", SqlDbType.Int).Value = Orden
|
||||
.Add("@TipoImpuesto", SqlDbType.Int).Value = TipoImpuesto
|
||||
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
|
||||
@@ -2603,14 +2604,14 @@ Public Class ClsVentas
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function UpdateImpuestosLocales(CveImpuestoLocal As Integer, ImpuestoLocal As String, Porcentaje As Double, Orden As Integer, TipoImpuesto As Integer, Estatus As Integer, IdCtaContable As Integer) As Boolean
|
||||
Public Function UpdateImpuestosLocales(CveImpuestoLocal As Integer, ImpuestoLocal As String, Porcentaje As Decimal, Orden As Integer, TipoImpuesto As Integer, Estatus As Integer, IdCtaContable As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Vta_ImpuestosLocalesUpdate")
|
||||
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveImpuestoLocal", SqlDbType.Int).Value = CveImpuestoLocal
|
||||
.Add("@ImpuestoLocal", SqlDbType.VarChar).Value = ImpuestoLocal
|
||||
.Add("@Porcentaje", SqlDbType.SmallMoney).Value = Porcentaje
|
||||
.Add("@Porcentaje", SqlDbType.Decimal).Value = Porcentaje
|
||||
.Add("@TipoImpuesto", SqlDbType.Int).Value = TipoImpuesto
|
||||
.Add("@Orden", SqlDbType.Int).Value = Orden
|
||||
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
|
||||
|
||||
@@ -4615,10 +4615,6 @@ Namespace Modelos
|
||||
'1 NORMAL, 2 CON PAGOS
|
||||
Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero()
|
||||
|
||||
If UsuarioActual.CveUsuario = 1719 Then
|
||||
ModalidadRefacturacion = 2
|
||||
End If
|
||||
|
||||
If EsRefacturacion AndAlso ModalidadRefacturacion <= 0 Then
|
||||
Retorno.Mensaje = "La factura no se puede refacturar debido a que la empresa no tiene asignada una modalidad de refacturación."
|
||||
Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia
|
||||
@@ -9902,6 +9898,7 @@ Namespace Modelos
|
||||
Public Property EsDistribuidor As Boolean
|
||||
Public Property CorreoCotizacion As String
|
||||
Public Property ImprimeNombreSucursal As Integer
|
||||
Public Property CobranzaCorreo As String
|
||||
End Class
|
||||
|
||||
<Serializable>
|
||||
|
||||
@@ -1723,7 +1723,7 @@ Public Class Timbrado
|
||||
If Ventas.CveVenta > 0 Then
|
||||
|
||||
Dim ObjVentas As New ClsVentas()
|
||||
If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC) Then
|
||||
If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then
|
||||
Retorno = ""
|
||||
Else
|
||||
Retorno = "Error"
|
||||
@@ -2125,6 +2125,77 @@ Public Class Timbrado
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
#Region "C O M P L E M E N T O C A R T A P O R T E"
|
||||
|
||||
If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then
|
||||
If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then
|
||||
|
||||
Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte
|
||||
|
||||
''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 CFDICartaPorteUbicaciones In Carta.Ubicaciones
|
||||
'origen
|
||||
cfdi.CartaPorteUbicacion(ubica.TipoEstacion, ubica.DistanciaRecorrida)
|
||||
cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.Origen.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida)
|
||||
cfdi.CartaPorteDomicilio(ubica.Origen.Domicilio.Calle, ubica.Origen.Domicilio.NumeroExterior, ubica.Origen.Domicilio.NumeroInterior, ubica.Origen.Domicilio.Colonia, ubica.Origen.Domicilio.Localidad, ubica.Origen.Domicilio.Referencia, ubica.Origen.Domicilio.Municipio, ubica.Origen.Domicilio.Estado, ubica.Origen.Domicilio.Pais, ubica.Origen.Domicilio.CP)
|
||||
'destino
|
||||
cfdi.CartaPorteUbicacion(ubica.TipoEstacion, ubica.DistanciaRecorrida)
|
||||
cfdi.CartaPorteDestino(ubica.Destino.IDDestino, ubica.Destino.RFCDestinatario, ubica.Destino.NombreDestinatario, ubica.Destino.NumRegIdTrib, ubica.Destino.ResidenciaFiscal, ubica.Destino.NumEstacion, ubica.Destino.NombreEstacion, ubica.Destino.NavegacionTrafico, ubica.Destino.FechaHoraProgLlegada)
|
||||
cfdi.CartaPorteDomicilio(ubica.Destino.Domicilio.Calle, ubica.Destino.Domicilio.NumeroExterior, ubica.Destino.Domicilio.NumeroInterior, ubica.Destino.Domicilio.Colonia, ubica.Destino.Domicilio.Localidad, ubica.Destino.Domicilio.Referencia, ubica.Destino.Domicilio.Municipio, ubica.Destino.Domicilio.Estado, ubica.Destino.Domicilio.Pais, ubica.Destino.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, concep.Embalaje, concep.DescripEmbalaje, concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
'
|
||||
If Carta.FiguraTransporte IsNot Nothing Then
|
||||
|
||||
If Carta.FiguraTransporte.AutoTransporteFederal IsNot Nothing Then
|
||||
|
||||
cfdi.CartaPorteAutotransporteFederal(Carta.FiguraTransporte.AutoTransporteFederal.PermSCT, Carta.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT, Carta.FiguraTransporte.AutoTransporteFederal.NombreAseg, Carta.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro)
|
||||
|
||||
cfdi.CartaPorteIdentificacionVehicular(Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM)
|
||||
|
||||
If Carta.FiguraTransporte.AutoTransporteFederal.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporteFederal.Remolques.Count > 0 Then
|
||||
For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporteFederal.Remolques
|
||||
cfdi.CartaPorteRemolque(concep.SubTipoRemolque, concep.Placa)
|
||||
Next
|
||||
|
||||
End If
|
||||
End If
|
||||
|
||||
cfdi.CartaPorteFiguraTransporte(Carta.FiguraTransporte.ClaveTransporte)
|
||||
|
||||
If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then
|
||||
For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores
|
||||
cfdi.CartaPorteOperador(concep.RFCOperador, concep.NumLicencia, concep.NombreOperador, concep.NumRegidTribOperador, concep.ResidenciaFiscalOperador)
|
||||
Next
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "Complemento Pago"
|
||||
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante = "P" Then
|
||||
@@ -2344,7 +2415,7 @@ Public Class Timbrado
|
||||
|
||||
Using ObjVentas As New ClsVentas()
|
||||
|
||||
If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial) Then
|
||||
If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then
|
||||
Retorno = ""
|
||||
Else
|
||||
Retorno = "Error"
|
||||
@@ -3132,6 +3203,7 @@ Public Class Timbrado
|
||||
Dim NombreArchivoXML As String = $"{ObjCFDITimbre.Comprobante.SerieFolio}"
|
||||
Dim SubTotal As Decimal = 0
|
||||
Dim AmbienteProductivo As Boolean = True
|
||||
Dim NumDecimalesImporte As Integer = 2
|
||||
If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo)
|
||||
|
||||
If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1 Then
|
||||
@@ -3220,19 +3292,19 @@ Public Class Timbrado
|
||||
comprobante.Version = "3.3"
|
||||
comprobante.Fecha = ObjCFDITimbre.Comprobante.Fecha
|
||||
comprobante.FormaPago = ObjCFDITimbre.Comprobante.FormadePago
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante <> "P" Then comprobante.CondicionesDePago = ObjCFDITimbre.Comprobante.CondicionesdePago
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("I", "E", "N") Then comprobante.CondicionesDePago = ObjCFDITimbre.Comprobante.CondicionesdePago
|
||||
|
||||
comprobante.SubTotal = ObjCFDITimbre.Comprobante.Subtotal
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante <> "P" Then
|
||||
comprobante.SubTotal = ObjCFDITimbre.Comprobante.Subtotal.RoundSQL(NumDecimalesImporte)
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("I", "E", "N") Then
|
||||
If ObjCFDITimbre.Comprobante.Descuentos > 0 Then
|
||||
comprobante.DescuentoSpecified = True
|
||||
comprobante.Descuento = ObjCFDITimbre.Comprobante.Descuentos
|
||||
comprobante.Descuento = ObjCFDITimbre.Comprobante.Descuentos.RoundSQL(NumDecimalesImporte)
|
||||
End If
|
||||
End If
|
||||
comprobante.Moneda = ObjCFDITimbre.Comprobante.Moneda
|
||||
comprobante.TipoCambio = ObjCFDITimbre.Comprobante.TipoCambio.ToDecimal
|
||||
comprobante.TipoCambioSpecified = If(ObjCFDITimbre.Comprobante.Moneda <> "XXX", True, False)
|
||||
comprobante.Total = ObjCFDITimbre.Comprobante.Total
|
||||
comprobante.Total = ObjCFDITimbre.Comprobante.Total.RoundSQL(NumDecimalesImporte)
|
||||
comprobante.TipoDeComprobante = ObjCFDITimbre.Comprobante.TipoComprobante
|
||||
comprobante.FormaPagoSpecified = If(ObjCFDITimbre.Comprobante.FormadePago <> "", True, False)
|
||||
comprobante.MetodoPago = ObjCFDITimbre.Comprobante.MetodoPago
|
||||
@@ -3274,7 +3346,7 @@ Public Class Timbrado
|
||||
comprobante.Conceptos(i).ClaveUnidad = concep.ClaveUnidad
|
||||
comprobante.Conceptos(i).Descripcion = concep.Descripcion
|
||||
comprobante.Conceptos(i).ValorUnitario = concep.ValorUnitario
|
||||
comprobante.Conceptos(i).Importe = concep.Importe
|
||||
comprobante.Conceptos(i).Importe = concep.Importe.RoundSQL(NumDecimalesImporte)
|
||||
comprobante.Conceptos(i).ClaveProdServ = concep.ClaveProdServ
|
||||
|
||||
If ObjCFDITimbre.Comprobante.TipoComprobante <> "P" Then
|
||||
@@ -3310,7 +3382,7 @@ Public Class Timbrado
|
||||
comprobante.Conceptos(i).Impuestos.Traslados(j).Base = imp.Base
|
||||
comprobante.Conceptos(i).Impuestos.Traslados(j).Impuesto = imp.Impuesto
|
||||
comprobante.Conceptos(i).Impuestos.Traslados(j).TipoFactor = imp.TipoFactor
|
||||
comprobante.Conceptos(i).Impuestos.Traslados(j).Importe = imp.Importe
|
||||
comprobante.Conceptos(i).Impuestos.Traslados(j).Importe = imp.Importe.RoundSQL(NumDecimalesImporte)
|
||||
comprobante.Conceptos(i).Impuestos.Traslados(j).ImporteSpecified = True
|
||||
comprobante.Conceptos(i).Impuestos.Traslados(j).TasaOCuota = imp.TasaOCuota.FormatoNumero(6)
|
||||
comprobante.Conceptos(i).Impuestos.Traslados(j).TasaOCuotaSpecified = True
|
||||
@@ -3320,7 +3392,7 @@ Public Class Timbrado
|
||||
comprobante.Conceptos(i).Impuestos.Retenciones(k).Base = imp.Base
|
||||
comprobante.Conceptos(i).Impuestos.Retenciones(k).Impuesto = imp.Impuesto
|
||||
comprobante.Conceptos(i).Impuestos.Retenciones(k).TipoFactor = imp.TipoFactor
|
||||
comprobante.Conceptos(i).Impuestos.Retenciones(k).Importe = imp.Importe
|
||||
comprobante.Conceptos(i).Impuestos.Retenciones(k).Importe = imp.Importe.RoundSQL(NumDecimalesImporte)
|
||||
comprobante.Conceptos(i).Impuestos.Retenciones(k).TasaOCuota = imp.TasaOCuota.ToString.ToDecimal
|
||||
k += 1
|
||||
End If
|
||||
@@ -3597,7 +3669,7 @@ Public Class Timbrado
|
||||
ComPag.Pago(0).FechaPago = ObjCFDITimbre.ComplementoPagos.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss").ToDate()
|
||||
ComPag.Pago(0).FormaDePagoP = ObjCFDITimbre.ComplementoPagos.FormaDePagoP
|
||||
ComPag.Pago(0).MonedaP = ObjCFDITimbre.ComplementoPagos.MonedaP
|
||||
ComPag.Pago(0).TipoCadPagoSpecified = If(ObjCFDITimbre.ComplementoPagos.MonedaP = "MXN", False, True)
|
||||
ComPag.Pago(0).TipoCambioPSpecified = If(ObjCFDITimbre.ComplementoPagos.MonedaP = "MXN", False, True)
|
||||
ComPag.Pago(0).TipoCambioP = ObjCFDITimbre.ComplementoPagos.TipoCambioP.ToDecimal
|
||||
ComPag.Pago(0).Monto = ObjCFDITimbre.ComplementoPagos.Monto.ToDecimal
|
||||
If ObjCFDITimbre.ComplementoPagos.NumOperacion <> "" Then
|
||||
@@ -3618,7 +3690,11 @@ Public Class Timbrado
|
||||
If ObjCFDITimbre.ComplementoPagos.CtaBeneficiario <> "" Then
|
||||
ComPag.Pago(0).CtaBeneficiario = ObjCFDITimbre.ComplementoPagos.CtaBeneficiario
|
||||
End If
|
||||
ComPag.Pago(0).TipoCadPago = ObjCFDITimbre.ComplementoPagos.TipoCadPago
|
||||
If ObjCFDITimbre.ComplementoPagos.TipoCadPago <> "" Then
|
||||
ComPag.Pago(0).TipoCadPagoSpecified = True
|
||||
ComPag.Pago(0).TipoCadPago = ObjCFDITimbre.ComplementoPagos.TipoCadPago
|
||||
End If
|
||||
|
||||
If ObjCFDITimbre.ComplementoPagos.CertPago <> "" Then
|
||||
ComPag.Pago(0).CertPago = System.Text.Encoding.Default.GetBytes(ObjCFDITimbre.ComplementoPagos.CertPago).ToString
|
||||
End If
|
||||
@@ -3868,191 +3944,191 @@ Public Class Timbrado
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Detallista"
|
||||
If Ventas.Cliente.AplicaDetallista Then
|
||||
Dim detallista As Profact.TimbraCFDI33.Complementos.Detallista.detallista = New Profact.TimbraCFDI33.Complementos.Detallista.detallista
|
||||
detallista.type = "SimpleInvoiceType"
|
||||
detallista.contentVersion = "1.3.1"
|
||||
detallista.documentStructureVersion = "AMC8.1"
|
||||
detallista.documentStatus = Profact.TimbraCFDI33.Complementos.Detallista.detallistaDocumentStatus.ORIGINAL
|
||||
'#Region "Detallista"
|
||||
' If Ventas.Cliente.AplicaDetallista Then
|
||||
' Dim detallista As Profact.TimbraCFDI33.Complementos.Detallista.detallista = New Profact.TimbraCFDI33.Complementos.Detallista.detallista
|
||||
' detallista.type = "SimpleInvoiceType"
|
||||
' detallista.contentVersion = "1.3.1"
|
||||
' detallista.documentStructureVersion = "AMC8.1"
|
||||
' detallista.documentStatus = Profact.TimbraCFDI33.Complementos.Detallista.detallistaDocumentStatus.ORIGINAL
|
||||
|
||||
detallista.DeliveryNote = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaDeliveryNote
|
||||
detallista.DeliveryNote.referenceIdentification = New String((1)) {}
|
||||
detallista.DeliveryNote.referenceIdentification(0) = "1"
|
||||
detallista.DeliveryNote.ReferenceDate = New DateTime
|
||||
detallista.DeliveryNote.ReferenceDate = comprobante.Fecha
|
||||
detallista.DeliveryNote.ReferenceDateSpecified = True
|
||||
' detallista.DeliveryNote = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaDeliveryNote
|
||||
' detallista.DeliveryNote.referenceIdentification = New String((1)) {}
|
||||
' detallista.DeliveryNote.referenceIdentification(0) = "1"
|
||||
' detallista.DeliveryNote.ReferenceDate = New DateTime
|
||||
' detallista.DeliveryNote.ReferenceDate = comprobante.Fecha
|
||||
' detallista.DeliveryNote.ReferenceDateSpecified = True
|
||||
|
||||
detallista.requestForPaymentIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaRequestForPaymentIdentification
|
||||
detallista.requestForPaymentIdentification.entityType = Profact.TimbraCFDI33.Complementos.Detallista.detallistaRequestForPaymentIdentificationEntityType.INVOICE
|
||||
' detallista.requestForPaymentIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaRequestForPaymentIdentification
|
||||
' detallista.requestForPaymentIdentification.entityType = Profact.TimbraCFDI33.Complementos.Detallista.detallistaRequestForPaymentIdentificationEntityType.INVOICE
|
||||
|
||||
detallista.specialInstruction = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaSpecialInstruction((1)) {}
|
||||
detallista.specialInstruction(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaSpecialInstruction
|
||||
detallista.specialInstruction(0).code = Profact.TimbraCFDI33.Complementos.Detallista.detallistaSpecialInstructionCode.ZZZ
|
||||
Dim TotalTexto = New String() {Ventas.TotalTC.ToString.ToDouble.Texto2Letras.ToUpper()}
|
||||
Dim propertyInfo = detallista.specialInstruction(0).GetType().GetProperty("text")
|
||||
propertyInfo.SetValue(detallista.specialInstruction(0), Convert.ChangeType(TotalTexto, propertyInfo.PropertyType), Nothing)
|
||||
' detallista.specialInstruction = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaSpecialInstruction((1)) {}
|
||||
' detallista.specialInstruction(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaSpecialInstruction
|
||||
' detallista.specialInstruction(0).code = Profact.TimbraCFDI33.Complementos.Detallista.detallistaSpecialInstructionCode.ZZZ
|
||||
' Dim TotalTexto = New String() {Ventas.TotalTC.ToString.ToDouble.Texto2Letras.ToUpper()}
|
||||
' Dim propertyInfo = detallista.specialInstruction(0).GetType().GetProperty("text")
|
||||
' propertyInfo.SetValue(detallista.specialInstruction(0), Convert.ChangeType(TotalTexto, propertyInfo.PropertyType), Nothing)
|
||||
|
||||
detallista.orderIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaOrderIdentification
|
||||
detallista.orderIdentification.referenceIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaOrderIdentificationReferenceIdentification((1)) {}
|
||||
detallista.orderIdentification.referenceIdentification(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaOrderIdentificationReferenceIdentification
|
||||
detallista.orderIdentification.referenceIdentification(0).type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaOrderIdentificationReferenceIdentificationType.ON
|
||||
detallista.orderIdentification.referenceIdentification(0).Value = Ventas.Det_OrdenCompra
|
||||
detallista.orderIdentification.ReferenceDateSpecified = True
|
||||
detallista.orderIdentification.ReferenceDate = Ventas.Det_FechaOrdenCompra.ToDate()
|
||||
' detallista.orderIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaOrderIdentification
|
||||
' detallista.orderIdentification.referenceIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaOrderIdentificationReferenceIdentification((1)) {}
|
||||
' detallista.orderIdentification.referenceIdentification(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaOrderIdentificationReferenceIdentification
|
||||
' detallista.orderIdentification.referenceIdentification(0).type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaOrderIdentificationReferenceIdentificationType.ON
|
||||
' detallista.orderIdentification.referenceIdentification(0).Value = Ventas.Det_OrdenCompra
|
||||
' detallista.orderIdentification.ReferenceDateSpecified = True
|
||||
' detallista.orderIdentification.ReferenceDate = Ventas.Det_FechaOrdenCompra.ToDate()
|
||||
|
||||
detallista.AdditionalInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaReferenceIdentification((1)) {}
|
||||
detallista.AdditionalInformation(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaReferenceIdentification
|
||||
detallista.AdditionalInformation(0).type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaReferenceIdentificationType.ATZ
|
||||
detallista.AdditionalInformation(0).Value = Ventas.Det_ContraRecibo
|
||||
' detallista.AdditionalInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaReferenceIdentification((1)) {}
|
||||
' detallista.AdditionalInformation(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaReferenceIdentification
|
||||
' detallista.AdditionalInformation(0).type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaReferenceIdentificationType.ATZ
|
||||
' detallista.AdditionalInformation(0).Value = Ventas.Det_ContraRecibo
|
||||
|
||||
detallista.DeliveryNote = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaDeliveryNote
|
||||
detallista.DeliveryNote.ReferenceDate = Ventas.Det_FechaOrdenCompra.ToDate
|
||||
detallista.DeliveryNote.referenceIdentification = New String((1)) {}
|
||||
detallista.DeliveryNote.referenceIdentification(0) = Ventas.Det_ContraRecibo
|
||||
' detallista.DeliveryNote = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaDeliveryNote
|
||||
' detallista.DeliveryNote.ReferenceDate = Ventas.Det_FechaOrdenCompra.ToDate
|
||||
' detallista.DeliveryNote.referenceIdentification = New String((1)) {}
|
||||
' detallista.DeliveryNote.referenceIdentification(0) = Ventas.Det_ContraRecibo
|
||||
|
||||
detallista.buyer = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaBuyer
|
||||
detallista.buyer.gln = Ventas.Cliente.Detallista_GLNComprador
|
||||
detallista.buyer.contactInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaBuyerContactInformation
|
||||
detallista.buyer.contactInformation.personOrDepartmentName = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaBuyerContactInformationPersonOrDepartmentName
|
||||
detallista.buyer.contactInformation.personOrDepartmentName.text = Ventas.Cliente.Detallista_Departamento
|
||||
' detallista.buyer = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaBuyer
|
||||
' detallista.buyer.gln = Ventas.Cliente.Detallista_GLNComprador
|
||||
' detallista.buyer.contactInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaBuyerContactInformation
|
||||
' detallista.buyer.contactInformation.personOrDepartmentName = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaBuyerContactInformationPersonOrDepartmentName
|
||||
' detallista.buyer.contactInformation.personOrDepartmentName.text = Ventas.Cliente.Detallista_Departamento
|
||||
|
||||
detallista.seller = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaSeller
|
||||
detallista.seller.gln = Ventas.Cliente.Detallista_GLNVendedor
|
||||
detallista.seller.alternatePartyIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaSellerAlternatePartyIdentification
|
||||
detallista.seller.alternatePartyIdentification.type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaSellerAlternatePartyIdentificationType.SELLER_ASSIGNED_IDENTIFIER_FOR_A_PARTY
|
||||
detallista.seller.alternatePartyIdentification.Value = Ventas.Cliente.Detallista_NumProveedor
|
||||
' detallista.seller = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaSeller
|
||||
' detallista.seller.gln = Ventas.Cliente.Detallista_GLNVendedor
|
||||
' detallista.seller.alternatePartyIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaSellerAlternatePartyIdentification
|
||||
' detallista.seller.alternatePartyIdentification.type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaSellerAlternatePartyIdentificationType.SELLER_ASSIGNED_IDENTIFIER_FOR_A_PARTY
|
||||
' detallista.seller.alternatePartyIdentification.Value = Ventas.Cliente.Detallista_NumProveedor
|
||||
|
||||
'detallista.shipTo = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaShipTo
|
||||
'detallista.shipTo.gln = "0000000000000"
|
||||
'detallista.shipTo.nameAndAddress = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaShipToNameAndAddress
|
||||
'detallista.shipTo.nameAndAddress.name = New String((1)) {}
|
||||
'detallista.shipTo.nameAndAddress.name(0) = Ventas.Cliente.Direccion
|
||||
'detallista.shipTo.nameAndAddress.streetAddressOne = New String((1)) {}
|
||||
'detallista.shipTo.nameAndAddress.streetAddressOne(0) = Ventas.Cliente.NoInt
|
||||
'detallista.shipTo.nameAndAddress.city = New String((1)) {}
|
||||
'detallista.shipTo.nameAndAddress.city(0) = Ventas.Cliente.Ciudad
|
||||
'detallista.shipTo.nameAndAddress.postalCode = New String((1)) {}
|
||||
'detallista.shipTo.nameAndAddress.postalCode(0) = Ventas.Cliente.CP
|
||||
' 'detallista.shipTo = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaShipTo
|
||||
' 'detallista.shipTo.gln = "0000000000000"
|
||||
' 'detallista.shipTo.nameAndAddress = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaShipToNameAndAddress
|
||||
' 'detallista.shipTo.nameAndAddress.name = New String((1)) {}
|
||||
' 'detallista.shipTo.nameAndAddress.name(0) = Ventas.Cliente.Direccion
|
||||
' 'detallista.shipTo.nameAndAddress.streetAddressOne = New String((1)) {}
|
||||
' 'detallista.shipTo.nameAndAddress.streetAddressOne(0) = Ventas.Cliente.NoInt
|
||||
' 'detallista.shipTo.nameAndAddress.city = New String((1)) {}
|
||||
' 'detallista.shipTo.nameAndAddress.city(0) = Ventas.Cliente.Ciudad
|
||||
' 'detallista.shipTo.nameAndAddress.postalCode = New String((1)) {}
|
||||
' 'detallista.shipTo.nameAndAddress.postalCode(0) = Ventas.Cliente.CP
|
||||
|
||||
detallista.paymentTerms = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTerms
|
||||
detallista.paymentTerms.netPayment = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsNetPayment
|
||||
detallista.paymentTerms.netPayment.paymentTimePeriod = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsNetPaymentPaymentTimePeriod
|
||||
detallista.paymentTerms.netPayment.paymentTimePeriod.timePeriodDue = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsNetPaymentPaymentTimePeriodTimePeriodDue
|
||||
detallista.paymentTerms.netPayment.paymentTimePeriod.timePeriodDue.timePeriod = Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsNetPaymentPaymentTimePeriodTimePeriodDueTimePeriod.DAYS
|
||||
detallista.paymentTerms.netPayment.paymentTimePeriod.timePeriodDue.value = "0"
|
||||
' detallista.paymentTerms = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTerms
|
||||
' detallista.paymentTerms.netPayment = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsNetPayment
|
||||
' detallista.paymentTerms.netPayment.paymentTimePeriod = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsNetPaymentPaymentTimePeriod
|
||||
' detallista.paymentTerms.netPayment.paymentTimePeriod.timePeriodDue = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsNetPaymentPaymentTimePeriodTimePeriodDue
|
||||
' detallista.paymentTerms.netPayment.paymentTimePeriod.timePeriodDue.timePeriod = Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsNetPaymentPaymentTimePeriodTimePeriodDueTimePeriod.DAYS
|
||||
' detallista.paymentTerms.netPayment.paymentTimePeriod.timePeriodDue.value = "0"
|
||||
|
||||
detallista.paymentTerms.discountPayment = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsDiscountPayment
|
||||
detallista.paymentTerms.discountPayment.percentage = If(Ventas.DescuentoTC > 0 AndAlso Ventas.SubTotalTC > 0, (Ventas.DescuentoTC * 100) / Ventas.SubTotalTC, 0).ToString().FormatoNumero()
|
||||
' detallista.paymentTerms.discountPayment = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaPaymentTermsDiscountPayment
|
||||
' detallista.paymentTerms.discountPayment.percentage = If(Ventas.DescuentoTC > 0 AndAlso Ventas.SubTotalTC > 0, (Ventas.DescuentoTC * 100) / Ventas.SubTotalTC, 0).ToString().FormatoNumero()
|
||||
|
||||
detallista.currency = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrency((1)) {}
|
||||
detallista.currency(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrency
|
||||
detallista.currency(0).currencyISOCode = If(Ventas.CveMoneda = 1, Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrencyCurrencyISOCode.MXN, Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrencyCurrencyISOCode.USD)
|
||||
detallista.currency(0).currencyFunction = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrencyCurrencyFunction((1)) {}
|
||||
detallista.currency(0).currencyFunction(0) = Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrencyCurrencyFunction.BILLING_CURRENCY
|
||||
detallista.currency(0).rateOfChangeSpecified = True
|
||||
detallista.currency(0).rateOfChange = 1
|
||||
' detallista.currency = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrency((1)) {}
|
||||
' detallista.currency(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrency
|
||||
' detallista.currency(0).currencyISOCode = If(Ventas.CveMoneda = 1, Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrencyCurrencyISOCode.MXN, Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrencyCurrencyISOCode.USD)
|
||||
' detallista.currency(0).currencyFunction = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrencyCurrencyFunction((1)) {}
|
||||
' detallista.currency(0).currencyFunction(0) = Profact.TimbraCFDI33.Complementos.Detallista.detallistaCurrencyCurrencyFunction.BILLING_CURRENCY
|
||||
' detallista.currency(0).rateOfChangeSpecified = True
|
||||
' detallista.currency(0).rateOfChange = 1
|
||||
|
||||
detallista.allowanceCharge = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceCharge(1) {}
|
||||
detallista.allowanceCharge(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceCharge
|
||||
detallista.allowanceCharge(0).monetaryAmountOrPercentage = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceChargeMonetaryAmountOrPercentage
|
||||
detallista.allowanceCharge(0).monetaryAmountOrPercentage.rate = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceChargeMonetaryAmountOrPercentageRate
|
||||
detallista.allowanceCharge(0).monetaryAmountOrPercentage.rate.base = Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceChargeMonetaryAmountOrPercentageRateBase.INVOICE_VALUE
|
||||
detallista.allowanceCharge(0).monetaryAmountOrPercentage.rate.percentage = If(Ventas.DescuentoTC > 0 AndAlso Ventas.SubTotalTC > 0, (Ventas.DescuentoTC * 100) / Ventas.SubTotalTC, 0)
|
||||
' detallista.allowanceCharge = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceCharge(1) {}
|
||||
' detallista.allowanceCharge(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceCharge
|
||||
' detallista.allowanceCharge(0).monetaryAmountOrPercentage = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceChargeMonetaryAmountOrPercentage
|
||||
' detallista.allowanceCharge(0).monetaryAmountOrPercentage.rate = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceChargeMonetaryAmountOrPercentageRate
|
||||
' detallista.allowanceCharge(0).monetaryAmountOrPercentage.rate.base = Profact.TimbraCFDI33.Complementos.Detallista.detallistaAllowanceChargeMonetaryAmountOrPercentageRateBase.INVOICE_VALUE
|
||||
' detallista.allowanceCharge(0).monetaryAmountOrPercentage.rate.percentage = If(Ventas.DescuentoTC > 0 AndAlso Ventas.SubTotalTC > 0, (Ventas.DescuentoTC * 100) / Ventas.SubTotalTC, 0)
|
||||
|
||||
Dim articuloCounter As Integer = 0
|
||||
For Each concepto As Profact.TimbraCFDI33.ComprobanteConcepto In comprobante.Conceptos
|
||||
articuloCounter = (articuloCounter + 1)
|
||||
Next
|
||||
detallista.lineItem = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItem((articuloCounter)) {}
|
||||
Dim counter As Integer = 0
|
||||
For Each concepto As Profact.TimbraCFDI33.ComprobanteConcepto In comprobante.Conceptos
|
||||
detallista.lineItem(counter) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItem
|
||||
detallista.lineItem(counter).type = "SimpleInvoiceLineItemType"
|
||||
detallista.lineItem(counter).number = (counter + 1).ToString
|
||||
detallista.lineItem(counter).tradeItemIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemIdentification
|
||||
detallista.lineItem(counter).tradeItemIdentification.gtin = comprobante.Conceptos(counter).NoIdentificacion
|
||||
detallista.lineItem(counter).alternateTradeItemIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAlternateTradeItemIdentification(1) {}
|
||||
detallista.lineItem(counter).alternateTradeItemIdentification(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAlternateTradeItemIdentification
|
||||
detallista.lineItem(counter).alternateTradeItemIdentification(0).type = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAlternateTradeItemIdentificationType
|
||||
detallista.lineItem(counter).alternateTradeItemIdentification(0).type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAlternateTradeItemIdentificationType.BUYER_ASSIGNED
|
||||
detallista.lineItem(counter).tradeItemDescriptionInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemDescriptionInformation
|
||||
If (comprobante.Conceptos(counter).Descripcion.Length > 34) Then
|
||||
detallista.lineItem(counter).tradeItemDescriptionInformation.longText = comprobante.Conceptos(counter).Descripcion.Substring(0, 34)
|
||||
Else
|
||||
detallista.lineItem(counter).tradeItemDescriptionInformation.longText = comprobante.Conceptos(counter).Descripcion
|
||||
End If
|
||||
detallista.lineItem(counter).invoicedQuantity = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemInvoicedQuantity
|
||||
detallista.lineItem(counter).invoicedQuantity.unitOfMeasure = comprobante.Conceptos(counter).Unidad
|
||||
detallista.lineItem(counter).invoicedQuantity.Text = New String((1)) {}
|
||||
detallista.lineItem(counter).invoicedQuantity.Text(0) = comprobante.Conceptos(counter).Cantidad.ToString
|
||||
' Dim articuloCounter As Integer = 0
|
||||
' For Each concepto As Profact.TimbraCFDI33.ComprobanteConcepto In comprobante.Conceptos
|
||||
' articuloCounter = (articuloCounter + 1)
|
||||
' Next
|
||||
' detallista.lineItem = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItem((articuloCounter)) {}
|
||||
' Dim counter As Integer = 0
|
||||
' For Each concepto As Profact.TimbraCFDI33.ComprobanteConcepto In comprobante.Conceptos
|
||||
' detallista.lineItem(counter) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItem
|
||||
' detallista.lineItem(counter).type = "SimpleInvoiceLineItemType"
|
||||
' detallista.lineItem(counter).number = (counter + 1).ToString
|
||||
' detallista.lineItem(counter).tradeItemIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemIdentification
|
||||
' detallista.lineItem(counter).tradeItemIdentification.gtin = comprobante.Conceptos(counter).NoIdentificacion
|
||||
' detallista.lineItem(counter).alternateTradeItemIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAlternateTradeItemIdentification(1) {}
|
||||
' detallista.lineItem(counter).alternateTradeItemIdentification(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAlternateTradeItemIdentification
|
||||
' detallista.lineItem(counter).alternateTradeItemIdentification(0).type = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAlternateTradeItemIdentificationType
|
||||
' detallista.lineItem(counter).alternateTradeItemIdentification(0).type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAlternateTradeItemIdentificationType.BUYER_ASSIGNED
|
||||
' detallista.lineItem(counter).tradeItemDescriptionInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemDescriptionInformation
|
||||
' If (comprobante.Conceptos(counter).Descripcion.Length > 34) Then
|
||||
' detallista.lineItem(counter).tradeItemDescriptionInformation.longText = comprobante.Conceptos(counter).Descripcion.Substring(0, 34)
|
||||
' Else
|
||||
' detallista.lineItem(counter).tradeItemDescriptionInformation.longText = comprobante.Conceptos(counter).Descripcion
|
||||
' End If
|
||||
' detallista.lineItem(counter).invoicedQuantity = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemInvoicedQuantity
|
||||
' detallista.lineItem(counter).invoicedQuantity.unitOfMeasure = comprobante.Conceptos(counter).Unidad
|
||||
' detallista.lineItem(counter).invoicedQuantity.Text = New String((1)) {}
|
||||
' detallista.lineItem(counter).invoicedQuantity.Text(0) = comprobante.Conceptos(counter).Cantidad.ToString
|
||||
|
||||
detallista.lineItem(counter).aditionalQuantity = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAditionalQuantity(1) {}
|
||||
detallista.lineItem(counter).aditionalQuantity(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAditionalQuantity
|
||||
detallista.lineItem(counter).aditionalQuantity(0).QuantityType = Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAditionalQuantityQuantityType.NUM_CONSUMER_UNITS
|
||||
detallista.lineItem(counter).aditionalQuantity(0).Text = New String((1)) {}
|
||||
detallista.lineItem(counter).aditionalQuantity(0).Text(0) = "1"
|
||||
' detallista.lineItem(counter).aditionalQuantity = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAditionalQuantity(1) {}
|
||||
' detallista.lineItem(counter).aditionalQuantity(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAditionalQuantity
|
||||
' detallista.lineItem(counter).aditionalQuantity(0).QuantityType = Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAditionalQuantityQuantityType.NUM_CONSUMER_UNITS
|
||||
' detallista.lineItem(counter).aditionalQuantity(0).Text = New String((1)) {}
|
||||
' detallista.lineItem(counter).aditionalQuantity(0).Text(0) = "1"
|
||||
|
||||
detallista.lineItem(counter).grossPrice = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemGrossPrice
|
||||
detallista.lineItem(counter).grossPrice.Amount = comprobante.Conceptos(counter).ValorUnitario
|
||||
' detallista.lineItem(counter).grossPrice = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemGrossPrice
|
||||
' detallista.lineItem(counter).grossPrice.Amount = comprobante.Conceptos(counter).ValorUnitario
|
||||
|
||||
detallista.lineItem(counter).netPrice = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemNetPrice
|
||||
detallista.lineItem(counter).netPrice.Amount = comprobante.Conceptos(counter).ValorUnitario
|
||||
' detallista.lineItem(counter).netPrice = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemNetPrice
|
||||
' detallista.lineItem(counter).netPrice.Amount = comprobante.Conceptos(counter).ValorUnitario
|
||||
|
||||
detallista.lineItem(counter).AdditionalInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAdditionalInformation
|
||||
detallista.lineItem(counter).AdditionalInformation.referenceIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAdditionalInformationReferenceIdentification
|
||||
detallista.lineItem(counter).AdditionalInformation.referenceIdentification.type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAdditionalInformationReferenceIdentificationType.ON
|
||||
detallista.lineItem(counter).AdditionalInformation.referenceIdentification.Value = "1587"
|
||||
'Impuestos
|
||||
Dim tasa As Decimal = 0
|
||||
Dim importeImp As Decimal = 0
|
||||
Try
|
||||
If (Not (comprobante.Impuestos.Traslados) Is Nothing) Then
|
||||
For Each traslado As Profact.TimbraCFDI33.ComprobanteImpuestosTraslado In comprobante.Impuestos.Traslados
|
||||
tasa = Decimal.Parse(traslado.TasaOCuota)
|
||||
importeImp = (comprobante.Conceptos(counter).Importe * (tasa / 100))
|
||||
Next
|
||||
End If
|
||||
' detallista.lineItem(counter).AdditionalInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAdditionalInformation
|
||||
' detallista.lineItem(counter).AdditionalInformation.referenceIdentification = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAdditionalInformationReferenceIdentification
|
||||
' detallista.lineItem(counter).AdditionalInformation.referenceIdentification.type = Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemAdditionalInformationReferenceIdentificationType.ON
|
||||
' detallista.lineItem(counter).AdditionalInformation.referenceIdentification.Value = "1587"
|
||||
' 'Impuestos
|
||||
' Dim tasa As Decimal = 0
|
||||
' Dim importeImp As Decimal = 0
|
||||
' Try
|
||||
' If (Not (comprobante.Impuestos.Traslados) Is Nothing) Then
|
||||
' For Each traslado As Profact.TimbraCFDI33.ComprobanteImpuestosTraslado In comprobante.Impuestos.Traslados
|
||||
' tasa = Decimal.Parse(traslado.TasaOCuota)
|
||||
' importeImp = (comprobante.Conceptos(counter).Importe * (tasa / 100))
|
||||
' Next
|
||||
' End If
|
||||
|
||||
Catch ex As System.Exception
|
||||
' Catch ex As System.Exception
|
||||
|
||||
End Try
|
||||
' End Try
|
||||
|
||||
detallista.lineItem(counter).tradeItemTaxInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformation(1) {}
|
||||
detallista.lineItem(counter).tradeItemTaxInformation(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformation
|
||||
detallista.lineItem(counter).tradeItemTaxInformation(0).taxTypeDescription = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformationTaxTypeDescription
|
||||
detallista.lineItem(counter).tradeItemTaxInformation(0).taxTypeDescription = Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformationTaxTypeDescription.VAT
|
||||
detallista.lineItem(counter).tradeItemTaxInformation(0).tradeItemTaxAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformationTradeItemTaxAmount
|
||||
detallista.lineItem(counter).tradeItemTaxInformation(0).tradeItemTaxAmount.taxPercentage = tasa
|
||||
detallista.lineItem(counter).tradeItemTaxInformation(0).tradeItemTaxAmount.taxAmount = importeImp
|
||||
' detallista.lineItem(counter).tradeItemTaxInformation = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformation(1) {}
|
||||
' detallista.lineItem(counter).tradeItemTaxInformation(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformation
|
||||
' detallista.lineItem(counter).tradeItemTaxInformation(0).taxTypeDescription = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformationTaxTypeDescription
|
||||
' detallista.lineItem(counter).tradeItemTaxInformation(0).taxTypeDescription = Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformationTaxTypeDescription.VAT
|
||||
' detallista.lineItem(counter).tradeItemTaxInformation(0).tradeItemTaxAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTradeItemTaxInformationTradeItemTaxAmount
|
||||
' detallista.lineItem(counter).tradeItemTaxInformation(0).tradeItemTaxAmount.taxPercentage = tasa
|
||||
' detallista.lineItem(counter).tradeItemTaxInformation(0).tradeItemTaxAmount.taxAmount = importeImp
|
||||
|
||||
detallista.lineItem(counter).totalLineAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTotalLineAmount
|
||||
detallista.lineItem(counter).totalLineAmount.grossAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTotalLineAmountGrossAmount
|
||||
detallista.lineItem(counter).totalLineAmount.grossAmount.Amount = comprobante.Conceptos(counter).Importe
|
||||
detallista.lineItem(counter).totalLineAmount.netAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTotalLineAmountNetAmount
|
||||
detallista.lineItem(counter).totalLineAmount.netAmount.Amount = comprobante.Conceptos(counter).Importe
|
||||
counter = (counter + 1)
|
||||
Next
|
||||
detallista.totalAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaTotalAmount
|
||||
detallista.totalAmount.Amount = comprobante.SubTotal
|
||||
' detallista.lineItem(counter).totalLineAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTotalLineAmount
|
||||
' detallista.lineItem(counter).totalLineAmount.grossAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTotalLineAmountGrossAmount
|
||||
' detallista.lineItem(counter).totalLineAmount.grossAmount.Amount = comprobante.Conceptos(counter).Importe
|
||||
' detallista.lineItem(counter).totalLineAmount.netAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaLineItemTotalLineAmountNetAmount
|
||||
' detallista.lineItem(counter).totalLineAmount.netAmount.Amount = comprobante.Conceptos(counter).Importe
|
||||
' counter = (counter + 1)
|
||||
' Next
|
||||
' detallista.totalAmount = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaTotalAmount
|
||||
' detallista.totalAmount.Amount = comprobante.SubTotal
|
||||
|
||||
detallista.TotalAllowanceCharge = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaTotalAllowanceCharge(1) {}
|
||||
detallista.TotalAllowanceCharge(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaTotalAllowanceCharge
|
||||
detallista.TotalAllowanceCharge(0).allowanceOrChargeType = Profact.TimbraCFDI33.Complementos.Detallista.detallistaTotalAllowanceChargeAllowanceOrChargeType.ALLOWANCE
|
||||
detallista.TotalAllowanceCharge(0).Amount = Ventas.DescuentoTC
|
||||
' detallista.TotalAllowanceCharge = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaTotalAllowanceCharge(1) {}
|
||||
' detallista.TotalAllowanceCharge(0) = New Profact.TimbraCFDI33.Complementos.Detallista.detallistaTotalAllowanceCharge
|
||||
' detallista.TotalAllowanceCharge(0).allowanceOrChargeType = Profact.TimbraCFDI33.Complementos.Detallista.detallistaTotalAllowanceChargeAllowanceOrChargeType.ALLOWANCE
|
||||
' detallista.TotalAllowanceCharge(0).Amount = Ventas.DescuentoTC
|
||||
|
||||
Dim nombres As System.Xml.Serialization.XmlSerializerNamespaces = New System.Xml.Serialization.XmlSerializerNamespaces
|
||||
nombres.Add("detallista", "http://www.sat.gob.mx/detallista")
|
||||
Dim xmlDetallista As String = Profact.TimbraCFDI.XMLUtilerias.SerializaObjeto(detallista, GetType(Profact.TimbraCFDI33.Complementos.Detallista.detallista), nombres)
|
||||
' Dim nombres As System.Xml.Serialization.XmlSerializerNamespaces = New System.Xml.Serialization.XmlSerializerNamespaces
|
||||
' nombres.Add("detallista", "http://www.sat.gob.mx/detallista")
|
||||
' Dim xmlDetallista As String = Profact.TimbraCFDI.XMLUtilerias.SerializaObjeto(detallista, GetType(Profact.TimbraCFDI33.Complementos.Detallista.detallista), nombres)
|
||||
|
||||
Dim docDetallista As XmlDocument = New XmlDocument
|
||||
docDetallista.LoadXml(xmlDetallista)
|
||||
comprobante.DetallistaSpecified = True
|
||||
LXmlComplementos.Add(docDetallista.DocumentElement)
|
||||
' Dim docDetallista As XmlDocument = New XmlDocument
|
||||
' docDetallista.LoadXml(xmlDetallista)
|
||||
' comprobante.DetallistaSpecified = True
|
||||
' LXmlComplementos.Add(docDetallista.DocumentElement)
|
||||
|
||||
TieneComplemento = True
|
||||
End If
|
||||
#End Region
|
||||
' TieneComplemento = True
|
||||
' End If
|
||||
'#End Region
|
||||
|
||||
If TieneComplemento Then
|
||||
comprobante.Complemento = New Profact.TimbraCFDI33.ComprobanteComplemento
|
||||
@@ -4109,7 +4185,7 @@ Public Class Timbrado
|
||||
|
||||
|
||||
Dim ObjVentas As New ClsVentas()
|
||||
If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", Now, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC) Then
|
||||
If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", Now, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC) Then
|
||||
Retorno = ""
|
||||
Else
|
||||
Retorno = "Error"
|
||||
@@ -4133,7 +4209,7 @@ Public Class Timbrado
|
||||
resultadoTimbre.GuardaCodigoBidimensional(RutaCBB, NombreCBB)
|
||||
|
||||
'Genero la addenda Ford
|
||||
If Ventas.Cliente.Ford_GSDB <> "" Then
|
||||
If Ventas.Cliente IsNot Nothing AndAlso 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))
|
||||
|
||||
|
||||
@@ -20,10 +20,12 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
||||
Dim retorno As String = "no se encontro la variable"
|
||||
Try
|
||||
Dim metodo As String = ""
|
||||
|
||||
If context.Request("var") IsNot Nothing Then
|
||||
URLParametros = Parametros(context.Request("var"))
|
||||
metodo = URLParametros("metodo")
|
||||
ElseIf context.Request.Headers("Content-Type") IsNot Nothing AndAlso context.Request.Headers("Content-Type").Contains("json") AndAlso context.Request.InputStream IsNot Nothing Then
|
||||
'SI TRAE UN JSON COMO PARAMETRO
|
||||
ElseIf context.Request.Headers("Content-Type") IsNot Nothing AndAlso context.Request.Headers("Content-Type").Contains("json") AndAlso context.Request.InputStream IsNot Nothing AndAlso (context.Request("var") Is Nothing AndAlso context.Request("metodo") IsNot Nothing) Then
|
||||
context.Response.ContentType = "application/json"
|
||||
Using reader As New StreamReader(context.Request.InputStream)
|
||||
Dim json = reader.ReadToEnd()
|
||||
@@ -32,6 +34,8 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
||||
metodo = JsonRequest("Metodo").ToString
|
||||
End If
|
||||
End Using
|
||||
ElseIf context.Request("metodo") IsNot Nothing Then
|
||||
metodo = context.Request("metodo").ToString()
|
||||
End If
|
||||
|
||||
Select Case metodo
|
||||
@@ -282,9 +286,13 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
||||
|
||||
Retorno.Add(obj)
|
||||
Next
|
||||
|
||||
DtEmpresas.Dispose()
|
||||
End If
|
||||
|
||||
context.Response.Write(Retorno.ToString())
|
||||
GuardaLogEdoCuenta(Retorno.ToString())
|
||||
|
||||
context.Response.Write("True")
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -324,7 +332,8 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
||||
|
||||
|
||||
Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, Optional pCveCliente As Integer = -1) As JObject
|
||||
Dim ClientesSinEnviar As New JArray()
|
||||
Dim ClientesSinEnviar As New JArray()
|
||||
Dim ClientesEdoEnviado As New JArray()
|
||||
|
||||
Dim Json As New JObject(
|
||||
New JProperty("Empresa", UsuarioActual.Empresa.Empresa),
|
||||
@@ -333,37 +342,80 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
||||
)
|
||||
Dim DTClientes As DataTable = Nothing
|
||||
|
||||
Using ObjCliente As New ClsClientes
|
||||
If ObjCliente.GetClientes(pCveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1, Estatus:=1) Then
|
||||
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||
DTClientes = ObjCliente.DtResultados.Copy()
|
||||
End If
|
||||
'Using ObjCliente As New ClsClientes
|
||||
' If ObjCliente.GetClientes(pCveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1, Estatus:=1) Then
|
||||
' If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||
' DTClientes = ObjCliente.DtResultados.Copy()
|
||||
' End If
|
||||
' End If
|
||||
'End Using
|
||||
|
||||
Using ObjMov As New ClsMovimientos
|
||||
Dim FechaI As String = "-1"
|
||||
Dim FechaF As String = "-1"
|
||||
Dim FechaVI As String = "-1"
|
||||
Dim FechaVF As String = "-1"
|
||||
Dim TCEspecifico = -1
|
||||
|
||||
Dim CveCobranzaEstatus As Integer = -1
|
||||
Dim CveClienteClasificacion As Integer = -1
|
||||
Dim CveCliente As Integer = -1
|
||||
Dim AplicaAnticipos As Integer = 0
|
||||
|
||||
Dim CveSubProyecto As Integer = -1
|
||||
Dim CveVendedor As Integer = -1
|
||||
Dim Grupo As Integer = 5
|
||||
Dim TipoCambio As Integer = 1
|
||||
Dim TipoDocto As String = "-1"
|
||||
Dim FechaCorte As DateTime = New DateTime(Now.Year, 12, 31)
|
||||
|
||||
If ObjMov.GetCxC(FechaI, FechaF, CveCliente, CveSubProyecto, CveVendedor, -1, -1, "-1", UsuarioActual.CveEmpresa, Grupo, -1, TipoCambio, TCEspecifico, TipoDocto, FechaVI, FechaVF, FechaCorte:=FechaCorte,
|
||||
EstatusCliente:=1, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveCobranzaEstatus:=CveCobranzaEstatus, CveClienteClasificacion:=-1, TipoCliente:=-1, AplicaAnticiposPagados:=AplicaAnticipos) Then
|
||||
DTClientes = ObjMov.DtResultados.FiltraParametros("CveCliente > 0", DistinctColumns:={"CveCliente"})
|
||||
End If
|
||||
|
||||
End Using
|
||||
|
||||
If DTClientes IsNot Nothing Then
|
||||
For Each RowCliente As DataRow In DTClientes.Rows
|
||||
Dim CveCliente As Integer = RowCliente("CveCliente").ToString().ToEntero()
|
||||
Dim Correo As String = RowCliente("CobranzaCorreo").ToString()
|
||||
|
||||
'DTClientes = DTClientes.FiltraParametros("CveCliente IN (227289,227429,227733,227838,228181,228544,229176,229481,230029,230432,230860,230911,230918,231197,231576,232173,232185,233055,233295,233357,233588,236379,236460,237161,237635,238285,238530,238622,238724,239033,239099,239865,239895,239903,240202,240235,240236,240238,240303,240340,262404,262517,264765,264806,264825,264848,264930,265063,265180,265213,265214,265236,265344,265492,265555,265669,265797,265952,265963,266156,266182,268346,268396,268488,268535,268539,268558,268562,268706,268726,268787,268868,268889,268910,268925,269023,269081,269089,272066,272070,272657,273080,273084,275627,276259,276587,281115,283110,284664,285392,287653,288711,291374,292444,295578,296375,296598,302728,303936,306897,307183,311007,320060,320685,320800,323520,323772,325237,326996,327801,330630,331741,332118,337105,340502,341796,342807,343858,355862,358123,365794,371524,375391,377122,377948,378267,380167,381210,381878,383098,383250,383339,383650,384472,385321,385585,386630,387114,388987,396341,396405,396541,401995,404175,408306,416386,416819,420275,438732,447566,447636,450284,464150,464376,468051,475172,475932,476984,477997,478426)")
|
||||
|
||||
For Each RowCliente As DataRow In DTClientes.Rows
|
||||
|
||||
Dim CveCliente As Integer = RowCliente("CveCliente").ToString().ToEntero()
|
||||
Dim Cliente As New Modelos.ClienteModel(CveCliente, UsuarioActual.CveEmpresa)
|
||||
|
||||
Dim Envio = EnviarEstadoCuenta(UsuarioActual, Correo, Cliente)
|
||||
If Cliente IsNot Nothing Then
|
||||
Dim Correo As String = Cliente.CobranzaCorreo '"japmx95@gmail.com" 'RowCliente("CobranzaCorreo").ToString()
|
||||
|
||||
If Envio Then
|
||||
Using ObjBitacora As New ClsOIEventos
|
||||
ObjBitacora.AddEventoBitacora("Se envió correo con el estado de cuenta del cliente", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=Cliente.CveCliente)
|
||||
End Using
|
||||
Else
|
||||
ClientesSinEnviar.Add(New JObject(
|
||||
New JProperty("CveCliente", Cliente.CveCliente),
|
||||
New JProperty("Cliente", Cliente.Nombre)
|
||||
))
|
||||
End If
|
||||
Dim Envio As Boolean = False
|
||||
If Not String.IsNullOrEmpty(Correo) Then
|
||||
Envio = EnviarEstadoCuenta(UsuarioActual, Correo, Cliente)
|
||||
End If
|
||||
|
||||
If Envio Then
|
||||
|
||||
ClientesEdoEnviado.Add(New JObject(
|
||||
New JProperty("CveCliente", Cliente.CveCliente),
|
||||
New JProperty("Cliente", Cliente.Nombre)
|
||||
))
|
||||
|
||||
Using ObjBitacora As New ClsOIEventos
|
||||
ObjBitacora.AddEventoBitacora("Se envió correo con el estado de cuenta del cliente", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=Cliente.CveCliente)
|
||||
End Using
|
||||
Else
|
||||
ClientesSinEnviar.Add(New JObject(
|
||||
New JProperty("CveCliente", Cliente.CveCliente),
|
||||
New JProperty("Cliente", Cliente.Nombre)
|
||||
))
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
DTClientes.Dispose()
|
||||
End If
|
||||
Json.Add(New JProperty("ClientesSinEnviar", ClientesSinEnviar))
|
||||
Json.Add(New JProperty("ClientesSinEnviar", ClientesSinEnviar))
|
||||
Json.Add(New JProperty("ClientesEdoEnviado", ClientesEdoEnviado))
|
||||
|
||||
Return Json
|
||||
End Function
|
||||
@@ -616,10 +668,12 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
||||
<br />
|
||||
<b>ESTE CORREO SE GENERO EN FORMA AUTOMATICA.</b>", Cliente.NombreComercial, UsuarioActual.Empresa.Empresa)
|
||||
|
||||
Retorno = MandaCorreo(ArchivoPDF, Correo, $"Estado Actual de Cartera {UsuarioActual.Empresa.Empresa}", Cuerpo)
|
||||
Dim Hilo As New System.Threading.Thread(Sub() MandaCorreo(ArchivoPDF, Correo, $"Estado Actual de Cartera {UsuarioActual.Empresa.Empresa}", Cuerpo))
|
||||
Hilo.Start()
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
Retorno = False
|
||||
OnError("Ocurrió un error al enviar el correo", ex)
|
||||
OnError("Ocurrió error al mandar el correo de estado de cuenta", ex)
|
||||
End Try
|
||||
Else
|
||||
Retorno = False
|
||||
@@ -683,17 +737,47 @@ Public Class TareasProgramadas : Implements IHttpHandler
|
||||
Return Bytes
|
||||
End Function
|
||||
|
||||
Private Function MandaCorreo(File As Byte(), Para As String, Asunto As String, Body As String) As Boolean
|
||||
Private Function MandaCorreo(File As Byte(), Para As String, Asunto As String, Body As String) As Boolean
|
||||
'Para = "japmx95@gmail.com"
|
||||
Try
|
||||
Dim a As String = String.Format("{0} -- {1} ---- -->", Asunto, Para)
|
||||
'a.GuardaLog()
|
||||
Dim Mail As New ClsSisMail()
|
||||
|
||||
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
|
||||
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = File, .NombreArchivo = "EstadoDeCuenta.pdf"})
|
||||
|
||||
Return Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, Archivos:=LSRutasMail)
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al enviar el correo de edo cuenta", ex)
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Dim a As String = String.Format("{0} -- {1} ---- -->", Asunto, Para)
|
||||
'a.GuardaLog()
|
||||
Dim Mail As New ClsSisMail()
|
||||
|
||||
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
|
||||
LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.ArchivoBinario = File, .NombreArchivo = "EstadoDeCuenta.pdf"})
|
||||
|
||||
Return Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, Archivos:=LSRutasMail)
|
||||
End Function
|
||||
|
||||
Public Sub GuardaLogEdoCuenta(Str As String)
|
||||
Dim ArchivoW As StreamWriter
|
||||
Dim strLineaTMP As String
|
||||
|
||||
' strLineaTMP = Chr(13) & Chr(10) & Day(Now) & "/" & Month(Now) & "/" & Year(Now) & " " & Hour(Now) & ":" & Minuto & ". " & Str & Chr(13) & Chr(10)
|
||||
strLineaTMP = String.Format("{0}{1}Log: {2}{3}:{4}", Chr(13), Chr(10), Str, DateTime.Now.ToShortDateString, DateTime.Now.ToShortTimeString)
|
||||
Try
|
||||
ArchivoW = New StreamWriter(String.Format("{0}\Log\LogEdoCuenta.txt", ModExtensiones.DirectorioBaseEmpresas), True, System.Text.Encoding.UTF8)
|
||||
Catch ex As UnauthorizedAccessException
|
||||
'Alert("No hay permisos para guardar en el Log.", Extensiones.TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
Catch ex As Exception
|
||||
Exit Sub
|
||||
End Try
|
||||
|
||||
Try
|
||||
ArchivoW.WriteLine(strLineaTMP)
|
||||
Catch
|
||||
End Try
|
||||
|
||||
ArchivoW.Close()
|
||||
ArchivoW.Dispose()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
@@ -304,17 +304,20 @@ Partial Class Bancos_DepositosCaja
|
||||
End If
|
||||
|
||||
'Asignamos la cuenta Deposito
|
||||
If Not OcurrioError AndAlso Not ObjBancos.UpdateBancos_IECuentaDeposito(CveIEDestino, CveIE) Then
|
||||
If Not OcurrioError AndAlso Not ObjBancos.UpdateBancos_IECuentaDeposito(CveIEOrigen, CveIE) Then
|
||||
OcurrioError = True
|
||||
Exit For
|
||||
End If
|
||||
Dim StrEncript As String = Encripta($"OP=DC&CveIE={CveIEDestino}&CuentaCaja={DdlCajaChica.SelectedItem.Text}&CuentaDepo={DdlCuentaDeposito.SelectedItem.Text}")
|
||||
|
||||
'documentos += String.Format("<a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir {1}</a> <br/><br/> ", StrEncript, SerieFolio)
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
Dim StrEncript As String = Encripta($"OP=DC&CveIE={CveIEOrigen}&CuentaCaja={DdlCajaChica.SelectedItem.Text}&CuentaDepo={DdlCuentaDeposito.SelectedItem.Text}")
|
||||
|
||||
|
||||
documentos += String.Format("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir {1}</a> <br/><br/> ", StrEncript, "Depósito Bancario")
|
||||
|
||||
If OcurrioError Then
|
||||
ObjContabilidad.RollBack()
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<asp:LinkButton ID="LnkChqDevuelto" runat="server" Visible="false" OnClick="LnkChqDevuelto_Click" Style="color: #686868;"><i class="fa fa-ban" style="color:#686868;"></i> Cheque Devuelto</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkCancelar" runat="server" Visible="false" OnClick="LnkCancelar_Click" Style="color: #686868;"><i class="fa fa-ban" style="color:#686868;"></i> Cancelar Movimiento</asp:LinkButton>
|
||||
<asp:LinkButton ID="LnkCancelar" runat="server" Visible="false" OnClick="LnkCancelar_Click" Style="color: #686868;" data-toggle="tooltip" data-placement="left" title="Cancelar Movimiento" ><i class="fa fa-ban" style="color:#686868;"></i> Cancelar Movimiento</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkEliminar" runat="server" Visible="false" OnClientClick="return confirm('¿Está seguro de eliminar el documento?');" Style="color: #686868;"><i class="fa fa-minus" style="color: #686868;"></i> Eliminar Movimiento</asp:LinkButton>
|
||||
@@ -53,7 +53,7 @@
|
||||
<asp:LinkButton ID="LnkCancelarComplemento" OnClick="LnkCancelarComplemento_Click" runat="server" Visible="false" Style="color: #686868;"><i class="fa fa-ban" style="color: #686868;"></i> Refacturar Complemento</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkCancelarComplementoImporte" OnClick="LnkCancelarComplementoImporte_Click" runat="server" Visible="false" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea cancelar el movimiento y complemento?" data-btn-ok-label="si" Style="color: #686868;"> <i class="fa fa-pencil"></i> Cancelar</asp:LinkButton>
|
||||
<asp:LinkButton ID="LnkCancelarComplementoImporte" OnClick="LnkCancelarComplementoImporte_Click" runat="server" Visible="false" data-btn-ok-label="si" Style="color: #686868;" data-toggle="tooltip" data-placement="left" title="Cancelar Movimiento y Complemento" > <i class="fa fa-pencil"></i> Cancelar Movimiento y Complemento</asp:LinkButton>
|
||||
|
||||
<%-- data-original-title="¿Está seguro que desea cancelar el documento?" data-btn-ok-label="si" Style="color: #686868;"><i class="fa fa-pencil"--%>
|
||||
|
||||
|
||||
@@ -709,9 +709,10 @@ Partial Class Bancos_PopIEVentas
|
||||
End If
|
||||
Else
|
||||
'no se pudo validar, pero ya tuvo la primera vuelta de validacion
|
||||
Alert("La factura no se pudo validar.")
|
||||
Alert("La factura no se pudo validar.", TipoMensaje.MsgAdvertencia)
|
||||
Validada = False
|
||||
BtnGuardar.Visible = False
|
||||
BtnGuardar.Enabled = False
|
||||
BtnGuardar.ToolTip = "La factura no se pudo validar"
|
||||
End If
|
||||
Valida.Dispose()
|
||||
Else
|
||||
|
||||
@@ -12413,8 +12413,9 @@ Partial Class Compras_Compras
|
||||
|
||||
dr1("Cantidad") = (dr1("Cantidad").ToString.ToDouble - Cantidad.ToDouble)
|
||||
dr1("Total") = dr1("PU").ToString.ToDouble * dr1("Cantidad").ToString.ToDecimal
|
||||
dr1("Importe") = dr1("Total")
|
||||
|
||||
dr1("IVA") = Math.Round(dr1("IVAPorcentaje").ToString.ToDecimal * dr1("Total").ToString.ToDecimal, 6)
|
||||
dr1("IEPSPS") = Math.Round(dr1("IEPSPSPorcentaje").ToString.ToDecimal * dr1("Total").ToString.ToDecimal, 6)
|
||||
TmpDT.AcceptChanges()
|
||||
|
||||
|
||||
@@ -12423,8 +12424,9 @@ Partial Class Compras_Compras
|
||||
dr("CodAF") = ""
|
||||
dr("Cantidad") = Cantidad.ToDecimal
|
||||
dr("Total") = dr("PU").ToString.ToDecimal * Cantidad.ToDecimal
|
||||
dr("Importe") = dr("Total")
|
||||
'dr("Importe") = dr("Total")
|
||||
dr("IVA") = Math.Round(dr("IVAPorcentaje").ToString.ToDecimal * dr("Total").ToString.ToDecimal, 6)
|
||||
dr("IEPSPS") = Math.Round(dr("IEPSPSPorcentaje").ToString.ToDecimal * dr("Total").ToString.ToDecimal, 6)
|
||||
|
||||
TmpDT.Rows.InsertAt(dr, Index + 1)
|
||||
|
||||
|
||||
@@ -2448,7 +2448,11 @@ Partial Class PopUpVerFactura
|
||||
Dim ClienteNombre = "", EnvioContacto = "", EnvioDireccion = "", EnvioColonia = "", EnvioCiudad = "", EnvioEstado = "", ClientePais = "", EnvioCP = "", Contrato = "",
|
||||
Paqueteria = "", NumContrato = "", Guia = ""
|
||||
|
||||
Dim CveContrato As Integer = DtMovimientos(0)("CveContrato").ToString.ToEntero
|
||||
Dim CveContrato As Integer = 0
|
||||
If DtMovimientos IsNot Nothing AndAlso DtMovimientos.Rows.Count > 0 Then
|
||||
CveContrato = DtMovimientos(0)("CveContrato").ToString.ToEntero
|
||||
End If
|
||||
|
||||
If CveContrato > 0 Then
|
||||
Contrato = GlobalDTContratos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DescripcionContrato", $"CveContrato={CveContrato} AND CveEmpresa = {UsuarioActual.CveEmpresa}")
|
||||
NumContrato = GlobalDTContratos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("NumeroContrato", $"CveContrato={CveContrato} AND CveEmpresa = {UsuarioActual.CveEmpresa}")
|
||||
|
||||
@@ -93,9 +93,9 @@
|
||||
<table class="table table-striped Widthall">
|
||||
<tr>
|
||||
<th style=""></th>
|
||||
<th style="width: 100px;"></th>
|
||||
<th style="width: 100px;"></th>
|
||||
<th style="width: 100px;"></th>
|
||||
<th style="width: 80px;"></th>
|
||||
<th style="width: 60px;"></th>
|
||||
<th style="width: 80px;"></th>
|
||||
<th style="width: 120px;"></th>
|
||||
<th style="width: 120px;"></th>
|
||||
<th style="width: 120px;"></th>
|
||||
@@ -132,7 +132,7 @@
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="UM" ItemStyle-Width="60px">
|
||||
<asp:TemplateField HeaderText="UM" ItemStyle-Width="50px">
|
||||
<ItemTemplate>
|
||||
<span><%# Eval("Abreviatura")%></span>
|
||||
</ItemTemplate>
|
||||
@@ -356,7 +356,7 @@
|
||||
var cantidad = parseFloat(txtCantidad.val());
|
||||
|
||||
|
||||
|
||||
debugger;
|
||||
|
||||
if (!Math.round10) {
|
||||
Math.round10 = function (value, exp) {
|
||||
@@ -364,13 +364,14 @@
|
||||
};
|
||||
}
|
||||
|
||||
if (opcion == 2) {
|
||||
if (opcion == 2) { //editar importe
|
||||
|
||||
if (txtimporte.val().toString().length > 0) {
|
||||
|
||||
var importe = parseFloat(txtimporte.val());
|
||||
cantidad = parseFloat(importe / pu);
|
||||
txtCantidad.val(cantidad);
|
||||
txtPorcentaje.val(Math.round10(cantidad * 100 / max, -2));
|
||||
|
||||
}else{
|
||||
cantidad = 0.0
|
||||
@@ -379,12 +380,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
if (opcion == 3) {
|
||||
if (opcion == 3) { //editar porcentaje
|
||||
|
||||
if (txtPorcentaje.val().toString().length > 0) {
|
||||
var porcentaje = parseFloat(txtPorcentaje.val());
|
||||
cantidad = (porcentaje * max / 100);
|
||||
txtCantidad.val(cantidad);
|
||||
txtimporte.val((cantidad * pu).toFixed(2));
|
||||
} else {
|
||||
cantidad = 0;
|
||||
txtCantidad.val('');
|
||||
@@ -401,13 +403,13 @@
|
||||
}
|
||||
|
||||
|
||||
if (cantidad > 0) {
|
||||
txtimporte.val(cantidad * pu);
|
||||
txtPorcentaje.val(Math.round10(cantidad * 100 / max, -2));
|
||||
} else {
|
||||
txtimporte.val('');
|
||||
txtPorcentaje.val('');
|
||||
}
|
||||
//if (cantidad > 0) {
|
||||
// txtimporte.val((cantidad * pu).toFixed(2));
|
||||
// txtPorcentaje.val(Math.round10(cantidad * 100 / max, -2));
|
||||
//} else {
|
||||
// txtimporte.val('');
|
||||
// txtPorcentaje.val('');
|
||||
//}
|
||||
|
||||
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -569,7 +569,7 @@ Partial Class Inventarios_InventarioFisicoDetalle
|
||||
Dim Inventarios As New ClsInventarios
|
||||
Inventarios.IniciaTransacSQL()
|
||||
|
||||
If Inventarios.AddInventarioFisicoResultados(CveInventarioFisico, UsuarioActual.CveUsuario) Then
|
||||
If Inventarios.AddInventarioFisicoResultados(CveInventarioFisico, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
If Inventarios.UpdateInventarioFisicoEstatus(CveInventarioFisico, 3, UsuarioActual.CveEmpresa) Then
|
||||
Dim url As String = ("/Inventarios/RepAnomalias.aspx?CveInventarioFisico=" + CveInventarioFisico.ToString)
|
||||
Alert("Ha finalizado el Inventario Físico. Sera enviado al reporte de anomalías", TipoMensaje.MsgInformacion, " window.location=""" + url + """")
|
||||
@@ -779,9 +779,9 @@ Partial Class Inventarios_InventarioFisicoDetalle
|
||||
End If
|
||||
Dim serie As String = IIf(TxtSerieLote.Text.ToString = "", "-1", TxtSerieLote.Text.ToString)
|
||||
Dim Lote As String = IIf(TxtLoteEdit.Text.ToString = "", "-1", TxtLoteEdit.Text.ToString)
|
||||
Dim FechaCaducida As Date = IIf(TxtFechaCaducida.Text.ToString = "", MinFecha, TxtFechaCaducida.Text.ToString.ToDate)
|
||||
Dim FechaCaducidad As Date = IIf(TxtFechaCaducida.Text.ToString = "", MinFecha, TxtFechaCaducida.Text.ToString.ToDate)
|
||||
|
||||
If objInventario.UpdateInventarioFisicoDetalles(HfCveInventarioFisicoDetalle.Value.ToEntero, HfCvePS.Value.ToEntero, HfCveUM.Value.ToEntero, TxtCantidad.Text.ToEntero, serie, Lote, FechaCaducida) Then
|
||||
If objInventario.UpdateInventarioFisicoDetalles(HfCveInventarioFisicoDetalle.Value.ToEntero, HfCvePS.Value.ToEntero, HfCveUM.Value.ToEntero, TxtCantidad.Text.ToDecimal, serie, Lote, FechaCaducidad) Then
|
||||
If objInventario.GetInventarioFisicoDetalle(CveInventarioFisico, ddlUsuario.SelectedValue.ToString.ToEntero) Then
|
||||
GvIFD.DataSource = objInventario.DtResultados
|
||||
End If
|
||||
|
||||
@@ -2322,7 +2322,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim tCveConcepto As Integer = 69
|
||||
|
||||
For Each RowInv As DataRow In tmpCostos.Rows
|
||||
ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL
|
||||
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL
|
||||
If tCveConcepto = 69 Then
|
||||
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
|
||||
End If
|
||||
@@ -2532,7 +2532,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
ElseIf DtDetalleLote.Rows.Count > 0 Then
|
||||
Dim ContDt As Integer = 0
|
||||
' por redondeo
|
||||
If gvr.FCTextBox("TbCantidadF").Text.ToDouble = 1 Then PU = PU.RoundAD
|
||||
If gvr.FCTextBox("TbCantidadF").Text.ToDouble = 1 Then PU = PU.RoundSQL
|
||||
For Each Dr As DataRow In DtDetalleLote.Rows
|
||||
SumaTotal += Dr("Cantidad").ToString.ToDecimal * (PU + CostoIndirecto)
|
||||
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalleLote.Rows.Count AndAlso (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL <> SumaTotal Then
|
||||
@@ -2633,7 +2633,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
ElseIf DtDetalleLote.Rows.Count > 0 Then
|
||||
Dim ContDt As Integer = 0
|
||||
' por redondeo
|
||||
If gvr.FCTextBox("TbCantidadF").Text.ToDouble = 1 Then PU = PU.RoundAD
|
||||
If gvr.FCTextBox("TbCantidadF").Text.ToDouble = 1 Then PU = PU.RoundSQL
|
||||
For Each Dr As DataRow In DtDetalleLote.Rows
|
||||
SumaTotal += Dr("Cantidad").ToString.ToDecimal * (PU + CostoIndirecto)
|
||||
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso ContDt + 1 = DtDetalleLote.Rows.Count AndAlso (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL <> SumaTotal Then
|
||||
@@ -2650,7 +2650,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Next
|
||||
Else
|
||||
' por redondeo
|
||||
If gvr.FCTextBox("TbCantidadF").Text.ToDouble = 1 Then PU = PU.RoundAD
|
||||
If gvr.FCTextBox("TbCantidadF").Text.ToDouble = 1 Then PU = PU.RoundSQL
|
||||
SumaTotal += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU + CostoIndirecto) ' considerar el costo indirecto para el ajuste
|
||||
If RecibidaCompleta AndAlso Cont + 1 = GvInv.Rows.Count AndAlso (TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)).RoundSQL <> SumaTotal.RoundSQL Then
|
||||
Dim tTotal As Decimal = gvr.FCTextBox("TbCantidadF").Text.ToDecimal * (PU)
|
||||
@@ -3159,7 +3159,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim ValorInventario As Decimal = 0
|
||||
DtCostos = ObjInventario.DtResultados
|
||||
Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL
|
||||
Dim TotalCostoExtranjero As Decimal = DtCostos.SUM("TotalExtranjero").ToDecimal
|
||||
Dim TotalCostoExtranjero As Decimal = DtCostos.SUMD("TotalExtranjero")
|
||||
|
||||
'VARIABLES
|
||||
Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
|
||||
@@ -4195,7 +4195,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
|
||||
For Each Dr As DataRow In DtInv.Rows
|
||||
Dr("PU") = Dr("PUExtranjero")
|
||||
Dr("Total") = Dr("PU").ToString.ToDouble * Dr("Cantidad").ToString.ToDouble
|
||||
Dr("Total") = Dr("PU").ToString.ToDecimal * Dr("Cantidad").ToString.ToDecimal
|
||||
Dr("CostoIndirecto") = Dr("CostoIndirectoExtranjero")
|
||||
Next
|
||||
|
||||
@@ -4222,9 +4222,9 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End If
|
||||
|
||||
For Each Dr As DataRow In DtInv.Rows
|
||||
Dr("PU") = Dr("PUExtranjero").ToString.ToDouble * TipoCambio
|
||||
Dr("Total") = Dr("PU").ToString.ToDouble * Dr("CantidadC").ToString.ToDouble
|
||||
Dr("CostoIndirecto") = Dr("CostoIndirectoExtranjero").ToString.ToDouble * TipoCambio
|
||||
Dr("PU") = Dr("PUExtranjero").ToString.ToDecimal * TipoCambio
|
||||
Dr("Total") = Dr("PU").ToString.ToDecimal * Dr("CantidadC").ToString.ToDecimal
|
||||
Dr("CostoIndirecto") = Dr("CostoIndirectoExtranjero").ToString.ToDecimal * TipoCambio
|
||||
Next
|
||||
DtInv.AcceptChanges()
|
||||
End Sub
|
||||
|
||||
@@ -198,7 +198,7 @@ Partial Class Inventarios_RepAnomalias
|
||||
If (GvF.Rows.Count > 0) Then
|
||||
GvF.UseAccessibleHeader = True
|
||||
GvF.HeaderRow.TableSection = TableRowSection.TableHeader
|
||||
Script = "OrdenarGVF();"
|
||||
|
||||
divRegistradosFaltan.Visible = True
|
||||
LtlTotalRegistrosFaltan.Text = GvF.Rows.Count.ToString
|
||||
End If
|
||||
@@ -206,7 +206,7 @@ Partial Class Inventarios_RepAnomalias
|
||||
If (GvS.Rows.Count > 0) Then
|
||||
GvS.UseAccessibleHeader = True
|
||||
GvS.HeaderRow.TableSection = TableRowSection.TableHeader
|
||||
Script += "OrdenarGVS();"
|
||||
|
||||
divRegistradosSobran.Visible = True
|
||||
LtlTotalRegistrosSobran.Text = GvS.Rows.Count.ToString
|
||||
End If
|
||||
@@ -214,7 +214,7 @@ Partial Class Inventarios_RepAnomalias
|
||||
If (GvC.Rows.Count > 0) Then
|
||||
GvC.UseAccessibleHeader = True
|
||||
GvC.HeaderRow.TableSection = TableRowSection.TableHeader
|
||||
Script += "OrdenarGVS();"
|
||||
|
||||
divRegistradosCoinciden.Visible = True
|
||||
LtlCoincidentes.Text = GvC.Rows.Count.ToString
|
||||
End If
|
||||
@@ -233,7 +233,7 @@ Partial Class Inventarios_RepAnomalias
|
||||
Protected Sub btnFin_Click(sender As Object, e As EventArgs) Handles btnFin.Click
|
||||
Dim Inventarios As New ClsInventarios
|
||||
Inventarios.IniciaTransacSQL()
|
||||
If Inventarios.AddInventarioFisicoResultados(CveInventarioFisico, UsuarioActual.CveUsuario) Then
|
||||
If Inventarios.AddInventarioFisicoResultados(CveInventarioFisico, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
If Inventarios.UpdateInventarioFisicoEstatus(CveInventarioFisico, 3, UsuarioActual.CveEmpresa) Then
|
||||
Dim url As String = ("/Inventarios/RepAnomalias.aspx?CveInventarioFisico=" + CveInventarioFisico.ToString)
|
||||
Alert("Ha finalizado el Inventario Físico. Sera enviado al reporte de anomalías", TipoMensaje.MsgInformacion, " window.location=""" + url + """")
|
||||
|
||||
@@ -2583,12 +2583,11 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
ObjFactura.Version = "3.3"
|
||||
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
|
||||
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
|
||||
ObjFactura.TipoCambio = 0
|
||||
'ObjFactura.TipoCambio = 1
|
||||
ObjFactura.ConvertirPesos = False
|
||||
ObjFactura.TipoCambio = 0
|
||||
ObjFactura.CveMoneda = 1
|
||||
ObjFactura.Moneda = GlobalDTMonedas.FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjFactura.CveMoneda} ")
|
||||
ObjFactura.MonedaSAT = GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", "CveMoneda = 1")
|
||||
ObjFactura.MonedaSAT = "XXX" 'GlobalDTMonedas.FiltroPrimeroValor("AbreviaturaSAT", "CveMoneda = 1")
|
||||
ObjFactura.MonedaAbreviatura = GlobalDTMonedas.FiltroPrimeroValor("Abreviatura", $"CveMoneda = {ObjFactura.CveMoneda} ")
|
||||
ObjFactura.TipoDocto = "Tra"
|
||||
ObjFactura.RefDocto = ""
|
||||
@@ -2656,23 +2655,22 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
|
||||
ObjFactura.Inv_CveMovimiento = CveMovimientoTimbrado
|
||||
|
||||
ObjFactura.Timbre = PreParaTimbre(ObjFactura)
|
||||
ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura)
|
||||
|
||||
End Sub
|
||||
Private Function PreParaTimbre(Obj As Modelos.Factura) As CFDITimbre
|
||||
Private Function PreParaTimbreCartaPorte(Obj As Modelos.Factura) As CFDITimbre
|
||||
Dim Timbre As New CFDITimbre
|
||||
Timbre.Comprobante.TipoComprobante = "T"
|
||||
Timbre.Comprobante.Folio = Obj.Folio.ToString
|
||||
Timbre.Comprobante.Serie = Obj.Serie
|
||||
Timbre.Comprobante.Fecha = Obj.Fecha
|
||||
Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33
|
||||
Timbre.Comprobante.CondicionesdePago = Obj.FormaPago33
|
||||
Timbre.Comprobante.CondicionesdePago = ""
|
||||
Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT
|
||||
Timbre.Comprobante.Subtotal = Obj.SubTotal
|
||||
Timbre.Comprobante.Descuentos = Obj.Descuento
|
||||
Timbre.Comprobante.Moneda = Obj.MonedaSAT
|
||||
Timbre.Comprobante.TipoCambio = If(Obj.CveMoneda = 1, "1", Obj.TipoCambio.ToString)
|
||||
Timbre.Comprobante.Total = Obj.Total
|
||||
Timbre.Comprobante.Moneda = "XXX"
|
||||
Timbre.Comprobante.TipoCambio = "" ' CONDICIÓN SI LA MONEDA ES 'XXX'
|
||||
|
||||
Timbre.Comprobante.LugarExpedicion = Obj.SubProyecto.CP
|
||||
Timbre.Comprobante.Confirmacion = ""
|
||||
@@ -2690,7 +2688,75 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
'DETALLES
|
||||
Dim tPS As String = ""
|
||||
|
||||
Dim CartaPorte As New CFDICartaPorte
|
||||
CartaPorte.TranspInternac = "No"
|
||||
CartaPorte.EntradaSalidaMercancia = ""
|
||||
CartaPorte.ViaEntradaSalida = ""
|
||||
CartaPorte.TotalDistanciaRecorrida = 12
|
||||
|
||||
CartaPorte.Mercancias.PesoBrutoTotal = 0
|
||||
CartaPorte.Mercancias.UnidadPeso = ""
|
||||
CartaPorte.Mercancias.CargoporTasacion = 0
|
||||
|
||||
CartaPorte.FiguraTransporte.AutoTransporteFederal.PermSCT = "TPAF01"
|
||||
CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPermisoSCT = "1234567890"
|
||||
CartaPorte.FiguraTransporte.AutoTransporteFederal.NombreAseg = "GNP"
|
||||
CartaPorte.FiguraTransporte.AutoTransporteFederal.NumPolizaSeguro = "P123"
|
||||
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.ConfigVehicular = "C2"
|
||||
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.PlacaVM = "WTF757A"
|
||||
CartaPorte.FiguraTransporte.AutoTransporteFederal.Vehiculo.AnioModeloVM = 2007
|
||||
|
||||
Dim DomOrigen As New CFDICartaPorteDomicilio With {.Calle = "calle",
|
||||
.Colonia = "",
|
||||
.CP = "45200",
|
||||
.Estado = "JAL",
|
||||
.Pais = "MEX",
|
||||
.Localidad = ""}
|
||||
Dim DomDestino As New CFDICartaPorteDomicilio With {.Calle = "calle destino",
|
||||
.Colonia = "",
|
||||
.CP = "45200",
|
||||
.Estado = "JAL",
|
||||
.Pais = "MEX",
|
||||
.Localidad = ""}
|
||||
Dim Ubica As New CFDICartaPorteUbicaciones
|
||||
Ubica.TipoEstacion = "01"
|
||||
Ubica.DistanciaRecorrida = 6
|
||||
Ubica.Origen = New CFDICartaPorteUbicacionOrigen With {.RFCRemitente = "CAMJ841219I33",
|
||||
.FechaHoraSalida = "2021-08-23T11:13:01",
|
||||
.NombreRemitente = "Empresa",
|
||||
.Domicilio = DomOrigen}
|
||||
Ubica.Destino = New CFDICartaPorteUbicacionDestino With {.RFCDestinatario = "CAMJ841219I33",
|
||||
.FechaHoraProgLlegada = "2021-08-23T11:13:01",
|
||||
.NombreDestinatario = "Empresa dest",
|
||||
.Domicilio = DomDestino}
|
||||
|
||||
CartaPorte.Ubicaciones.Add(Ubica)
|
||||
|
||||
CartaPorte.FiguraTransporte.ClaveTransporte = "01"
|
||||
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {.RFCOperador = "CAMJ841219I33",
|
||||
.Domicilio = Nothing,
|
||||
.NombreOperador = "juan Perez",
|
||||
.NumLicencia = "Num Lic",
|
||||
.NumRegidTribOperador = "",
|
||||
.ResidenciaFiscalOperador = ""})
|
||||
|
||||
'concepto único
|
||||
|
||||
Dim concepto As New CFDIConceptos With {.Cantidad = 1,
|
||||
.Descripcion = "Flete",
|
||||
.ValorUnitario = 0,
|
||||
.Importe = 0,
|
||||
.Descuento = 0L,
|
||||
.Unidad = "Servicio",
|
||||
.ClaveUnidad = "E48",
|
||||
.ClaveProdServ = "78101802",
|
||||
.Noidentificacion = "",
|
||||
.CuentaPredial = ""}
|
||||
|
||||
Timbre.Conceptos.Add(concepto)
|
||||
|
||||
For Each drr As DataRow In Obj.DtDetalle.Rows
|
||||
|
||||
If drr("PS").ToString.Length = 1 Then
|
||||
tPS = drr("Obs").ToString
|
||||
Else
|
||||
@@ -2700,32 +2766,32 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
|
||||
End If
|
||||
End If
|
||||
Dim conceptoCarta As New CFDICartaPorteMercancia With {
|
||||
.BienesTransp = drr("SATClaveProdServ").ToString,
|
||||
.ClaveSTCC = "01334",
|
||||
.Cantidad = drr("Cantidad").ToString.ToDecimal,
|
||||
.Descripción = tPS,
|
||||
.ClaveUnidad = drr("SATClaveUM").ToString,
|
||||
.Unidad = drr("UM").ToString,
|
||||
.Dimensiones = "",
|
||||
.MaterialPeligroso = "",
|
||||
.Embalaje = "",
|
||||
.DescripEmbalaje = "",
|
||||
.PesoenKg = 203,
|
||||
.ValorMercancia = drr("PU").ToString.ToDecimal,
|
||||
.Moneda = "MXN", 'tempral
|
||||
.FraccionArrancelaria = "",
|
||||
.UUIDComercioExt = ""
|
||||
}
|
||||
|
||||
'CONDICIONANTE, ESPECIAL
|
||||
If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" 'LES COMENTAN QUE NO DEBE IR LA ETIQUETA DE LA UNIDAD EN EL PRODUCTO
|
||||
|
||||
Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString.ToDecimal,
|
||||
.Descripcion = tPS,
|
||||
.ValorUnitario = drr("PU").ToString.ToDecimal,
|
||||
.Importe = drr("TotalImporte").ToString.ToDecimal,
|
||||
.Descuento = drr("Descuento").ToString.ToDecimal,
|
||||
.Unidad = drr("UM").ToString,
|
||||
.ClaveUnidad = drr("SATClaveUM").ToString,
|
||||
.ClaveProdServ = drr("SATClaveProdServ").ToString,
|
||||
.Noidentificacion = drr("Noidentificacion").ToString,
|
||||
.CuentaPredial = drr("CuentaPredial").ToString}
|
||||
'VERIFICA SUMA SUBTOTALES
|
||||
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'PROCESO DE AJUSTA DE DECIMALES
|
||||
concepto.Importe = totSubTotal
|
||||
End If
|
||||
totSubTotal = totSubTotal - concepto.Importe
|
||||
CartaPorte.Mercancias.Mercancias.Add(conceptoCarta)
|
||||
|
||||
'SIEMPRE ESTAMOS AGREGANDO EL IVA
|
||||
'concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIVA").ToString.ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString.ToDecimal})
|
||||
|
||||
Timbre.Conceptos.Add(concepto)
|
||||
i += 1
|
||||
Next
|
||||
Timbre.Complementos.CartaPorte = CartaPorte
|
||||
|
||||
Return Timbre
|
||||
End Function
|
||||
|
||||
@@ -2783,6 +2849,11 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
Dim TmpDTComplementosTimbrado As New DataTable
|
||||
PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
|
||||
MensajeAlert.Append("<br/><br/>")
|
||||
|
||||
|
||||
'If TimbrarFacturaGoCFDIv33(ObjFactura, UsuarioActual, 4) <> "" Then
|
||||
' MensajeAlert.AppendFormat("<ul><li>-- no timbró-{0}</li></ul>", MensajeErrorCFDI)
|
||||
'End If
|
||||
If ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then
|
||||
MensajeAlert.Append("Emitido con exito.")
|
||||
'XML
|
||||
@@ -2800,7 +2871,7 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
MensajeAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar Carta Porte</a></li></ul>", Encripta(String.Format("OP=CARPO&CVEMOV={0}", CveMovimientoTimbrado)))
|
||||
|
||||
Else
|
||||
MensajeAlert.AppendFormat(ObjTimbrado.MensajeErrorCFDI)
|
||||
MensajeAlert.AppendFormat("<ul><li>{0}</li></ul>", ObjTimbrado.MensajeErrorCFDI)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
@@ -3010,54 +3081,6 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable
|
||||
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
||||
Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath)
|
||||
|
||||
Dim unnamed As Integer = 0
|
||||
Dim cols As Integer
|
||||
Dim columns As String()
|
||||
Dim curRow As Integer = 0
|
||||
Dim curCol As Integer = 0
|
||||
Dim dataTable As DataTable = New DataTable()
|
||||
Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0)
|
||||
|
||||
For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1
|
||||
|
||||
If firstRowHasHeaders Then
|
||||
|
||||
If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then
|
||||
dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString())
|
||||
Else
|
||||
dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed)))
|
||||
End If
|
||||
|
||||
curRow = 1
|
||||
Else
|
||||
dataTable.Columns.Add("Column " & (cols + 1))
|
||||
End If
|
||||
Next
|
||||
|
||||
While curRow < worksheet.Rows.Count
|
||||
columns = New String(cols - 1) {}
|
||||
|
||||
For curCol = 0 To cols - 1
|
||||
|
||||
If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then
|
||||
columns(curCol) = ""
|
||||
Else
|
||||
columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString()
|
||||
End If
|
||||
Next
|
||||
|
||||
dataTable.Rows.Add(columns)
|
||||
curRow += 1
|
||||
End While
|
||||
|
||||
Return dataTable
|
||||
End Function
|
||||
|
||||
Public Sub CargarCamiones()
|
||||
DdlUnidadCamion.Items.Clear()
|
||||
Dim ObjInventarios As New ClsInventarios
|
||||
@@ -3151,4 +3174,5 @@ Partial Class Inventarios_TraspasoAlmacen
|
||||
UpDatos.Update()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -3754,8 +3754,12 @@ Partial Class OC
|
||||
e.Row.FCDropDownList("DdlPS").Enabled = False
|
||||
e.Row.FCDropDownList("DdlClasificacion").Enabled = False
|
||||
e.Row.FCDropDownList("CboUnidadMedidaEdit").Enabled = False
|
||||
e.Row.FCTextBox("TxtImporteEdit").Enabled = False
|
||||
e.Row.FCTextBox("TxtDescuentoEdit").Enabled = False
|
||||
'que tenga el permiso que no bloquee
|
||||
If Not UsuarioActual.TienePermisoProceso(329) AndAlso e.Row.DBCampo("CantidadVinculadaCompra").ToDouble = 0 Then 'permite editar pu, aun estando recibida
|
||||
e.Row.FCTextBox("TxtImporteEdit").Enabled = False
|
||||
e.Row.FCTextBox("TxtDescuentoEdit").Enabled = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'DDL PS
|
||||
|
||||
@@ -19,6 +19,16 @@
|
||||
<li>
|
||||
<asp:HyperLink ID="HlAgregarExcel" NavigateUrl="#" Visible="True" data-toggle="modal" data-target="#DivCargaExcel" runat="server"><i class='fa fa-server'></i> Importar Listado</asp:HyperLink>
|
||||
</li>
|
||||
<li>
|
||||
<asp:UpdatePanel ID="UpExportarExcel" runat="server">
|
||||
<ContentTemplate>
|
||||
<asp:LinkButton ID="LnkExportarExcel" Text="<i class='fa fa-file-excel-o'></i> ExportarExcel" runat="server" OnClick="LnkExportarExcel_Click"></asp:LinkButton>
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="LnkExportarExcel"/>
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
</li>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||
|
||||
|
||||
@@ -5,7 +5,8 @@ Option Strict On
|
||||
Imports Extensiones
|
||||
Imports System.Data
|
||||
Imports GemBox.Spreadsheet
|
||||
|
||||
Imports System.IO
|
||||
|
||||
Partial Class Ventas_ActualizarPrecios
|
||||
Inherits ClsPaginas
|
||||
|
||||
@@ -17,6 +18,16 @@ Partial Class Ventas_ActualizarPrecios
|
||||
ViewState("DtSubProyectos") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property DtDatosPrecios As DataTable
|
||||
Get
|
||||
Return If(IsNothing(ViewState("DtDatosPrecios")), Nothing, CType(ViewState("DtDatosPrecios"), DataTable))
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtDatosPrecios") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property CveSucursal As Integer
|
||||
Get
|
||||
If ViewState("CveSucursal") Is Nothing Then
|
||||
@@ -145,7 +156,7 @@ Partial Class Ventas_ActualizarPrecios
|
||||
End Sub
|
||||
Private Sub CargarModelos()
|
||||
If UsuarioActual.Empresa.Funcionalidad(558).ToString = "1" Then
|
||||
lblModelo.visible = True
|
||||
lblModelo.Visible = True
|
||||
DdlModelo.Visible = True
|
||||
Dim ObjGeneral As New ClsGenerales
|
||||
If ObjGeneral.GetModelos(UsuarioActual.CveEmpresa) Then
|
||||
@@ -173,7 +184,8 @@ Partial Class Ventas_ActualizarPrecios
|
||||
|
||||
If objPS.GetPSPreciosLista(UsuarioActual.CveEmpresa, DdlPrecioLista.SelectedValue.ToEntero, DDlClasificacion.SelectedValue.ToEntero, CvePS,
|
||||
CveProveedor:=CveProveedor, Estado:=DdlEstado.SelectedValue.ToEntero, Marcas:=Marcas, CveModelo:=DdlModelo.SelectedValue.ToEntero) Then
|
||||
GVPrecios.DataSource = objPS.DtResultados
|
||||
DtDatosPrecios = objPS.DtResultados
|
||||
GVPrecios.DataSource = DtDatosPrecios
|
||||
End If
|
||||
objPS.Dispose()
|
||||
|
||||
@@ -246,8 +258,8 @@ Partial Class Ventas_ActualizarPrecios
|
||||
TxtImporte.Text = ""
|
||||
TxtPrecio.Text = ""
|
||||
TxtPorcentaje.Text = ""
|
||||
End Sub
|
||||
|
||||
End Sub
|
||||
|
||||
#Region "MODAL PRECIOS MINIMOS"
|
||||
Public Sub LnkPrecioMinActual_Click(sender As Object, e As EventArgs)
|
||||
|
||||
@@ -305,10 +317,10 @@ Partial Class Ventas_ActualizarPrecios
|
||||
|
||||
ObjProductosServicios.Dispose()
|
||||
|
||||
End Sub
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "C A R G A R E X C E L "
|
||||
Private Sub BtnDescargarFormato_Click(sender As Object, e As EventArgs) Handles BtnDescargarFormato.Click
|
||||
|
||||
@@ -544,9 +556,9 @@ Partial Class Ventas_ActualizarPrecios
|
||||
End While
|
||||
|
||||
Return dataTable
|
||||
End Function
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
|
||||
Protected Sub gvSucursal_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
e.Row.FCTextBox("TxtPrecioMinimo").Attributes.Add("onKeyUp", String.Format("FncSeleccionaChk({0});", e.Row.FCCheckBox("chkSucursal").ClientID))
|
||||
@@ -592,5 +604,200 @@ Partial Class Ventas_ActualizarPrecios
|
||||
Return True
|
||||
End If
|
||||
|
||||
End Function
|
||||
End Function
|
||||
Protected Sub LnkExportarExcel_Click(sender As Object, e As EventArgs)
|
||||
Dim DtExcel As New DataTable("Precios")
|
||||
DtExcel.Columns.Add(New DataColumn("Código", GetType(String)))
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then 'Empresa Acumuladores
|
||||
DtExcel.Columns.Add(New DataColumn("Código CPK", GetType(String)))
|
||||
End If
|
||||
|
||||
DtExcel.Columns.Add(New DataColumn("Producto/Servicio", GetType(String)))
|
||||
DtExcel.Columns.Add(New DataColumn("Clasificación", GetType(String)))
|
||||
DtExcel.Columns.Add(New DataColumn("Importe", GetType(Decimal)))
|
||||
DtExcel.Columns.Add(New DataColumn("Precio Mínimo", GetType(Decimal)))
|
||||
DtExcel.Columns.Add(New DataColumn("U.M.", GetType(String)))
|
||||
DtExcel.Columns.Add(New DataColumn("Moneda", GetType(String)))
|
||||
|
||||
If UsuarioActual.CveEmpresa = 153 Then 'Empresa servec
|
||||
DtExcel.Columns.Add(New DataColumn("C. Promedio", GetType(Decimal)))
|
||||
End If
|
||||
|
||||
DtExcel.Columns.Add(New DataColumn("E. Mínimo", GetType(Decimal)))
|
||||
DtExcel.Columns.Add(New DataColumn("Importe Anterior", GetType(Decimal)))
|
||||
DtExcel.Columns.Add(New DataColumn("Precio Mínimo Anterior", GetType(Decimal)))
|
||||
DtExcel.Columns.Add(New DataColumn("Fecha Modificación", GetType(DateTime)))
|
||||
DtExcel.Columns.Add(New DataColumn("Usuario Modificó", GetType(String)))
|
||||
DtExcel.Columns.Add(New DataColumn("Porcentaje", GetType(Decimal)))
|
||||
DtExcel.Columns.Add(New DataColumn("Fecha Ingreso", GetType(Decimal)))
|
||||
DtExcel.Columns.Add(New DataColumn("Usuario Ingresó", GetType(String)))
|
||||
|
||||
|
||||
If DtDatosPrecios IsNot Nothing Then
|
||||
For Each Row As DataRow In DtDatosPrecios.Rows
|
||||
Dim NewRow As DataRow = DtExcel.NewRow()
|
||||
|
||||
NewRow("Código") = Row("Codigo")
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then 'Empresa Acumuladores
|
||||
NewRow("Código CPK") = Row("Codigo2")
|
||||
End If
|
||||
|
||||
NewRow("Producto/Servicio") = Row("PS")
|
||||
NewRow("Clasificación") = Row("Clasificacion")
|
||||
NewRow("Importe") = Row("PrecioLista")
|
||||
NewRow("Precio Mínimo") = Row("PrecioMinimo")
|
||||
NewRow("U.M.") = Row("UnidadMedida")
|
||||
NewRow("Moneda") = Row("Moneda")
|
||||
|
||||
If UsuarioActual.CveEmpresa = 153 Then 'Empresa servec
|
||||
NewRow("C. Promedio") = Row("CostoPromedio")
|
||||
End If
|
||||
|
||||
NewRow("E. Mínimo") = Row("VentaMinima")
|
||||
NewRow("Importe Anterior") = Row("ImporteAnterior")
|
||||
NewRow("Precio Mínimo Anterior") = Row("PrecioMinimoAnterior")
|
||||
NewRow("Fecha Modificación") = Row("FechaModificacion")
|
||||
NewRow("Usuario Modificó") = Row("UsuarioModifico")
|
||||
NewRow("Porcentaje") = Row("Porcentaje")
|
||||
NewRow("Fecha Ingreso") = Row("FechaIng")
|
||||
NewRow("Usuario Ingresó") = Row("Usuario")
|
||||
|
||||
DtExcel.Rows.Add(NewRow)
|
||||
Next
|
||||
End If
|
||||
|
||||
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
||||
|
||||
Dim FileExcel As New ExcelFile()
|
||||
|
||||
Dim worksheet = FileExcel.Worksheets.Add(DtExcel.TableName)
|
||||
worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With
|
||||
{
|
||||
.ColumnHeaders = True,
|
||||
.StartRow = 0,
|
||||
.StartColumn = 0
|
||||
})
|
||||
worksheet.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
|
||||
worksheet.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
|
||||
|
||||
Dim columnCount = worksheet.CalculateMaxUsedColumns()
|
||||
For i = 0 To columnCount
|
||||
worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1))
|
||||
Next
|
||||
|
||||
Dim FechaIMes As String = "", FechaFMes As String = "", Titulo As String = "LISTADO DE PRECIOS", ListaPrecios As String = DdlPrecioLista.SelectedItem.Text, Divisor As Integer = 1, AlturaImagen As Double = 100, AnchoImagen As Double = 100, DatoTituloExtra As String = ""
|
||||
|
||||
|
||||
Dim TotalRowHeader As Integer = 8
|
||||
Dim TotalRowFooter As Integer = 2
|
||||
|
||||
|
||||
worksheet.Rows.InsertEmpty(0, TotalRowHeader)
|
||||
Dim celdasConTexto = worksheet.GetUsedCellRange(True)
|
||||
celdasConTexto.Style.Font.Name = "Calibri Light"
|
||||
|
||||
Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex)
|
||||
RangoNombreEmpresa.Merged = True
|
||||
RangoNombreEmpresa.Value = UsuarioActual.Empresa.Empresa
|
||||
RangoNombreEmpresa.Style.Font.Size = 20 * 20
|
||||
RangoNombreEmpresa.Style.Font.Name = "Calibri Light"
|
||||
RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||
RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||
|
||||
|
||||
Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex)
|
||||
RangoTitulo.Merged = True
|
||||
RangoTitulo.Value = Titulo
|
||||
RangoTitulo.Style.Font.Size = 17 * 20
|
||||
RangoTitulo.Style.Font.Name = "Calibri Light"
|
||||
RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||
RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||
|
||||
|
||||
'If FechaIMes.Trim.Length > 0 And FechaFMes.Trim.Length > 0 Then
|
||||
' Dim RangoFechas = worksheet.Cells.GetSubrangeAbsolute(4, celdasConTexto.FirstColumnIndex, 4, celdasConTexto.LastColumnIndex)
|
||||
' RangoFechas.Merged = True
|
||||
' RangoFechas.Value = $"Fechas: {FechaIMes} a {FechaFMes}"
|
||||
' RangoFechas.Style.Font.Size = 15 * 20
|
||||
' RangoFechas.Style.Font.Name = "Calibri Light"
|
||||
' RangoFechas.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||
' RangoFechas.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||
'End If
|
||||
|
||||
|
||||
If ListaPrecios.Length > 0 Then
|
||||
Dim RangoSubProyecto = worksheet.Cells.GetSubrangeAbsolute(5, celdasConTexto.FirstColumnIndex, 5, celdasConTexto.LastColumnIndex)
|
||||
RangoSubProyecto.Merged = True
|
||||
RangoSubProyecto.Value = $"Lista de precio: {ListaPrecios}"
|
||||
RangoSubProyecto.Style.Font.Size = 14 * 20
|
||||
RangoSubProyecto.Style.Font.Name = "Calibri Light"
|
||||
RangoSubProyecto.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||
RangoSubProyecto.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||
End If
|
||||
|
||||
|
||||
For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
|
||||
|
||||
worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20
|
||||
worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
||||
worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
||||
|
||||
worksheet.Rows(8).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
|
||||
worksheet.Rows(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
|
||||
|
||||
|
||||
|
||||
If i > 0 Then
|
||||
Try
|
||||
worksheet.Columns(i).AutoFit(1)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
Dim IndexEndTable As Integer = DtExcel.Rows.Count + TotalRowHeader + TotalRowFooter
|
||||
|
||||
worksheet.Rows(IndexEndTable).Cells(0).Value = "Usuario Imprimió"
|
||||
worksheet.Rows(IndexEndTable + 1).Cells(0).Value = UsuarioActual.Nombre
|
||||
|
||||
worksheet.Rows(IndexEndTable).Cells(2).Value = "Fecha Impresión"
|
||||
worksheet.Rows(IndexEndTable + 1).Cells(2).Value = DateTime.Now.ToString("dd/MM/yyyy")
|
||||
|
||||
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
||||
|
||||
If Imagen.Exists Then
|
||||
Dim Ruta As String = String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)
|
||||
Using sr As New StreamReader(Ruta)
|
||||
Dim ms As New MemoryStream()
|
||||
sr.BaseStream.CopyTo(ms)
|
||||
worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel)
|
||||
End Using
|
||||
End If
|
||||
|
||||
|
||||
For I = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
|
||||
|
||||
If I > 0 Then
|
||||
|
||||
If Divisor = 1 Then
|
||||
worksheet.Columns(I + 1).Style.NumberFormat = "#,##0.00"
|
||||
Else
|
||||
worksheet.Columns(I + 1).Style.NumberFormat = "#,##"
|
||||
End If
|
||||
|
||||
Try
|
||||
worksheet.Columns(I).AutoFit(1)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
|
||||
End If
|
||||
Next
|
||||
|
||||
FileExcel.Save(Response, "Precios.xlsx", SaveOptions.XlsxDefault)
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
@@ -85,7 +85,7 @@ Partial Class Ventas_CatImpuestosLocales
|
||||
Dim TieneError = False
|
||||
Dim CveImpuestoLocal As Integer = GvImpuestos.Rows(e.RowIndex).DataKey("CveImpuestoLocal").ToEntero
|
||||
Dim Impuesto As String = GvImpuestos.Rows(e.RowIndex).FCTextBox("TxtImpuestoLocal").Text.Trim
|
||||
Dim Porcentaje As Double = GvImpuestos.Rows(e.RowIndex).FCTextBox("TxtVentaPorcentaje").Text.ToDouble
|
||||
Dim Porcentaje As Decimal = GvImpuestos.Rows(e.RowIndex).FCTextBox("TxtVentaPorcentaje").Text.ToDecimal
|
||||
Dim Orden = GvImpuestos.Rows(e.RowIndex).FCTextBox("TxtOrdenImpuesto").Text.ToEntero
|
||||
Dim TipoImpuesto = GvImpuestos.Rows(e.RowIndex).FCDropDownList("DdlTipoImpuestoEdit").SelectedValue.ToEntero
|
||||
Dim IdCtaContable = GvImpuestos.Rows(e.RowIndex).FCDropDownList("DdlCuentasContables").SelectedValue.ToEntero
|
||||
@@ -199,7 +199,7 @@ Partial Class Ventas_CatImpuestosLocales
|
||||
If CveImpuestoLocal = -1 Then
|
||||
If ChkEstatus.Checked Then Estatus = 1
|
||||
|
||||
If ObjVentas.AddImpuestosLocales(TxtImpuesto.Text.Trim, TxtPorcentaje.Text.ToDouble, TxtOrden.Text.ToEntero, DdlTipoImpuesto.SelectedValue.ToEntero, Estatus, DdlCuentasContables.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
If ObjVentas.AddImpuestosLocales(TxtImpuesto.Text.Trim, TxtPorcentaje.Text.ToDecimal, TxtOrden.Text.ToEntero, DdlTipoImpuesto.SelectedValue.ToEntero, Estatus, DdlCuentasContables.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
CargaDatos()
|
||||
End If
|
||||
TxtImpuesto.Text = ""
|
||||
@@ -210,7 +210,7 @@ Partial Class Ventas_CatImpuestosLocales
|
||||
If CveImpuestoLocal <> -1 Then
|
||||
Dim TieneError = False
|
||||
Dim Impuesto As String = TxtImpuesto.Text.Trim
|
||||
Dim Porcentaje As Double = TxtPorcentaje.Text.ToDouble
|
||||
Dim Porcentaje As Decimal = TxtPorcentaje.Text.ToDecimal
|
||||
Dim Orden = TxtOrden.Text.ToEntero
|
||||
Dim TipoImpuesto = DdlTipoImpuesto.SelectedValue.ToEntero
|
||||
Dim IdCtaContable = DdlCuentasContables.SelectedValue.ToEntero
|
||||
|
||||
155
Ventas/PV.aspx
155
Ventas/PV.aspx
@@ -1584,6 +1584,12 @@
|
||||
<asp:Label ID="LblAmort" runat="server" ClientIDMode="Static" Text="0.00" Style="display: none;"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="TrDescuentoIncluido" runat="server" visible="false">
|
||||
<td>Descuento Incluido:</td>
|
||||
<td>
|
||||
<asp:Label ID="LblDescuentoIncluido" runat="server" ClientIDMode="Static" Text="0.00"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Por Porcentaje</td>
|
||||
<td>
|
||||
@@ -1604,6 +1610,12 @@
|
||||
($)
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="TrDescuentoAdicional" runat="server" visible="false">
|
||||
<td>Descuento Adicional:</td>
|
||||
<td>
|
||||
<asp:Label ID="LblDescuentoAdicional" runat="server" ClientIDMode="Static" Text="0.00"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b>
|
||||
@@ -2846,6 +2858,7 @@
|
||||
<asp:CustomValidator ID="CVDescuento" runat="server" ClientValidationFunction="ValidaDecimal6digits" ControlToValidate="TxtDescuento" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descuento''</b> no tiene el formato correcto. Por favor rectifique y vuelva a intentar." ValidateEmptyText="True" ValidationGroup="GrpAddVenta"></asp:CustomValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" HighlightCssClass="vco" TargetControlID="CVDescuento" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<label for="<%= TxtDescuento.ClientID.ToString()%>">Descuento:</label>
|
||||
<asp:HiddenField ID="HdnDescuentoOriginal" runat="server" Value="0" ClientIDMode="Static" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
@@ -3374,6 +3387,68 @@
|
||||
|
||||
}
|
||||
|
||||
function CalculaDescuentoAdicional() {
|
||||
if ($get("TxtPorDescP").value != "0" && $get("TxtPorDescP").value != "") {
|
||||
var MontoOriginal = ToDouble($get("HdnDescuentoOriginal").value);
|
||||
|
||||
var Monto = 0;
|
||||
var TipoDescuento = $get("HdnTipoDescuento").value;
|
||||
|
||||
if (TipoDescuento == 0) {
|
||||
Monto = parseFloat($get("LblPrecio1").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
else if (TipoDescuento == 1) {
|
||||
Monto = parseFloat($get("LblTotalPS1").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
else if (TipoDescuento == 2) {
|
||||
Monto = parseFloat($get("LblSubTotal1").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
else if (TipoDescuento == 3) {
|
||||
Monto = parseFloat($get("LblSubTotal1").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
|
||||
if (MontoOriginal > 0) {
|
||||
Monto = Monto - MontoOriginal;
|
||||
}
|
||||
|
||||
var Descuento = parseFloat($get("TxtPorDescP").value);
|
||||
var PorcentajeDescuentoMaximo = parseFloat($get("HdnPorcentajeDescuentoMaximo").value);
|
||||
|
||||
if (PorcentajeDescuentoMaximo > 0 && Descuento > PorcentajeDescuentoMaximo) {
|
||||
$get("TxtDescP").value = "0";
|
||||
$get("TxtPorDescP").value = "0";
|
||||
$get("LblDescuentoAdicional").innerText = "0.00";
|
||||
Descuento = 0;
|
||||
alert("No puede exceder el descuento maximo autorizado.");
|
||||
}
|
||||
|
||||
$get("LblPrecioFinal").innerText = formato_numero(Monto - ((Monto * Descuento) / 100), 2, '.', ',');
|
||||
$get("LblTotalPS").innerText = formato_numero(parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")), 2, '.', ',');
|
||||
var Total = (Monto - parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", ""))) ;
|
||||
|
||||
$get("LblDescuentoAdicional").innerText = formato_numero(Total, 2, '.', ',');
|
||||
|
||||
//SUMA EL DESCUENTO YA EXISTENTE AL ORIGINAL
|
||||
Total = Total + MontoOriginal;
|
||||
|
||||
$get("LblDescuento").innerText = formato_numero(Total, 2, '.', ',');
|
||||
$get("TxtDescuento").value = formato_numero(Total, 2, '.', ',');
|
||||
$get("TxtDescP").value = formato_numero(0, 2, '.', ',');
|
||||
$get("HdnDescuento").value = Total;
|
||||
if (TipoDescuento == 2) {
|
||||
$get("LblDescuentos").innerText = formato_numero(Total, 2, '.', ',');
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
$get("LblPrecioFinal").innerText = "0.00";
|
||||
$get("LblDescuento").innerText = "0.00";
|
||||
$get("HdnDescuento").value = "0.00";
|
||||
$get("LblDescuentoAdicional").innerText = "0.00";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function CalculaDescuentoMonto() {
|
||||
|
||||
if ($get("TxtDescP").value != "0" && $get("TxtDescP").value) {
|
||||
@@ -3423,6 +3498,69 @@
|
||||
}
|
||||
}
|
||||
|
||||
function CalculaDescuentoMontoAdicional() {
|
||||
|
||||
if ($get("TxtDescP").value != "0" && $get("TxtDescP").value) {
|
||||
var MontoOriginal = ToDouble($get("HdnDescuentoOriginal").value);
|
||||
|
||||
var Monto = 0;
|
||||
var TipoDescuento = $get("HdnTipoDescuento").value;
|
||||
|
||||
if (TipoDescuento == 0) {
|
||||
Monto = parseFloat($get("LblPrecio1").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
else if (TipoDescuento == 1) {
|
||||
Monto = parseFloat($get("LblTotalPS1").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
else if (TipoDescuento == 2) {
|
||||
Monto = parseFloat($get("LblSubTotal1").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
else if (TipoDescuento == 3) {
|
||||
Monto = parseFloat($get("LblSubTotal1").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
|
||||
if (MontoOriginal > 0) {
|
||||
Monto = Monto - MontoOriginal;
|
||||
}
|
||||
|
||||
var Descuento = parseFloat($get("TxtDescP").value);
|
||||
|
||||
var PorcentajeDescuento = (Descuento * 100 / Monto)
|
||||
var PorcentajeDescuentoMaximo = parseFloat($get("HdnPorcentajeDescuentoMaximo").value);
|
||||
|
||||
if (PorcentajeDescuentoMaximo > 0 && PorcentajeDescuento > PorcentajeDescuentoMaximo) {
|
||||
$get("TxtDescP").value = "0";
|
||||
$get("TxtPorDescP").value = "0";
|
||||
$get("LblDescuentoAdicional").innerText = "0.00";
|
||||
Descuento = 0;
|
||||
alert("No puede exceder el descuento maximo autorizado.");
|
||||
}
|
||||
|
||||
$get("TxtPorDescP").value = formato_numero((Descuento * 100 / Monto), 2, '.', ',');
|
||||
$get("LblPrecioFinal").innerText = formato_numero(Monto - Descuento, 2, '.', ',');
|
||||
$get("LblTotalPS").innerText = formato_numero(parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", "")), 2, '.', ',');
|
||||
var Total = Monto - parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", ""));
|
||||
|
||||
$get("LblDescuentoAdicional").innerText = formato_numero(Total, 2, '.', ',');
|
||||
|
||||
//SUMA EL DESCUENTO YA EXISTENTE AL ORIGINAL
|
||||
Total = Total + MontoOriginal;
|
||||
|
||||
$get("LblDescuento").innerText = formato_numero(Total, 2, '.', ',');
|
||||
$get("TxtDescuento").value = formato_numero(Total, 2, '.', ',');
|
||||
$get("HdnDescuento").value = Total;
|
||||
if (TipoDescuento == 2) {
|
||||
Monto - parseFloat($get("LblPrecioFinal").innerText.replace(",", "").replace(",", ""));
|
||||
}
|
||||
}
|
||||
else {
|
||||
$get("LblPrecioFinal").innerText = "0.00";
|
||||
$get("LblDescuento").innerText = "0.00";
|
||||
$get("HdnDescuento").value = "0.00";
|
||||
$get("LblDescuentoAdicional").innerText = "0.00";
|
||||
}
|
||||
}
|
||||
|
||||
function BorraDescuentos() {
|
||||
$get("TxtPorDescP").value = "0";
|
||||
$get("TxtDescP").value = "0";
|
||||
@@ -3433,6 +3571,23 @@
|
||||
$("#LblSubTotal1").text($("#TxtSubTotal").val());
|
||||
}
|
||||
|
||||
function AbrirModalDescuentoAdicional()
|
||||
{
|
||||
$('#ModalDescuento').modal();
|
||||
$get('LblTitulo1').style.display = '';
|
||||
$get('LblTitulo2').style.display = 'none';
|
||||
$get('LblTituloTipo1').style.display = '';
|
||||
$get('LblTituloTipo2').style.display = 'none';
|
||||
$get('HdnTipoDescuento').value = '0';
|
||||
$get('LblPrecio1').style.display = '';
|
||||
$get('LblTotalPS1').style.display = 'none';
|
||||
$get('LblSubTotal1').style.display = 'none';
|
||||
$get('LblAmort').style.display = 'none';
|
||||
$get('BtnAplicarDescP').style.display = '';
|
||||
$get('BtnAplicarDescG').style.display = 'none';
|
||||
$get('TrMotivoDescuento').style.display = '';
|
||||
}
|
||||
|
||||
function formato_numero(numero, decimales, separador_decimal, separador_miles) { // v2007-08-06
|
||||
numero = parseFloat(numero);
|
||||
if (isNaN(numero)) {
|
||||
|
||||
@@ -688,7 +688,7 @@ Partial Class PV
|
||||
Get
|
||||
Return New Dictionary(Of Integer, Decimal) From {
|
||||
{20516, 0.23D}, 'Descuento para lubricantes LTH
|
||||
{20515, 0.24D} 'Descuento para filtros LTH
|
||||
{20515, 0.274D} 'Descuento para filtros LTH
|
||||
}
|
||||
End Get
|
||||
End Property
|
||||
@@ -1062,7 +1062,7 @@ Partial Class PV
|
||||
ViewState("ClienteRetIVA") = 0
|
||||
ViewState("ClienteRetISR") = 0
|
||||
ViewState("EnviarCorreoCliente") = False
|
||||
HdnPorcentajeDescuentoMaximo.Value = UsuarioActual.DescuentoAutorizado.ToString()
|
||||
HdnPorcentajeDescuentoMaximo.Value = If(UsuarioActual.DescuentoAutorizado > 0, UsuarioActual.DescuentoAutorizado, 15).ToString()
|
||||
CveVentaDetalle = -1
|
||||
EstablecioFolio = False
|
||||
EstatusCliente = False
|
||||
@@ -1113,7 +1113,19 @@ Partial Class PV
|
||||
LblUsuario.Text = UsuarioActual.Usuario
|
||||
TxtCantidad.Attributes.Add("onKeyUp ", "Recalcula();")
|
||||
TxtPrecio.Attributes.Add("onKeyUp ", "Recalcula();")
|
||||
ImgDescPU.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '0'; $get('LblPrecio1').style.display = ''; $get('LblTotalPS1').style.display = 'none'; $get('LblSubTotal1').style.display = 'none'; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = ''; $get('BtnAplicarDescG').style.display = 'none'; $get('TrMotivoDescuento').style.display = '';")
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
ImgDescPU.Attributes.Add("onclick", "javascript:AbrirModalDescuentoAdicional();")
|
||||
TxtPorDescP.Attributes.Add("onKeyUp", "CalculaDescuentoAdicional();")
|
||||
TxtDescP.Attributes.Add("onKeyUp", "CalculaDescuentoMontoAdicional();")
|
||||
TrDescuentoIncluido.Visible = True
|
||||
TrDescuentoAdicional.Visible = True
|
||||
Else
|
||||
ImgDescPU.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '0'; $get('LblPrecio1').style.display = ''; $get('LblTotalPS1').style.display = 'none'; $get('LblSubTotal1').style.display = 'none'; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = ''; $get('BtnAplicarDescG').style.display = 'none'; $get('TrMotivoDescuento').style.display = '';")
|
||||
TxtPorDescP.Attributes.Add("onKeyUp", "CalculaDescuento();")
|
||||
TxtDescP.Attributes.Add("onKeyUp", "CalculaDescuentoMonto();")
|
||||
End If
|
||||
|
||||
'ImgDescConcepto.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '1'; $get('LblPrecio1').style.display = 'none'; $get('LblTotalPS1').style.display = ''; $get('LblSubTotal1').style.display = 'none'; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = ''; $get('BtnAplicarDescG').style.display = 'none'; $get('TrMotivoDescuento').style.display = '';")
|
||||
'ImgDescTotal.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '2'; $get('LblPrecio1').style.display = 'none'; $get('LblTotalPS1').style.display = 'none'; $get('LblSubTotal1').style.display = ''; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = 'none'; $get('BtnAplicarDescG').style.display = ''; $get('TrMotivoDescuento').style.display = '';")
|
||||
ImgOtrosConceptos.Attributes.Add("onclick", "javascript:$('#ModalOtrosConceptos').modal();")
|
||||
@@ -1131,8 +1143,8 @@ Partial Class PV
|
||||
'ImgCerrarTerminoCorte.Attributes.Add("OnClick", "$('#DivTerminarCorte').hide();")
|
||||
'ImgCerrarIE.Attributes.Add("OnClick", "$('#DivIngresoEgreso').hide();")
|
||||
'ImgCerrarEstadoCaja.Attributes.Add("OnClick", "$('#DivEstadoCaja').hide();")
|
||||
TxtPorDescP.Attributes.Add("onKeyUp", "CalculaDescuento();")
|
||||
TxtDescP.Attributes.Add("onKeyUp", "CalculaDescuentoMonto();")
|
||||
|
||||
|
||||
'TxtFechaAjuste.Attributes.Add("onchange", "CalculaMesesUso();")
|
||||
|
||||
CreaDTmpC()
|
||||
@@ -1922,7 +1934,7 @@ Partial Class PV
|
||||
For Each Row As DataRow In TmpDT.FiltraParametros("EliminarDB = False").Rows
|
||||
Dim CveVentaDetalle As Integer = Row("CveVentaDetalle").ToString.ToEntero()
|
||||
If CveVentaDetalle > 0 Then
|
||||
If Not ObjVentas.UpdateVentaDetalleRemision(Row("CveVentaDetalle").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDecimal, Row("PU").ToString.ToDecimal(), Row("ImporteIEPS").ToString.ToDecimal(), Row("PorcentajeIEPS").ToString().ToDecimal(), Row("ImporteIVA").ToString.ToDecimal(), Row("PorcentajeIVA").ToString().ToDecimal(), Row("Obs").ToString, UsuarioActual.CveUsuario) Then
|
||||
If Not ObjVentas.UpdateVentaDetalleRemision(Row("CveVentaDetalle").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDecimal, Row("PU").ToString.ToDecimal(), Row("ImporteIEPS").ToString.ToDecimal(), Row("PorcentajeIEPS").ToString().ToDecimal(), Row("ImporteIVA").ToString.ToDecimal(), Row("PorcentajeIVA").ToString().ToDecimal(), Row("Descuento").ToString().ToDecimal(), Row("Obs").ToString, UsuarioActual.CveUsuario) Then
|
||||
OcurrioError = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -4049,6 +4061,14 @@ Partial Class PV
|
||||
TxtDescuento.Text = (PrecioSugerido * ClasificacionesDescuentos(drPS("CveClasificacion").ToString.ToEntero)).ToString("F2")
|
||||
End If
|
||||
|
||||
HdnDescuentoOriginal.Value = TxtDescuento.Text.ToDecimal().ToString()
|
||||
LblDescuentoIncluido.Text = TxtDescuento.Text.ToDecimal().FormatoNumero(2)
|
||||
|
||||
If PrecioSugerido > 0 AndAlso TxtDescuento.Text.ToDecimal() > 0 Then
|
||||
TxtPrecio.Text = PrecioSugerido.FormatoNumero()
|
||||
RegistraScript("$get('LblPrecio1').innerText = formato_numero(" + PrecioSugerido.ToString() + ", 2, '.', ',');", "A1")
|
||||
End If
|
||||
|
||||
If ChkAjuste.Checked Then
|
||||
CalculaMesesUso()
|
||||
UpAjuste.Update()
|
||||
@@ -4072,6 +4092,7 @@ Partial Class PV
|
||||
UpPS.Update()
|
||||
UpUnidadMedida.Update()
|
||||
UpAddVenta.Update()
|
||||
UPPDescuento.Update()
|
||||
End Sub
|
||||
Protected Sub DdlPS_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DdlPS.selectedindexchange
|
||||
DdlPSIndexChange(DdlPS.SelectedValue.ToEntero, DdlPS)
|
||||
|
||||
@@ -280,19 +280,19 @@ Partial Class PopUpBuscarFolio
|
||||
End Sub
|
||||
|
||||
Private Function ValidarUnFiltroSeleccionado() As Boolean
|
||||
If DdlClasificacion.SelectedValue.ToEntero > 0 Then Return True
|
||||
If DdlTipoDocto.SelectedValue <> "-1" Then Return True
|
||||
If DdlSubProyecto.SelectedValue.ToEntero > 0 Then Return True
|
||||
If DdlEstatusFactura.SelectedValue.ToEntero > 0 Then Return True
|
||||
If DdlUsuario.SelectedValue.ToEntero > 0 Then Return True
|
||||
If DdlPS.SelectedValue.ToEntero > 0 Then Return True
|
||||
If TxtFolio.Text.Trim.Length > 0 Then Return True
|
||||
If DdlNombre.SelectedValue.ToEntero > 0 Then Return True
|
||||
If TxtFolioFiscal.Text.Trim.Length > 0 Then Return True
|
||||
If TxtPedidoContrato.Text.Length > 0 Then Return True
|
||||
If TxtOrdenCompra.Text.Length > 0 Then Return True
|
||||
'If DdlClasificacion.SelectedValue.ToEntero > 0 Then Return True
|
||||
'If DdlTipoDocto.SelectedValue <> "-1" Then Return True
|
||||
'If DdlSubProyecto.SelectedValue.ToEntero > 0 Then Return True
|
||||
'If DdlEstatusFactura.SelectedValue.ToEntero > 0 Then Return True
|
||||
'If DdlUsuario.SelectedValue.ToEntero > 0 Then Return True
|
||||
'If DdlPS.SelectedValue.ToEntero > 0 Then Return True
|
||||
'If TxtFolio.Text.Trim.Length > 0 Then Return True
|
||||
'If DdlNombre.SelectedValue.ToEntero > 0 Then Return True
|
||||
'If TxtFolioFiscal.Text.Trim.Length > 0 Then Return True
|
||||
'If TxtPedidoContrato.Text.Length > 0 Then Return True
|
||||
'If TxtOrdenCompra.Text.Length > 0 Then Return True
|
||||
|
||||
Return False
|
||||
Return True
|
||||
|
||||
End Function
|
||||
End Class
|
||||
|
||||
@@ -211,6 +211,44 @@
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="row" id="divBitacora" runat="server" visible="false">
|
||||
<asp:UpdatePanel runat="server" ID="UpHistorialModificacion" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="col-md-12">
|
||||
<div class="portlet light bordered xspadding">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Historial de Modificación</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<asp:GridView ID="GvBitacora" runat="server" GridLines="None" Width="100%" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" CellSpacing="0" AutoGenerateColumns="False">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Fecha" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("FechaIng") %>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="ConceptoHistorialBitacora" HeaderText="Campo" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Anterior" HeaderText="Anterior" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Actual" HeaderText="Actual" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Left" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="center">
|
||||
|
||||
@@ -17,6 +17,16 @@ Partial Class Ventas_Promociones
|
||||
ViewState("TempDT") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property TempDTOrigial As DataTable
|
||||
Get
|
||||
Return CType(ViewState("TempDTOrigial"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("TempDTOrigial") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property CvePromocion As Integer
|
||||
Get
|
||||
Return ViewState("CvePromocion").ToString.ToEntero
|
||||
@@ -46,6 +56,7 @@ Partial Class Ventas_Promociones
|
||||
#End Region
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
|
||||
If Not Page.IsPostBack Then
|
||||
CvePromocion = -1
|
||||
CargaValoresIniciales()
|
||||
@@ -53,16 +64,46 @@ Partial Class Ventas_Promociones
|
||||
If Request("CvePromocion") IsNot Nothing AndAlso Request("CvePromocion").ToString.ToEntero > 0 Then
|
||||
CvePromocion = Request("CvePromocion").ToString.ToEntero
|
||||
CargaDatos()
|
||||
|
||||
|
||||
|
||||
Else
|
||||
ChkEstatus.Enabled = True
|
||||
ChkEstatus.Checked = True
|
||||
CreaDT()
|
||||
End If
|
||||
|
||||
|
||||
CargaGvBitacora()
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
#Region "BITACORA"
|
||||
|
||||
Private Sub CargaGvBitacora()
|
||||
|
||||
If CvePromocion > 0 Then
|
||||
divBitacora.Visible = True
|
||||
Dim ObjGral As New ClsGenerales()
|
||||
If ObjGral.GetHistorialBitacora(-1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa, CvePromocion:=CvePromocion) Then
|
||||
GvBitacora.DataSource = ObjGral.DtResultados
|
||||
End If
|
||||
ObjGral.Dispose()
|
||||
GvBitacora.DataBind()
|
||||
UpHistorialModificacion.Update()
|
||||
Else
|
||||
divBitacora.Visible = False
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region " VALORES INICIALES "
|
||||
|
||||
Private Sub CargaValoresIniciales()
|
||||
@@ -148,6 +189,32 @@ Partial Class Ventas_Promociones
|
||||
TempDT.Columns.Add("AplicaDomingo", GetType(Boolean))
|
||||
|
||||
TempDT.Columns.Add("IncluyeImpuestos", GetType(Boolean))
|
||||
|
||||
|
||||
TempDTOrigial = TempDT.Copy
|
||||
|
||||
'366 Estatus
|
||||
'367 CvePS
|
||||
'368 PUPromocion
|
||||
'369 CveTipoPromocion
|
||||
'370 Cantidad Minima
|
||||
'371 AplicaRestriccion
|
||||
'372 HoraInicio
|
||||
'373 HoraFin
|
||||
'374 AplicaLunes
|
||||
'375 AplicaMartes
|
||||
'376 AplicaMiercoles
|
||||
'377 AplicaJueves
|
||||
'378 AplicaViernes
|
||||
'379 AplicaSabado
|
||||
'380 AplicaDomingo
|
||||
'381 IncluyeImpuestos
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
#Region " PS "
|
||||
@@ -197,7 +264,8 @@ Partial Class Ventas_Promociones
|
||||
DdlTipoAplicacion.SelectedValueExist(Dr("TipoAplicacion").ToString)
|
||||
|
||||
If ObjVentas.GetPromocionesDetalle(CvePromocion, UsuarioActual.CveEmpresa) Then
|
||||
TempDT = ObjVentas.DtResultados
|
||||
TempDT = ObjVentas.DtResultados.Copy
|
||||
TempDTOrigial = ObjVentas.DtResultados.Copy
|
||||
CargaGrid()
|
||||
Else
|
||||
Alert("Ocurrió un error al consultar los detalles de la promoción. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
||||
@@ -324,6 +392,9 @@ Partial Class Ventas_Promociones
|
||||
Dr("AplicaDomingo") = False
|
||||
End If
|
||||
|
||||
|
||||
Dr("IncluyeImpuestos") = ChkIncluyeImpuesto.Checked
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
|
||||
Dr("CveRinTamaño") = DdlRin.SelectedValue.ToEntero
|
||||
Else
|
||||
@@ -456,9 +527,12 @@ Partial Class Ventas_Promociones
|
||||
Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero)
|
||||
|
||||
Dim ObjVentas As New ClsVentas
|
||||
|
||||
Dim TieneError = False
|
||||
ObjVentas.IniciaTransacSQL()
|
||||
|
||||
Dim ObjGral As New ClsGenerales(ObjVentas.IniciaTransacSQL)
|
||||
|
||||
If ObjVentas.UpdatePromociones(TxtPromocion.Text.Trim, If(IsDate(TxtFechaI.Text), TxtFechaI.Text.ToDate, MinFecha), If(IsDate(TxtFechaF.Text), TxtFechaF.Text.ToDate, MaxFecha),
|
||||
DdlVendedor.SelectedValue.ToEntero, CveCliente, ChkEstatus.Checked, DdlMoneda.SelectedValue.ToEntero, UsuarioActual.CveUsuario,
|
||||
CvePromocion, DdlSubProyecto.SelectedValue.ToEntero, DdlTipoAplicacion.SELECTEDVALUE.TOENTERO, UsuarioActual.CveEmpresa, CveMarca:=DdlMarca.SelectedValue.ToEntero) Then
|
||||
@@ -470,6 +544,18 @@ Partial Class Ventas_Promociones
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
|
||||
If Not TieneError Then
|
||||
If Not ObjGral.AddHistorialBitacora(364, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", Dr("CodigoPS").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
Next
|
||||
|
||||
If Not TieneError Then
|
||||
@@ -480,6 +566,171 @@ Partial Class Ventas_Promociones
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
|
||||
If Not TieneError Then
|
||||
|
||||
'366 Estatus
|
||||
|
||||
'367 CvePS
|
||||
'368 PUPromocion
|
||||
'369 CveTipoPromocion
|
||||
'370 Cantidad Minima
|
||||
'371 AplicaRestriccion
|
||||
'372 HoraInicio
|
||||
'373 HoraFin
|
||||
|
||||
'374 AplicaLunes
|
||||
'375 AplicaMartes
|
||||
'376 AplicaMiercoles
|
||||
'377 AplicaJueves
|
||||
'378 AplicaViernes
|
||||
'379 AplicaSabado
|
||||
'380 AplicaDomingo
|
||||
'381 IncluyeImpuestos
|
||||
|
||||
|
||||
Dim Dr2 As DataRow = TempDTOrigial.FiltraParametros($"CvePromocionDetalle = {Dr("CvePromocionDetalle").ToString}").Rows(0)
|
||||
|
||||
If Not TieneError And Dr("CvePS").ToString <> Dr2("CvePS").ToString Then
|
||||
If Not ObjGral.AddHistorialBitacora(367, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("CodigoPS").ToString, Dr2("CodigoPS").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If Not TieneError And Dr("CveTipoPromocion").ToString <> Dr2("CveTipoPromocion").ToString Then
|
||||
If Not ObjGral.AddHistorialBitacora(369, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("TipoPromocion").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("TipoPromocion").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If Not TieneError And Dr("CantidadMinima").ToString <> Dr2("CantidadMinima").ToString Then
|
||||
If Not ObjGral.AddHistorialBitacora(370, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("CantidadMinima").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("CantidadMinima").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'If Not TieneError And Dr("AplicaRestriccion").ToString <> Dr2("AplicaRestriccion").ToString Then
|
||||
' If Not ObjGral.AddHistorialBitacora(371, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr2("AplicaRestriccion").ToString, $"{Dr("CodigoPS").ToString} - {Dr("AplicaRestriccion").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
' TieneError = True
|
||||
' Exit For
|
||||
' End If
|
||||
'End If
|
||||
|
||||
If Not TieneError And Dr("HoraInicio").ToString <> Dr2("HoraInicio").ToString Then
|
||||
If Not ObjGral.AddHistorialBitacora(372, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("HoraInicio").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("HoraInicio").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not TieneError And Dr("HoraFin").ToString <> Dr2("HoraFin").ToString Then
|
||||
If Not ObjGral.AddHistorialBitacora(373, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("HoraFin").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("HoraFin").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If Not TieneError And Dr("AplicaLunes").ToString <> Dr2("AplicaLunes").ToString Then
|
||||
|
||||
Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaLunes").ToString), "Aplica", "No aplica")
|
||||
Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaLunes").ToString), "Aplica", "No aplica")
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(374, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If Not TieneError And Dr("AplicaMartes").ToString <> Dr2("AplicaMartes").ToString Then
|
||||
|
||||
Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaMartes").ToString), "Aplica", "No aplica")
|
||||
Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaMartes").ToString), "Aplica", "No aplica")
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(375, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not TieneError And Dr("AplicaMiercoles").ToString <> Dr2("AplicaMiercoles").ToString Then
|
||||
|
||||
Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaMiercoles").ToString), "Aplica", "No aplica")
|
||||
Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaMiercoles").ToString), "Aplica", "No aplica")
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(376, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not TieneError And Dr("AplicaJueves").ToString <> Dr2("AplicaJueves").ToString Then
|
||||
|
||||
Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaJueves").ToString), "Aplica", "No aplica")
|
||||
Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaJueves").ToString), "Aplica", "No aplica")
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(377, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not TieneError And Dr("AplicaViernes").ToString <> Dr2("AplicaViernes").ToString Then
|
||||
|
||||
Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaViernes").ToString), "Aplica", "No aplica")
|
||||
Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaViernes").ToString), "Aplica", "No aplica")
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(378, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not TieneError And Dr("AplicaSabado").ToString <> Dr2("AplicaSabado").ToString Then
|
||||
|
||||
Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaSabado").ToString), "Aplica", "No aplica")
|
||||
Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaSabado").ToString), "Aplica", "No aplica")
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(379, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If Not TieneError And Dr("AplicaDomingo").ToString <> Dr2("AplicaDomingo").ToString Then
|
||||
|
||||
Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaDomingo").ToString), "Aplica", "No aplica")
|
||||
Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaDomingo").ToString), "Aplica", "No aplica")
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(380, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
If Not TieneError And Dr("IncluyeImpuestos").ToString <> Dr2("IncluyeImpuestos").ToString Then
|
||||
|
||||
Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("IncluyeImpuestos").ToString), "Incluye", "No Incluye")
|
||||
Dim EstadoActual As String = If(Boolean.Parse(Dr("IncluyeImpuestos").ToString), "Incluye", "No Incluye")
|
||||
|
||||
If Not ObjGral.AddHistorialBitacora(381, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
@@ -489,6 +740,16 @@ Partial Class Ventas_Promociones
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Not TieneError Then
|
||||
If Not ObjGral.AddHistorialBitacora(365, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", Dr("CodigoPS").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
@@ -511,6 +772,7 @@ Partial Class Ventas_Promociones
|
||||
|
||||
#Region " ELIMINAR "
|
||||
Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim ObjVentas As New ClsVentas
|
||||
ObjVentas.IniciaTransacSQL()
|
||||
Dim TieneError = False
|
||||
@@ -541,4 +803,13 @@ Partial Class Ventas_Promociones
|
||||
' DivCantMinima.Visible = False
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
@@ -223,24 +223,32 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
//sb.AppendFormat("{0} <br/>", respCancelacion.Mensaje);
|
||||
if (!respCancelacion.HuboError)
|
||||
{
|
||||
retorno.EnviarAcuse = true;
|
||||
CveEstatus = respCancelacion.CveEstatus;
|
||||
var ObjVentas = new ClsVentas();
|
||||
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
|
||||
if (respCancelacion.CveEstatus > 0)
|
||||
{
|
||||
sb.Append("El estatus de la factura fue cambiado a 'Cancelada'.");
|
||||
retorno.EnviarAcuse = true;
|
||||
CveEstatus = respCancelacion.CveEstatus;
|
||||
var ObjVentas = new ClsVentas();
|
||||
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
|
||||
{
|
||||
sb.Append("El estatus de la factura fue cambiado a 'Cancelada'.");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append("Ocurrió un error al cambiar el estatus de la factura.");
|
||||
}
|
||||
ObjVentas.Dispose();
|
||||
sb.Append("El documento se canceló correctamente.");
|
||||
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
|
||||
if (!EsRefacturacion)
|
||||
{
|
||||
sb.Append("</br></br> ¿Desea enviar el Acuse de Cancelación al Cliente?");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append("Ocurrió un error al cambiar el estatus de la factura.");
|
||||
}
|
||||
ObjVentas.Dispose();
|
||||
sb.Append("El documento se canceló correctamente.");
|
||||
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
|
||||
if (!EsRefacturacion)
|
||||
{
|
||||
sb.Append("</br></br> ¿Desea enviar el Acuse de Cancelación al Cliente?");
|
||||
sb.Append(respCancelacion.Mensaje);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
|
||||
|
||||
@@ -154,6 +154,10 @@ Partial Class Ventas_RepVentasUtilidadDetalle
|
||||
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||
End If
|
||||
|
||||
DdlMarcas.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa)
|
||||
DdlMarcas.DataBind()
|
||||
DdlMarcas.Items.Insert(0, New ListItem("Todas", "-1"))
|
||||
|
||||
'Cargo Clasificaciones
|
||||
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
|
||||
DdlClasificacion.DataBind()
|
||||
|
||||
@@ -2628,6 +2628,10 @@ Partial Class Ventas
|
||||
'DdlEstatus.Enabled = False
|
||||
End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
LnkAgregarCliente.Visible = True
|
||||
End If
|
||||
|
||||
End If
|
||||
CargaEstatusFactura(Opcion)
|
||||
|
||||
@@ -3267,7 +3271,12 @@ Partial Class Ventas
|
||||
If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, CveCliente, -1, 1) Then
|
||||
If ObjContratos.DtResultados.FiltraParametros("Estatus = True").Rows.Count > 0 AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Ped") Or DdlTipoComprobante.SelectedValue.Contiene("Egs", "Dev")) Then
|
||||
|
||||
DtContratos = ObjContratos.DtResultados.FiltraParametros($"Estatus = True AND FechaFinal >= '{Now.ToShortDateString}' AND FechaInicial <= '{Now.ToShortDateString}'")
|
||||
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then
|
||||
DtContratos = ObjContratos.DtResultados.FiltraParametros($"Estatus = True AND FechaFinal >= '{Now.ToShortDateString}' AND FechaInicial <= '{Now.ToShortDateString}'")
|
||||
Else
|
||||
DtContratos = ObjContratos.DtResultados.FiltraParametros($"Estatus = True ")
|
||||
End If
|
||||
|
||||
|
||||
If AfterPageLoad Then
|
||||
RegistraScript("window.onload = function MuestraContratos() { document.getElementById(""C_BtnMostrarContrato"").click(); }")
|
||||
@@ -5632,7 +5641,7 @@ Partial Class Ventas
|
||||
ViewState("ClienteRetIVA") = ObjCliente.RetIVA / 100
|
||||
ViewState("ClienteRetISR") = ObjCliente.RetISR / 100
|
||||
|
||||
If CveVenta <= 0 Then
|
||||
If CveVenta <= 0 OrElse EsCreaApartirDe Then
|
||||
DdlTipoRetencion.SelectedValueExist(ObjCliente.DtResultados(0)("CveTipoRetencion").ToString())
|
||||
DdlTipoRetencion_SelectedIndexChanged(DdlTipoRetencion, EventArgs.Empty)
|
||||
|
||||
@@ -7689,13 +7698,7 @@ Partial Class Ventas
|
||||
Dim CveProducto As Integer
|
||||
Dim Existencia As Double
|
||||
Dim CveAlmacen = ddlAlmacen.SelectedValue.ToEntero()
|
||||
For Each dr As DataRow In TmpDT.Rows
|
||||
|
||||
'SI ES SERVICIO NO VALIDA
|
||||
'GlobalDTProductosServicios
|
||||
If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=dr("CvePS").ToString().ToEntero()).FiltroPrimeroValor("CveTipoPS").ToString().ToEntero() = 1 Then
|
||||
Continue For
|
||||
End If
|
||||
For Each dr As DataRow In TmpDT.FiltraParametros("CveTipoPS = 2").Rows
|
||||
|
||||
If DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False Then
|
||||
'VALIDA EXISTENCIA
|
||||
@@ -8257,7 +8260,7 @@ Partial Class Ventas
|
||||
For Each Row As DataRow In DtMovDetalles.Rows
|
||||
Dim Cantidad As Decimal = Row("Cantidad").ToString().ToDecimal()
|
||||
Dim SaldoAlmacen As Decimal = Row("SaldoAlmacen").ToString().ToDecimal()
|
||||
Cantidad += Cantidad
|
||||
CantidadTotal += Cantidad
|
||||
|
||||
If SaldoAlmacen < 0 AndAlso Cantidad = Math.Abs(SaldoAlmacen) Then
|
||||
TotalSalida += Math.Abs(SaldoAlmacen)
|
||||
@@ -8268,7 +8271,7 @@ Partial Class Ventas
|
||||
Next
|
||||
|
||||
'SI SE VERIFICA QUE TODO ESTA SURTIDO, SE MARCA TODA LA FACTURA
|
||||
If CantidadTotal = Total Then
|
||||
If CantidadTotal = TotalSalida Then
|
||||
If Not ObjInventario.ActualizarEsDevolucionVenta(ObjFactura.CveVenta, 2) Then
|
||||
ErrorList.Add("No se pudo Cancelar el movimiento de almacen de la Factura")
|
||||
End If
|
||||
@@ -8474,10 +8477,10 @@ Partial Class Ventas
|
||||
If AutoConta Then
|
||||
If idCuentaContabilizacion > 0 Then
|
||||
If ObjConta.ContabilizarPrePoliza(ObjFactura.CvePrePoliza, ObjFactura.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContPaq) Then
|
||||
|
||||
If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
|
||||
Else
|
||||
Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError)
|
||||
|
||||
If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
|
||||
End If
|
||||
Else
|
||||
Alert(String.Format("Falta asignación de las siguientes cuentas contables: {0}", CuentasContablesInvalidas), TipoMensaje.MsgAdvertencia)
|
||||
@@ -8485,7 +8488,7 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
|
||||
If ObjContPaq IsNot Nothing Then ObjContPaq.Commit()
|
||||
|
||||
'If ObjContPaq IsNot Nothing Then ObjContPaq.RollBack()
|
||||
|
||||
'RMF, cuando es pedido, se manda autorización.
|
||||
@@ -10695,7 +10698,7 @@ Partial Class Ventas
|
||||
.CuentaPredial = drr("CuentaPredial").ToString(),
|
||||
.ImporteGravaIVAAdicional = drr("ImporteIEPS").ToString().ToDecimal}
|
||||
'verifica suma subtotales
|
||||
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'proceso de ajusta de decimales
|
||||
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal.RoundSQL(2) <> concepto.Importe.RoundSQL(2) AndAlso Math.Abs(totSubTotal.RoundSQL(2) - concepto.Importe.RoundSQL(2)) <= 0.01 Then 'proceso de ajusta de decimales
|
||||
concepto.Importe = totSubTotal
|
||||
End If
|
||||
totSubTotal = totSubTotal - concepto.Importe
|
||||
@@ -10705,19 +10708,19 @@ Partial Class Ventas
|
||||
|
||||
'si es ingreso amortizado por la totalidad, y arroja el valor total de cero, no debe de impuestos, y si la BASE de calculo es mayor a cero
|
||||
If Timbre.Comprobante.Total > 0 AndAlso concepto.Importe - concepto.Descuento + concepto.ImporteGravaIVAAdicional > 0 Then
|
||||
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento + concepto.ImporteGravaIVAAdicional, .TasaOCuota = drr("PorcentajeIVA").ToString().ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString().ToDecimal})
|
||||
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = (concepto.Importe - concepto.Descuento + concepto.ImporteGravaIVAAdicional).RoundSQL(6), .TasaOCuota = drr("PorcentajeIVA").ToString().ToDecimal, .Impuesto = "002", .Importe = drr("ImporteIVA").ToString().ToDecimal})
|
||||
End If
|
||||
|
||||
If drr("ImporteIEPS").ToString().ToDouble > 0 Then
|
||||
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeIEPS").ToString().ToDecimal, .Impuesto = "003", .Importe = drr("ImporteIEPS").ToString().ToDecimal})
|
||||
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "T", .Base = (concepto.Importe - concepto.Descuento).RoundSQL(6), .TasaOCuota = drr("PorcentajeIEPS").ToString().ToDecimal, .Impuesto = "003", .Importe = drr("ImporteIEPS").ToString().ToDecimal})
|
||||
End If
|
||||
|
||||
If drr("ImporteRetIVA").ToString().ToDouble > 0 Then 'si hay retenciones
|
||||
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeRetIVA").ToString().ToDecimal, .Impuesto = "002", .Importe = drr("ImporteRetIVA").ToString().ToDecimal})
|
||||
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = (concepto.Importe - concepto.Descuento).RoundSQL(6), .TasaOCuota = drr("PorcentajeRetIVA").ToString().ToDecimal, .Impuesto = "002", .Importe = drr("ImporteRetIVA").ToString().ToDecimal})
|
||||
End If
|
||||
|
||||
If drr("ImporteRetISR").ToString().ToDouble > 0 Then 'retención de ISR
|
||||
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = concepto.Importe - concepto.Descuento, .TasaOCuota = drr("PorcentajeRetISR").ToString().ToDecimal, .Impuesto = "001", .Importe = drr("ImporteRetISR").ToString().ToDecimal})
|
||||
concepto.Impuestos.Add(New CFDIConceptosImpuestos With {.TrasladooRetencion = "R", .Base = (concepto.Importe - concepto.Descuento).RoundSQL(6), .TasaOCuota = drr("PorcentajeRetISR").ToString().ToDecimal, .Impuesto = "001", .Importe = drr("ImporteRetISR").ToString().ToDecimal})
|
||||
End If
|
||||
|
||||
Timbre.Conceptos.Add(concepto)
|
||||
@@ -13258,9 +13261,6 @@ Partial Class Ventas
|
||||
End If
|
||||
|
||||
Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero()
|
||||
If UsuarioActual.CveUsuario.Contiene(100, 1719) Then
|
||||
ModalidadRefacturacion = 2
|
||||
End If
|
||||
|
||||
'REFACTURACION CON PAGOS, DEBE CANCELAR SALDOS DEL DOCUMENTO ANTERIOR Y TRASPASAR PAGOS AL NUEVO
|
||||
If ModalidadRefacturacion = 2 AndAlso ObjFactura.TipoDocto.Contiene("Ing", "Ant") AndAlso ObjFactura.NuevaFactura = 1 Then
|
||||
@@ -18966,6 +18966,12 @@ Partial Class Ventas
|
||||
' rowSurtidos("Surtido").ToString().ToDouble < rowSurtidos("Cantidad").ToString().ToDouble AndAlso (dr("CantidadDisponible").ToString().ToDouble - rowSurtidos("Surtido").ToString().ToDouble > 0 Or dr("Serie").ToString() <> "")
|
||||
If rowSurtidos("Surtido").ToString().ToDecimal < rowSurtidos("Cantidad").ToString().ToDecimal Then
|
||||
Dim CantidadSurtida As Double = If(dr("CantidadDisponible").ToString().ToDecimal < rowSurtidos("Cantidad").ToString().ToDouble, dr("CantidadDisponible").ToString().ToDecimal, rowSurtidos("Cantidad").ToString().ToDecimal)
|
||||
|
||||
'SI LA CANTIDAD SURTIDA SUPERA LO REQUERIDO, TOMA SOLO LO NECESARIO PARA COMPLETAR
|
||||
If (rowSurtidos("Surtido").ToString().ToDecimal + CantidadSurtida) > rowSurtidos("Cantidad").ToString().ToDecimal Then
|
||||
CantidadSurtida = (rowSurtidos("Cantidad").ToString().ToDecimal - rowSurtidos("Surtido").ToString().ToDecimal)
|
||||
End If
|
||||
|
||||
MovDTCuadrados.ImportRow(dr)
|
||||
MovDTCuadrados(MovDTCuadrados.Rows.Count - 1)("Cantidad") = CantidadSurtida
|
||||
DtRemConceptosSurtidos(Indice)("Surtido") = rowSurtidos("Surtido").ToString().ToDecimal + CantidadSurtida
|
||||
@@ -19958,6 +19964,9 @@ Partial Class Ventas
|
||||
sb.Append("Está seguro de cancelar el documento para realizar la refacturación?.")
|
||||
End If
|
||||
Else
|
||||
If Not UsuarioActual.Empresa.FacturaProduccion Then
|
||||
script = "BtnRefacturacionConfirmar();"
|
||||
End If
|
||||
sb.Append("<b>No encontrado</b> <br/>")
|
||||
End If
|
||||
Else
|
||||
@@ -20211,7 +20220,7 @@ Partial Class Ventas
|
||||
For Each Row As DataRow In TmpDT.Rows
|
||||
Dim CveVentaDetalle As Integer = Row("CveVentaDetalle").ToString().ToEntero()
|
||||
If CveVentaDetalle > 0 Then
|
||||
If Not ObjVentas.UpdateVentaDetalleRemision(Row("CveVentaDetalle").ToString().ToEntero(), Row("CvePS").ToString().ToEntero(), Row("Cantidad").ToString().ToDecimal, Row("PU").ToString().ToDecimal(), Row("ImporteIEPS").ToString().ToDecimal(), Row("PorcentajeIEPS").ToString().ToDecimal(), Row("ImporteIVA").ToString().ToDecimal(), Row("PorcentajeIVA").ToString().ToDecimal(), Row("Obs").ToString(), UsuarioActual.CveUsuario) Then
|
||||
If Not ObjVentas.UpdateVentaDetalleRemision(Row("CveVentaDetalle").ToString().ToEntero(), Row("CvePS").ToString().ToEntero(), Row("Cantidad").ToString().ToDecimal, Row("PU").ToString().ToDecimal(), Row("ImporteIEPS").ToString().ToDecimal(), Row("PorcentajeIEPS").ToString().ToDecimal(), Row("ImporteIVA").ToString().ToDecimal(), Row("PorcentajeIVA").ToString().ToDecimal(), Row("Descuento").ToString().ToDecimal(), Row("Obs").ToString(), UsuarioActual.CveUsuario) Then
|
||||
OcurrioError = True
|
||||
Exit For
|
||||
End If
|
||||
@@ -26913,7 +26922,7 @@ Partial Class Ventas
|
||||
|
||||
For Each Dr As DataRow In DtImpuestosLocal.Rows
|
||||
FiltroStr = String.Format("ISNULL(PorcentajeIVA,0) = {0} AND ISNULL(PorcentajeRetIVA,0) = {1} AND ISNULL(PorcentajeRetISR,0) = {2} AND ISNULL(PorcentajeIEPS,0) = {3} AND ISNULL(CveSubProyecto,0) = {4} ", Dr("PorcentajeIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("CveSubProyecto"))
|
||||
Dim importePuTemp As Decimal = (Porcentaje * (TmpDT.SUMD("Total", FiltroStr) - TmpDT.SUMD("Descuento", FiltroStr)))
|
||||
Dim importePuTemp As Decimal = (Porcentaje * (TmpDT.SUMD("TotalImporte", FiltroStr) - TmpDT.SUMD("Descuento", FiltroStr)))
|
||||
|
||||
If Not AplicaImpuestosLocales Then
|
||||
importePuTemp = importePuTemp - TotalImpuestosLocalesVentaOriginal
|
||||
@@ -29767,7 +29776,7 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
ObjCliente.Dispose()
|
||||
'DdlTipoRetencion_SelectedIndexChanged(DdlTipoRetencion, EventArgs.Empty)
|
||||
DdlTipoRetencion_SelectedIndexChanged(DdlTipoRetencion, EventArgs.Empty)
|
||||
|
||||
TrVistaPrevia.Visible = True
|
||||
TxtFechaVencimientoCotizacion.Text = Now.ToShortDateString
|
||||
@@ -31158,6 +31167,8 @@ Partial Class Ventas
|
||||
tClienteRetIVA = 0.04D
|
||||
ElseIf DdlTipoRetencion.SelectedValue.Contiene("4") AndAlso CBool(RowServicio("EsOutSourcing").ToString()) Then
|
||||
tClienteRetIVA = 0.06D
|
||||
ElseIf DdlTipoRetencion.SelectedValue.Contiene("0") Then
|
||||
tClienteRetIVA = 0.00D
|
||||
End If
|
||||
ViewState("ClienteRetIVA") = tClienteRetIVA
|
||||
End If
|
||||
@@ -31499,7 +31510,7 @@ Partial Class Ventas
|
||||
|
||||
Dim Respuesta As Boolean = False
|
||||
|
||||
If EscontratoObra Then
|
||||
If EscontratoObra AndAlso PorAmortizacionAnticipo > 0 Then ' si es contrato de obra y tiene amortización de anticipo
|
||||
|
||||
If DdlTipoComprobante.SelectedValue = "Ing" Then
|
||||
|
||||
@@ -31520,7 +31531,7 @@ Partial Class Ventas
|
||||
Respuesta = True
|
||||
Else
|
||||
Respuesta = False
|
||||
Alert("Debe de seleccioanr un importe de amortización.", TipoMensaje.MsgAdvertencia)
|
||||
Alert("Debe de seleccionar un importe de amortización.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
Else
|
||||
|
||||
Reference in New Issue
Block a user