This commit is contained in:
2020-12-21 10:55:21 -07:00
24 changed files with 6524 additions and 245 deletions

View File

@@ -243,6 +243,29 @@ Public Class ClsPuntoVenta
Return Retorno Return Retorno
End Function End Function
Public Function GetCortesPorCuenta(CveCuenta As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_CuentaCorteGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveCorte", SqlDbType.Int).Direction = ParameterDirection.Output
End With
Try
SqlAdapter.Fill(Data)
CveCorte = Integer.Parse(SqlAdapter.SelectCommand.Parameters("@CveCorte").Value.ToString)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los cuenta de corte", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetVta_ReporteCortes(CveEmpresa As Integer, FechaI As Date, FechaF As Date, Optional CveSubProyecto As Integer = -1) As Boolean Public Function GetVta_ReporteCortes(CveEmpresa As Integer, FechaI As Date, FechaF As Date, Optional CveSubProyecto As Integer = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ReporteCortesGet") DataAdapter("PA_Vta_ReporteCortesGet")

View File

@@ -6912,6 +6912,26 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
End Function End Function
Public Function GethorariosChecador(CveChecadorHorario As Integer, Estatus As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RH_ChecadorHorariosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveChecadorHorario", SqlDbType.Int).Value = CveChecadorHorario
.Add("@Estatus", SqlDbType.Int).Value = Estatus
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al consultar las vacaciones", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region #End Region

View File

@@ -656,6 +656,12 @@ Public Class Timbrado
If Ret <> "" Then MensajeErrorCFDI = Ret If Ret <> "" Then MensajeErrorCFDI = Ret
Retorno = If(Ret = "", True, False) Retorno = If(Ret = "", True, False)
Case 5
Dim Ret As String = TimbrarFacturaPADEv33(Ventas, UsuarioActual, CvePACEspecial)
If Ret <> "" Then MensajeErrorCFDI = Ret
Retorno = If(Ret = "", True, False)
End Select End Select
@@ -2187,6 +2193,604 @@ Public Class Timbrado
GuardaLogTimbrado(swTiempo.ToString, CvePACEspecial) GuardaLogTimbrado(swTiempo.ToString, CvePACEspecial)
Return Retorno Return Retorno
End Function End Function
Public Function TimbrarFacturaPADEv33(Ventas As Modelos.Factura, UsuarioActual As Usuario, Optional CvePACEspecial As Integer = -1) As String
If CvePACEspecial = -1 Then
CvePACEspecial = UsuarioActual.Empresa.CvePAC
End If
Dim sw As New Diagnostics.Stopwatch
Dim swmili As Long = 0
Dim swTiempo As New StringBuilder
sw.Start()
Dim Retorno As String = ""
Dim ObjCFDITimbre As CFDITimbre = Ventas.Timbre
' 'Sucursal matriz de la empresa
Dim ArchivoLLave As String = String.Format("{0}Certificados\{1}", UsuarioActual.Empresa.Ruta, UsuarioActual.Empresa.ArchivoKey)
Dim ArchivoCertificado As String = String.Format("{0}Certificados\{1}", UsuarioActual.Empresa.Ruta, UsuarioActual.Empresa.ArchivoCer)
Dim UsuarioServicio As String = If(CvePACEspecial = 2, UsuarioActual.Empresa.RFC, "rene.molina@adsistemas.mx")
Dim ClaveServicio As String = If(CvePACEspecial = 2, UsuarioActual.Empresa.RFC.ToLower, "rene2018")
Dim Clave As String = UsuarioActual.Empresa.ContraseñaKey
Dim EmisorRFC As String = UsuarioActual.Empresa.RFC
Dim UrlServicio As String = "" ' Produccion
Dim RutaArchivo As String = String.Format("{0}XML\{1}\", UsuarioActual.Empresa.Ruta, Ventas.TipoDocto)
Dim NombreArchivoXML As String = ObjCFDITimbre.Comprobante.SerieFolio
Dim SubTotal As Decimal = 0
Dim TimbraProduccion As Boolean = True
If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo)
Select Case CvePACEspecial
Case 2
UrlServicio = "http://generacfdi.com.mx/rvltimbrado/service1.asmx?WSDL" 'productivo
Case 4
'UrlServicio = "http://juancalderon-001-site1.ftempurl.com/timbrado.asmx?WSDL"
UrlServicio = "http://alterno.gofac.com.mx/cfdi/timbrado.asmx?WSDL" ' alterno
End Select
If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1 Then
EmisorRFC = "AAA010101AAA"
ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_AAA010101AAA.key"
ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_AAA010101AAA.cer"
Clave = "12345678a"
TimbraProduccion = False
Select Case CvePACEspecial
Case 2
UsuarioServicio = "fgomez"
ClaveServicio = "12121212"
UrlServicio = "http://generacfdi.com.mx/rvltimbrado/service1.asmx?WSDL" '"http://108.60.211.43/rvltimbrado/service1.asmx"
Case 4
UsuarioServicio = "UserTest"
ClaveServicio = "1234567890"
UrlServicio = "http://juancalderon-001-site1.ftempurl.com/timbrado.asmx?WSDL"
End Select
End If
#Region "Valida"
If Not File.Exists(ArchivoCertificado) Then
Alert("El archivo de certificado no existe", TipoMensaje.MsgError)
Return "El archivo de certificado no existe"
End If
If Not File.Exists(ArchivoLLave) Then
Alert("El archivo de llave privada no existe", TipoMensaje.MsgError)
Return "El archivo de llave privada no existe"
End If
If UsuarioActual.Empresa.ContraseñaKey = "" Then
Alert("La clave no puede ser vacía", TipoMensaje.MsgError)
Return "La clave no puede ser vacía"
End If
#End Region
#Region "Variables"
Dim llaveByte As Byte(), certByte As Byte()
Dim llaveBase64 As String, certBase64 As String
Dim cfdi As New GoFac.GoCfdi()
Dim complemento As String = ""
Dim complementoConcepto As String = ""
#End Region
#Region "Verifica"
Try
llaveByte = System.IO.File.ReadAllBytes(ArchivoLLave)
llaveBase64 = Convert.ToBase64String(llaveByte)
Catch ex As Exception
Alert($"Error al leer la llave privada: {ex.Message}", TipoMensaje.MsgError)
Return "Error al leer la llave privada"
End Try
Try
certByte = System.IO.File.ReadAllBytes(ArchivoCertificado)
certBase64 = Convert.ToBase64String(certByte)
Catch ex As Exception
Alert($"Error al leer el certificado: {ex.Message}", TipoMensaje.MsgError)
Return "Error al leer el certificado"
End Try
#End Region
sw.Stop()
swTiempo.AppendFormat("Verificado : ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
swmili = sw.ElapsedMilliseconds
sw.Start()
' cfdi.saltarValidacion("bNtMuvZockPVhEjaPj0E")
' cfdi.Decimales = 4
#Region "Certificado"
cfdi.CertificadoArchivo(ArchivoCertificado)
#End Region
sw.Stop()
swTiempo.AppendFormat("Certificado : ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
swmili = sw.ElapsedMilliseconds
sw.Start()
#Region "Comprobante"
cfdi.Comprobante33(
ObjCFDITimbre.Comprobante.Serie,
ObjCFDITimbre.Comprobante.Folio,
ObjCFDITimbre.Comprobante.Fecha.ToString("yyyy-MM-ddTHH:mm:ss"),
ObjCFDITimbre.Comprobante.FormadePago,
ObjCFDITimbre.Comprobante.CondicionesdePago,
ObjCFDITimbre.Comprobante.Subtotal,
ObjCFDITimbre.Comprobante.Descuentos,
ObjCFDITimbre.Comprobante.Moneda,
ObjCFDITimbre.Comprobante.TipoCambio.ToString,
ObjCFDITimbre.Comprobante.Total,
ObjCFDITimbre.Comprobante.TipoComprobante,
ObjCFDITimbre.Comprobante.MetodoPago,
ObjCFDITimbre.Comprobante.LugarExpedicion,
ObjCFDITimbre.Comprobante.Confirmacion)
If ObjCFDITimbre.CFDIRelacionados.TipoRelacion <> "" Then
cfdi.CfdiRelacionados(ObjCFDITimbre.CFDIRelacionados.TipoRelacion)
For Each uid As String In ObjCFDITimbre.CFDIRelacionados.UUID
cfdi.CfdiRelacionado(uid)
Next
End If
#Region "Emisor"
' cfdi.agregarCfdiRelacionados()
cfdi.Emisor(EmisorRFC, UsuarioActual.Empresa.Empresa, UsuarioActual.Empresa.CodigoRegimenFiscal)
#End Region
#Region "Receptor"
cfdi.Receptor(ObjCFDITimbre.Receptor.RFC, ObjCFDITimbre.Receptor.Nombre, ObjCFDITimbre.Receptor.ResidenciaFiscal, ObjCFDITimbre.Receptor.NumeroRegistroTributario, ObjCFDITimbre.Receptor.UsoCFDI)
#End Region
#End Region
#Region "Conceptos"
'Nodo conceptos, se agregan los PS
If ObjCFDITimbre.Conceptos IsNot Nothing AndAlso ObjCFDITimbre.Conceptos.Count > 0 Then
For Each concep As CFDIConceptos In ObjCFDITimbre.Conceptos
cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario, concep.Importe, concep.Descuento)
For Each imp As CFDIConceptosImpuestos In concep.Impuestos
If imp.TrasladooRetencion = "T" Then
cfdi.ImpuestoConceptoTraslado(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe)
Else
cfdi.ImpuestoConceptoRetenido(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe)
End If
Next
If concep.CuentaPredial <> "" Then cfdi.CuentaPredial(concep.CuentaPredial)
If concep.NumeroPedimento <> "" Then cfdi.InformacionAduanera(concep.NumeroPedimento)
Next
End If
#End Region
If ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("I", "E") Then
#Region "Impuestos"
'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS
If Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then
cfdi.Impuestos(ObjCFDITimbre.TotalImpuestosRetenidos, ObjCFDITimbre.TotalImpuestosTrasladados)
End If
#End Region
#Region " Traslados y Retenciones"
If ObjCFDITimbre.Retenciones.Sum(Function(x) x.Importe) > 0 Then
''se acumulan los importes
For Each Ret In ObjCFDITimbre.Retenciones
cfdi.Retencion(Ret.Impuesto, Ret.Importe)
Next
End If
''se acumulan los importes
For Each Tras In ObjCFDITimbre.Traslados
cfdi.Traslado(Tras.Impuesto, Tras.TipoFactor, Tras.TasaOCuota, Tras.Importe)
Next
#End Region
#Region "Impuestos Locales"
If ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe) > 0 OrElse ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe) > 0 Then
cfdi.ImpuestosLocales(ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe), ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe))
For Each ret As CFDIRetencionesLocales In ObjCFDITimbre.RetencionesLocales
If ret.Importe > 0 Then
cfdi.RetencionLocal(ret.ImpuestoLocalRetenido, ret.TasaRetencion, ret.Importe)
End If
Next
For Each ret As CFDITrasladosLocales In ObjCFDITimbre.TrasladosLocales
If ret.Importe > 0 Then
cfdi.TrasladoLocal(ret.ImpuestoLocalTraslado, ret.TasaTraslado, ret.Importe)
End If
Next
End If
If Ventas.CveComplementoTimbrado > 0 Then
Select Case Ventas.CveComplementoTimbrado
Case 5 'INE Proceso Ordinario Directivo Estatal"
cfdi.Ine11("Ordinario", "Directivo Estatal", "0")
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
Case 6 'INE Proceso Ordinario Ejecutivo Estatal"
cfdi.Ine11("Ordinario", "Ejecutivo Estatal", "0")
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "")
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
Case 7 'INE Proceso Ordinario Ejecutivo Nacional"
cfdi.Ine11("Ordinario", "Ejecutivo Nacional", Ventas.ComplementoINE.INEIdContabilidad.ToString)
Case 8 'INE PreCampaña
cfdi.Ine11(Ventas.ComplementoINE.INETipoProceso, "", "0")
cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, Ventas.ComplementoINE.INETipoComite)
cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad)
End Select
End If
#End Region
#Region "Comercio Exterior"
If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then
If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then
'DATOS GENERALES
cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado,
ObjCFDITimbre.Complementos.ComercioExterior11.TipoOperacion,
ObjCFDITimbre.Complementos.ComercioExterior11.ClavedePedimento,
ObjCFDITimbre.Complementos.ComercioExterior11.CertificadoOrigen,
ObjCFDITimbre.Complementos.ComercioExterior11.NumCertificadoOrigen,
ObjCFDITimbre.Complementos.ComercioExterior11.NumeroExportadorConfiable,
ObjCFDITimbre.Complementos.ComercioExterior11.Incoterm,
ObjCFDITimbre.Complementos.ComercioExterior11.Subdivision,
ObjCFDITimbre.Complementos.ComercioExterior11.Observaciones,
ObjCFDITimbre.Complementos.ComercioExterior11.TipoCambioUSD,
ObjCFDITimbre.Complementos.ComercioExterior11.TotalUSD)
'EMISOR
cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP))
cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroExterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroInterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Colonia,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Localidad,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Referencia,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Municipio,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Estado,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Pais,
ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CP)
'RECEPTOR
cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib)
cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroExterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroInterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Colonia,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Localidad,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Referencia,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Municipio,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Estado,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Pais,
ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.CP)
cfdi.ComercioExterior11Destinatario(ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Nombre,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Calle,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroInterior,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Colonia,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Localidad,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Referencia,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Municipio,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Estado,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Pais,
ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.CP)
'MERCANCIAS
If ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias IsNot Nothing AndAlso ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias.Count > 0 Then
For Each concep As CFDIComercioExterior11Mercancias In ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias
cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares)
If concep.DescripcionesEspecificas.Marca <> "" Then
cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca,
concep.DescripcionesEspecificas.Modelo,
concep.DescripcionesEspecificas.SubModelo,
concep.DescripcionesEspecificas.NumeroSerie)
End If
Next
End If
End If
End If
#End Region
End If
#Region "Complemento Pago"
If ObjCFDITimbre.Comprobante.TipoComprobante = "P" Then
cfdi.Pago(ObjCFDITimbre.ComplementoPagos.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss"),
ObjCFDITimbre.ComplementoPagos.FormaDePagoP,
ObjCFDITimbre.ComplementoPagos.MonedaP,
ObjCFDITimbre.ComplementoPagos.TipoCambioP,
ObjCFDITimbre.ComplementoPagos.Monto,
ObjCFDITimbre.ComplementoPagos.NumOperacion,
ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaOrd,
ObjCFDITimbre.ComplementoPagos.NomBancoOrdExt,
ObjCFDITimbre.ComplementoPagos.CtaOrdenante,
ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaBen,
ObjCFDITimbre.ComplementoPagos.CtaBeneficiario,
ObjCFDITimbre.ComplementoPagos.TipoCadPago,
ObjCFDITimbre.ComplementoPagos.CertPago,
ObjCFDITimbre.ComplementoPagos.CadPago,
ObjCFDITimbre.ComplementoPagos.SelloPago)
If ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados.Count > 0 Then
For Each doc As CFDIComplementoPagosDocsRelacionados In ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados
cfdi.PagoDoctoRelacionado(doc.IdDocumento,
doc.Serie,
doc.Folio,
doc.MonedaDR,
doc.TipoCambioDR,
doc.MetodoDePagoDR,
doc.NumParcialidad,
doc.ImpSaldoAnt,
doc.ImpPagado,
doc.ImpSaldoInsoluto)
Next
'Estos impuestos aplicarían para anticipos
If ObjCFDITimbre.ComplementoPagos.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.ComplementoPagos.TotalImpuestosTrasladados > 0 Then
cfdi.PagoImpuestos(ObjCFDITimbre.ComplementoPagos.TotalImpuestosRetenidos, ObjCFDITimbre.ComplementoPagos.TotalImpuestosTrasladados)
If (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "R").Count > 0 Then
For Each Ret As CFDIConceptosImpuestos In (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "R")
cfdi.PagoRetencion(Ret.Impuesto, Ret.Importe)
Next
End If
If (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "T").Count > 0 Then
For Each Tra As CFDIConceptosImpuestos In (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "T")
cfdi.PagoTraslado(Tra.Impuesto, Tra.TipoFactor, Tra.TasaOCuota, Tra.Importe)
Next
End If
End If
End If
End If
#End Region
#Region "Nomina12"
If ObjCFDITimbre.Comprobante.TipoComprobante = "N" Then
'cfdi.Esquema.AgregarEsquema("http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd")
cfdi.Nomina12(ObjCFDITimbre.Nomina.TipoNomina, ObjCFDITimbre.Nomina.FechaPago.ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.FechaInicio.ToDate().ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.FechaFin.ToDate().ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.NumDiasPagados, If(ObjCFDITimbre.Nomina.Percepciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Percepciones.Count > 0, ObjCFDITimbre.Nomina.TotalPercepciones, 0), If(ObjCFDITimbre.Nomina.Deducciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Deducciones.Count > 0, ObjCFDITimbre.Nomina.TotalDeducciones, 0), If(ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing AndAlso ObjCFDITimbre.Nomina.OtrosPagos.Count > 0, ObjCFDITimbre.Nomina.TotalOtrosPagos, 0))
cfdi.Nomina12Emisor(ObjCFDITimbre.Emisor.CURP, If(ObjCFDITimbre.Nomina.Receptor.TipoContrato = "99", "", ObjCFDITimbre.Emisor.RegistroPatronal), ObjCFDITimbre.Emisor.RFC)
If UsuarioActual.Empresa.UsaAC Then cfdi.Nomina12EntidadSNCF("IF", 90)
#Region "Receptor"
cfdi.Nomina12Receptor(ObjCFDITimbre.Nomina.Receptor.CURP,
ObjCFDITimbre.Nomina.Receptor.NSS,
ObjCFDITimbre.Nomina.Receptor.FechaInicioContrato.ToDate().ToString("yyyy-MM-dd"),
ObjCFDITimbre.Nomina.Receptor.Antiguedad,
ObjCFDITimbre.Nomina.Receptor.TipoContrato,
ObjCFDITimbre.Nomina.Receptor.Sindicalizado,
ObjCFDITimbre.Nomina.Receptor.CodigoTipoJornada,
ObjCFDITimbre.Nomina.Receptor.CodigoRegimenContratacion,
ObjCFDITimbre.Nomina.Receptor.CodigoEmpleado,
ObjCFDITimbre.Nomina.Receptor.Departamento,
ObjCFDITimbre.Nomina.Receptor.Puesto,
ObjCFDITimbre.Nomina.Receptor.CodigoRiesgoPuesto,
If(ObjCFDITimbre.Nomina.TipoNomina = "E", "99", ObjCFDITimbre.Nomina.Receptor.TipoPeriodo),
ObjCFDITimbre.Nomina.Receptor.CodigoBanco,
ObjCFDITimbre.Nomina.Receptor.NumeroCuenta,
ObjCFDITimbre.Nomina.Receptor.SBC,
ObjCFDITimbre.Nomina.Receptor.SDI,
ObjCFDITimbre.Nomina.Receptor.CodigoEntidadFederativa)
'cfdi.Nomina12SubContratacion("", "0")
'cfdi.agregarNominaPercepcionesPercepcionAccionesOTitulos12("100", "200");
'cfdi.agregarNominaPercepcionesSeparacionIndemnizacion12("100", "10", "1000", "100", "50");
'cfdi.agregarNominaPercepcionesJubilacionPensionRetiro12("50", "100", "10", "100", "0");
End If
#End Region
If ObjCFDITimbre.Nomina IsNot Nothing Then
If ObjCFDITimbre.Nomina.Percepciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Percepciones.Count > 0 Then
cfdi.Nomina12Percepciones(ObjCFDITimbre.Nomina.TotalSueldos, ObjCFDITimbre.Nomina.TotalIndemnizacion, ObjCFDITimbre.Nomina.TotalJubilacion, ObjCFDITimbre.Nomina.TotalPercepcionesGravado, ObjCFDITimbre.Nomina.TotalPercepcionesExento)
For Each percep As CFDINominaPercepciones In ObjCFDITimbre.Nomina.Percepciones
cfdi.Nomina12Percepcion(percep.TipoPercepcion, percep.Clave, percep.Concepto, Math.Round(percep.ImporteGravado, 2), Math.Round(percep.ImporteExento, 2))
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))
For Each deduc As CFDINominaDeducciones In ObjCFDITimbre.Nomina.Deducciones
cfdi.Nomina12Deduccion(deduc.TipoDeduccion, deduc.Clave, deduc.Concepto, Math.Round(deduc.Importe, 2))
Next
End If
If ObjCFDITimbre.Nomina.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
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");
If ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing AndAlso ObjCFDITimbre.Nomina.OtrosPagos.Count > 0 Then
For Each otpag As CFDINominaOtrosPagos In ObjCFDITimbre.Nomina.OtrosPagos
cfdi.Nomina12OtroPago(otpag.TipoOtroPago, otpag.Clave, otpag.Concepto, otpag.Importe)
If otpag.TipoOtroPago = "002" Then
cfdi.Nomina12SubsidioAlEmpleo(otpag.Subsidiocausado)
End If
Next
End If
End If
End If
#End Region
sw.Stop()
swTiempo.AppendFormat("Armado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
swmili = sw.ElapsedMilliseconds
sw.Start()
#Region "Genera XML"
Dim ArchivoGenerado As Boolean = False
Try
cfdi.GenerarXMLB64(llaveBase64, Clave)
ArchivoGenerado = True
Catch ex As Exception
Retorno = cfdi.MensajeError
If Retorno = "" OrElse IsNothing(Retorno) Then
Retorno = $"llaveBase64 ={llaveBase64} <br/>Clave ={Clave} <br/> {ex.ToString()}"
End If
MensajeErrorCFDI = Retorno
End Try
#End Region
sw.Stop()
swTiempo.AppendFormat("Genera: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
swmili = sw.ElapsedMilliseconds
sw.Start()
#Region "Timbra"
If ArchivoGenerado Then
'cfdi.TimbrarCfdi(UsuarioServicio, ClaveServicio, UrlServicio, TimbraProduccion)
'sw.Stop()
'swTiempo.AppendFormat("Timbrado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
'swmili = sw.ElapsedMilliseconds
'sw.Start()
''Verifica el error
'If cfdi.CodigoError = 0 Then
' Dim FolioFiscal As String
' UUID = cfdi.UUID
' FolioFiscal = cfdi.UUID 'obtenerAtributo(cfdi.XmlTimbrado, "TimbreFiscalDigital", "UUID") 'XmlDoc.DocumentElement("cfdi:Complemento").FirstChild.Attributes("UUID").InnerText
' If FolioFiscal <> "" Then
' cfdi.EscribirXML(cfdi.Xml, RutaArchivo, NombreArchivoXML)
' sw.Stop()
' swTiempo.AppendFormat("Guardado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
' swmili = sw.ElapsedMilliseconds
' sw.Start()
' If ObjCFDITimbre.Comprobante.TipoComprobante <> "P" Then
' 'Actualiza Estatus Factura
' If Ventas.CveVenta > 0 Then
' Using ObjVentas As New ClsVentas()
' If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial) Then
' Retorno = ""
' Else
' Retorno = "Error"
' End If
' End Using
' 'Genero la addenda Ford
' If Ventas.Cliente.Ford_GSDB <> "" Then
' Dim RutaCadena As String = String.Format("{0}{1}.xml", RutaArchivo, NombreArchivoXML) 'If(UsuarioActual.Empresa.FacturaProduccion, String.Format("{0}XML\{1}\{2}.xml", Ruta, Ventas.SerieFolio), String.Format("{0}XML\{1}\{2}.xml", Ruta, Ventas.TipoDocto, Ventas.SerieFolio))
' Dim FolioFactura As String = ""
' If UsuarioActual.CveEmpresa = 8 Then FolioFactura = Ventas.Folio.ToString ' sogo, pordefault manda el folio de la factura
' GeneraAddendaFord(RutaCadena, FolioFactura, Ventas.FordASN, Ventas.FordGSDB)
' End If
' End If
' If ObjCFDITimbre.Comprobante.TipoComprobante = "N" Then
' Using ObjNomina2 As New ClsNominas()
' If ObjNomina2.UpdateEstatusNomNominas(3, CvePACEspecial, FolioFiscal, "", ("01/01/2000").ToDate, ObjCFDITimbre.Nomina.CveNomina, 0, 0, 0, 0, 0) Then
' Retorno = ""
' Else
' Retorno = "Error"
' End If
' End Using
' End If
' If ObjCFDITimbre.Comprobante.TipoComprobante = "T" Then
' Using ObjInv As New ClsInventarios()
' If ObjInv.UpdateMovimientoTimbrado(Ventas.Inv_CveMovimiento, 1, FolioFiscal, MinFecha) Then
' Retorno = ""
' Else
' Retorno = "Error"
' End If
' End Using
' End If
' End If
' If Not IO.Directory.Exists($"{UsuarioActual.Empresa.Ruta}CBB\") Then IO.Directory.CreateDirectory($"{UsuarioActual.Empresa.Ruta}CBB\")
' Try
' Dim RutaCBB As String = $"{UsuarioActual.Empresa.Ruta}CBB\{ObjCFDITimbre.Comprobante.SerieFolio}.jpg"
' Dim b As Byte() = cfdi.QrCode($"?re={UsuarioActual.Empresa.RFC}&rr={ObjCFDITimbre.Receptor.RFC}&tt={String.Format("{0,12:F6}", ObjCFDITimbre.Comprobante.Total).Trim()}&id={FolioFiscal}")
' File.WriteAllBytes(RutaCBB, b)
' Catch ex As Exception
' OnError("Ocurrió un error al generar el QR", ex)
' End Try
' Retorno = ""
' Else
' Retorno = "No se pudo timbrar ante el SAT. UUID no generado."
' End If
' sw.Stop()
' swTiempo.AppendFormat("Actualizado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds)
' swmili = sw.ElapsedMilliseconds
' sw.Start()
'Else
' Retorno = cfdi.MensajeError
' MensajeErrorCFDI = cfdi.MensajeError
' If cfdi.Xml <> "" Then cfdi.EscribirXML(cfdi.Xml, RutaArchivo, NombreArchivoXML)
' End If
End If
#End Region
GuardaLogTimbrado(swTiempo.ToString, CvePACEspecial)
Return Retorno
End Function
Public Sub GuardaLogTimbrado(Str As String, CvePAC As Integer) Public Sub GuardaLogTimbrado(Str As String, CvePAC As Integer)
Dim ArchivoW As StreamWriter Dim ArchivoW As StreamWriter
Dim strLineaTMP As String Dim strLineaTMP As String

View File

@@ -1261,13 +1261,14 @@ Partial Class Bancos_IE
GvRH.DataBind() GvRH.DataBind()
UpGvRH.Update() UpGvRH.Update()
End Sub End Sub
Private Sub CargaCorteCaja() Private Sub CargaCorteCaja(CveCuenta As Integer)
'Checar si hay un Turno Abierto 'Checar si hay un Turno Abierto
Dim ObjPVenta As New ClsPuntoVenta Dim ObjPVenta As New ClsPuntoVenta
If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then
If ObjPVenta.DtResultados.Rows.Count > 0 Then If ObjPVenta.GetCortesPorCuenta(CveCuenta, UsuarioActual.CveEmpresa) Then
CveCorte = ObjPVenta.CveCorte
End If CveCorte = ObjPVenta.CveCorte
End If End If
ObjPVenta.Dispose() ObjPVenta.Dispose()
End Sub End Sub
@@ -1637,8 +1638,8 @@ Partial Class Bancos_IE
End If End If
'PAGAR NC CON C.CH DEBE DESCONTAR EN EL CORTE 'PAGAR NC CON C.CH DEBE DESCONTAR EN EL CORTE
If UsuarioActual.TienePermisoProceso(160) AndAlso Opcion IsNot Nothing AndAlso Opcion = "DevDinV" AndAlso dr("CveTipoCuenta").ToString.ToEntero = 1 Then If Opcion IsNot Nothing AndAlso Opcion = "DevDinV" AndAlso dr("CveTipoCuenta").ToString.ToEntero = 1 Then
CargaCorteCaja() CargaCorteCaja(DdlCuenta.SelectedValue.ToEntero)
End If End If
If dr("UsaTarjeta").ToString = "True" Then If dr("UsaTarjeta").ToString = "True" Then

View File

@@ -5158,7 +5158,7 @@
</div> </div>
<div id="DvModalContratos" class="modal ADS fade" role="dialog"> <%-- <div id="DvModalContratos" class="modal ADS fade" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<!-- Modal content--> <!-- Modal content-->
@@ -5197,7 +5197,111 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>--%>
<div id="DivmodalConmtrato" class="modal ADS fade">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalContrato" runat="server" class="modal-content rowpadding" tabindex="-1" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4>
<asp:Label Text="Contratos" ID="LblTituloContrato" runat="server" />
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList runat="server" ID="DdlContratosObra" AutoPostBack="true" OnSelectedIndexChanged="DdlContratosCompras_SelectedIndexChanged" DataTextField="ContratoCompleto" DataValueField="CveContrato" CssClass="form-control input-sm select2me" Width="100%">
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlContratosObra.ClientID.ToString()%>">Contrato:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoGastoObra" runat="server" DataTextField="TipoGasto" DataValueField="CveTipoGasto" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlTipoGastoObra.ClientID.ToString()%>">Tipo de Gasto:</label>
<asp:RequiredFieldValidator runat="server" Enabled="true" InitialValue="-1" Display="None" ID="RFVDdlTipoGastoObra" ControlToValidate="DdlTipoGastoObra" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Gasto''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpAplicaContrato"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="CERFVDdlTipoGastoObra" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlTipoGastoObra" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvContratosControl" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron partidas"
DataKeyNames="CveContratoDetalle,CvePS,PS,Cantidad,PU,CantidadMax,CveUnidadMedida,Abreviatura,CveSubProyecto,SubProyecto,Codigo,CveProyecto,Proyecto,IVA,RetISR,RetIVA,IEPSPorcentaje,IEPSGrabaIVA,CveClasificacion,Clasificacion,CveTipoPS,CveSATPS"
CssClass="table GVEstimacion table-advance table-hover" GridLines="None" Width="100%">
<Columns>
<asp:TemplateField HeaderText="Producto">
<ItemTemplate>
<asp:Label ID="LblPS" runat="server" CssClass="Texto" Text='<%# Eval("PS")%>' Width="250px"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:TextBox ID="TxtCantidad" Text="" type="number" step="any"
Width="90" runat="server" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="PU">
<ItemTemplate>
<asp:TextBox runat="server" ID="TxtPU" Text='<%# Eval("PU", "{0:N2}")%>' type="number" step="any" Width="60px" >
</asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:TextBox ID="TxtImporte" Text="" CssClass='<%# String.Format("ImporteCSS CssImporte{0}", Eval("CveContratoDetalle")) %>' type="number" step="any" Width="90" runat="server" onkeydown="keydownenabledtab(event)"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
<div class="col-md-10" style="text-align:right!important">Sub Total: </div>
<div class="col-md-2"><asp:Label runat="server" ClientIDMode="Static" id="LblTotalContrato"></asp:Label></div>
<br />
</div>
<div class="modal-footer">
<asp:Button ID="BtnAplicarContrato" runat="server" Text="Aceptar" ClientIDMode="Static" CssClass="btn btn-success" OnClick="BtnAplicarContrato_Click" ValidationGroup="GrpAplicaContrato" CausesValidation="true" />
<button type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content> </asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="JS" runat="server"> <asp:Content ID="Content4" ContentPlaceHolderID="JS" runat="server">
@@ -6292,14 +6396,80 @@
} }
//function ScrollVentanaAddProducto() { function ValidateCant(ncss, SubtotalValidar) {
// let wh = $(window).height();
let SubTotal = 0.0;
// if (wh <= 770) {
// // $('#DVBodyAddProducto').css("max-height", 450); let CantidadS = $(".CssCantidad" + ncss).val();
// } let PuS = $(".CssPU" + ncss).val();
//}
let Cantidad = 0.0;
let Pu = 0.0;
try{
if (CantidadS.length > 0 && PuS.length > 0) {
Cantidad = parseFloat(CantidadS);
Pu = parseFloat(PuS);
$(".CssImporte" + ncss).val(Cantidad * Pu);
}else{
$(".CssImporte" + ncss).val("0");
}
} catch (error) {
$(".CssImporte" + ncss).val("0");
}
//$('.ImporteCSS').each(function () {
// if(! isNaN(parseFloat($(this).val()) )){
// SubTotal = SubTotal + parseFloat($(this).val())
// }
//});
ValidaBotonContrato(SubtotalValidar);
//if (SubtotalValidar == SubTotal) {
// $('#BtnAplicarContrato').prop('disabled', false);
//} else {
// $('#BtnAplicarContrato').prop('disabled', true);
//}
}
function ValidaBotonContrato(SubtotalValidar) {
let SubTotal = 0.0;
$('.ImporteCSS').each(function () {
if (!isNaN(parseFloat($(this).val()))) {
SubTotal = SubTotal + parseFloat($(this).val())
}
});
if (SubtotalValidar == SubTotal) {
$('#BtnAplicarContrato').prop('disabled', false);
} else {
$('#BtnAplicarContrato').prop('disabled', true);
}
$('#LblTotalContrato').text(SubTotal);
}
</script> </script>

