This commit is contained in:
HECTOR RODRIGUEZ
2021-03-30 00:26:20 -07:00
20 changed files with 7569 additions and 6438 deletions

View File

@@ -1660,6 +1660,28 @@ Public Class ClsInventarios
End Function
Public Function GetExistenciasSucursales(PSRequest As String, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ExistenciasSucursalesGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@PSRequest", SqlDbType.VarChar).Value = PSRequest
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
Me.OnError("Ocurrió un error al obtener las existencias.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
OnError("Ocurrió un error al obtener las existencias.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region
#Region " INVENTARIOS - REPORTES "

View File

@@ -2122,6 +2122,29 @@ Public Class ClsNominas
Return retorno
End Function
Public Function PrimaRiesgoUP(CveEmpresa As Integer, Fecha As DateTime, PrimadeRiesgo As Decimal) As Boolean
Dim retorno As Boolean = False
Try
DTSet = New DataSet()
DataAdapter("PA_Nom_PrimaRiesgoUP", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Fecha", SqlDbType.Date).Value = Fecha
.Add("@PrimadeRiesgo", SqlDbType.Money).Value = PrimadeRiesgo
End With
SqlAdapter.Fill(DTSet)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al actualizar las tablas de nomina.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al actualizar las tablas de nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetTablasNomina(CveEmpresa As Integer) As Boolean
Dim retorno As Boolean = False
Try

View File

@@ -5584,7 +5584,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
Return Retorno
End Function
Public Function SolicitudVacacionesAdd(CvePersonal As Integer, Fecha As Date, FechaFin As Date, Estatus As Integer, CveUsuario As Integer, CveAutoriza As Integer, Folio As Integer, Optional Motivo As String = "") As Boolean
Public Function SolicitudVacacionesAdd(CvePersonal As Integer, Fecha As Date, FechaFin As Date, Estatus As Integer, CveUsuario As Integer, CveAutoriza As Integer, Folio As Integer, Optional Motivo As String = "", Optional FechaPago As String = "", Optional diasinabiles As Integer = 0, Optional PorcentajePrimaVac As Decimal = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RH_SolicitudVacacionesAdd")
@@ -5597,7 +5597,10 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveAutoriza", SqlDbType.Int).Value = CveAutoriza
.Add("@Folio", SqlDbType.Int).Value = Folio
'.Add("@Motivo", SqlDbType.VarChar).Value = Motivo
.Add("@diasinabiles", SqlDbType.Int).Value = diasinabiles
.Add("@PorcentajePrimaVac", SqlDbType.Money).Value = PorcentajePrimaVac
.Add("@FechaPago", SqlDbType.VarChar).Value = FechaPago
'.Add("@Motivo", SqlDbType.VarChar).Value = MotivoFechaPago As String = "", Optional diasinabiles
End With
Try

View File

@@ -1214,6 +1214,43 @@ Namespace Modelos
Return File
End Function
Public Function TimbrarFactura() As Boolean
Dim SeTimbro As Boolean = False
'TIMBRADO Y CASO ESPECIAL NOTA DE CREDITO
If (TipoDoctoDevolucion = "" OrElse Not TipoDoctoDevolucion.Contiene("Rem", "Cot", "Ped", "DPe", "PA", "Pd2")) Then
Dim DebeTimbrar As Boolean = True
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then
'si tiene anticipos seleccionados y el total es cero, que no se timbre(previo empresa72)
If Me.Amortizacion > 0 And Me.Total <= 0 Then
DebeTimbrar = False
End If
End If
If Me.TipoDocto.Contiene("Ing", "Egs", "Ant", "Dev") Then
If UsuarioActual.Empresa.TipoFacturacion = "CFDi" Then
If Me.FemsaFactura IsNot Nothing Then
'FACTURA INGRESO/EGRESO
Dim ObjTimbrado As New Timbrado
'DOCUMENTO ACTUAL
If DebeTimbrar Then
SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, Me)
If Not SeTimbro Then
ErrorList.Add(ObjTimbrado.MensajeErrorCFDI)
End If
End If
End If
End If
End If
End If
Return SeTimbro
End Function
#Region " GUARDAR - VENTA, PREPOLIZAS, INV, NC , ESTIMACIONES, AC, NOTA DE CRÉDITO "
Private Function RegistrarNCAmortizacion(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjInventario As ClsInventarios, ObjContr As ClsContratos, ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ObjBancos As ClsBancos, TmpDTconceptos As DataTable, ByRef ObjEventos As ClsOIEventos) As Boolean
Dim ProcesoCorrecto As Boolean = True
@@ -3668,141 +3705,28 @@ Namespace Modelos
Dim OcurrioError As Boolean = False
If UsuarioActual.Empresa.UsaInventarios AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") Then
If factura.CveAlmacen > 0 AndAlso DtInventario.Rows.Count > 0 Then
Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(factura.CveAlmacen, 3, factura.CveMoneda, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1, Modulo:="Mod/E5")
If CveMovimientoInventario <= 0 Then
If factura.GenerarSalidaAlmacen AndAlso factura.CveAlmacen > 0 AndAlso DtInventario.Rows.Count > 0 Then
Dim CveMovimientoInventario As Integer = GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, factura.DtInventario, factura.CveAlmacen, 3, factura.CveMoneda, factura.CveVenta, "Modelos/SA", MovimientoPrePoliza:=True, ObjConta:=ObjConta)
If Not CveMovimientoInventario > 0 Then
OcurrioError = True
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />Revise su factura y cualquier detalle comuníquese a Soporte Técnico")
Else
Dim Mensaje As String = ""
Dim i As Integer = 0
Dim Cantidad As Double
Dim CveUnidad As Integer
Dim CveProducto As Integer
Dim Existencia As Double
'Dim Pu As Double
'DtInv.Clone()
End If
End If
Dim DtEquivalencias As DataTable
For Each Dr As DataRow In DtInventario.Rows
CveProducto = Dr("CvePS").ToString.ToEntero
CveUnidad = Dr("CveUM").ToString.ToEntero
Cantidad = Dr("Cantidad").ToString.ToDouble
If Dr("CveTipoInvPS").ToString.ToEntero = 5 And Dr("Serie").ToString = "" Then
OcurrioError = True
ErrorList.Add("Se deben especificar las Series de los productos de almacén")
Exit For
End If
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) AndAlso factura.TipoDocto.Contiene("Rem", "Ing") Then
Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacen, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=factura.CveSubProyecto, CveVendedor:=factura.CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1)
If Existencia < Cantidad Then
OcurrioError = True
ErrorList.Add($"No cuenta con la cantidad suficiente en inventario del producto {Dr("CodigoPS")} .Cuenta con {Existencia.FormatoNumero(2)}.")
Exit For
End If
End If
If UsuarioActual.CveEmpresa = 1 Then
DtEquivalencias = New DataTable
DtEquivalencias = GlobalDTProductosServiciosEquivalencias(CveProducto, -1, UsuarioActual.CveEmpresa)
Dim CveUnidadBase As Integer = DtEquivalencias.FiltroPrimeroValor("CveUM", "UnidadBase = 'True'").ToEntero
Dim drUMBase As DataRow = DtEquivalencias.FiltroPrimero("UnidadBase = 'True'")
'SI LA UNIDAD ACTUAL NO ES LA BASE SACA PROPORCION (EQUIVALENTE)
If CveUnidadBase <> CveUnidad Then
' LO QUE PUSE LO QUE VALE UNIDAD BASE LO QUE VALE UNIDAD SELECCIONADA
Cantidad = Dr("Cantidad").ToString.ToDouble * drUMBase("Cantidad").ToString.ToDouble / DtEquivalencias.FiltraParametros(String.Format("CveUM = {0}", CveUnidad)).Rows(0)("Cantidad").ToString.ToDouble
CveUnidad = CveUnidadBase
End If
End If
If CveProducto > 0 Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, 0, -1, Serie:=Dr("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
OcurrioError = True
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />")
Exit For
End If
Else
OcurrioError = True
ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.<br />")
Exit For
End If
i = i + 1
Next
'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN
If Not OcurrioError Then
Dim DtCostos As DataTable = Nothing
Dim ValorInventario As Decimal = 0
Dim TotalCosto As Decimal = 0
If ObjInventario.GetMovimientosDetalle(CveMovimientoInventario, UsuarioActual.CveEmpresa) Then
DtCostos = ObjInventario.DtResultados
TotalCosto = DtCostos.SUMD("Total").RoundSQL()
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
Dim IdCtaContable As Integer = 0
Dim CveCuenta As Integer = 0
If tmpCostos.Rows.Count > 0 Then
Dim TotalCostoAcumulado As Decimal = 0
Dim cont As Integer = 1
'Se agrega movimiento separado por la cuenta de ventas (ER)
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL()
TotalCostoAcumulado += ValorInventario
'cuando es el último movimiento y hay diferencias en los importes
If cont = DtCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
End If
'Concepto = String.Format("{0} - {1}", Row2("Clasificacion").ToString, Row2("SubProyecto").ToString)
IdCtaContable = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
CveCuenta = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
If ValorInventario <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, False, ValorInventario, factura.SerieFolio, 69, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveSubProyecto:=factura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=ValorInventario, CveCuenta:=CveCuenta) Then
OcurrioError = True
End If
End If
cont += 1
Next
End If
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", CveAlmacen)).ToEntero
If TotalCosto <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, True, TotalCosto, factura.SerieFolio, 68, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=factura.CveSubProyecto) Then
OcurrioError = True
End If
End If
factura.Inv_CveMovimiento = CveMovimientoInventario
factura.Inv_ValorInventario = ValorInventario
End If
If factura.CveAlmacen > 0 AndAlso factura.TipoDocto.Contiene("Ing", "Egs", "Rem") AndAlso RemisionesLista.Count > 0 Then
For Each CveRemision As Integer In RemisionesLista
'El almacen general es el Primer Almacen de Material en la Sucursal
If Not TraspasoAlmacen(ObjInventario, CveRemision, ObjConta, True, 9) Then
OcurrioError = True
Exit For
End If
End If
If RemisionesLista.Count > 0 Then
For Each CveRemision As Integer In RemisionesLista
'El almacen general es el Primer Almacen de Material en la Sucursal
If Not TraspasoAlmacen(ObjInventario, CveRemision, ObjConta, True, 9) Then
OcurrioError = True
Exit For
End If
Next
End If
Next
End If
If factura.TipoDocto = "Rem" AndAlso factura.ServicioDomicilio Then
Dim CveMovimientoSalida As Integer = GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenServicioDomicilio, 8, factura.CveMoneda, factura.CveVenta, "Modelos/SD1")
If CveMovimientoSalida > 0 Then
If Not (GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenTraspasoDestino, 9, factura.CveMoneda, factura.CveVenta, "Modelos/SD1", CveMovimientoRelacionado:=CveMovimientoSalida) > 0) Then
If Not (GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenTraspasoDestino, 9, factura.CveMoneda, factura.CveVenta, "Modelos/SD2", CveMovimientoRelacionado:=CveMovimientoSalida) > 0) Then
OcurrioError = True
End If
Else
@@ -4079,7 +4003,7 @@ Namespace Modelos
End Function
Private Function GenerarMovimientoAlmacenServicioDomicilio(ByRef ObjInventario As ClsInventarios, factura As Modelos.Factura, DtInventario As DataTable, CveAlmacen As Integer, CveConcepto As Integer, CveMoneda As Integer, CveVenta As Integer, Modulo As String, Optional MovimientoPrePoliza As Boolean = False, Optional ByRef ObjConta As ClsContabilidad = Nothing, Optional CveMovimientoRelacionado As Integer = -1) As Integer
Private Function GenerarMovimientoAlmacenServicioDomicilio(ByRef ObjInventario As ClsInventarios, ByRef factura As Modelos.Factura, DtInventario As DataTable, CveAlmacen As Integer, CveConcepto As Integer, CveMoneda As Integer, CveVenta As Integer, Modulo As String, Optional MovimientoPrePoliza As Boolean = False, Optional ByRef ObjConta As ClsContabilidad = Nothing, Optional CveMovimientoRelacionado As Integer = -1) As Integer
Dim OcurrioError As Boolean = False
Dim CveMovimientoInventario As Integer = ObjInventario.AddMovimiento(CveAlmacen, CveConcepto, factura.CveMoneda, factura.Fecha, -1, factura.CveUsuario, factura.CveEmpresa, -1, factura.CveVenta, -1, -1, Modulo:=Modulo, CveMovimientoRelacionado:=CveMovimientoRelacionado)
@@ -4167,9 +4091,18 @@ Namespace Modelos
Dim DtCostos As DataTable = Nothing
Dim ValorInventario As Decimal = 0
Dim TotalCosto As Decimal = 0
Dim TipoMovto68 As Boolean = True
Dim TipoMovto69 As Boolean = False
If CveConcepto.Contiene(18) Then
TipoMovto68 = False
TipoMovto69 = True
End If
If ObjInventario.GetMovimientosDetalle(CveMovimientoInventario, UsuarioActual.CveEmpresa) Then
DtCostos = ObjInventario.DtResultados
TotalCosto = DtCostos.SUMD("Total").RoundSQL()
TotalCosto = DtCostos.SUMD("Total").RoundSQL
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
Dim IdCtaContable As Integer = 0
Dim CveCuenta As Integer = 0
@@ -4178,39 +4111,41 @@ Namespace Modelos
Dim cont As Integer = 1
'Se agrega movimiento separado por la cuenta de ventas (ER)
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL()
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL
TotalCostoAcumulado += ValorInventario
'cuando es el último movimiento y hay diferencias en los importes
If cont = DtCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
If cont = tmpCostos.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
End If
'Concepto = String.Format("{0} - {1}", Row2("Clasificacion").ToString, Row2("SubProyecto").ToString)
IdCtaContable = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
CveCuenta = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
If ValorInventario <> 0 Then
'Concepto = String.Format("{0} - {1}", Row2("Clasificacion").ToString(), Row2("SubProyecto").ToString())
IdCtaContable = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
'CveCuenta = GlobalDTClasificaciones(factura.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
'If ValorInventario <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, False, ValorInventario, factura.SerieFolio, 69, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveSubProyecto:=factura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=ValorInventario, CveCuenta:=CveCuenta) Then
OcurrioError = True
End If
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, TipoMovto69, ValorInventario, factura.SerieFolio, 69, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveSubProyecto:=factura.CveSubProyecto, CveClasificacion:=RowInv("CveClasificacion").ToString().ToEntero(), CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=ValorInventario, CveCuenta:=CveCuenta) Then
OcurrioError = True
End If
'End If
cont += 1
Next
End If
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", CveAlmacen)).ToEntero
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", CveAlmacen)).ToEntero()
If TotalCosto <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, True, TotalCosto, factura.SerieFolio, 68, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=factura.CveSubProyecto) Then
OcurrioError = True
End If
'If TotalCosto <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(factura.CvePrePoliza, TipoMovto68, TotalCosto, factura.SerieFolio, 68, factura.SerieFolio, factura.Fecha, IdCtaContable, -1, CveVenta:=factura.CveVenta, CveCliente:=factura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=factura.CveSubProyecto) Then
OcurrioError = True
End If
'End If
factura.Inv_CveMovimiento = CveMovimientoInventario
factura.Inv_ValorInventario = ValorInventario
Else
OcurrioError = True
End If
factura.Inv_CveMovimiento = CveMovimientoInventario
factura.Inv_ValorInventario = ValorInventario
End If
End If
Return CveMovimientoInventario
@@ -5516,7 +5451,7 @@ Namespace Modelos
'ENTRADA POR TRAPASO A ENTREGA POR ADELANTADO
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaDevRem, UsuarioActual.CveEmpresa) Then
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("Serie").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString) Then
ErrorCancelar = True
Exit For
End If
@@ -5986,6 +5921,7 @@ Namespace Modelos
Public Property CveAnticipo As Integer
Public Property RemisionesLista As List(Of Integer)
Public Property CveAlmacen As Integer
Public Property GenerarSalidaAlmacen As Boolean = False
Public Property CveConceptoMovimiento As Integer
Public Property ObservacionesMovimiento As String
Public Property DtMovimientosUsados As DataTable