View File

@@ -1181,6 +1181,37 @@ Partial Class Compras_Compras
Private Property MaxIVAProcentaje As Decimal
Get
If ViewState("MaxIVAProcentaje") Is Nothing Then
Return 0
Else
Return ViewState("MaxIVAProcentaje").ToString.ToDecimal
End If
End Get
Set(value As Decimal)
ViewState("MaxIVAProcentaje") = value
End Set
End Property
Private Property MAXRetIVAPorcentaje As Decimal
Get
If ViewState("MAXRetIVAPorcentaje") Is Nothing Then
Return 0
Else
Return ViewState("MAXRetIVAPorcentaje").ToString.ToDecimal
End If
End Get
Set(value As Decimal)
ViewState("MAXRetIVAPorcentaje") = value
End Set
End Property
@@ -1206,7 +1237,7 @@ Partial Class Compras_Compras
CveConceptoContableAlmacen = 0 CveConceptoContableAlmacen = 0
EsNoDeducible = False EsNoDeducible = False
CveTipoConcepto = 1 CveTipoConcepto = 1
CargaContratos() 'CargaContratos()
'******** Prorrateo ******************************************** '******** Prorrateo ********************************************
If UsuarioActual.Empresa.Funcionalidad(117) <> "" Then If UsuarioActual.Empresa.Funcionalidad(117) <> "" Then
btnProrateo.Visible = True btnProrateo.Visible = True
@@ -1781,31 +1812,42 @@ Partial Class Compras_Compras
Xml.Append(Replace(Replace(Replace(nodeconceptos.OuterXml, "<cfdi:", "<"), "</cfdi:", "</"), "xmlns:cfdi=""http://www.sat.gob.mx/cfd/3""", "")) Xml.Append(Replace(Replace(Replace(nodeconceptos.OuterXml, "<cfdi:", "<"), "</cfdi:", "</"), "xmlns:cfdi=""http://www.sat.gob.mx/cfd/3""", ""))
If ObjeFacturas.GetFacturasComparacionXML(Version, Xml.ToString, UsuarioActual.CveEmpresa) Then If ObjeFacturas.GetFacturasComparacionXML(Version, Xml.ToString, UsuarioActual.CveEmpresa) Then
TmpDT = ObjeFacturas.DtResultados TmpDT = ObjeFacturas.DtResultados
If ObjeFacturas.DtResultados.Rows.Count > 0 Then
MaxIVAProcentaje = ObjeFacturas.DtResultados.MAX("IVAPorcentaje").ToDecimal
MAXRetIVAPorcentaje = ObjeFacturas.DtResultados.MAX("RetIVAPorcentaje").ToDecimal
Else
MaxIVAProcentaje = 0
End If
'TmpDT.Columns.Add("IVAPorcentaje") 'TmpDT.Columns.Add("IVAPorcentaje")
'TmpDT.Columns.Add("RetIVAPorcentaje") 'TmpDT.Columns.Add("RetIVAPorcentaje")
'TmpDT.Columns.Add("RetISRPorcentaje") 'TmpDT.Columns.Add("RetISRPorcentaje")
'TmpDT.Columns.Add("IEPSPSPorcentaje") 'TmpDT.Columns.Add("IEPSPSPorcentaje")
'TmpDT.Columns.Add("IEPSPSIVAPorcentaje") 'TmpDT.Columns.Add("IEPSPSIVAPorcentaje")
SubTotalConceptos = Math.Round(TmpDT.SUM("Total"), 2).ToDecimal SubTotalConceptos = Math.Round(TmpDT.SUM("Total"), 2).ToDecimal
AddPS2(False) AddPS2(False)
'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101 'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101
Dim ProductosCodigoSATNoPermitidos As New StringBuilder("") Dim ProductosCodigoSATNoPermitidos As New StringBuilder("")
For Each drr As DataRow In TmpDT.FiltraParametros("ClaveProdServ = '01010101'").Rows For Each drr As DataRow In TmpDT.FiltraParametros("ClaveProdServ = '01010101'").Rows
ProductosCodigoSATNoPermitidos.AppendFormat("{0}</br>", drr("PS")) ProductosCodigoSATNoPermitidos.AppendFormat("{0}</br>", drr("PS"))
Next Next
If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then
Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:</br></br>{0}", ProductosCodigoSATNoPermitidos.ToString) Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:</br></br>{0}", ProductosCodigoSATNoPermitidos.ToString)
Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia) Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia)
End If
End If End If
Else
End If
Else
CargaConceptosXML(XMLDoc) CargaConceptosXML(XMLDoc)
End If End If
@@ -1831,7 +1873,7 @@ Partial Class Compras_Compras
DdlTipoCompra.Items.Add(New ListItem("Apoyo Logístico", "9")) DdlTipoCompra.Items.Add(New ListItem("Apoyo Logístico", "9"))
DdlTipoCompra.Items.Add(New ListItem("NC Por Devolución", "11")) DdlTipoCompra.Items.Add(New ListItem("NC Por Devolución", "11"))
LiAccionesContratos.Visible = True
End Select End Select
'DIV ALIAS 'DIV ALIAS
@@ -20475,22 +20517,183 @@ Partial Class Compras_Compras
End Function End Function
Private Sub CargaContratos() 'Private Sub CargaContratos()
DdlContrato.DataSource = GlobalDTContratos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveContratoTipo IN(30,31) ") ' DdlContrato.DataSource = GlobalDTContratos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveContratoTipo IN(30,31) ")
DdlContrato.DataBind() ' DdlContrato.DataBind()
DdlContrato.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todos", "-1")) ' DdlContrato.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todos", "-1"))
End Sub 'End Sub
Protected Sub BtnModalContratos_Click(sender As Object, e As EventArgs) 'Protected Sub BtnModalContratos_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DvModalContratos').modal('hide');") ' RegistraScript("$('#DvModalContratos').modal('hide');")
CveContratoObra = DdlContrato.SelectedValue.ToEntero ' CveContratoObra = DdlContrato.SelectedValue.ToEntero
'End Sub
End Sub
Protected Sub LnkContratos_Click(sender As Object, e As EventArgs) Protected Sub LnkContratos_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DvModalContratos').modal('show');")
'RegistraScript("$('#DvModalContratos').modal('show');")
DdlContratosObra.Items.Clear()
DdlContratosObra.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}"))
DdlContratosObra.DataBind()
'DdlContratosObra.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlTipoGastoObra.Items.Clear()
DdlTipoGastoObra.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGastoObra.DataBind()
DdlTipoGastoObra.Items.Insert(0, New ListItem("Seleccione", "-1"))
RegistraScript($"$('#DivmodalConmtrato').modal('show'); $( '#BtnAplicarContrato' ).prop( 'disabled', true ); ValidaBotonContrato({TxtSubTotal2.Text.ToDecimal});")
UpModalContrato.Update()
End Sub End Sub
Protected Sub DdlContratosCompras_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlContratosObra.SelectedValue.ToEntero > 0 Then
Dim ObjContratos As New ClsContratos()
If ObjContratos.GetContratosObraCompras(DdlContratosObra.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
If ObjContratos.DtResultados.Rows.Count > 0 Then
GvContratosControl.DataSource = ObjContratos.DtResultados
'BtnAplicarContrato.Visible = True
Else
GvContratosControl.DataSource = Nothing
'BtnAplicarContrato.Visible = False
End If
End If
ObjContratos.Dispose()
GvContratosControl.DataBind()
UpModalContrato.Update()
End If
RegistraScript("$( '#BtnAplicarContrato' ).prop( 'disabled', true );")
End Sub
Protected Sub BtnAplicarContrato_Click(sender As Object, e As EventArgs)
TmpDT.Rows.Clear()
Dim CveTipoGastoObra As Integer = DdlTipoGasto.SelectedValue.ToEntero
For Each GvRow As GridViewRow In GvContratosControl.Rows
Dim CveContratoDetalle As Integer = GvRow.DataKey("CveContratoDetalle").ToEntero
Dim Cantidad As Double = GvRow.FCTextBox("TxtCantidad").Text.ToDouble
Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero
Dim PS As String = GvRow.DataKey("PS")
Dim PU As Double = GvRow.FCTextBox("TxtPU").Text.ToDouble
Dim TotalPS As Double = GvRow.FCTextBox("TxtImporte").Text.ToDouble
Dim CveUnidadMedida As Integer = GvRow.DataKey("CveUnidadMedida").ToEntero
Dim UMAbreviatura As String = GvRow.DataKey("Abreviatura").ToString
Dim SubProyecto As String = GvRow.DataKey("SubProyecto")
Dim CveSubProyecto As Integer = GvRow.DataKey("CveSubProyecto").ToEntero
Dim Codigo As String = "" 'GvRow.DataKey("Codigo")
Dim Proyecto As String = GvRow.DataKey("Proyecto")
Dim CveProyecto As Integer = GvRow.DataKey("CveProyecto").ToEntero
Dim RetISR As Double = GvRow.DataKey("RetISR").ToString.ToDouble
Dim RetIVA As Double = MAXRetIVAPorcentaje 'GvRow.DataKey("RetIVA").ToString.ToDouble
Dim IvaPS As Double = MaxIVAProcentaje
Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToString.ToEntero
Dim Clasificacion As String = GvRow.DataKey("Clasificacion")
Dim IEPSPS As Double = GvRow.DataKey("IEPSPorcentaje").ToString.ToDouble
Dim IEPSPSIVA As Double = If(GvRow.DataKey("IEPSGrabaIVA").ToString = "True", IEPSPS, 0)
Dim CveTipoPS As Integer = GvRow.DataKey("CveTipoPS").ToEntero
Dim CveSATPS As Integer = GvRow.DataKey("CveSATPS").ToEntero
Dim IdCuentaPorEjercer As Integer = -1
Dim IdCuentaComprometido As Integer = -1
Dim TotalRow As Decimal = (PU * Cantidad).RoundSQL(2).ToDecimal
If Cantidad > 0 Then
AddPS(Cantidad, CveUnidadMedida, UMAbreviatura, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyecto.ToString, SubProyecto, Proyecto, CveProyecto.ToString, "", PU, TotalRow, IvaPS, RetIVA, RetISR, IEPSPS, IEPSPSIVA, 0, -1, False,
CantidadF:=0, EntregaDirecta:=0, CveSATPS:=CveSATPS, CveTipoGasto:=DdlTipoGastoObra.SelectedValue.ToEntero, TipoGasto:=DdlTipoGastoObra.SelectedItem.Text, CveContratoDetalle:=CveContratoDetalle, CveCultivoCuadroDetalle:=-1)
'AddPS(Cantidad, CvePS, PS, PS, PU, 0, TotalPS,
'CveUnidadMedida, IvaPS, IEPSPS, IEPSPSIVA, CveClasificacion, UMAbreviatura, Clasificacion, CveProyecto, Proyecto,
'CveSubProyecto, SubProyecto, Codigo, -1, 0, -1, -1, IdCuentaPorEjercer,
'IdCuentaComprometido, -1, -1, -1, -1,
'-1, RetIVA, RetISR, CveContratoDetalle:=CveContratoDetalle, CveTipoGastoObra:=CveTipoGastoObra, CveCultivoCuadroDetalle:=-1, Cuadro:="")
'' ContratoObraAplciado = True
End If
Next
'CargaSuperior()
'CargaDatosDetalles()
GvPS.DataSource = TmpDT
GvPS.DataBind()
UpPS.Update()
RegistraScript("$('#DivmodalConmtrato').modal('hide')")
' UPPDetalle.Update()
End Sub
Private Sub GvContratosControl_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvContratosControl.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim CveContratoDetalle As Integer = e.Row.DataKey("CveContratoDetalle").ToEntero
e.Row.FCTextBox("TxtCantidad").CssClass = $"CssCantidad{CveContratoDetalle}"
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"ValidateCant('{CveContratoDetalle}',{TxtSubTotal2.Text.ToDecimal})")
e.Row.FCTextBox("TxtPU").CssClass = $"CssPU{CveContratoDetalle}"
e.Row.FCTextBox("TxtPU").Attributes.Add("onkeyup", $"ValidateCant('{CveContratoDetalle}',{TxtSubTotal2.Text.ToDecimal})")
e.Row.FCTextBox("TxtImporte").CssClass = $"ImporteCSS CssImporte{CveContratoDetalle}"
End If
End Sub
End Class End Class
Public Class MMensajeDevolucion Public Class MMensajeDevolucion