View File

@@ -2026,14 +2026,17 @@ Public Class Timbrado
cfdi.Nomina12Percepciones(ObjCFDITimbre.Nomina.TotalSueldos, ObjCFDITimbre.Nomina.TotalIndemnizacion, ObjCFDITimbre.Nomina.TotalJubilacion, ObjCFDITimbre.Nomina.TotalPercepcionesGravado, ObjCFDITimbre.Nomina.TotalPercepcionesExento)
For Each percep As CFDINominaPercepciones In ObjCFDITimbre.Nomina.Percepciones
cfdi.Nomina12Percepcion(percep.TipoPercepcion, percep.Clave, percep.Concepto, Math.Round(percep.ImporteGravado, 2), Math.Round(percep.ImporteExento, 2))
If percep.TipoPercepcion.ToEntero() = 19 Then
If ObjCFDITimbre.Nomina.HorasExtras IsNot Nothing AndAlso ObjCFDITimbre.Nomina.HorasExtras.Count > 0 Then
For Each HoraExtra As CFDINominaHorasExtras In ObjCFDITimbre.Nomina.HorasExtras
cfdi.Nomina12HorasExtra(HoraExtra.Dias.ToEntero, HoraExtra.TipoHoras, HoraExtra.HorasExtra, HoraExtra.ImportePagado)
Next
End If
End If
Next
End If
If ObjCFDITimbre.Nomina.HorasExtras IsNot Nothing AndAlso ObjCFDITimbre.Nomina.HorasExtras.Count > 0 Then
For Each HoraExtra As CFDINominaHorasExtras In ObjCFDITimbre.Nomina.HorasExtras
cfdi.Nomina12HorasExtra(HoraExtra.Dias.ToEntero, HoraExtra.TipoHoras, HoraExtra.HorasExtra, HoraExtra.ImportePagado)
Next
End If
'deducciones al final
If ObjCFDITimbre.Nomina.Deducciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Deducciones.Count > 0 Then
cfdi.Nomina12Deducciones(ObjCFDITimbre.Nomina.TotalDeduccionesOtras, Math.Round(ObjCFDITimbre.Nomina.TotalDeduccionesImpuestosRetenidos, 2))
@@ -2041,14 +2044,6 @@ Public Class Timbrado
cfdi.Nomina12Deduccion(deduc.TipoDeduccion, deduc.Clave, deduc.Concepto, Math.Round(deduc.Importe, 2))
Next
End If
If ObjCFDITimbre.Nomina.Incapacidades IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Incapacidades.Count > 0 Then
For Each Incap As CFDINominaIncapacidades In ObjCFDITimbre.Nomina.Incapacidades
cfdi.Nomina12Incapacidad(Incap.DiasIncapacidad.ToEntero, Incap.TipoIncapacidad, Incap.Importe)
Next
End If
If ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing Then
' cfdi.agregarNominaOtrosPagosOtroPago12("002", "002", "Subsidio", "10.00");
' cfdi.agregarNominaOtrosPagosOtroPagoSubsidioAlEmpleo12("10.00");
@@ -2068,6 +2063,11 @@ Public Class Timbrado
Next
End If
End If
If ObjCFDITimbre.Nomina.Incapacidades IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Incapacidades.Count > 0 Then
For Each Incap As CFDINominaIncapacidades In ObjCFDITimbre.Nomina.Incapacidades
cfdi.Nomina12Incapacidad(Incap.DiasIncapacidad.ToEntero, Incap.TipoIncapacidad, Incap.Importe)
Next
End If
End If
#End Region

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -143,7 +143,7 @@
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places"></script>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places", Extensiones.ModExtensiones.GOOGLE_MAPS_API_KEY) %>"></script>
<script src="/Metronic/assets/global/plugins/jquery.pulsate.min.js"></script>
<script>
var image = '/Imagenes/rsz_11rsz_car.png';

View File

@@ -412,6 +412,15 @@ Partial Class Inventarios_RecepcionAlmacen
End Set
End Property
Private Property ValidarRecepcionUsados As Boolean
Get
Return If(IsNothing(ViewState("ValidarRecepcionUsados")), False, CBool(ViewState("ValidarRecepcionUsados")))
End Get
Set
ViewState("ValidarRecepcionUsados") = Value
End Set
End Property
'Private Property DtDocumentos As DataTable
' Get
' Return CType(ViewState("DtDocumentos"), DataTable)
@@ -871,6 +880,7 @@ Partial Class Inventarios_RecepcionAlmacen
RealizarTraspasoAlmacenDevolucion = False
RealizarMovimientoVirtual = False
SumarImporteUsados = False
ValidarRecepcionUsados = False
BtnGuardar.Enabled = True
CargaAlmacenes(-1)
@@ -925,6 +935,7 @@ Partial Class Inventarios_RecepcionAlmacen
RealizarTraspasoAlmacenDevolucion = False
RealizarMovimientoVirtual = False
SumarImporteUsados = False
ValidarRecepcionUsados = False
CveAlmacenDevolucionProveedor = -1
Dim ObjCompras As New ClsCompras
@@ -981,10 +992,12 @@ Partial Class Inventarios_RecepcionAlmacen
If NumProductos > 0 AndAlso NumUsados > 0 Then
DtRecepcion = ObjInventario.DtResultados.FiltraParametros("EsUsado = False")
SumarImporteUsados = True
ValidarRecepcionUsados = True
'SI LA COMPRA TIENE PUROS USADOS, MOSTRAR LOS USADOS Y CARGAR LOS ALMACENES
ElseIf NumProductos = 0 AndAlso NumUsados > 0 Then
CargaSoloUsados = True
SumarImporteUsados = True
ValidarRecepcionUsados = True
DtRecepcion = ObjInventario.DtResultados.Copy()
If TipoMovimiento <> 3 Then 'sino es devolucion/NC
CargaAlmacenes(DtRecepcion.Rows(0)("CveSubProyecto").ToString.ToEntero, "22", CveTipoCompra)
@@ -997,8 +1010,10 @@ Partial Class Inventarios_RecepcionAlmacen
If ObjCompras.GetCompraDetalle(pCveCompra) Then
If ObjCompras.DtResultados.COUNT("Cantidad", "CveClasificacion=20519") > 0 Then
SumarImporteUsados = True
ValidarRecepcionUsados = True
Else
SumarImporteUsados = False
ValidarRecepcionUsados = False
End If
End If
@@ -2403,6 +2418,20 @@ Partial Class Inventarios_RecepcionAlmacen
Dim CvePrePoliza = -1
Dim MensajeContabilidad = ""
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
'VALIDA SI SE VAN A RECIBIR TODOS LOS PRODUCTOS
If ValidarRecepcionUsados Then
For Each gvr As GridViewRow In GvInv.Rows
If gvr.FCTextBox("TbCantidadF").Text.ToDecimal() <> gvr.DataKey("CantidadC").ToDecimal() Then
ValidarRecepcionUsados = False
Exit For
End If
Next
End If
End If
Try
'RECARGA TC CUANDO ES RECEPCION CON OC Y DOLARES
If CveOCSurtir > 0 And CveMoneda <> 1 Then
@@ -2825,7 +2854,7 @@ Partial Class Inventarios_RecepcionAlmacen
'VERIFICA SI TIENE ALMACEN VIRTUAL
If CveAlmacenVirtual > 0 Then
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa, CveCompra:=CveCompraSurtir, ValidaUsadosCompra:=SumarImporteUsados) Then
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa, CveCompra:=CveCompraSurtir, ValidaUsadosCompra:=ValidarRecepcionUsados) Then
DtPSVirtual = ObjInventario.DtResultados
End If
@@ -3020,7 +3049,7 @@ Partial Class Inventarios_RecepcionAlmacen
CveMovimientoRef = CveMovimiento
End If
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoRef, UsuarioActual.CveEmpresa, CveCompra:=CveCompraSurtir, ValidaUsadosCompra:=SumarImporteUsados) Then
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoRef, UsuarioActual.CveEmpresa, CveCompra:=CveCompraSurtir, ValidaUsadosCompra:=ValidarRecepcionUsados) Then
DtPSVirtual = ObjInventario.DtResultados
End If

View File