View File

@@ -251,8 +251,6 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlConcepto" CssClass="form-control input-sm select2me js-concepto-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="ConceptoContable" DataValueField="CveConceptoContable" Width="240px" ValidationGroup="GrpAgregar" AutoPostBack="true"></asp:DropDownList> <asp:DropDownList ID="DdlConcepto" CssClass="form-control input-sm select2me js-concepto-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="ConceptoContable" DataValueField="CveConceptoContable" Width="240px" ValidationGroup="GrpAgregar" AutoPostBack="true"></asp:DropDownList>
<label for="<%= DdlConcepto.ClientID.ToString()%>">Concepto Contable</label> <label for="<%= DdlConcepto.ClientID.ToString()%>">Concepto Contable</label>
@@ -268,6 +266,7 @@
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:Label ID="LblCuenta" runat="server" Text=""></asp:Label>
<asp:DropDownList ID="DdlCtaContable" CssClass="form-control input-sm select2me js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="240px" ValidationGroup="GrpAgregar"></asp:DropDownList> <asp:DropDownList ID="DdlCtaContable" CssClass="form-control input-sm select2me js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="240px" ValidationGroup="GrpAgregar"></asp:DropDownList>
<label for="<%= DdlCtaContable.ClientID.ToString()%>">Cuenta Contable:</label> <label for="<%= DdlCtaContable.ClientID.ToString()%>">Cuenta Contable:</label>
</div> </div>

View File

@@ -351,6 +351,29 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
End Sub End Sub
Private Sub DdlConcepto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlConcepto.SelectedIndexChanged Private Sub DdlConcepto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlConcepto.SelectedIndexChanged
'cargar la cuenta
If UsuarioActual.Empresa.TipoContabilizacion = 0 Then
'busco en la cuenta contable, lo que tenga asignado
Dim Con As New ClsContabilidad
Dim dtt As DataTable
If Con.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa) Then
dtt = Con.DtResultados
End If
DdlCtaContable.Visible = False
Dim drr As DataRow = dtt.FiltroPrimero(String.Format("CveConceptoAdmin={0}", DdlConcepto.SelectedValue))
If drr IsNot Nothing Then
LblCuenta.Text = drr("CtaCodigo").ToString
Else
LblCuenta.Text = ""
End If
dtt.Dispose()
Con.Dispose()
End If
If DdlConcepto.SelectedValue.Contiene("130", "29") Then If DdlConcepto.SelectedValue.Contiene("130", "29") Then
DdlPersonal.Visible = True DdlPersonal.Visible = True
LblPersonal.Visible = True LblPersonal.Visible = True

View File