@@ -702,10 +702,7 @@ public partial class Nomina_Finiquito : ClsPaginas
if (continuar)
{
continuar = objNomina.AutorizaNom_Nominas(-1, CvePeriodoSeleccionado, true);
}
if (continuar)
{

View File

@@ -4,6 +4,7 @@
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.dnone {display:none !important;}
.GvConceptos tr td a {
color: #5b9bd1;
}
@@ -138,19 +139,19 @@
<asp:UpdatePanel ID="UpAccciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAutorizar" Visible ="false" OnClick="LnkAutorizar_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Autorizar</asp:LinkButton>
<asp:LinkButton ID="LnkAutorizar" Visible="false" OnClick="LnkAutorizar_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Autorizar</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkRegistrarProvision" Visible ="false" OnClick="LnkRegistrarProvision_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Registrar provisión</asp:LinkButton>
<asp:LinkButton ID="LnkRegistrarProvision" Visible="false" OnClick="LnkRegistrarProvision_Click" runat="server"><i class="fa fa-thumbs-up" aria-hidden="true"></i>Registrar provisión</asp:LinkButton>
</li>
<li>
<asp:HyperLink ID="LnkProvisionNomina" Visible="false" runat="server"><i class="fa fa-eye"></i>Ver provisón</asp:HyperLink>
<asp:HyperLink ID="LnkProvisionNomina" Visible="false" runat="server"><i class="fa fa-eye"></i>Ver provisón</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkTimbrarTodos" Visible="false" OnClick="LnkTimbrarTodos_Click" runat="server"><i class="fa fa-bell"></i> Timbrar todos</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkConceptoEmpleado" OnClick="LnkConceptoEmpleado_Click" runat="server" ><i class="fa fa-plus"></i> Empleado concepto</asp:LinkButton>
<asp:LinkButton ID="LnkConceptoEmpleado" OnClick="LnkConceptoEmpleado_Click" runat="server"><i class="fa fa-plus"></i> Empleado concepto</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCargaAsistenciaMasiva" OnClick="LnkCargaAsistenciaMasiva_Click" runat="server"><i class="fa fa-check" aria-hidden="true"></i>Carga masiva de asistencia</asp:LinkButton>
@@ -168,7 +169,7 @@
<asp:HyperLink ID="HypAsistencia" NavigateUrl="/RH/Asistencias.aspx" runat="server"><i class="fa fa-list" aria-hidden="true"></i>Ir a asistencia</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkFormatoTabular" Visible="false" OnClick="LnkFormatoTabular_Click" CssClass="" runat="server"><i class="fa fa-download"></i> Nómina tabular</asp:LinkButton>
<asp:LinkButton ID="LnkFormatoTabular" Visible="false" OnClick="LnkFormatoTabular_Click" CssClass="" runat="server"><i class="fa fa-download"></i> Nómina tabular</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkSimulador" OnClick="LnkSimulador_Click" runat="server"><i class="fa fa-calculator"></i> Simulador</asp:LinkButton>
@@ -180,7 +181,7 @@
<asp:LinkButton ID="LnkDownArchivosSua" OnClick="LnkDownArchivosSua_Click" runat="server"><i class="fa fa-download"></i> Descargar archivos SUA</asp:LinkButton>
</li>
<li>
<asp:HyperLink ID="HypPDFSTimbrados" Visible="false" onclick="GETPDF(-1,0)" NavigateUrl="#" runat="server"><i class="fa fa-download" aria-hidden="true"></i>Recibos timbrados</asp:HyperLink>
<asp:HyperLink ID="HypPDFSTimbrados" Visible="false" onclick="GETPDF(-1,0)" NavigateUrl="#" runat="server"><i class="fa fa-download" aria-hidden="true"></i>Recibos timbrados</asp:HyperLink>
</li>
</ContentTemplate>
<Triggers>
@@ -291,7 +292,7 @@
<asp:ListItem Text="Todos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
@@ -465,9 +466,9 @@
<ItemTemplate>
<div style="width: 100px; text-align: right; white-space: nowrap; padding-right: 10px;">
<asp:HyperLink ID="HypXml" Visible="false" NavigateUrl="#" runat="server">XML</asp:HyperLink>
<asp:HyperLink ID="HypPDF" CssClass="btn btn-circle btn-sm blue mysmallbtn" Visible="false" NavigateUrl="#" runat="server"><i class="fa fa-ad-pdf"></i></asp:HyperLink>
<asp:HyperLink ID="HypPDF" CssClass="btn btn-circle btn-sm blue mysmallbtn" Visible="false" NavigateUrl="#" runat="server"><i class="fa fa-ad-pdf"></i></asp:HyperLink>
<asp:LinkButton runat="server" ID="LnkTimbrar" CssClass="btn btn-circle btn-sm blue mysmallbtn" Text="<i class='fa fa-bell'></i>" OnClick="LnkTimbrar_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea Timbrar?" data-btn-ok-label="si" />
<asp:LinkButton runat="server" ID="ImgDelete" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && Eval("SeTimbro").ToString() == "False"? true :false)%>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar la nómina?" data-btn-ok-label="si" />
<asp:LinkButton runat="server" ID="ImgDelete" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && Eval("SeTimbro").ToString() == "False"? true :false)%>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar la nómina?" data-btn-ok-label="si" />
<asp:LinkButton runat="server" ID="LnkCancelar" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='fa fa-ban'></i>" OnClick="LnkCancelar_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && PermisoCancelarEmitido && Eval("SeTimbro").ToString() == "True"? true :false)%>' data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea cancelar la nómina?" data-btn-ok-label="si" />
</div>
</ItemTemplate>
@@ -1070,11 +1071,12 @@
<asp:DropDownList ID="DdlCtaContable" runat="server" AppendDataBoundItems="True" DataTextField="CtaCodigo" DataValueField="Id" Class="form-control input-sm select2me" Width="100%" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
</div>
<div class="col-md-3">¿Activo? <br />
<div class="col-md-3">
¿Activo?
<br />
<asp:CheckBox ID="ChkEstatus" CssClass="chksino " Text=" " runat="server" />
</div>
<div class="col-md-3">
</div>
</div>
@@ -1319,7 +1321,7 @@
<asp:TextBox ID="TxtSRINCporcentajedeIncapacidad" CssClass="form-control input-sm " runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvNom_porcentajedeIncapacidad" runat="server" ControlToValidate="TxtSRINCporcentajedeIncapacidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Porcentajede Incapacidad''</b> es necesario, por favor ingréselo." ValidationGroup="VGMNom_"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VcoNom_porcentajedeIncapacidad" runat="server" HighlightCssClass="vco" TargetControlID="RfvNom_porcentajedeIncapacidad"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" AssociatedControlID="TxtSRINCporcentajedeIncapacidad">Porcentajede de incapacidad</asp:Label>
<asp:Label runat="server" AssociatedControlID="TxtSRINCporcentajedeIncapacidad">Porcentaje de incapacidad</asp:Label>
</div>
</div>
</div>
@@ -1381,11 +1383,11 @@
<asp:Label ID="LblConceptoMod" runat="server" Text=""></asp:Label></h4>
</div>
<div class="modal-body">
<div runat="server" Visible="<%# (SRCvePersonal <=0) %>" class="form-group form-md-line-input input-iconright">
<div runat="server" visible="<%# (SRCvePersonal <=0) %>" class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlmcPersonal" Enabled="false" Text="Empleado"></asp:Label>
<asp:DropDownList ID="DdlmcPersonal" DataTextField="Nombre" DataValueField="CvePersonal" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control select2me">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="DdlmcPersonal" DataTextField="Nombre" DataValueField="CvePersonal" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control select2me">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" AssociatedControlID="DdlmcConceptos" Enabled="false" Text="Concepto"></asp:Label>
@@ -1461,9 +1463,69 @@
<asp:GridView ID="GVSalariosMinimos" runat="server" CssClass="table table-striped table-hover mysmallbtn Widthall GvNominas" GridLines="None"></asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TTIMMSRiesgot" runat="server" HeaderText="IMSS riesgo de trabajo">
<ajax:TabPanel ID="TTIMMSRiesgot" runat="server" HeaderText="Riesgo de trabajo">
<ContentTemplate>
<asp:GridView ID="GVIMMSRiesgot" runat="server" CssClass="table table-striped table-hover mysmallbtn Widthall GvNominas" GridLines="None"></asp:GridView>
<div class="portlet light xspadding bordered" id="pnlRiesgotup">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Actualizar</span>
</div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body " style="display: none">
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" style="width: 120px; display: inline-block">
<asp:TextBox ID="TxtPrimaRiesgo" runat="server" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtPrimaRiesgo" runat="server" ControlToValidate="TxtPrimaRiesgo" CssClass="dnone"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Prima de riesgo''</b> es necesario "
ValidationGroup="GrpGuardarprimariesgo"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Prima de riesgo: " AssociatedControlID="TxtPrimaRiesgo"></asp:Label>
<ajax:ValidatorCalloutExtender ID="VcoTxtPrimaRiesgo" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtPrimaRiesgo" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" style="width: 120px; display: inline-block">
<asp:TextBox ID="TxtFechaPRT" runat="server" CausesValidation="True" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtFechaPRT" runat="server" ControlToValidate="TxtFechaPRT" CssClass="dnone"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario "
ValidationGroup="GrpGuardarprimariesgo"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Fecha: " AssociatedControlID="TxtFechaPRT"></asp:Label>
<ajax:MaskedEditExtender ID="MKEFechaBaja" runat="server" TargetControlID="TxtFechaPRT" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left" BehaviorID="_content_MKEFechaBaja" Century="2000" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CEFechaBaja" runat="server" TargetControlID="TxtFechaPRT" PopupButtonID="ImgFechaBaja" PopupPosition="BottomRight" BehaviorID="_content_CEFechaBaja"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaBaja" runat="server" ControlToValidate="TxtFechaPRT" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Baja''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardarprimariesgo" Visible="False"></asp:CompareValidator>
</div>
<span class="input-group-btn " style="display: inline-block">
<asp:LinkButton ID="ImgFechaBaja" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:ValidatorCalloutExtender ID="vcoTxtFechaPRT" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaPRT" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-4">
<asp:LinkButton ID="LnkupPrimaRiesgo" OnClick="LnkupPrimaRiesgo_Click" CssClass ="btn btn-primary" ValidationGroup="GrpGuardarprimariesgo" runat="server">Actualizar</asp:LinkButton>
</div>
</div>
</div>
</div>
<div class="portlet light xspadding bordered" id="pnlRiesgot">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject bold uppercase font-yellow-gold">Historico</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body ">
<asp:GridView ID="GVIMMSRiesgot" runat="server" CssClass="table table-striped table-hover mysmallbtn Widthall GvNominas" GridLines="None"></asp:GridView>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TTInfonavitSegViv" runat="server" HeaderText="Infonavit seguro de vivienda">

View File

@@ -2580,8 +2580,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
protected void LnkVerTablas_Click(object sender, EventArgs e)
public void loadtablas()
{
using (ClsNominas objnom = new ClsNominas())
@@ -2607,6 +2606,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
GVVigSubEmpMensual.DataBind();
GVUma.DataBind();
UpModalTablas.Update();
}
protected void LnkVerTablas_Click(object sender, EventArgs e)
{
loadtablas();
RegistraScript("$('#ModalTablas').modal();");
}
@@ -4972,7 +4975,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
DdlSRINCcveTipodeIncidencia.SelectedValue = "-1";
DdlSRINCcveRamoSeguro.SelectedValue = "-1";
DdlSRINCcveTipoRiesgo.SelectedValue = "-1";
TxtSRINCporcentajedeIncapacidad.Text = "";
TxtSRINCporcentajedeIncapacidad.Text = "100";
DdlSRINCcveSecuelaConsecuencia.SelectedValue = "-1";
DdlSRINCcveControlIncapacidad.SelectedValue = "-1";
TxtSRINCdescripcion.Text = "";
@@ -5256,4 +5259,18 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
protected void LnkupPrimaRiesgo_Click(object sender, EventArgs e)
{
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.PrimaRiesgoUP(UsuarioActual.CveEmpresa,TxtFechaPRT.Text.ToDateTime(),TxtPrimaRiesgo.Text.ToDecimal()))
{
}
}
loadtablas();
}
}

View File

@@ -2229,12 +2229,9 @@
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DvPermisosMotivos1" runat="server" visible="false">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList Width="100%" ID="DdlPermisoTipo" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="Escolaridad" DataValueField="CveEscolaridad" Class="table-group-action-input form-control input-inline input-small input-sm" ValidationGroup="GrpPermisos">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1">Seleccionar</asp:ListItem>
<asp:ListItem Text="Seleccione" Value="1">Día de Descanso Trabajado</asp:ListItem>
<asp:ListItem Text="Seleccione" Value="2">Permiso con Goce de Sueldo</asp:ListItem>
@@ -2243,40 +2240,30 @@
<asp:ListItem Text="Seleccione" Value="5">Por Paternidad, con Goce de Sueldo </asp:ListItem>
<asp:ListItem Text="Seleccione" Value="6">Viaje de Trabajo</asp:ListItem>
<asp:ListItem Text="Seleccione" Value="7">Incapacidad pagada por la empresa</asp:ListItem>
<asp:ListItem Text="Seleccione" Value="8">Por horas, asunto personal sin Goce de Sueldo</asp:ListItem>
<asp:ListItem Text="Seleccione" Value="8">Por horas, asunto personal sin Goce de Sueldo</asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlPermisoTipo.ClientID.ToString()%>">Tipo de permiso solicitado: </label>
<asp:RequiredFieldValidator ID="RfvDdlPermisoTipo" runat="server" ControlToValidate="DdlPermisoTipo" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de permiso''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpPermisos"></asp:RequiredFieldValidator>
<i></i>
</div>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= RblPermisoDocNecesario.ClientID.ToString()%>">Documento Necesario: </label>
<label for="<%= RblPermisoDocNecesario.ClientID.ToString()%>">Documento Necesario: </label>
<asp:RadioButtonList runat="server" ID="RblPermisoDocNecesario" RepeatDirection="Horizontal">
<asp:ListItem Selected="True" Text="Si" Value="1" />
<asp:ListItem Text="No" Value="2" />
</asp:RadioButtonList>
</asp:RadioButtonList>
<i></i>
</div>
</div>
<br />
<div class="row">
<div class="col-md-3">
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPermisosDias" runat="server" MaxLength="2"></asp:TextBox>
<label for="<%= TxtPermisosDias.ClientID.ToString()%>">Días de permiso:</label>
<%-- <asp:RequiredFieldValidator ID="rfvTxtPermisosDias" runat="server" ControlToValidate="TxtPermisosDias" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Días de permiso''</b> es necesario, por favor ingréselo." ValidationGroup="GrpPermisos"></asp:RequiredFieldValidator>--%>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtPermisosDias" FilterType="Numbers,Custom" InvalidChars=".,+" />
<i></i>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright">
@@ -2284,29 +2271,17 @@
<label for="<%= TxtPermisosHoras.ClientID.ToString()%>">Horas de permiso:</label>
<%-- <asp:RequiredFieldValidator ID="RfvTxtPermisosHoras" runat="server" ControlToValidate="TxtPermisosHoras" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Horas de permiso''</b> es necesario, por favor ingréselo." ValidationGroup="GrpPermisos"></asp:RequiredFieldValidator>--%>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtPermisosHoras" FilterType="Numbers,Custom" InvalidChars=".,+" />
<i></i>
</div>
<i></i>
</div>
</div>
<div class="col-md-3"></div>
<div class="col-md-3"></div>
</div>
<br />
<div class="col-md-3"></div>
</div>
<br />
</div>
<br />
<br />
<div id="ModalAddVacaciones" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-dialog">
<div class="modal-content" style="width: 700px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
@@ -2344,9 +2319,6 @@
<ajax:CalendarExtender runat="server" ID="CETxtFechaFinVac" TargetControlID="TxtFechaFinVac" PopupButtonID="ImgTxtFechaFinVac" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<label>Fecha Final</label>
</div>
<br />
</div>
</div>
@@ -2371,23 +2343,15 @@
</div>
</div>
</div>
</div>
</div>
<div id="DvPermisosMotivos2" runat="server" visible="false">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPermisoMotivo" runat="server" MaxLength="200"></asp:TextBox>
<label for="<%= TxtPermisoMotivo.ClientID.ToString()%>">Motivo del permiso laboral:</label>
<%-- <asp:RequiredFieldValidator ID="RfvTxtPermisosHoras" runat="server" ControlToValidate="TxtPermisosHoras" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Horas de permiso''</b> es necesario, por favor ingréselo." ValidationGroup="GrpPermisos"></asp:RequiredFieldValidator>--%>
<i></i>
</div>
<br />
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPermisosReemplazo" runat="server" Width="100%" AppendDataBoundItems="True" DataTextField="NombreCompleto" DataValueField="CvePersonal" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Sin Asignar" Value="-1"></asp:ListItem>
@@ -2395,19 +2359,13 @@
<label for="<%= DdlPermisosReemplazo.ClientID.ToString()%>">Nombre de quién queda en su lugar: </label>
<asp:RequiredFieldValidator ID="RfvDdlPermisosReemplazo" runat="server" ControlToValidate="DdlPermisosReemplazo" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpPermisos"></asp:RequiredFieldValidator>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPermisoComentarios" runat="server" MaxLength="200"></asp:TextBox>
<label for="<%= TxtPermisoComentarios.ClientID.ToString()%>">Comentarios:</label>
<%-- <asp:RequiredFieldValidator ID="RfvTxtPermisosHoras" runat="server" ControlToValidate="TxtPermisosHoras" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Horas de permiso''</b> es necesario, por favor ingréselo." ValidationGroup="GrpPermisos"></asp:RequiredFieldValidator>--%>
<i></i>
</div>
</div>
<div style="text-align: center!important">
<br />
@@ -2485,10 +2443,6 @@
</div>
<div class="portlet-body ">
<%-- <asp:LinkButton > Nuevo Permiso</asp:LinkButton>--%>
<div class="Widthall" style="text-align: right">
</div>
<asp:UpdatePanel ID="UpGvPermisos" runat="server" UpdateMode="Conditional">
@@ -2527,26 +2481,10 @@
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</ContentTemplate>
<%--<Triggers>
<asp:PostBackTrigger ControlID="BtnSolicitarVacaciones" />