@@ -1365,7 +1365,7 @@
</div> </div>
<asp:GridView ID="GvDatosAvanceControl" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" <asp:GridView ID="GvDatosAvanceControl" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados"
DataKeyNames="CveClasificacion,CvePS,CodigoPS,Clasificacion" DataKeyNames="CveClasificacion,CvePS,CodigoPS,Clasificacion,CveContratoDetalle"
CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None"> CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<Columns> <Columns>
<asp:BoundField HeaderText="Producto/Servicio" DataField="CodigoPS" ItemStyle-Width="30%" /> <asp:BoundField HeaderText="Producto/Servicio" DataField="CodigoPS" ItemStyle-Width="30%" />
@@ -1375,12 +1375,12 @@
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="7.5%" ItemStyle-CssClass="Derecha"> <asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="7.5%" ItemStyle-CssClass="Derecha">
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="LBAvanceCantidad" OnClick="MuestaModalVentasAvance" Text='<%# Eval("AvanceCantidad", "{0:###,###,##0.00##}") %>' runat="server" /> <asp:LinkButton ID="LBAvanceCantidad" OnClick="MuestaModalVentasAvanceInterno" Text='<%# Eval("AvanceCantidad", "{0:###,###,##0.00##}") %>' runat="server" />
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Importe $" ItemStyle-Width="7.5%" ItemStyle-CssClass="Derecha"> <asp:TemplateField HeaderText="Importe $" ItemStyle-Width="7.5%" ItemStyle-CssClass="Derecha">
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="LBAvanceImporte" OnClick="MuestaModalVentasAvance" Text='<%# Eval("AvanceImporte", "{0:###,###,##0.00##}") %>' runat="server" /> <asp:LinkButton ID="LBAvanceImporte" OnClick="MuestaModalVentasAvanceInterno" Text='<%# Eval("AvanceImporte", "{0:###,###,##0.00##}") %>' runat="server" />
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:BoundField HeaderText="%" DataField="AvancePorcentaje" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="5%" /> <asp:BoundField HeaderText="%" DataField="AvancePorcentaje" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="5%" />
@@ -2391,7 +2391,8 @@
</table> </table>
<div style="overflow-y: auto; height: 400px;"> <div style="overflow-y: auto; height: 400px;">
<asp:GridView ID="GvDatosVentasAvance" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<asp:GridView ID="GvDatosVentasAvance" Visible="false" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<Columns> <Columns>
<asp:HyperLinkField HeaderText="Folio" DataTextField="SerieFolio" Target="_blank" ItemStyle-Width="20%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" /> <asp:HyperLinkField HeaderText="Folio" DataTextField="SerieFolio" Target="_blank" ItemStyle-Width="20%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
<asp:HyperLinkField HeaderText="Fecha" DataTextField="Fecha" Target="_blank" ItemStyle-Width="10%" ItemStyle-CssClass="Texto" DataTextFormatString="{0:d}" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" /> <asp:HyperLinkField HeaderText="Fecha" DataTextField="Fecha" Target="_blank" ItemStyle-Width="10%" ItemStyle-CssClass="Texto" DataTextFormatString="{0:d}" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
@@ -2401,6 +2402,18 @@
<asp:HyperLinkField HeaderText="Total" DataTextField="SubTotalDetalle" Target="_blank" ItemStyle-Width="20%" ItemStyle-CssClass="Texto Derecha" DataTextFormatString="{0:###,###,##0.00##}" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" /> <asp:HyperLinkField HeaderText="Total" DataTextField="SubTotalDetalle" Target="_blank" ItemStyle-Width="20%" ItemStyle-CssClass="Texto Derecha" DataTextFormatString="{0:###,###,##0.00##}" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
</Columns> </Columns>
</asp:GridView> </asp:GridView>
<asp:GridView ID="GvDatosVentasAvanceInterno" Visible="false" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
<Columns>
<asp:HyperLinkField HeaderText="Folio" DataTextField="SerieFolio" Target="_blank" ItemStyle-Width="20%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" />
<asp:HyperLinkField HeaderText="Fecha" DataTextField="Fecha" Target="_blank" ItemStyle-Width="10%" ItemStyle-CssClass="Texto" DataTextFormatString="{0:d}" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" />
<asp:HyperLinkField HeaderText="Sucursal" DataTextField="SubProyecto" Target="_blank" ItemStyle-Width="15%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" />
<asp:HyperLinkField HeaderText="Proveedor" DataTextField="Proveedor" Target="_blank" ItemStyle-Width="35%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" />
<asp:HyperLinkField HeaderText="Cantidad" DataTextField="Cantidad" Target="_blank" ItemStyle-Width="5%" ItemStyle-CssClass="Texto Derecha" DataTextFormatString="{0:###,##0.00##}" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" />
<asp:HyperLinkField HeaderText="Total" DataTextField="SubTotalDetalle" Target="_blank" ItemStyle-Width="20%" ItemStyle-CssClass="Texto Derecha" DataTextFormatString="{0:###,###,##0.00##}" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" />
</Columns>
</asp:GridView>
</div> </div>
</ContentTemplate> </ContentTemplate>

View File

@@ -2299,7 +2299,7 @@ Partial Class Contratos_ContratoObra
If e.Row.DBCampo("CveClasificacion").ToString.ToEntero = 0 Then If e.Row.DBCampo("CveClasificacion").ToString.ToEntero = 0 Then
e.Row.CssClass = "Totales white" e.Row.CssClass = "Totales white"
ElseIf e.Row.DBCampo("CvePS").ToString.ToEntero = 0 Then ElseIf e.Row.DBCampo("CveContratoDetalle").ToString.Length = 0 And e.Row.DBCampo("CveClasificacion").ToString.ToEntero <> 0 Then
e.Row.CssClass = "SubTotales" e.Row.CssClass = "SubTotales"
End If End If
@@ -2313,10 +2313,13 @@ Partial Class Contratos_ContratoObra
End If End If
End Sub End Sub
Protected Sub MuestaModalVentasAvance(sender As Object, e As EventArgs) Protected Sub MuestaModalVentasAvance(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
GvDatosVentasAvance.Visible = True
GvDatosVentasAvanceInterno.Visible = False
'Dim Btn = CType(sender, LinkButton) 'Dim Btn = CType(sender, LinkButton)
'Dim Parametros = Btn.CommandArgument.Split("|"c) 'Dim Parametros = Btn.CommandArgument.Split("|"c)
@@ -2347,6 +2350,43 @@ Partial Class Contratos_ContratoObra
UpVentasAvance.Update() UpVentasAvance.Update()
End Sub End Sub
Protected Sub MuestaModalVentasAvanceInterno(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
GvDatosVentasAvance.Visible = False
GvDatosVentasAvanceInterno.Visible = True
Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToEntero
Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero
Dim CodigoPS As String = GvRow.DataKey("CodigoPS")
Dim Clasificacion As String = GvRow.DataKey("Clasificacion")
Dim ObjContratos As New ClsContratos
If ObjContratos.GetVentasAvanceObra(CveContrato, CveClasificacion, CvePS, 2) Then
GvDatosVentasAvanceInterno.DataSource = ObjContratos.DtResultados
RegistraScript("$('#ModalVentasAvance').modal('show');RecargaAvances = true;")
Else
Alert("Ocurrió un error al obtener el Listado de Ventas de Avance. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ObjContratos.Dispose()
GvDatosVentasAvanceInterno.DataBind()
LbTituloModalVentasAvance.Text = "Compras de Avance"
LbClasificacionVentasAvance.Text = Clasificacion
LbPSVentasAvance.Text = CodigoPS
UpVentasAvance.Update()
End Sub
#End Region #End Region
#Region " TAB: REPORTE AVANCES POR DOCUMENTO " #Region " TAB: REPORTE AVANCES POR DOCUMENTO "

File diff suppressed because it is too large Load Diff

View File

@@ -135,7 +135,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>COMPUPROVEEDORES SA DE CV</Value> <Value />
<Style /> <Style />
</TextRun> </TextRun>
</TextRuns> </TextRuns>
@@ -241,7 +241,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>San luis Potosi No. 21 Col Centro C.P. 83000</Value> <Value />
<Style /> <Style />
</TextRun> </TextRun>
</TextRuns> </TextRuns>
@@ -276,7 +276,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>R.F.C</Value> <Value />
<Style /> <Style />
</TextRun> </TextRun>
</TextRuns> </TextRuns>
@@ -305,7 +305,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>COM-890602-EE8</Value> <Value />
<Style /> <Style />
</TextRun> </TextRun>
</TextRuns> </TextRuns>
@@ -445,7 +445,7 @@
<Paragraph> <Paragraph>
<TextRuns> <TextRuns>
<TextRun> <TextRun>
<Value>Hermosillo,Sonora,Mexico</Value> <Value />
<Style /> <Style />
</TextRun> </TextRun>
</TextRuns> </TextRuns>

View File

@@ -851,9 +851,9 @@ Partial Class General_SaldosIniciales
Else Else
If Codigo.Length > 0 Then 'If Codigo.Length > 0 Then
If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1, If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", CodigoBarras, Descripcion, Precio, -1, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño, CveTipoPS:=CveTipoPS, CveSATPS:=CveSATPS, CveMarca:=CveMarca, CveTamaño:=CveTamaño, CveMedida:=CveMedida, CveRinTamaño:=CveRinTamaño,
CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveClasificacionDetalle:=CveClasificacionDetalle) <= 0 Then CveModelo:=CveModelo, Litraje:=Litraje, IEPSPorcentaje:=IEPS, CveClasificacion2:=CveClasificacion2, CveClasificacionDetalle:=CveClasificacionDetalle) <= 0 Then
'If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", "", Descripcion, 0, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1, 'If ObjPS.AddPS(CveClasificacion, 1, CveUnidadMedida, Codigo, "", "", Descripcion, 0, 0, 0, False, 0, False, True, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, 1,
@@ -866,7 +866,7 @@ Partial Class General_SaldosIniciales
' DTPS = ObjPS.DtResultados ' DTPS = ObjPS.DtResultados
' End If ' End If
End If End If
End If 'End If
End If End If
Next Next

View File

@@ -83,7 +83,7 @@
<asp:HyperLink ID="HplPrePoliza" Target="_blank" runat="server" Visible="false"> Ver PrePóliza</asp:HyperLink> <asp:HyperLink ID="HplPrePoliza" Target="_blank" runat="server" Visible="false"> Ver PrePóliza</asp:HyperLink>
</li> </li>
<li> <li>
<asp:LinkButton runat="server" ID="LnkCambioInventarioFisico" CssClass="" data-toggle="tooltip" data-placement="left" OnClick="LnkCambioInventarioFisico_Click" <asp:LinkButton runat="server" ID="LnkCambioInventarioFisico" Visible="false" CssClass="" data-toggle="tooltip" data-placement="left" OnClick="LnkCambioInventarioFisico_Click"
Text="<i class='fa fa-truck'></i> Inventario Fisico"></asp:LinkButton> Text="<i class='fa fa-truck'></i> Inventario Fisico"></asp:LinkButton>
</li> </li>
<li> <li>

View File

@@ -363,6 +363,7 @@ Partial Class Inventarios_EntradasSalidas
BtnEliminar.Enabled = PermiteEliminar() BtnEliminar.Enabled = PermiteEliminar()
BtnContabilizar.Enabled = PermiteContabilizar() BtnContabilizar.Enabled = PermiteContabilizar()
BtnNuevo.Enabled = PermiteCrearNuevo() BtnNuevo.Enabled = PermiteCrearNuevo()
LnkCambioInventarioFisico.Visible = UsuarioActual.TienePermisoProceso(312)
If CveMovimiento > 0 Then If CveMovimiento > 0 Then
PermisoVerImportes() PermisoVerImportes()

View File

@@ -1755,10 +1755,54 @@ public partial class Nomina_Nomina2 : ClsPaginas
lconc.Add(SubTotales); lconc.Add(SubTotales);
lconc.Add(Totales); lconc.Add(Totales);
DataTable dtCon = new DataTable();
dtCon.Columns.Add(new DataColumn("NoConceptoP", typeof(string)));
dtCon.Columns.Add(new DataColumn("ConceptoP", typeof(string)));
dtCon.Columns.Add(new DataColumn("LabelValorP", typeof(string)));
dtCon.Columns.Add(new DataColumn("CveConceptoP", typeof(int)));
dtCon.Columns.Add(new DataColumn("ImporteP", typeof(double)));
dtCon.Columns.Add(new DataColumn("ValorP", typeof(double)));
dtCon.Columns.Add(new DataColumn("EstatusP", typeof(int)));
dtCon.Columns.Add(new DataColumn("isEditedP", typeof(int)));
dtCon.Columns.Add(new DataColumn("isOnlyBisibleP", typeof(int)));
dtCon.Columns.Add(new DataColumn("NoConceptoD", typeof(string)));
dtCon.Columns.Add(new DataColumn("ConceptoD", typeof(string)));
dtCon.Columns.Add(new DataColumn("LabelValorD", typeof(string)));
dtCon.Columns.Add(new DataColumn("CveConceptoD", typeof(int)));
dtCon.Columns.Add(new DataColumn("ImporteD", typeof(double)));
dtCon.Columns.Add(new DataColumn("ValorD", typeof(double)));
dtCon.Columns.Add(new DataColumn("EstatusD", typeof(int)));
dtCon.Columns.Add(new DataColumn("isEditedD", typeof(int)));
dtCon.Columns.Add(new DataColumn("isOnlyBisibleD", typeof(int)));
foreach(NConcepto itc in lconc)
{
DataRow dr = dtCon.NewRow();
dr["NoConceptoP"] = itc.NoConceptoP;
dr["ConceptoP"] = itc.ConceptoP;
dr["LabelValorP"] = itc.LabelValorP;
dr["CveConceptoP"] = itc.CveConceptoP;
dr["ImporteP"] = itc.ImporteP;
dr["ValorP"] = itc.ValorP;
dr["EstatusP"] = itc.EstatusP;
dr["isEditedP"] = itc.isEditedP;
dr["isOnlyBisibleP"] = itc.isOnlyBisibleP;
dr["NoConceptoD"] = itc.NoConceptoD;
dr["ConceptoD"] = itc.ConceptoD;
dr["LabelValorD"] = itc.LabelValorD;
dr["CveConceptoD"] = itc.CveConceptoD;
dr["ImporteD"] = itc.ImporteD;
dr["ValorD"] = itc.ValorD;
dr["EstatusD"] = itc.EstatusD;
dr["isEditedD"] = itc.isEditedD;
dr["isOnlyBisibleD"] = itc.isOnlyBisibleD;
dtCon.Rows.Add(dr);
}
dtCon.AcceptChanges();
List<Microsoft.Reporting.WebForms.ReportDataSource> lrds = new List<Microsoft.Reporting.WebForms.ReportDataSource>(); List<Microsoft.Reporting.WebForms.ReportDataSource> lrds = new List<Microsoft.Reporting.WebForms.ReportDataSource>();
Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource(); Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource();
rds.Name = "DataSet1"; rds.Name = "DataSet1";
rds.Value = lconc; rds.Value = dtCon;// lconc;
lrds.Add(rds); lrds.Add(rds);
List<Microsoft.Reporting.WebForms.ReportParameter> parametros = new List<Microsoft.Reporting.WebForms.ReportParameter>(); List<Microsoft.Reporting.WebForms.ReportParameter> parametros = new List<Microsoft.Reporting.WebForms.ReportParameter>();
@@ -1821,8 +1865,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
//parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("", "")); //parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("", ""));
//parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("", "")); //parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("", ""));
//parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("", "")); //parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("", ""));
; string urlfile = System.IO.Path.Combine(ModExtensiones.DirectorioBaseEmpresas, string.Format("Empresas/{0}/Formatos/SobreRecibo.rdlc",UsuarioActual.CveEmpresa ));
ImprimirPDF(System.IO.Path.Combine(ModExtensiones.DirectorioBaseEmpresas, "Empresas/Grales/Formatos/SobreRecibo.rdlc"), lrds, parametros, "SobreRecibo", "PDF", null); if (!System.IO.File.Exists(urlfile))
{
urlfile = System.IO.Path.Combine(ModExtensiones.DirectorioBaseEmpresas, "Empresas/Grales/Formatos/SobreRecibo.rdlc");
}
ImprimirPDF(urlfile, lrds, parametros, "SobreRecibo", "PDF", null);
} }
protected void BtnGuardarInfornavit_Click(object sender, EventArgs e) protected void BtnGuardarInfornavit_Click(object sender, EventArgs e)
{ {

View File

@@ -4,13 +4,14 @@ Imports System.Data
Partial Class RH_RepChecadorPreAsistencia Partial Class RH_RepChecadorPreAsistencia
Inherits ClsPaginas Inherits ClsPaginas
#Region "Propiedades"
Private Property FiltroAplicado As String Private Property FiltroAplicado As String
Get Get
If ViewState("CveRegistroDetalle") Is Nothing Then If ViewState("CveRegistroDetalle") Is Nothing Then
Return "-1" Return "-1"
Else Else
Return ViewState("CveRegistroDetalle").ToString Return ViewState("CveRegistroDetalle").ToString()
End If End If
End Get End Get
Set(value As String) Set(value As String)
@@ -125,6 +126,7 @@ Partial Class RH_RepChecadorPreAsistencia
End Set End Set
End Property End Property
#End Region
Private Sub RH_RepChecadorIncidencias_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub RH_RepChecadorIncidencias_Load(sender As Object, e As EventArgs) Handles Me.Load
@@ -172,8 +174,8 @@ Partial Class RH_RepChecadorPreAsistencia
lblTituloPagina.Text = DdlRango.SelectedItem.Text lblTituloPagina.Text = DdlRango.SelectedItem.Text
Dim DtTemp As DataTable = DTPeridos.FiltraParametros("CvePeriodo = " & DdlRango.SelectedValue.ToEntero) Dim DtTemp As DataTable = DTPeridos.FiltraParametros("CvePeriodo = " & DdlRango.SelectedValue.ToEntero)
FechaInicioPeriodo = DtTemp(0)("FechaInicio").ToString.ToDate FechaInicioPeriodo = DtTemp(0)("FechaInicio").ToString().ToDate
FechaFinPeriodo = DtTemp(0)("FechaFin").ToString.ToDate FechaFinPeriodo = DtTemp(0)("FechaFin").ToString().ToDate
End If End If
UpTituloPagina.Update() UpTituloPagina.Update()
@@ -190,7 +192,7 @@ Partial Class RH_RepChecadorPreAsistencia
If DdlTipoPeriodo.SelectedIndex <> 0 Then If DdlTipoPeriodo.SelectedIndex <> 0 Then
CveTipoPeriodo = DdlTipoPeriodo.SelectedValue.ToEntero CveTipoPeriodo = DdlTipoPeriodo.SelectedValue.ToEntero
DiasPeriodo = DTTipoPeriodoDatos.FiltraParametros(" CveTipoPeriodo = " & DdlTipoPeriodo.SelectedValue)(0)("DiasPeriodo").ToString.ToEntero DiasPeriodo = DTTipoPeriodoDatos.FiltraParametros(" CveTipoPeriodo = " & DdlTipoPeriodo.SelectedValue)(0)("DiasPeriodo").ToString().ToEntero
Dim objNomina As New ClsNominas Dim objNomina As New ClsNominas
@@ -228,7 +230,7 @@ Partial Class RH_RepChecadorPreAsistencia
DdlRango.DataBind() DdlRango.DataBind()
If DtTempFechaInicial.Rows.Count > 0 Then If DtTempFechaInicial.Rows.Count > 0 Then
Dim temCvePeriodoNomi As Integer = DtTempFechaInicial(0)("CvePeriodo").ToString.ToEntero Dim temCvePeriodoNomi As Integer = DtTempFechaInicial(0)("CvePeriodo").ToString().ToEntero
DdlRango.SelectedValueExist(temCvePeriodoNomi) DdlRango.SelectedValueExist(temCvePeriodoNomi)
End If End If
@@ -292,10 +294,10 @@ Partial Class RH_RepChecadorPreAsistencia
Dim CveAsistenciaInasistenciaDescanso As Integer = -1 Dim CveAsistenciaInasistenciaDescanso As Integer = -1
Try Try
CveASistenciaInasistenciaAsistio = GlobalDTAsistenciasInasistencias.FiltraParametros(" TipoCorto = 'A' AND CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa)(0)("CveAsistenciasInasistencias").ToString.ToEntero CveASistenciaInasistenciaAsistio = GlobalDTAsistenciasInasistencias.FiltraParametros(" TipoCorto = 'A' AND CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa)(0)("CveAsistenciasInasistencias").ToString().ToEntero
CveAsistenciaInasistenciaFalta = GlobalDTAsistenciasInasistencias.FiltraParametros(" TipoCorto = 'F' AND CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa)(0)("CveAsistenciasInasistencias").ToString.ToEntero CveAsistenciaInasistenciaFalta = GlobalDTAsistenciasInasistencias.FiltraParametros(" TipoCorto = 'F' AND CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa)(0)("CveAsistenciasInasistencias").ToString().ToEntero
CveAsistenciaInasistenciaRetardo = GlobalDTAsistenciasInasistencias.FiltraParametros(" TipoCorto = 'R' AND CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa)(0)("CveAsistenciasInasistencias").ToString.ToEntero CveAsistenciaInasistenciaRetardo = GlobalDTAsistenciasInasistencias.FiltraParametros(" TipoCorto = 'R' AND CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa)(0)("CveAsistenciasInasistencias").ToString().ToEntero
CveAsistenciaInasistenciaDescanso = GlobalDTAsistenciasInasistencias.FiltraParametros(" TipoCorto = 'D' AND CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa)(0)("CveAsistenciasInasistencias").ToString.ToEntero CveAsistenciaInasistenciaDescanso = GlobalDTAsistenciasInasistencias.FiltraParametros(" TipoCorto = 'D' AND CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa)(0)("CveAsistenciasInasistencias").ToString().ToEntero
Catch ex As Exception Catch ex As Exception
Alert("Se presento un error al obtener las claves de asistencia.", TipoMensaje.MsgError) Alert("Se presento un error al obtener las claves de asistencia.", TipoMensaje.MsgError)
@@ -350,9 +352,9 @@ Partial Class RH_RepChecadorPreAsistencia
Dim FiltroSubProyecto As String = "" Dim FiltroSubProyecto As String = ""
If DdlSubProyecto.SelectedIndex > 0 Then If DdlSubProyecto.SelectedIndex > 0 Then
FiltroSubProyecto = $" CveTipoPeriodo = {DdlTipoPeriodo.SelectedValue } AND CveEstado = 1 AND CveTurno = { DdlTurno.SelectedValue} AND CveSubProyecto = { DdlSubProyecto.SelectedValue.ToEntero }" FiltroSubProyecto = $" CveTipoPeriodo = {DdlTipoPeriodo.SelectedValue } AND CveTurno = { DdlTurno.SelectedValue} AND CveSubProyecto = { DdlSubProyecto.SelectedValue.ToEntero }"
Else Else
FiltroSubProyecto = $" CveTipoPeriodo = {DdlTipoPeriodo.SelectedValue } AND CveEstado = 1 AND CveTurno = { DdlTurno.SelectedValue} " FiltroSubProyecto = $" CveTipoPeriodo = {DdlTipoPeriodo.SelectedValue } AND CveTurno = { DdlTurno.SelectedValue} "
End If End If
DtPersonal = GlobalDTRHPersonal(UsuarioActual.Empresa.CveEmpresa).FiltraParametros(FiltroSubProyecto) DtPersonal = GlobalDTRHPersonal(UsuarioActual.Empresa.CveEmpresa).FiltraParametros(FiltroSubProyecto)
@@ -365,15 +367,15 @@ Partial Class RH_RepChecadorPreAsistencia
Dim TMCveChecadorHorario As Integer = -1 Dim TMCveChecadorHorario As Integer = -1
If DTTemp.Rows.Count > 0 Then If DTTemp.Rows.Count > 0 Then
TMCveChecadorHorario = DTTemp(0)("CveChecadorHorario").ToString.ToEntero TMCveChecadorHorario = DTTemp(0)("CveChecadorHorario").ToString().ToEntero
Dim DtHorarioTemp = DTHorarios.FiltraParametros("CveChecadorHorario = " & TMCveChecadorHorario) Dim DtHorarioTemp = DTHorarios.FiltraParametros("CveChecadorHorario = " & TMCveChecadorHorario)
If DtHorarioTemp.Rows.Count > 0 Then If DtHorarioTemp.Rows.Count > 0 Then
TolRetAcumulados = DtHorarioTemp(0)("TolRetAcumulados").ToString.ToEntero TolRetAcumulados = DtHorarioTemp(0)("TolRetAcumulados").ToString().ToEntero
TolRetEntradaMin = DtHorarioTemp(0)("TolRetEntradaMin").ToString.ToEntero TolRetEntradaMin = DtHorarioTemp(0)("TolRetEntradaMin").ToString().ToEntero
TolFalEntradaMin = DtHorarioTemp(0)("TolFalEntradaMin").ToString.ToEntero TolFalEntradaMin = DtHorarioTemp(0)("TolFalEntradaMin").ToString().ToEntero
RetSalidaAntes = Boolean.Parse(DtHorarioTemp(0)("RetSalidaAntes").ToString) RetSalidaAntes = Boolean.Parse(DtHorarioTemp(0)("RetSalidaAntes").ToString())
TolSalidaAntesMin = DtHorarioTemp(0)("TolSalidaAntesMin").ToString.ToEntero TolSalidaAntesMin = DtHorarioTemp(0)("TolSalidaAntesMin").ToString().ToEntero
End If End If
End If End If
End If End If
@@ -416,22 +418,22 @@ Partial Class RH_RepChecadorPreAsistencia
Dim Fecha As Date = FechaInicioPeriodo Dim Fecha As Date = FechaInicioPeriodo
Dim ContadorFaltas As Integer = 0 Dim ContadorFaltas As Integer = 0
Dim registrosPersonal As DataTable = DTChecadorRegistros.FiltraParametros(" CvePersonal = " & dRow(0).ToString) Dim registrosPersonal As DataTable = DTChecadorRegistros.FiltraParametros(" CvePersonal = " & dRow(0).ToString())
If registrosPersonal.Rows.Count > 0 Then If registrosPersonal.Rows.Count > 0 Then
DTHorarioPersonal = DTHorarios.FiltraParametros(" CveChecadorHorario = " & registrosPersonal(0)("CveHorario").ToString & "") DTHorarioPersonal = DTHorarios.FiltraParametros(" CveChecadorHorario = " & registrosPersonal(0)("CveHorario").ToString() & "")
Retardos = 0 Retardos = 0
For x As Integer = 1 To (DiasPeriodo) For x As Integer = 1 To (DiasPeriodo)
Dim ReRow As DataRow = Resultados.NewRow Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
ReRow("CveAsistenciasInasistencias") = "-1" ReRow("CveAsistenciasInasistencias") = "-1"
ReRow("PorcentajePago") = "0" ReRow("PorcentajePago") = "0"
ReRow("Fecha") = Fecha.ToString ReRow("Fecha") = Fecha.ToString()
ReRow("Retraso") = "False" ReRow("Retraso") = "False"
ReRow("Asistio") = "True" ReRow("Asistio") = "True"
ReRow("Inconsistencia") = "False" ReRow("Inconsistencia") = "False"
@@ -454,12 +456,12 @@ Partial Class RH_RepChecadorPreAsistencia
Dim Asistencia As Boolean = True Dim Asistencia As Boolean = True
Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal) Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal)
Dim DiaLaboral As Boolean = Boolean.Parse(Horario(0)(0).ToString) Dim DiaLaboral As Boolean = Boolean.Parse(Horario(0)(0).ToString())
Dim HorarioEntrada As TimeSpan = TimeSpan.Parse(Horario(0)(1).ToString) Dim HorarioEntrada As TimeSpan = TimeSpan.Parse(Horario(0)(1).ToString())
Dim HorarioSalidaComida As TimeSpan = TimeSpan.Parse(Horario(0)(2).ToString) Dim HorarioSalidaComida As TimeSpan = TimeSpan.Parse(Horario(0)(2).ToString())
Dim HorarioEntradaComida As TimeSpan = TimeSpan.Parse(Horario(0)(3).ToString) Dim HorarioEntradaComida As TimeSpan = TimeSpan.Parse(Horario(0)(3).ToString())
Dim HorarioSalida As TimeSpan = TimeSpan.Parse(Horario(0)(4).ToString) Dim HorarioSalida As TimeSpan = TimeSpan.Parse(Horario(0)(4).ToString())
Dim FechaHoraEntrada As DateTime Dim FechaHoraEntrada As DateTime
Dim FechahoraSalida As DateTime Dim FechahoraSalida As DateTime
@@ -478,10 +480,10 @@ Partial Class RH_RepChecadorPreAsistencia
Dim tempDatetime1 As DateTime = FechaHoraEntrada.AddHours(-2) 'la entrada se podra checar hasta dos horas antes de la hora de entrada Dim tempDatetime1 As DateTime = FechaHoraEntrada.AddHours(-2) 'la entrada se podra checar hasta dos horas antes de la hora de entrada
Dim tempDatetime2 As DateTime = FechahoraSalida.AddHours(4) 'Legalmente no se pueden hacer mas de 3 horas extras al día Dim tempDatetime2 As DateTime = FechahoraSalida.AddHours(4) 'Legalmente no se pueden hacer mas de 3 horas extras al día
Dim tabladelDia As DataTable = registrosPersonal.FiltraParametros(" CvePersonal = " & dRow(0).ToString & " AND FechaRegistro >= '" & tempDatetime1.ToShortDateString & "' AND FechaRegistro <= '" & tempDatetime2.ToString & "'") Dim tabladelDia As DataTable = registrosPersonal.FiltraParametros(" CvePersonal = " & dRow(0).ToString() & " AND FechaRegistro >= '" & tempDatetime1.ToShortDateString & "' AND FechaRegistro <= '" & tempDatetime2.ToString() & "'")
If DTAsistenciasInasistencias.FiltraParametros(" CvePersonal = " & dRow(0).ToString & " AND Fecha >= '" & Fecha & "'").Rows.Count > 0 Then If DTAsistenciasInasistencias.FiltraParametros(" CvePersonal = " & dRow(0).ToString() & " AND Fecha >= '" & Fecha & "'").Rows.Count > 0 Then
ReRow("CveAsistenciasInasistencias") = DTAsistenciasInasistencias(0)("CveAsistenciasInasistencias").ToString ReRow("CveAsistenciasInasistencias") = DTAsistenciasInasistencias(0)("CveAsistenciasInasistencias").ToString()
End If End If
Dim CountRegistros As Integer = tabladelDia.Rows.Count Dim CountRegistros As Integer = tabladelDia.Rows.Count
@@ -494,11 +496,11 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("Descanso") = "True" ReRow("Descanso") = "True"
End If End If
Dim TempDTValidaciones As DataTable = DTDiasInhabiles.FiltraParametros(" FechaInhabil = '" & Fecha.ToString & "'") Dim TempDTValidaciones As DataTable = DTDiasInhabiles.FiltraParametros(" FechaInhabil = '" & Fecha.ToString() & "'")
If TempDTValidaciones.Rows.Count > 0 Then If TempDTValidaciones.Rows.Count > 0 Then
ReRow("PorcentajePago") = "100" ReRow("PorcentajePago") = "100"
ReRow("DiaInhabil") = "True" ReRow("DiaInhabil") = "True"
ReRow("DiaInhabilStr") = TempDTValidaciones(0)("DiaInhabil").ToString ReRow("DiaInhabilStr") = TempDTValidaciones(0)("DiaInhabil").ToString()
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso
ReRow("PorcentajePago") = "100" ReRow("PorcentajePago") = "100"
Else Else
@@ -506,7 +508,7 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("DiaInhabilStr") = "" ReRow("DiaInhabilStr") = ""
End If End If
TempDTValidaciones = DtVacaciones.FiltraParametros(" Fecha = '" & Fecha.ToString & "' AND CvePersonal = " & dRow(0).ToString) TempDTValidaciones = DtVacaciones.FiltraParametros(" Fecha = '" & Fecha.ToString() & "' AND CvePersonal = " & dRow(0).ToString())
If TempDTValidaciones.Rows.Count > 0 Then If TempDTValidaciones.Rows.Count > 0 Then
ReRow("DiaVacacion") = "True" ReRow("DiaVacacion") = "True"
@@ -524,23 +526,23 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("PorcentajePago") = "100" ReRow("PorcentajePago") = "100"
Else Else
If ReRow("DiaVacacion").ToString <> "True" And ReRow("Descanso").ToString <> "True" Then If ReRow("DiaVacacion").ToString() <> "True" And ReRow("Descanso").ToString() <> "True" Then
If CountRegistros > 0 Then If CountRegistros > 0 Then
FechaHoraRegistroEntrada = DateTime.Parse(tabladelDia(0)("FechaRegistro").ToString) FechaHoraRegistroEntrada = DateTime.Parse(tabladelDia(0)("FechaRegistro").ToString())
FechaHoraRegistroSalida = DateTime.Parse(tabladelDia(tabladelDia.Rows.Count - 1)("FechaRegistro").ToString) FechaHoraRegistroSalida = DateTime.Parse(tabladelDia(tabladelDia.Rows.Count - 1)("FechaRegistro").ToString())
If Not (FechaHoraRegistroEntrada - FechaHoraEntrada).TotalMinutes > TolFalEntradaMin Then If Not (FechaHoraRegistroEntrada - FechaHoraEntrada).TotalMinutes > TolFalEntradaMin Then
If (FechaHoraRegistroEntrada - FechaHoraEntrada).TotalMinutes > TolRetEntradaMin Then If (FechaHoraRegistroEntrada - FechaHoraEntrada).TotalMinutes > TolRetEntradaMin Then
Retardos = Retardos + 1 Retardos = Retardos + 1
ReRow("Mensaje") = ReRow("Mensaje").ToString & vbLf & "Retardo" ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & "Retardo"
If Retardos >= TolRetAcumulados Then If Retardos >= TolRetAcumulados Then
ReRow("Asistio") = "False" ReRow("Asistio") = "False"
ReRow("FaltaRetardosAcumulados") = "True" ReRow("FaltaRetardosAcumulados") = "True"
ReRow("Mensaje") = ReRow("Mensaje").ToString & vbLf & " Falta por " & TolRetAcumulados & " acumulados. " ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & " Falta por " & TolRetAcumulados & " acumulados. "
Retardos = 0 Retardos = 0
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0" ReRow("PorcentajePago") = "0"
@@ -557,7 +559,7 @@ Partial Class RH_RepChecadorPreAsistencia
End If End If
Else Else
Asistencia = False Asistencia = False
ReRow("Mensaje") = ReRow("Mensaje").ToString & vbLf & "Falta por retardo." ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & "Falta por retardo."
ReRow("FaltaRetraso") = "True" ReRow("FaltaRetraso") = "True"
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0" ReRow("PorcentajePago") = "0"
@@ -565,20 +567,20 @@ Partial Class RH_RepChecadorPreAsistencia
If FechahoraSalida > FechaHoraRegistroSalida Then If FechahoraSalida > FechaHoraRegistroSalida Then
Dim diferenciasalidaMinutos As Integer = (FechahoraSalida - FechaHoraRegistroSalida).TotalMinutes.ToString.ToEntero Dim diferenciasalidaMinutos As Integer = (FechahoraSalida - FechaHoraRegistroSalida).TotalMinutes.ToString().ToEntero
If RetSalidaAntes Then If RetSalidaAntes Then
If diferenciasalidaMinutos > TolSalidaAntesMin Then If diferenciasalidaMinutos > TolSalidaAntesMin Then
ReRow("Asistio") = "True" ReRow("Asistio") = "True"
ReRow("Retraso") = "True" ReRow("Retraso") = "True"
ReRow("Mensaje") = ReRow("Mensaje").ToString & vbLf & "Retraso por salida antes de tiempo (" & diferenciasalidaMinutos & " minutos)." ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & "Retraso por salida antes de tiempo (" & diferenciasalidaMinutos & " minutos)."
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaRetardo ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaRetardo
ReRow("PorcentajePago") = "100" ReRow("PorcentajePago") = "100"
Else Else
ReRow("Asistio") = "True" ReRow("Asistio") = "True"
ReRow("Retraso") = "False" ReRow("Retraso") = "False"
ReRow("Mensaje") = ReRow("Mensaje").ToString & vbLf & "Salida antes de tiempo (" & diferenciasalidaMinutos & " minutos)." ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & "Salida antes de tiempo (" & diferenciasalidaMinutos & " minutos)."
ReRow("CveAsistenciasInasistencias") = CveASistenciaInasistenciaAsistio ReRow("CveAsistenciasInasistencias") = CveASistenciaInasistenciaAsistio
ReRow("PorcentajePago") = "100" ReRow("PorcentajePago") = "100"
@@ -595,7 +597,7 @@ Partial Class RH_RepChecadorPreAsistencia
End If End If
If ReRow("Asistio").ToString = "True" Then ReRow("PorcentajePago") = "100" Else ReRow("PorcentajePago") = "0" If ReRow("Asistio").ToString() = "True" Then ReRow("PorcentajePago") = "100" Else ReRow("PorcentajePago") = "0"
Resultados.Rows.Add(ReRow) Resultados.Rows.Add(ReRow)
@@ -608,15 +610,15 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ReRow As DataRow = Resultados.NewRow Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0" ReRow("PorcentajePago") = "0"
ReRow("Fecha") = Fecha.ToString ReRow("Fecha") = Fecha.ToString()
ReRow("Retraso") = "False" ReRow("Retraso") = "False"
ReRow("Inconsistencia") = "False" ReRow("Inconsistencia") = "False"
ReRow("Descanso") = "False" ReRow("Descanso") = "False"
@@ -633,9 +635,9 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("TipoCorto") = "" ReRow("TipoCorto") = ""
ReRow("Sancion") = "False" ReRow("Sancion") = "False"
If dRow("CveChecadorHorario").ToString.ToEntero > 0 Then If dRow("CveChecadorHorario").ToString().ToEntero > 0 Then
DTHorarioPersonal = DTHorarios.FiltraParametros(" CveChecadorHorario = " & dRow("CveChecadorHorario").ToString.ToEntero & "") DTHorarioPersonal = DTHorarios.FiltraParametros(" CveChecadorHorario = " & dRow("CveChecadorHorario").ToString().ToEntero & "")
If Fecha >= Now Then If Fecha >= Now Then
ReRow("Asistio") = "True" ReRow("Asistio") = "True"
@@ -646,7 +648,7 @@ Partial Class RH_RepChecadorPreAsistencia
End If End If
Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal) Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal)
Dim DiaLaboral As Boolean = Boolean.Parse(Horario(0)(0).ToString) Dim DiaLaboral As Boolean = Boolean.Parse(Horario(0)(0).ToString())
If Not DiaLaboral Then If Not DiaLaboral Then
@@ -655,11 +657,11 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("Descanso") = "True" ReRow("Descanso") = "True"
Else Else
Dim TempDTValidaciones As DataTable = DTDiasInhabiles.FiltraParametros(" FechaInhabil = '" & Fecha.ToString & "'") Dim TempDTValidaciones As DataTable = DTDiasInhabiles.FiltraParametros(" FechaInhabil = '" & Fecha.ToString() & "'")
If TempDTValidaciones.Rows.Count > 0 Then If TempDTValidaciones.Rows.Count > 0 Then
ReRow("DiaInhabil") = "True" ReRow("DiaInhabil") = "True"
ReRow("DiaInhabilStr") = TempDTValidaciones(0)("DiaInhabil").ToString ReRow("DiaInhabilStr") = TempDTValidaciones(0)("DiaInhabil").ToString()
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso
ReRow("PorcentajePago") = "100" ReRow("PorcentajePago") = "100"
Else Else
@@ -668,7 +670,7 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("PorcentajePago") = "0" ReRow("PorcentajePago") = "0"
End If End If
TempDTValidaciones = DtVacaciones.FiltraParametros(" Fecha = '" & Fecha.ToString & "' AND CvePersonal = " & dRow(0).ToString) TempDTValidaciones = DtVacaciones.FiltraParametros(" Fecha = '" & Fecha.ToString() & "' AND CvePersonal = " & dRow(0).ToString())
If TempDTValidaciones.Rows.Count > 0 Then If TempDTValidaciones.Rows.Count > 0 Then
ReRow("DiaVacacion") = "True" ReRow("DiaVacacion") = "True"
@@ -697,21 +699,21 @@ Partial Class RH_RepChecadorPreAsistencia
For Each dRow As DataRow In DtPersonal.Rows For Each dRow As DataRow In DtPersonal.Rows
Dim Fecha As Date = FechaInicioPeriodo Dim Fecha As Date = FechaInicioPeriodo
Dim ContadorFaltas As Integer = 0 Dim ContadorFaltas As Integer = 0
Dim registrosPersonal As DataTable = DTAsistenciasInasistenciasReg.FiltraParametros(" CvePersonal = " & dRow(0).ToString) Dim registrosPersonal As DataTable = DTAsistenciasInasistenciasReg.FiltraParametros(" CvePersonal = " & dRow(0).ToString())
If registrosPersonal.Rows.Count > 0 Then If registrosPersonal.Rows.Count > 0 Then
For x As Integer = 1 To (DiasPeriodo) For x As Integer = 1 To (DiasPeriodo)
Dim ReRow As DataRow = Resultados.NewRow Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
ReRow("CveAsistenciasInasistencias") = "-1" ReRow("CveAsistenciasInasistencias") = "-1"
ReRow("PorcentajePago") = "0" ReRow("PorcentajePago") = "0"
ReRow("Fecha") = Fecha.ToString ReRow("Fecha") = Fecha.ToString()
ReRow("Retraso") = "False" ReRow("Retraso") = "False"
ReRow("Asistio") = "True" ReRow("Asistio") = "True"
ReRow("Inconsistencia") = "False" ReRow("Inconsistencia") = "False"
@@ -733,18 +735,18 @@ Partial Class RH_RepChecadorPreAsistencia
Dim diaSemana As Integer = Fecha.DayOfWeek Dim diaSemana As Integer = Fecha.DayOfWeek
Dim Asistencia As Boolean = True Dim Asistencia As Boolean = True
Dim tabladelDia As DataTable = registrosPersonal.FiltraParametros(" CvePersonal = " & dRow(0).ToString & " AND Fecha = '" & Fecha.ToShortDateString & "'") Dim tabladelDia As DataTable = registrosPersonal.FiltraParametros(" CvePersonal = " & dRow(0).ToString() & " AND Fecha = '" & Fecha.ToShortDateString & "'")
If tabladelDia.Rows.Count > 0 Then If tabladelDia.Rows.Count > 0 Then
ReRow("TipoCorto") = tabladelDia(0)("TipoCorto").ToString ReRow("TipoCorto") = tabladelDia(0)("TipoCorto").ToString()
ReRow("CveAsistenciasInasistencias") = tabladelDia(0)("CveAsistenciasInasistencias").ToString ReRow("CveAsistenciasInasistencias") = tabladelDia(0)("CveAsistenciasInasistencias").ToString()
Else Else
ReRow("Asistio") = "False" ReRow("Asistio") = "False"
ReRow("TipoCorto") = "F" ReRow("TipoCorto") = "F"
ReRow("CveAsistenciasInasistencias") = "-1" ReRow("CveAsistenciasInasistencias") = "-1"
End If End If
If ReRow("Asistio").ToString = "True" Then ReRow("PorcentajePago") = "100" Else ReRow("PorcentajePago") = "0" If ReRow("Asistio").ToString() = "True" Then ReRow("PorcentajePago") = "100" Else ReRow("PorcentajePago") = "0"
Resultados.Rows.Add(ReRow) Resultados.Rows.Add(ReRow)
Fecha = Fecha.AddDays(1) Fecha = Fecha.AddDays(1)
@@ -754,14 +756,14 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ReRow As DataRow = Resultados.NewRow Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0" ReRow("PorcentajePago") = "0"
ReRow("Asistio") = "False" ReRow("Asistio") = "False"
ReRow("Fecha") = Fecha.ToString ReRow("Fecha") = Fecha.ToString()
ReRow("Retraso") = "False" ReRow("Retraso") = "False"
ReRow("Inconsistencia") = "False" ReRow("Inconsistencia") = "False"
ReRow("Descanso") = "False" ReRow("Descanso") = "False"
@@ -778,7 +780,7 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("TipoCorto") = "" ReRow("TipoCorto") = ""
If ReRow("Asistio").ToString = "True" Then ReRow("PorcentajePago") = "100" Else ReRow("PorcentajePago") = "0" If ReRow("Asistio").ToString() = "True" Then ReRow("PorcentajePago") = "100" Else ReRow("PorcentajePago") = "0"
Resultados.Rows.Add(ReRow) Resultados.Rows.Add(ReRow)
Fecha = Fecha.AddDays(1) Fecha = Fecha.AddDays(1)
@@ -845,7 +847,7 @@ Partial Class RH_RepChecadorPreAsistencia
ColumN = 3 ColumN = 3
For Each drow As DataRow In DTFechas.Rows For Each drow As DataRow In DTFechas.Rows
GVRegDatos.Columns(ColumN).HeaderText = String.Format("<div class='Widthall' style='text-align:center;font-size:11px!important'>{1}</div><div class='Widthall' style='text-align:center'> {0} </div>", drow(0).ToString.ToDate.ToString("dd/MM/yyyy"), ObtenerDiaSemana(drow(0).ToString.ToDate)) GVRegDatos.Columns(ColumN).HeaderText = String.Format("<div class='Widthall' style='text-align:center;font-size:11px!important'>{1}</div><div class='Widthall' style='text-align:center'> {0} </div>", drow(0).ToString().ToDate.ToString("dd/MM/yyyy"), ObtenerDiaSemana(drow(0).ToString().ToDate))
GVRegDatos.Columns(ColumN).Visible = True GVRegDatos.Columns(ColumN).Visible = True
ColumN = ColumN + 1 ColumN = ColumN + 1
Next Next
@@ -867,7 +869,7 @@ Partial Class RH_RepChecadorPreAsistencia
For Each drow As DataRow In DTFechas.Rows For Each drow As DataRow In DTFechas.Rows
filtro = " CvePersonal = " & pRow("CvePersonal").ToString & " AND Fecha ='" & drow(0).ToString & "' " filtro = " CvePersonal = " & pRow("CvePersonal").ToString() & " AND Fecha ='" & drow(0).ToString() & "' "
ResumenDia = DtResultados.FiltraParametros(filtro) ResumenDia = DtResultados.FiltraParametros(filtro)
TipoCorto = "" TipoCorto = ""
@@ -876,33 +878,33 @@ Partial Class RH_RepChecadorPreAsistencia
RRow(ColumN) = "-" RRow(ColumN) = "-"
If ResumenDia(0)("Asistio").ToString = "True" Or ResumenDia(0)("TipoCorto").ToString = "A" Then If ResumenDia(0)("Asistio").ToString() = "True" Or ResumenDia(0)("TipoCorto").ToString() = "A" Then
RRow(ColumN) = "A|" & filtro RRow(ColumN) = "A|" & filtro
End If End If
If ResumenDia(0)("DiaVacacion").ToString = "True" Or ResumenDia(0)("TipoCorto").ToString = "V" Then If ResumenDia(0)("DiaVacacion").ToString() = "True" Or ResumenDia(0)("TipoCorto").ToString() = "V" Then
RRow(ColumN) = "V|" & filtro RRow(ColumN) = "V|" & filtro
End If End If
If ResumenDia(0)("Asistio").ToString = "False" Or ResumenDia(0)("TipoCorto").ToString = "F" Then If ResumenDia(0)("Asistio").ToString() = "False" Or ResumenDia(0)("TipoCorto").ToString() = "F" Then
RRow(ColumN) = "F|" & filtro RRow(ColumN) = "F|" & filtro
End If End If
If ResumenDia(0)("Retraso").ToString = "True" Or ResumenDia(0)("TipoCorto").ToString = "R" Then If ResumenDia(0)("Retraso").ToString() = "True" Or ResumenDia(0)("TipoCorto").ToString() = "R" Then
RRow(ColumN) = "R|" & filtro RRow(ColumN) = "R|" & filtro
End If End If
If ResumenDia(0)("FaltaRetraso").ToString = "True" Or TipoCorto = "FR" Then If ResumenDia(0)("FaltaRetraso").ToString() = "True" Or TipoCorto = "FR" Then
RRow(ColumN) = "FR|" & filtro RRow(ColumN) = "FR|" & filtro
End If End If
If ResumenDia(0)("Descanso").ToString = "True" Or ResumenDia(0)("DiaInhabil").ToString = "True" Then If ResumenDia(0)("Descanso").ToString() = "True" Or ResumenDia(0)("DiaInhabil").ToString() = "True" Then
RRow(ColumN) = "D|" & filtro RRow(ColumN) = "D|" & filtro
End If End If
If ResumenDia(0)("Inconsistencia").ToString = "True" Then If ResumenDia(0)("Inconsistencia").ToString() = "True" Then
RRow(ColumN) = "IN|" & filtro RRow(ColumN) = "IN|" & filtro
If ResumenDia(0)("Descanso").ToString = "True" Then If ResumenDia(0)("Descanso").ToString() = "True" Then
RRow(ColumN) = "IND|" & filtro RRow(ColumN) = "IND|" & filtro
End If End If
End If End If
@@ -910,7 +912,7 @@ Partial Class RH_RepChecadorPreAsistencia
DTTempAsistencias = DTAsistenciasInasistenciasReg.FiltraParametros(filtro) DTTempAsistencias = DTAsistenciasInasistenciasReg.FiltraParametros(filtro)
If DTTempAsistencias.Rows.Count > 0 Then If DTTempAsistencias.Rows.Count > 0 Then
TipoCorto = DTTempAsistencias(0)("TipoCorto").ToString TipoCorto = DTTempAsistencias(0)("TipoCorto").ToString()
Else Else
TipoCorto = "F" TipoCorto = "F"
End If End If
@@ -931,7 +933,7 @@ Partial Class RH_RepChecadorPreAsistencia
Next Next
Dim SalidaTiempo As Integer = (Now - medida).TotalSeconds.ToString.ToEntero Dim SalidaTiempo As Integer = (Now - medida).TotalSeconds.ToString().ToEntero
SalidaTiempo = SalidaTiempo SalidaTiempo = SalidaTiempo
DtDatosTabla = dt DtDatosTabla = dt
@@ -1022,7 +1024,7 @@ Partial Class RH_RepChecadorPreAsistencia
ColumN = 3 ColumN = 3
For Each drow As DataRow In DTFechas.Rows For Each drow As DataRow In DTFechas.Rows
GVRegDatos.Columns(ColumN).HeaderText = String.Format("<div class='Widthall' style='text-align:center;font-size:11px!important'>{1}</div><div class='Widthall' style='text-align:center'> {0} </div>", drow(0).ToString.ToDate.ToString("dd/MM/yyyy"), ObtenerDiaSemana(drow(0).ToString.ToDate)) GVRegDatos.Columns(ColumN).HeaderText = String.Format("<div class='Widthall' style='text-align:center;font-size:11px!important'>{1}</div><div class='Widthall' style='text-align:center'> {0} </div>", drow(0).ToString().ToDate.ToString("dd/MM/yyyy"), ObtenerDiaSemana(drow(0).ToString().ToDate))
GVRegDatos.Columns(ColumN).Visible = True GVRegDatos.Columns(ColumN).Visible = True
ColumN = ColumN + 1 ColumN = ColumN + 1
Next Next
@@ -1036,14 +1038,14 @@ Partial Class RH_RepChecadorPreAsistencia
ColumN = 2 ColumN = 2
For Each drow As DataRow In DTFechas.Rows For Each drow As DataRow In DTFechas.Rows
Dim filtro As String = " CvePersonal = " & pRow("CvePersonal").ToString & " AND Fecha ='" & drow(0).ToString & "' " Dim filtro As String = " CvePersonal = " & pRow("CvePersonal").ToString() & " AND Fecha ='" & drow(0).ToString() & "' "
Dim ResumenDia As DataTable = DtResultados.FiltraParametros(" CvePersonal = " & pRow("CvePersonal").ToString & " AND Fecha ='" & drow(0).ToString & "' ") Dim ResumenDia As DataTable = DtResultados.FiltraParametros(" CvePersonal = " & pRow("CvePersonal").ToString() & " AND Fecha ='" & drow(0).ToString() & "' ")
Dim DTTempAsistencias As DataTable = DTAsistenciasInasistencias.FiltraParametros(" CvePersonal = " & pRow("CvePersonal").ToString & " AND Fecha ='" & drow(0).ToString & "' ") Dim DTTempAsistencias As DataTable = DTAsistenciasInasistencias.FiltraParametros(" CvePersonal = " & pRow("CvePersonal").ToString() & " AND Fecha ='" & drow(0).ToString() & "' ")
Dim TipoCorto As String = "" Dim TipoCorto As String = ""
If DTTempAsistencias.Rows.Count > 1 Then If DTTempAsistencias.Rows.Count > 1 Then
TipoCorto = DTTempAsistencias(0)("TipoCorto").ToString TipoCorto = DTTempAsistencias(0)("TipoCorto").ToString()
End If End If
If TipoCorto <> "" Then If TipoCorto <> "" Then
@@ -1082,40 +1084,40 @@ Partial Class RH_RepChecadorPreAsistencia
RRow(ColumN) = "-" RRow(ColumN) = "-"
If ResumenDia(0)("TipoCorto").ToString = "" Then If ResumenDia(0)("TipoCorto").ToString() = "" Then
If ResumenDia(0)("Asistio").ToString = "True" Then If ResumenDia(0)("Asistio").ToString() = "True" Then
RRow(ColumN) = "A|" & filtro RRow(ColumN) = "A|" & filtro
End If End If
If ResumenDia(0)("DiaVacacion").ToString = "True" Then If ResumenDia(0)("DiaVacacion").ToString() = "True" Then
RRow(ColumN) = "V" & "|" & filtro RRow(ColumN) = "V" & "|" & filtro
Else Else
If ResumenDia(0)("Asistio").ToString = "False" Then If ResumenDia(0)("Asistio").ToString() = "False" Then
RRow(ColumN) = "F" & "|" & filtro RRow(ColumN) = "F" & "|" & filtro
Else Else
If ResumenDia(0)("Retraso").ToString = "True" Then If ResumenDia(0)("Retraso").ToString() = "True" Then
RRow(ColumN) = "R" & "|" & filtro RRow(ColumN) = "R" & "|" & filtro
Else Else
If ResumenDia(0)("FaltaRetraso").ToString = "True" Then If ResumenDia(0)("FaltaRetraso").ToString() = "True" Then
RRow(ColumN) = "FR" & "|" & filtro RRow(ColumN) = "FR" & "|" & filtro
lblModalMensaje.Text = "Falta por retardo" lblModalMensaje.Text = "Falta por retardo"
Else Else
If ResumenDia(0)("Descanso").ToString = "True" Then If ResumenDia(0)("Descanso").ToString() = "True" Then
RRow(ColumN) = "D" & "|" & filtro RRow(ColumN) = "D" & "|" & filtro
Else Else
If ResumenDia(0)("Inconsistencia").ToString = "True" Then If ResumenDia(0)("Inconsistencia").ToString() = "True" Then
RRow(ColumN) = "IN" & "|" & filtro RRow(ColumN) = "IN" & "|" & filtro
If ResumenDia(0)("Descanso").ToString = "True" Then If ResumenDia(0)("Descanso").ToString() = "True" Then
RRow(ColumN) = "IND" & "|" & filtro RRow(ColumN) = "IND" & "|" & filtro
Else Else
If ResumenDia(0)("TipoCorto").ToString = "S" Then If ResumenDia(0)("TipoCorto").ToString() = "S" Then
RRow(ColumN) = "S" & "|" & filtro RRow(ColumN) = "S" & "|" & filtro
Else Else
If ResumenDia(0)("TipoCorto").ToString = "M" Then If ResumenDia(0)("TipoCorto").ToString() = "M" Then
RRow(ColumN) = "M" & "|" & filtro RRow(ColumN) = "M" & "|" & filtro
End If End If
@@ -1131,38 +1133,38 @@ Partial Class RH_RepChecadorPreAsistencia
End If End If
Else Else
If ResumenDia(0)("TipoCorto").ToString = "A" Then If ResumenDia(0)("TipoCorto").ToString() = "A" Then
RRow(ColumN) = "A" & "|" & filtro RRow(ColumN) = "A" & "|" & filtro
End If End If
If ResumenDia(0)("TipoCorto").ToString = "V" Then If ResumenDia(0)("TipoCorto").ToString() = "V" Then
RRow(ColumN) = "V" & "|" & filtro RRow(ColumN) = "V" & "|" & filtro
Else Else
If ResumenDia(0)("TipoCorto").ToString = "F" Then If ResumenDia(0)("TipoCorto").ToString() = "F" Then
RRow(ColumN) = "F" & "|" & filtro RRow(ColumN) = "F" & "|" & filtro
Else Else
If ResumenDia(0)("TipoCorto").ToString = "R" Then If ResumenDia(0)("TipoCorto").ToString() = "R" Then
RRow(ColumN) = "R" & "|" & filtro RRow(ColumN) = "R" & "|" & filtro
Else Else
If TipoCorto = "FR" Then If TipoCorto = "FR" Then
RRow(ColumN) = "FR" & "|" & filtro RRow(ColumN) = "FR" & "|" & filtro
lblModalMensaje.Text = "Falta por retardo" lblModalMensaje.Text = "Falta por retardo"
Else Else
If ResumenDia(0)("TipoCorto").ToString = "D" Then If ResumenDia(0)("TipoCorto").ToString() = "D" Then
RRow(ColumN) = "D" & "|" & filtro RRow(ColumN) = "D" & "|" & filtro
End If End If
If ResumenDia(0)("TipoCorto").ToString = "I" Then If ResumenDia(0)("TipoCorto").ToString() = "I" Then
RRow(ColumN) = "I" & "|" & filtro RRow(ColumN) = "I" & "|" & filtro
Else Else
If ResumenDia(0)("TipoCorto").ToString = "C" Then If ResumenDia(0)("TipoCorto").ToString() = "C" Then
RRow(ColumN) = "C" & "|" & filtro RRow(ColumN) = "C" & "|" & filtro
Else Else
If ResumenDia(0)("TipoCorto").ToString = "S" Then If ResumenDia(0)("TipoCorto").ToString() = "S" Then
RRow(ColumN) = "S" & "|" & filtro RRow(ColumN) = "S" & "|" & filtro
Else Else
If ResumenDia(0)("TipoCorto").ToString = "M" Then If ResumenDia(0)("TipoCorto").ToString() = "M" Then
RRow(ColumN) = "M" & "|" & filtro RRow(ColumN) = "M" & "|" & filtro
End If End If
End If End If
@@ -1193,58 +1195,63 @@ Partial Class RH_RepChecadorPreAsistencia
respuesta.Columns.Add("ENTRADACOMIDA", System.Type.GetType("System.TimeSpan")) respuesta.Columns.Add("ENTRADACOMIDA", System.Type.GetType("System.TimeSpan"))
respuesta.Columns.Add("SALIDA", System.Type.GetType("System.TimeSpan")) respuesta.Columns.Add("SALIDA", System.Type.GetType("System.TimeSpan"))
Dim Drow As DataRow = respuesta.NewRow Dim Drow As DataRow = respuesta.NewRow
Dim drp As DataRow = Nothing
If DTHorarioPersonal.Rows.Count > 0 Then
drp = DTHorarioPersonal(0)
End If
Dim diaSemana As Integer = Fecha.DayOfWeek Dim diaSemana As Integer = Fecha.DayOfWeek
Select Case diaSemana Select Case diaSemana
Case 0 Case 0
Drow(0) = Boolean.Parse(DTHorarioPersonal(0)("Domingo").ToString) Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Domingo").ToString()))
Drow(1) = TimeSpan.Parse(DTHorarioPersonal(0)("DomingoEntrada").ToString) Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("DomingoEntrada").ToString()))
Drow(2) = TimeSpan.Parse(DTHorarioPersonal(0)("DomingoSalidaComida").ToString) Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("DomingoSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(DTHorarioPersonal(0)("DomingoEntradaComida").ToString) Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("DomingoEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(DTHorarioPersonal(0)("DomingoSalida").ToString) Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("DomingoSalida").ToString()))
Exit Select Exit Select
Case 1 Case 1
Drow(0) = Boolean.Parse(DTHorarioPersonal(0)("Lunes").ToString) Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Lunes").ToString()))
Drow(1) = TimeSpan.Parse(DTHorarioPersonal(0)("LunesEntrada").ToString) Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("LunesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(DTHorarioPersonal(0)("LunesSalidaComida").ToString) Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("LunesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(DTHorarioPersonal(0)("LunesEntradaComida").ToString) Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("LunesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(DTHorarioPersonal(0)("LunesSalida").ToString) Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("LunesSalida").ToString()))
Exit Select Exit Select
Case 2 Case 2
Drow(0) = Boolean.Parse(DTHorarioPersonal(0)("Martes").ToString) Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Martes").ToString()))
Drow(1) = TimeSpan.Parse(DTHorarioPersonal(0)("MartesEntrada").ToString) Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MartesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(DTHorarioPersonal(0)("MartesSalidaComida").ToString) Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MartesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(DTHorarioPersonal(0)("MartesEntradaComida").ToString) Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MartesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(DTHorarioPersonal(0)("MartesSalida").ToString) Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("MartesSalida").ToString()))
Exit Select Exit Select
Case 3 Case 3
Drow(0) = Boolean.Parse(DTHorarioPersonal(0)("Miercoles").ToString) Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Miercoles").ToString()))
Drow(1) = TimeSpan.Parse(DTHorarioPersonal(0)("MiercolesEntrada").ToString) Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MiercolesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(DTHorarioPersonal(0)("MiercolesSalidaComida").ToString) Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MiercolesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(DTHorarioPersonal(0)("MiercolesEntradaComida").ToString) Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MiercolesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(DTHorarioPersonal(0)("MiercolesSalida").ToString) Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("MiercolesSalida").ToString()))
Exit Select Exit Select
Case 4 Case 4
Drow(0) = Boolean.Parse(DTHorarioPersonal(0)("Jueves").ToString) Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Jueves").ToString()))
Drow(1) = TimeSpan.Parse(DTHorarioPersonal(0)("JuevesEntrada").ToString) Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("JuevesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(DTHorarioPersonal(0)("JuevesSalidaComida").ToString) Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("JuevesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(DTHorarioPersonal(0)("JuevesEntradaComida").ToString) Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("JuevesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(DTHorarioPersonal(0)("JuevesSalida").ToString) Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("JuevesSalida").ToString()))
Exit Select Exit Select
Case 5 Case 5
Drow(0) = Boolean.Parse(DTHorarioPersonal(0)("Viernes").ToString) Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Viernes").ToString()))
Drow(1) = TimeSpan.Parse(DTHorarioPersonal(0)("ViernesEntrada").ToString) Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("ViernesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(DTHorarioPersonal(0)("ViernesSalidaComida").ToString) Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("ViernesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(DTHorarioPersonal(0)("ViernesEntradaComida").ToString) Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("ViernesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(DTHorarioPersonal(0)("ViernesSalida").ToString) Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("ViernesSalida").ToString()))
Exit Select Exit Select
Case 6 Case 6
Drow(0) = Boolean.Parse(DTHorarioPersonal(0)("Sabado").ToString) Drow(0) = Boolean.Parse(If(IsNothing(drp), "False", drp("Sabado").ToString()))
Drow(1) = TimeSpan.Parse(DTHorarioPersonal(0)("SabadoEntrada").ToString) Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("SabadoEntrada").ToString()))
Drow(2) = TimeSpan.Parse(DTHorarioPersonal(0)("SabadoSalidaComida").ToString) Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("SabadoSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(DTHorarioPersonal(0)("SabadoEntradaComida").ToString) Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("SabadoEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(DTHorarioPersonal(0)("SabadoSalida").ToString) Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("SabadoSalida").ToString()))
Exit Select Exit Select
End Select End Select
@@ -1285,14 +1292,14 @@ Partial Class RH_RepChecadorPreAsistencia
If DTNomPeriodos.Rows.Count > 0 Then If DTNomPeriodos.Rows.Count > 0 Then
FechaInicialPeriodos = DTNomPeriodos(DTNomPeriodos.Rows.Count - 1)("FechaFin").ToString.ToDate FechaInicialPeriodos = DTNomPeriodos(DTNomPeriodos.Rows.Count - 1)("FechaFin").ToString().ToDate
For Each Row As DataRow In DTNomPeriodos.Rows For Each Row As DataRow In DTNomPeriodos.Rows
Dim Drow As DataRow = DTRespuesta.NewRow Dim Drow As DataRow = DTRespuesta.NewRow
Drow("Valor") = Row("FechaInicio").ToString.ToDate().ToString("dd/MM/yyyy") & "-" & Row("FechaFin").ToString.ToDate.ToString("dd/MM/yyyy") & "-" & Row("Numero").ToString Drow("Valor") = Row("FechaInicio").ToString().ToDate().ToString("dd/MM/yyyy") & "-" & Row("FechaFin").ToString().ToDate.ToString("dd/MM/yyyy") & "-" & Row("Numero").ToString()
Drow("Texto") = Row("FechaInicio").ToString.ToDate().ToString("dd/MM/yyyy") & " - " & Row("FechaFin").ToString.ToDate.ToString("dd/MM/yyyy") & " #" & Row("Numero").ToString & " Cerrado" Drow("Texto") = Row("FechaInicio").ToString().ToDate().ToString("dd/MM/yyyy") & " - " & Row("FechaFin").ToString().ToDate.ToString("dd/MM/yyyy") & " #" & Row("Numero").ToString() & " Cerrado"
Drow("Numero") = Row("Numero").ToString Drow("Numero") = Row("Numero").ToString()
Drow("Orden") = ContadorOrden.ToString Drow("Orden") = ContadorOrden.ToString()
DTRespuesta.Rows.Add(Drow) DTRespuesta.Rows.Add(Drow)
ContadorOrden += 1 ContadorOrden += 1
Next Next
@@ -1311,7 +1318,7 @@ Partial Class RH_RepChecadorPreAsistencia
While FechaLoop <= Now While FechaLoop <= Now
Dim Drow As DataRow = DTRespuesta.NewRow Dim Drow As DataRow = DTRespuesta.NewRow
Drow("Orden") = ContadorOrden.ToString Drow("Orden") = ContadorOrden.ToString()
ContadorOrden += 1 ContadorOrden += 1
'Quincenal 'Quincenal
@@ -1578,7 +1585,7 @@ Partial Class RH_RepChecadorPreAsistencia
DTTipoAsistenciaInasistencia = GlobalDTAsistenciasInasistencias.FiltraParametros(" CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa & " AND TipoCorto = '" & Instruccion & "' ") DTTipoAsistenciaInasistencia = GlobalDTAsistenciasInasistencias.FiltraParametros(" CveEmpresa = " & UsuarioActual.Empresa.CveEmpresa & " AND TipoCorto = '" & Instruccion & "' ")
If DTTipoAsistenciaInasistencia.Rows.Count > 0 Then If DTTipoAsistenciaInasistencia.Rows.Count > 0 Then
CveEstado = DTTipoAsistenciaInasistencia(0)(0).ToString.ToEntero CveEstado = DTTipoAsistenciaInasistencia(0)(0).ToString().ToEntero
Else Else
CveEstado = -1 CveEstado = -1
End If End If
@@ -1596,7 +1603,7 @@ Partial Class RH_RepChecadorPreAsistencia
RegistraScript("$('#divDetallesDia').modal({ backdrop: 'static', keyboard: false});") RegistraScript("$('#divDetallesDia').modal({ backdrop: 'static', keyboard: false});")
DTDatos = DtResultados.FiltraParametros(Filtro) DTDatos = DtResultados.FiltraParametros(Filtro)
lblModalFecha.Text = DTDatos(0)("Fecha").ToString.ToDate.ToString("dd/MM/yyyy") lblModalFecha.Text = DTDatos(0)("Fecha").ToString().ToDate.ToString("dd/MM/yyyy")
lnkModalImg.Text = "" lnkModalImg.Text = ""
@@ -1727,11 +1734,11 @@ Partial Class RH_RepChecadorPreAsistencia
Dim temtDt As New DataTable Dim temtDt As New DataTable
temtDt = DtResultados.FiltraParametros(FiltroAplicado) temtDt = DtResultados.FiltraParametros(FiltroAplicado)
Dim fecha As String = temtDt(0)("Fecha").ToString Dim fecha As String = temtDt(0)("Fecha").ToString()
Dim CvePersonal As Integer = temtDt(0)("CvePersonal").ToString.ToEntero Dim CvePersonal As Integer = temtDt(0)("CvePersonal").ToString().ToEntero
Dim filtro As String = String.Format(" CvePersonal = '{0}' AND Fecha = '{1}'", CvePersonal, fecha) Dim filtro As String = String.Format(" CvePersonal = '{0}' AND Fecha = '{1}'", CvePersonal, fecha)
Dim AplicaFalta As String = GlobalDTAsistenciasInasistencias.FiltraParametros(String.Format(" CveAsistenciasInasistencias = {0} ", DdlAsistenciaInacistencia.SelectedValue))(0)("AplicaFalta").ToString Dim AplicaFalta As String = GlobalDTAsistenciasInasistencias.FiltraParametros(String.Format(" CveAsistenciasInasistencias = {0} ", DdlAsistenciaInacistencia.SelectedValue))(0)("AplicaFalta").ToString()
myRow = DtResultados.Select(filtro) myRow = DtResultados.Select(filtro)
@@ -1746,7 +1753,7 @@ Partial Class RH_RepChecadorPreAsistencia
myRow(0)("CveAsistenciasInasistencias") = DdlAsistenciaInacistencia.SelectedValue myRow(0)("CveAsistenciasInasistencias") = DdlAsistenciaInacistencia.SelectedValue
myRow(0)("TipoCorto") = GlobalDTAsistenciasInasistencias.FiltraParametros(String.Format(" CveAsistenciasInasistencias = {0} ", DdlAsistenciaInacistencia.SelectedValue))(0)("TipoCorto").ToString myRow(0)("TipoCorto") = GlobalDTAsistenciasInasistencias.FiltraParametros(String.Format(" CveAsistenciasInasistencias = {0} ", DdlAsistenciaInacistencia.SelectedValue))(0)("TipoCorto").ToString()
RegistraScript("$('#divDetallesDia').modal('hide');") RegistraScript("$('#divDetallesDia').modal('hide');")
Alert("Actualizado correctamente.") Alert("Actualizado correctamente.")
@@ -1766,17 +1773,17 @@ Partial Class RH_RepChecadorPreAsistencia
For Each dRow As DataRow In DtResultados.Rows For Each dRow As DataRow In DtResultados.Rows
'Dim DDROW As DataRow = dRow 'Dim DDROW As DataRow = dRow
Dim _CvePersonal As Integer = dRow("CvePersonal").ToString.ToEntero Dim _CvePersonal As Integer = dRow("CvePersonal").ToString().ToEntero
Dim _CveSubProyecto As Integer = dRow("CveSubProyecto").ToString.ToEntero Dim _CveSubProyecto As Integer = dRow("CveSubProyecto").ToString().ToEntero
Dim _CveTuero As Integer = DdlTurno.SelectedValue.ToEntero Dim _CveTuero As Integer = DdlTurno.SelectedValue.ToEntero
Dim _Fechas As Date = dRow("Fecha").ToString.ToDate Dim _Fechas As Date = dRow("Fecha").ToString().ToDate
Dim _CveAsistenciasInasistencias As Integer = dRow("CveAsistenciasInasistencias").ToString.ToEntero Dim _CveAsistenciasInasistencias As Integer = dRow("CveAsistenciasInasistencias").ToString().ToEntero
Dim _PorcentajePago As Double = Double.Parse(dRow("PorcentajePago").ToString) Dim _PorcentajePago As Double = Double.Parse(dRow("PorcentajePago").ToString())
Dim _HorasDobles As Double = 0 Dim _HorasDobles As Double = 0
Dim _HorasTriples As Double = 0 Dim _HorasTriples As Double = 0
Dim _CveMotivoHoraExtra As Integer = -1 Dim _CveMotivoHoraExtra As Integer = -1
Dim _Observaciones As String = "" Dim _Observaciones As String = ""
Dim _SalarioDiario As Double = dRow("SalarioDiario").ToString.ToDouble Dim _SalarioDiario As Double = dRow("SalarioDiario").ToString().ToDouble
Dim _Semodifico As Integer = 0 Dim _Semodifico As Integer = 0
If objRh.PreAsistenciaRegistrosAdd(_CvePersonal, _CveSubProyecto, _CveTuero, _Fechas, _CveAsistenciasInasistencias, _PorcentajePago, _HorasDobles, _HorasTriples, _CveMotivoHoraExtra, If objRh.PreAsistenciaRegistrosAdd(_CvePersonal, _CveSubProyecto, _CveTuero, _Fechas, _CveAsistenciasInasistencias, _PorcentajePago, _HorasDobles, _HorasTriples, _CveMotivoHoraExtra,
@@ -1830,17 +1837,17 @@ Partial Class RH_RepChecadorPreAsistencia
' For x As Integer = 0 To DtResultados.Columns.Count - 1 ' For x As Integer = 0 To DtResultados.Columns.Count - 1
' If Drow(x).ToString.Trim = "" Then ' If Drow(x).ToString().Trim = "" Then
' Exit For ' Exit For
' End If ' End If
' Dim arrayData As String() = Drow.ToString.Split(separador) ' Dim arrayData As String() = Drow.ToString().Split(separador)
' If arrayData.Length < 2 Then ' If arrayData.Length < 2 Then
' Exit For ' Exit For
' End If ' End If
' TipoCorto = arrayData(0).ToString ' TipoCorto = arrayData(0).ToString()
' If TipoCorto = "FR" Then ' If TipoCorto = "FR" Then
' TipoCorto = "F" ' TipoCorto = "F"
' End If ' End If
@@ -1848,7 +1855,7 @@ Partial Class RH_RepChecadorPreAsistencia
' TempDatos = DTAsistenciasInasistencias.FiltraParametros(String.Format(" TipoCorto = '{0}'", TipoCorto)) ' TempDatos = DTAsistenciasInasistencias.FiltraParametros(String.Format(" TipoCorto = '{0}'", TipoCorto))
' If TempDatos.Rows.Count = 1 Then ' If TempDatos.Rows.Count = 1 Then
' CveAsisteciaInasistencia = DTAsistenciasInasistencias.FiltraParametros(String.Format(" TipoCorto = '{0}' ", TipoCorto))(0)("CveAsistenciasInasistencias").ToString.ToEntero ' CveAsisteciaInasistencia = DTAsistenciasInasistencias.FiltraParametros(String.Format(" TipoCorto = '{0}' ", TipoCorto))(0)("CveAsistenciasInasistencias").ToString().ToEntero
' Else ' Else
' CveAsisteciaInasistencia = -1 ' CveAsisteciaInasistencia = -1
' Pendientes = True ' Pendientes = True
@@ -1862,16 +1869,16 @@ Partial Class RH_RepChecadorPreAsistencia
' For Each Drow As DataRow In DtResultados.Rows ' For Each Drow As DataRow In DtResultados.Rows
' For x As Integer = 0 To DtResultados.Columns.Count - 1 ' For x As Integer = 0 To DtResultados.Columns.Count - 1
' If Drow(x).ToString.Trim = "" Then ' If Drow(x).ToString().Trim = "" Then
' Exit For ' Exit For
' End If ' End If
' Dim arrayData As String() = Drow.ToString.Split(separador) ' Dim arrayData As String() = Drow.ToString().Split(separador)
' If arrayData.Length < 2 Then ' If arrayData.Length < 2 Then
' Exit For ' Exit For
' End If ' End If
' TipoCorto = arrayData(0).ToString ' TipoCorto = arrayData(0).ToString()
' Next ' Next
' Next ' Next

View File

@@ -57,7 +57,11 @@
<asp:UpdatePanel runat="server"> <asp:UpdatePanel runat="server">
<ContentTemplate> <ContentTemplate>
<li> <li>
<a id="BtnClonarModal" runat="server" data-toggle="modal" style="width: 100%; margin-bottom: 10px;" href="#DivClonar"><i class="fa fa-clone"></i>Clonar Usuario </a>
<%--<a id="BtnClonarModal" runat="server" data-toggle="modal" style="width: 100%; margin-bottom: 10px;" href="#DivClonar"><i class="fa fa-clone"></i>Clonar Usuario </a>--%>
<asp:LinkButton runat="server" ID="LnkClonarUsuario" OnClick="LnkClonarUsuario_Click" ><i class="fa fa-clone"></i> Clonar Usuario</asp:LinkButton>
</li> </li>
<li> <li>
<a id="BtnUpdateMasivoUsuarioResponsable" runat="server" data-toggle="modal" style="width: 100%; margin-bottom: 10px;" href="#DivUpdateUsuarioResponsable">Actualizar Gestor Cobranza </a> <a id="BtnUpdateMasivoUsuarioResponsable" runat="server" data-toggle="modal" style="width: 100%; margin-bottom: 10px;" href="#DivUpdateUsuarioResponsable">Actualizar Gestor Cobranza </a>
@@ -2398,7 +2402,17 @@
</div> </div>
<br /> <br />
<div class="row"> <div class="row">
<div class="col-md-12">
<p>
<asp:Label runat="server" ID="LblClonarMensaje"></asp:Label>
</p>
</div>
<div class="col-md-4" runat="server" id="DivClonarProyectos" visible="false"> <div class="col-md-4" runat="server" id="DivClonarProyectos" visible="false">
<asp:CheckBox Text="Proyectos" ID="ChkProyectos" TextAlign="Right" runat="server" /> <asp:CheckBox Text="Proyectos" ID="ChkProyectos" TextAlign="Right" runat="server" />
</div> </div>

View File

@@ -3701,9 +3701,16 @@ Partial Class Sistemas_UsuarioDetalle
End If End If
ObjUsuarios.Dispose() ObjUsuarios.Dispose()
End If
LblClonarMensaje.Text = $"En el usuario {TxtUsuario.Text} se reemplazará la información del usuario {DdlUsuarioClonar.SelectedItem.Text} con las siguientes secciones que seleccione."
Else
LblClonarMensaje.Text = ""
End If
UpClonarUsuario.Update() UpClonarUsuario.Update()
End Sub End Sub
Protected Sub BtnClonar_Click(sender As Object, e As EventArgs) Protected Sub BtnClonar_Click(sender As Object, e As EventArgs)
@@ -4832,5 +4839,14 @@ Partial Class Sistemas_UsuarioDetalle
End Try End Try
Return resultado Return resultado
End Function End Function
Protected Sub LnkClonarUsuario_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivClonar').modal('show');")
LblClonarMensaje.Text = ""
UpClonarUsuario.Update()
End Sub
End Class End Class

View File

@@ -540,7 +540,7 @@ Partial Class Ventas_ActualizarPrecios
For Each Franquicia In Franquicias For Each Franquicia In Franquicias
Dim CveFranquicia As Integer = Franquicia.ToEntero Dim CveFranquicia As Integer = Franquicia.ToEntero
Dim CvePS As Integer = GlobalDTPS(CveFranquicia, Codigo:=Codigo).FiltroPrimeroValor("CvePS", "").ToEntero Dim CvePS As Integer = GlobalDTPS(CveFranquicia, Codigo:=Codigo.ToUpper).FiltroPrimeroValor("CvePS", "").ToEntero
Dim CvePrecioLisa As Integer = GlobalDTPrecioListas(CveFranquicia).FiltroPrimeroValor("CvePrecioLista", String.Format("PrecioLista = '{0}'", PrecioLista)).ToEntero Dim CvePrecioLisa As Integer = GlobalDTPrecioListas(CveFranquicia).FiltroPrimeroValor("CvePrecioLista", String.Format("PrecioLista = '{0}'", PrecioLista)).ToEntero
If CvePS <= 0 Then If CvePS <= 0 Then

View File

@@ -84,9 +84,9 @@
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</div> </div>
<div class="row"> <div class="row" id="divProforma" runat="server" visible="false">
<div class="col-md-1">Esquema Nuevo:</div> <div class="col-md-1">ProForma:</div>
<div class="col-md-2" style="vertical-align: bottom; align-items: initial"> <div class="col-md-2" style="vertical-align: bottom; align-items: initial">
<asp:CheckBox runat="server" ID="ChkEsquemaNuevo" CssClass="md-checksd" /> <asp:CheckBox runat="server" ID="ChkEsquemaNuevo" CssClass="md-checksd" />
</div> </div>

View File

@@ -62,7 +62,7 @@ public partial class Ventas_RepComisionesJAM : ClsPaginas
DdlVendedor.Enabled = false; DdlVendedor.Enabled = false;
} }
GvDatos.Columns[15].Visible = UsuarioActual.TienePermisoProceso(201); GvDatos.Columns[15].Visible = UsuarioActual.TienePermisoProceso(201);
@@ -135,6 +135,10 @@ public partial class Ventas_RepComisionesJAM : ClsPaginas
{ {
e.Row.FCLinkButton("LnkInfo").ToolTip = $"El producto obtuvo comision porque esta dentro de los de las comisiones especiales. La categoria del producto es: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { e.Row.DataKey("CveCategoria").ToString()}")}. El producto es: <b>{e.Row.DataKey("CodigoPS").ToString()}</b>. % Precio Publico: {e.Row.DataKey("PorcentajePrecioPublico").ToString()}. Dias Pago: {e.Row.DataKey("DiasPago").ToString()}."; e.Row.FCLinkButton("LnkInfo").ToolTip = $"El producto obtuvo comision porque esta dentro de los de las comisiones especiales. La categoria del producto es: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { e.Row.DataKey("CveCategoria").ToString()}")}. El producto es: <b>{e.Row.DataKey("CodigoPS").ToString()}</b>. % Precio Publico: {e.Row.DataKey("PorcentajePrecioPublico").ToString()}. Dias Pago: {e.Row.DataKey("DiasPago").ToString()}.";
} }
}
else
{
e.Row.FCLinkButton("LnkInfo").Visible = false;
} }

View File

@@ -2958,7 +2958,7 @@ Partial Class Ventas
If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then
If ObjPVenta.DtResultados.Rows.Count > 0 Then If ObjPVenta.DtResultados.Rows.Count > 0 Then
Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString().ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Propina").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble Total = ObjPVenta.DtResultados(0)("ImporteInicial").ToString().ToDouble + ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble + ObjPVenta.DtResultados(0)("Ingresado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Retirado").ToString().ToDouble - ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble
DineroCaja = Total DineroCaja = Total
LblEfectivoEsperado.Text = Total.FormatoNumero(2) LblEfectivoEsperado.Text = Total.FormatoNumero(2)
@@ -2977,10 +2977,15 @@ Partial Class Ventas
Dr2("Importe") = ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble Dr2("Importe") = ObjPVenta.DtResultados(0)("VentasEfectivo").ToString().ToDouble
Dt.Rows.Add(Dr2) Dt.Rows.Add(Dr2)
Dim Dr3 = Dt.NewRow Dim Dr21 = Dt.NewRow
Dr3("Descripcion") = "Propinas" Dr21("Descripcion") = "Devoluciones"
Dr3("Importe") = ObjPVenta.DtResultados(0)("Propina").ToString().ToDouble Dr21("Importe") = ObjPVenta.DtResultados(0)("Devoluciones").ToString().ToDouble
Dt.Rows.Add(Dr3) Dt.Rows.Add(Dr21)
'Dim Dr3 = Dt.NewRow
'Dr3("Descripcion") = "Propinas"
'Dr3("Importe") = ObjPVenta.DtResultados(0)("Propina").ToString().ToDouble
'Dt.Rows.Add(Dr3)
Dim Dr4 = Dt.NewRow Dim Dr4 = Dt.NewRow
Dr4("Descripcion") = "Entradas" Dr4("Descripcion") = "Entradas"
@@ -6847,7 +6852,7 @@ Partial Class Ventas
Dim ClienteRetIVA = Me.ClienteRetIVA Dim ClienteRetIVA = Me.ClienteRetIVA
If ClienteRetIVA <= 0 Then If ClienteRetIVA <= 0 Then
If CBool(TmpDT.Rows(e.RowIndex)("EsOutSourcing").ToString()) Then If TmpDT.Rows(e.RowIndex)("EsOutSourcing").ToString() <> "" AndAlso CBool(TmpDT.Rows(e.RowIndex)("EsOutSourcing").ToString()) Then
ClienteRetIVA = 0.06D ClienteRetIVA = 0.06D
DdlTipoRetencion.SelectedValueExist("4") DdlTipoRetencion.SelectedValueExist("4")
LblRetIVA.Text = (ClienteRetIVA * 100).FormatoNumero LblRetIVA.Text = (ClienteRetIVA * 100).FormatoNumero

View File

@@ -142,6 +142,12 @@