View File

@@ -4787,7 +4787,7 @@
<ajax:MaskedEditExtender ID="mskTelefono" runat="server" TargetControlID="TxtTelefonoSucursal" ClearMaskOnLostFocus="false" MaskType="None" Mask="(999) 999-9999" MessageValidatorTip="true" InputDirection="LeftToRight" ErrorTooltipEnabled="True"></ajax:MaskedEditExtender>
<label for="<%= TxtTelefonoSucursal.ClientID.ToString()%>">Teléfono:</label>
</div>
<div id="DivRFCSucursal" visible="false" runat="server" class="form-group form-md-line-input input-iconright col-xs-8">
<div id="DivRFCSucursal" runat="server" class="form-group form-md-line-input input-iconright col-xs-8">
<asp:TextBox ID="TxtRFCSucursal" Style="text-transform: uppercase;" runat="server" CssClass="form-control" MaxLength="13" CausesValidation="true"></asp:TextBox>
<asp:RegularExpressionValidator ID="REVRFCSucursal" runat="server" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''RFC''</b> es incorrecto, por favor ingréselo." ValidationGroup="GrpGuardarSucursal" ControlToValidate="TxtRFCSucursal" ValidationExpression="^[a-zA-Z.)(/\\&-]{3,4}(\d{6})((\D|\d){2})((\D|\d){1})$"></asp:RegularExpressionValidator>
<label for="<%= TxtRFCSucursal.ClientID.ToString()%>">RFC:</label>

View File

@@ -3048,7 +3048,7 @@ Partial Class Clientes
If ObjCliente.UpdateSucursal(TxtNombreSucursal.Text.Trim, Estatus, CveCliente, CveClienteSuc, TxtCiudadSucursal.Text.Trim, TxtColoniaSucursal.Text.Trim, TxtCPSucursal.Text.Trim, TxtDireccionSucursal.Text.Trim, TxtEstadoSucursal.Text.Trim, TxtLocalidadSucursal.Text.Trim, TxtPaisSucursal.Text.Trim, TxtNumExtSucursal.Text.Trim, TxtNumIntSucursal.Text.Trim,
TxtTelefonoSucursal.Text.Trim.Replace(" ", "").Replace("(", "").Replace(")", "").Replace("-", "").Replace("_", ""), TxtCorreoSucursal.Text.Trim, TxtCorreoSucursalCotizacion.Text.Trim, TxtContactoSucursal.Text.Trim, DdlVendedorSucursal.SelectedValue.ToEntero(), TxtNumeroCuenta.Text, DdlMetodoPagoSucursal.SelectedValue.ToEntero(), TxtLimiteCreditoSucursal.Text.ToDecimal(), DdlResponsableSucursal.SelectedValue.ToEntero(),
DdlSucursalUsoCFDI.SelectedValue.ToEntero(), DdlSucursalFormaPago33.SelectedValue.ToEntero(), DdlSucursalMetodoPago33.SelectedValue.ToEntero(), LT:=LT, LG:=LG) Then
DdlSucursalUsoCFDI.SelectedValue.ToEntero(), DdlSucursalFormaPago33.SelectedValue.ToEntero(), DdlSucursalMetodoPago33.SelectedValue.ToEntero(), LT:=LT, LG:=LG, RFC:=RFC) Then
GVSucursales.EditIndex = -1
ViewState("DTSucursalesCliente") = ObjCliente.DtResultados
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
@@ -3064,7 +3064,7 @@ Partial Class Clientes
Else
If ObjCliente.AddSucursal(CveCliente, TxtNombreSucursal.Text.Trim, UsuarioActual.CveUsuario, TxtCiudadSucursal.Text.Trim, TxtColoniaSucursal.Text.Trim, TxtCPSucursal.Text.Trim, TxtDireccionSucursal.Text.Trim, TxtEstadoSucursal.Text.Trim, TxtLocalidadSucursal.Text.Trim, TxtPaisSucursal.Text.Trim, TxtNumExtSucursal.Text.Trim, TxtNumIntSucursal.Text.Trim, TxtTelefonoSucursal.Text.Trim.Replace(" ", "").Replace("(", "").Replace(")", "").Replace("-", ""), TxtCorreoSucursal.Text.Trim, TxtCorreoSucursalCotizacion.Text.Trim, TxtContactoSucursal.Text.Trim,
DdlVendedorSucursal.SelectedValue.ToEntero(), TxtNumeroCuenta.Text, DdlMetodoPagoSucursal.SelectedValue.ToEntero(), TxtLimiteCreditoSucursal.Text.ToDecimal(), DdlResponsableSucursal.SelectedValue.ToEntero(),
DdlSucursalUsoCFDI.SelectedValue.ToEntero(), DdlSucursalFormaPago33.SelectedValue.ToEntero(), DdlSucursalMetodoPago33.SelectedValue.ToEntero(), LT:=LT, LG:=LG) Then
DdlSucursalUsoCFDI.SelectedValue.ToEntero(), DdlSucursalFormaPago33.SelectedValue.ToEntero(), DdlSucursalMetodoPago33.SelectedValue.ToEntero(), LT:=LT, LG:=LG, RFC:=RFC) Then
TxtNombreSucursal.Text = ""
TxtCiudadSucursal.Text = ""
TxtColoniaSucursal.Text = ""
@@ -3187,7 +3187,7 @@ Partial Class Clientes
Protected Sub GvDatos_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GVSucursales.RowEditing
Me.Actualizar = True
Me.DivRFCSucursal.Visible = False
'Me.DivRFCSucursal.Visible = False
Me.CveClienteSuc = GVSucursales.DataKeys(e.NewEditIndex).Value.ToString().ToEntero()
@@ -3209,7 +3209,7 @@ Partial Class Clientes
TxtNumIntSucursal.Text = ObjCliente.DtResultados.Rows(0)("NoInt").ToString()
TxtTelefonoSucursal.Text = ObjCliente.DtResultados.Rows(0)("Telefono").ToString()
TxtRFCSucursal.Text = ObjCliente.DtResultados.Rows(0)("RFC").ToString()
DivRFCSucursal.Visible = Not String.IsNullOrEmpty(TxtRFCSucursal.Text.Trim())
'DivRFCSucursal.Visible = Not String.IsNullOrEmpty(TxtRFCSucursal.Text.Trim())
TxtCorreoSucursal.Text = ObjCliente.DtResultados.Rows(0)("Correo").ToString()
TxtCorreoSucursalCotizacion.Text = ObjCliente.DtResultados(0)("CorreoCotizacion").ToString()
TxtContactoSucursal.Text = ObjCliente.DtResultados.Rows(0)("Contacto").ToString()

View File

@@ -2943,7 +2943,7 @@
<div class="row">
<div class="col-md-8">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlFolioGarantia" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="FolioGarantia" DataValueField="CveFolioGarantia" Width="100%" AutoPostBack="true">
<asp:DropDownList ID="DdlFolioGarantia" CssClass="form-control input-sm select2me" runat="server" CausesValidation="true" DataTextField="FolioGarantia" DataValueField="CveFolioGarantia" Width="100%" AutoPostBack="true">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVFolioGarantia" runat="server" ControlToValidate="DdlFolioGarantia" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAddVenta"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFolioGarantia" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolioGarantia"></ajax:ValidatorCalloutExtender>
@@ -3162,7 +3162,7 @@
//MARCA OPTIMA
if (CveMarca == "1086") {
var regex = new RegExp("^\d{4}$|^[A-L][0-9][1-9A-Z][A-HJ-M]$");
var regex = new RegExp("[0-9]{4}");
arguments.IsValid = regex.test(arguments.Value);
return;
//MARCA MOTOBATERIAS

View File

@@ -3954,6 +3954,19 @@ Partial Class PV
End Sub
Private Sub DdlSubProyectoDatos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubProyectoDatos.SelectedIndexChanged
CambiaSucursalGeneral()
If UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" Then
Dim ObjAcum As New ClsAcumuladores
If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, Area:=1) Then
DdlFolioGarantia.DataSource = ObjAcum.DtResultados.FiltraParametros($"CveSubProyecto={DdlSubProyectoDatos.SelectedValue}")
End If
ObjAcum.Dispose()
DdlFolioGarantia.DataBind()
DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1"))
End If
UpAjuste.Update()
UpModalVenta.Update()
End Sub
Private Sub CambiaSucursalGeneral()
Dim ObjSubProyectos As New ClsSubProyectos
@@ -6228,10 +6241,12 @@ Partial Class PV
Private Sub CargaAjuste()
Dim ObjAcum As New ClsAcumuladores
If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, Area:=1) Then
DdlFolioGarantia.DataSource = ObjAcum.DtResultados
DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlFolioGarantia.DataSource = ObjAcum.DtResultados.Copy().FiltraParametros($"CveSubProyecto={DdlSubProyectoDatos.SelectedValue}")
End If
ObjAcum.Dispose()
DdlFolioGarantia.DataBind()
DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlFacturas.Items.Insert(0, New ListItem("Sin Factura", "-1"))
@@ -6264,6 +6279,8 @@ Partial Class PV
DdlDistribuidor.setEsWebService(True)
DivChkAjuste.Visible = True
UpAjuste.Update()
UpModalVenta.Update()
End Sub
Private Sub CargaModelos()
@@ -6536,6 +6553,13 @@ Partial Class PV
HdnPSAjusteMarca.Value = CveMarca.ToString()
HdnPSAjusteClasificacion.Value = CveClasificacion.ToString()
'MARCA OPTIMA
If CveMarca = 1086 Then
TxtCodInspeccion.MaxLength = 4
Else
TxtCodInspeccion.MaxLength = 50
End If
End If
If Not DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso DdlFacturas.SelectedValue.ToEntero > 0 Then
@@ -6801,26 +6825,29 @@ Partial Class PV
End Sub
Protected Sub DdlFolioGarantia_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlFolioGarantia.SelectedIndexChanged
Dim ObjAcumuladores As New ClsAcumuladores
If ObjAcumuladores.GetNuevoConsecutivoFolio(DdlFolioGarantia.SelectedValue.ToEntero) Then
Dim resultado As Integer = ObjAcumuladores.DtResultados.FiltroPrimeroValor("NuevoConsecutivo").ToEntero
If ObjAcumuladores.FoliosGarantiaGet(DdlFolioGarantia.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
Dim Limite As Integer = If(ObjAcumuladores.DtResultados.FiltroPrimeroValor("Limite") IsNot Nothing, ObjAcumuladores.DtResultados.FiltroPrimeroValor("Limite").ToEntero, 0) 'ObjAcumuladores.DtResultados.FiltroPrimeroValor("Limite").ToEntero
If resultado < Limite Or Limite = 0 Then
TxtConsecutivoAjuste.Text = (resultado + 1).ToString
Else
Alert("limite de folios alcanzado")
If DdlFolioGarantia.SelectedValue.ToEntero > 0 Then
Dim ObjAcumuladores As New ClsAcumuladores
If ObjAcumuladores.GetNuevoConsecutivoFolio(DdlFolioGarantia.SelectedValue.ToEntero) Then
Dim resultado As Integer = ObjAcumuladores.DtResultados.FiltroPrimeroValor("NuevoConsecutivo").ToEntero
If ObjAcumuladores.FoliosGarantiaGet(DdlFolioGarantia.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
Dim Limite As Integer = If(ObjAcumuladores.DtResultados.FiltroPrimeroValor("Limite") IsNot Nothing, ObjAcumuladores.DtResultados.FiltroPrimeroValor("Limite").ToEntero, 0) 'ObjAcumuladores.DtResultados.FiltroPrimeroValor("Limite").ToEntero
If resultado < Limite Or Limite = 0 Then
TxtConsecutivoAjuste.Text = (resultado + 1).ToString
Else
Alert("limite de folios alcanzado")
End If
End If
UpAjuste.Update()
End If
UpAjuste.Update()
End If
ObjAcumuladores.Dispose()
ObjAcumuladores.Dispose()
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
If Not FolioGarantia.Valido Then
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
If Not FolioGarantia.Valido Then
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
End If
End If
End Sub
#End Region

View File

@@ -16730,6 +16730,7 @@ Partial Class Ventas
Dim TotalCalculableImpuestos As Decimal = 0
Dim TotalCalculableImpuestosIVA As Decimal = 0
PU = PU.RoundSQL(6) ' el precio unitario puede llevar hasta 6 decimales permitidos
Descuento = Descuento.RoundSQL(NumeroDecimales)
If Not TmpDT.Columns.Contains("RetIVA") Then
TmpDT.Columns.Add("RetIVA", GetType(Decimal))
@@ -16994,7 +16995,7 @@ Partial Class Ventas
If PrecioSugerido > 0 Then
PU = PrecioSugerido
End If
PU = Math.Round(PU, 6)
PU = PU.RoundSQL(6)
DrPoliza("PU") = PU
TotalCalculableImpuestos = (DrPoliza("Cantidad").ToString().ToDecimal * (PU))
@@ -17004,18 +17005,18 @@ Partial Class Ventas
DrPoliza("PorcentajeIVA") = DrPSAdicional("IVA")
End If
DrPoliza("IVA") = DrPoliza("PorcentajeIVA")
DrPoliza("ImporteIVA") = Math.Round(DrPoliza("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
DrPoliza("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales)
DrPoliza("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales)
DrPoliza("ImporteIVA") = (DrPoliza("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
DrPoliza("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
DrPoliza("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
DrPoliza("PorcentajeRetIVA") = ClienteRetIVA
DrPoliza("PorcentajeRetISR") = ClienteRetISR
DrPoliza("PorcentajeIEPS") = DrPSAdicional("IEPSPorcentaje")
DrPoliza("ImporteIEPS") = Math.Round(DrPSAdicional("IEPSPorcentaje").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales)
DrPoliza("ImporteIEPS") = (DrPSAdicional("IEPSPorcentaje").ToString().ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
DrPoliza("IEPS") = DrPoliza("ImporteIEPS")
DrPoliza("Descuento") = 0 ' Descuento
DrPoliza("TipoDescuento") = HdnTipoDescuento.Value
DrPoliza("Total") = (DrPoliza("Cantidad").ToString().ToDecimal * PU)
DrPoliza("TotalImporte") = Math.Round(DrPoliza("Cantidad").ToString().ToDecimal * PU, NumeroDecimales)
DrPoliza("TotalImporte") = (DrPoliza("Cantidad").ToString().ToDecimal * PU).RoundSQL(NumeroDecimales)
DrPoliza("SATClaveProdServ") = DrPSAdicional("SATClavePS")
DrPoliza("SATClaveUM") = DrPSAdicional("SATClaveUnidadMedida")
@@ -17554,13 +17555,13 @@ Partial Class Ventas
End Sub
Private Sub CalculaTotalesVenta(Optional RecalculaImpuestosLocales As Boolean = True, Optional NCDescuento As Boolean = False)
Dim TotalSubTotal As Decimal = TmpDT.SUM("TotalImporte").ToDecimal
Dim TotalDescuentos As Decimal = TmpDT.SUM("Descuento").ToDecimal
Dim TotalSubTotal As Decimal = TmpDT.SUMD("TotalImporte")
Dim TotalDescuentos As Decimal = TmpDT.SUMD("Descuento")
Dim TotalAmortizacion As Decimal = LblAmortizacion.Text.ToDecimal
Dim TotalIVA As Decimal = TmpDT.SUM("ImporteIVA").ToDecimal
Dim TotalIEPS As Decimal = TmpDT.SUM("ImporteIEPS").ToDecimal
Dim TotalRetIVA As Decimal = TmpDT.SUM("ImporteRetIVA").ToDecimal
Dim TotalRetISR As Decimal = TmpDT.SUM("ImporteRetISR").ToDecimal
Dim TotalIVA As Decimal = TmpDT.SUMD("ImporteIVA")
Dim TotalIEPS As Decimal = TmpDT.SUMD("ImporteIEPS")
Dim TotalRetIVA As Decimal = TmpDT.SUMD("ImporteRetIVA")
Dim TotalRetISR As Decimal = TmpDT.SUMD("ImporteRetISR")
Dim Total As Decimal = 0
Dim TotalImpuestosLocales As Decimal = 0
@@ -17580,11 +17581,11 @@ Partial Class Ventas
End If
TmpDT.AcceptChanges()
TotalIVA = TmpDT.SUM("ImporteIVA").ToDecimal
TotalIEPS = TmpDT.SUM("ImporteIEPS").ToDecimal
TotalRetIVA = TmpDT.SUM("ImporteRetIVA").ToDecimal
TotalRetISR = TmpDT.SUM("ImporteRetISR").ToDecimal
TotalImpuestosLocales = TmpDTImpuestos.SUM("Importe").ToDecimal
TotalIVA = TmpDT.SUMD("ImporteIVA")
TotalIEPS = TmpDT.SUMD("ImporteIEPS")
TotalRetIVA = TmpDT.SUMD("ImporteRetIVA")
TotalRetISR = TmpDT.SUMD("ImporteRetISR")
TotalImpuestosLocales = TmpDTImpuestos.SUMD("Importe")
End If
End If
@@ -19449,17 +19450,28 @@ Partial Class Ventas
ViewState("CveClienteAnterior") = CveCliente
'SI EL DETALLE NO TIENE MOVIMIENTOS DE INVENTARIO ES VISIBLE
Dim CantidadFacturadaRemision = 0.0
For Each Gvr As GridViewRow In GvPS.Rows
Gvr.FCLinkButton("imgE").Visible = Not Gvr.DataKey("CantidadFacturadaRem").ToString().ToDouble > 0
Gvr.FCLinkButton("imgD").Visible = Not Gvr.DataKey("CantidadInventario").ToString().ToDouble > 0
CantidadFacturadaRemision += Gvr.DataKey("CantidadFacturadaRem").ToString().ToDouble
'If GvInv.Rows.Count > 0 Then
' Gvr.FCLinkButton("imgE").Enabled = False
' Gvr.FCLinkButton("imgE").ToolTip = "No se puede editar debido a que ya hay un movimiento de almacen."
'End If
Next
'EN BDH NO DEBE PERMITIR EDITAR EL PU
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
For Each Gvr As GridViewRow In GvPS.Rows
Gvr.FCLinkButton("imgE").Visible = False
Gvr.FCLinkButton("imgD").Visible = False
CantidadFacturadaRemision += Gvr.DataKey("CantidadFacturadaRem").ToString().ToDouble
Next
Else
'SI EL DETALLE NO TIENE MOVIMIENTOS DE INVENTARIO ES VISIBLE
For Each Gvr As GridViewRow In GvPS.Rows
Gvr.FCLinkButton("imgE").Visible = Not Gvr.DataKey("CantidadFacturadaRem").ToString().ToDouble > 0
Gvr.FCLinkButton("imgD").Visible = Not Gvr.DataKey("CantidadInventario").ToString().ToDouble > 0
CantidadFacturadaRemision += Gvr.DataKey("CantidadFacturadaRem").ToString().ToDouble
'If GvInv.Rows.Count > 0 Then
' Gvr.FCLinkButton("imgE").Enabled = False
' Gvr.FCLinkButton("imgE").ToolTip = "No se puede editar debido a que ya hay un movimiento de almacen."
'End If
Next
End If
'ACTIVA CAMBIO DE CLIENTE - SI NO TIENE NADA FACTURADO
If Not CantidadFacturadaRemision > 0 AndAlso UsuarioActual.TienePermisoProceso(284) Then
@@ -25118,8 +25130,8 @@ Partial Class Ventas
For Each Dr As DataRow In DtImpuestos.Rows
AgregaTempDT(TmpDTDescNC, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal, "", "", -1, -1,
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString.ToDecimal, Dr("PorcentajeIVA").ToString.ToDecimal, Dr("ImporteIVA").ToString.ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0, Dr("ImporteTotal").ToString().ToDecimal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
Next
End If
@@ -25178,7 +25190,7 @@ Partial Class Ventas
AgregaTempDT(TmpDT, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal + Ajuste, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal(), "", "", -1, -1,
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0, Dr("ImporteTotal").ToString().ToDecimal(), "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
Next
@@ -25291,7 +25303,7 @@ Partial Class Ventas
AgregaTempDT(TmpDTCargo, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowUsado("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA,
RowUsado("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowUsado("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0.0, ImporteTotal, "", "", -1, -1,
RowUsado("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowUsado("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalle").ToString().ToEntero())
If Terminar Then
@@ -25374,7 +25386,7 @@ Partial Class Ventas
AgregaTempDT(TmpDTCargo, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, 0, ImporteRetIVA,
0, ImporteRetISR, 0, ImporteIEPS, -1, 0.0, ImporteTotal, "", "", -1, -1,
0, ImporteRetISR, 0, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalleRNC").ToString().ToEntero())
If Terminar Then
@@ -25463,7 +25475,7 @@ Partial Class Ventas
AgregaTempDT(TmpDTDescNCBonificacion, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
Obs, Cantidad, ImportePU, RowCargo("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowCargo("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA,
RowCargo("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowCargo("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0.0, ImporteTotal, "", "", -1, -1,
RowCargo("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowCargo("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0, ImporteTotal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
Next
@@ -25580,9 +25592,9 @@ Partial Class Ventas
End Function
Private Sub AgregaTempDT(ByRef TmpDT As DataTable, CvePS As Integer, PS As String, Codigo As String, CodigoPS As String, CveTipoPS As Integer, CveTipoInvPS As Integer, CveUM As Integer, UM As String,
CveClasificacion As Integer, Clasificacion As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String,
Obs As String, Cantidad As Double, PU As Double, PorcentajeIVA As Double, ImporteIVA As Double, PorcentajeRetIVA As Double, ImporteRetIVA As Double,
PorcentajeRetISR As Double, ImporteRetISR As Double, PorcentajeIEPS As Double, ImporteIEPS As Double, TipoDescuento As Integer, Descuento As Double,
Total As Double, Serie As String, TiempoEntrega As String, CvePresupuestoIngreso As Integer, EntregaDirecta As Integer, SATClaveProdServ As String,
Obs As String, Cantidad As Decimal, PU As Decimal, PorcentajeIVA As Decimal, ImporteIVA As Decimal, PorcentajeRetIVA As Decimal, ImporteRetIVA As Decimal,
PorcentajeRetISR As Decimal, ImporteRetISR As Decimal, PorcentajeIEPS As Decimal, ImporteIEPS As Decimal, TipoDescuento As Integer, Descuento As Decimal,
Total As Decimal, Serie As String, TiempoEntrega As String, CvePresupuestoIngreso As Integer, EntregaDirecta As Integer, SATClaveProdServ As String,
SATClaveUM As String, CveContratoDetalle As Integer, CveVentaDetalle As Integer, CveMovimientoDetallePedido As Integer, CveOrdenCompraDetalle As Integer,
CveVentaDetalleRemision As Integer, CveVentaDetalleCotizacion As Integer, Optional CveTamaño As Integer = -1, Optional CveVentaDetalleRNC As Integer = -1)
@@ -25611,7 +25623,7 @@ Partial Class Ventas
Row("Obs") = Obs
Row("Cantidad") = Cantidad
Row("PU") = Math.Round(PU, 6)
Row("PU") = PU.RoundSQL(6)
Row("PorcentajeIVA") = PorcentajeIVA
Row("IVA") = PorcentajeIVA
Row("ImporteIVA") = Math.Round(ImporteIVA, NumeroDecimales)

View File

@@ -204,6 +204,12 @@