This commit is contained in:
@@ -363,7 +363,8 @@ Public Class CFDINominaOtrosPagos
|
|||||||
Public Property TipoOtroPago As String
|
Public Property TipoOtroPago As String
|
||||||
Public Property Clave As String
|
Public Property Clave As String
|
||||||
Public Property Concepto As String
|
Public Property Concepto As String
|
||||||
Public Property Importe As Double
|
Public Property Importe As Decimal
|
||||||
|
Public Property Subsidiocausado As Decimal
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ Public Class LogicNominas
|
|||||||
'Conexiones a la Base de Datos
|
'Conexiones a la Base de Datos
|
||||||
Using objNomina As ClsNominas = New ClsNominas()
|
Using objNomina As ClsNominas = New ClsNominas()
|
||||||
Using objPersonal As ClsRH = New ClsRH()
|
Using objPersonal As ClsRH = New ClsRH()
|
||||||
If objNomina.GetNom_Nominas(CveNomina, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa) AndAlso objNomina.DtResultados.Rows.Count > 0 Then
|
If objNomina.GetNom_Nominas(CveNomina, -1, -1, -1, UsuarioActual.CveEmpresa) AndAlso objNomina.DtResultados.Rows.Count > 0 Then
|
||||||
CvePersonal = objNomina.DtResultados.Rows(0)("CvePersonal").ToString().ToEntero()
|
CvePersonal = objNomina.DtResultados.Rows(0)("CvePersonal").ToString().ToEntero()
|
||||||
CvePeriodo = objNomina.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero()
|
CvePeriodo = objNomina.DtResultados.Rows(0)("CvePeriodo").ToString().ToEntero()
|
||||||
Serie = objNomina.Serie
|
Serie = objNomina.Serie
|
||||||
@@ -116,7 +116,6 @@ Public Class LogicNominas
|
|||||||
If continuar Then GetError = "No se pudo obtener la información de la nomina" 'si continuar= true el error se origino en este nodo y se le asigno el error
|
If continuar Then GetError = "No se pudo obtener la información de la nomina" 'si continuar= true el error se origino en este nodo y se le asigno el error
|
||||||
continuar = False
|
continuar = False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If continuar AndAlso objPersonal.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa) AndAlso objPersonal.DtResultados.Rows.Count > 0 Then
|
If continuar AndAlso objPersonal.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa) AndAlso objPersonal.DtResultados.Rows.Count > 0 Then
|
||||||
RFC = objPersonal.RFC
|
RFC = objPersonal.RFC
|
||||||
NombreCompleto = objPersonal.NombreCompleto
|
NombreCompleto = objPersonal.NombreCompleto
|
||||||
@@ -143,11 +142,11 @@ Public Class LogicNominas
|
|||||||
If continuar Then GetError = "No se pudo obtener la información del empleado" 'si continuar= true el error se origino en este nodo y le asigno el error
|
If continuar Then GetError = "No se pudo obtener la información del empleado" 'si continuar= true el error se origino en este nodo y le asigno el error
|
||||||
continuar = False
|
continuar = False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If continuar AndAlso objNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
|
If continuar AndAlso objNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
|
||||||
If objNomina.DtResultados.Rows.Count > 0 Then
|
If objNomina.DtResultados.Rows.Count > 0 Then
|
||||||
DtPercepciones = objNomina.DtResultados.FiltraParametros("Tipo = 'P' AND EsPadre = 1 ")
|
DtPercepciones = objNomina.DtResultados.FiltraParametros("Tipo = 'P' AND EsPadre = 1 AND SoloVisible =0")
|
||||||
DtDeducciones = objNomina.DtResultados.FiltraParametros("Tipo = 'D' AND EsPadre = 1 ")
|
DtDeducciones = objNomina.DtResultados.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0")
|
||||||
|
DtOtrosPagos = objNomina.DtResultados.FiltraParametros(" TipoConceptoSAT='O'")
|
||||||
TotalPercepciones = DtPercepciones.SUM("Importe").ToString().ToDecimal()
|
TotalPercepciones = DtPercepciones.SUM("Importe").ToString().ToDecimal()
|
||||||
TotalDeducciones = DtDeducciones.SUM("Importe").ToString().ToDecimal()
|
TotalDeducciones = DtDeducciones.SUM("Importe").ToString().ToDecimal()
|
||||||
Total = CType((Total + DtPercepciones.SUM("Importe")), Decimal)
|
Total = CType((Total + DtPercepciones.SUM("Importe")), Decimal)
|
||||||
@@ -161,7 +160,6 @@ Public Class LogicNominas
|
|||||||
Else
|
Else
|
||||||
continuar = False
|
continuar = False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If continuar AndAlso objNomina.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodo) AndAlso objNomina.DtResultados.Rows().Count > 0 Then
|
If continuar AndAlso objNomina.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodo) AndAlso objNomina.DtResultados.Rows().Count > 0 Then
|
||||||
Dim DrPeriodo As DataRow = objNomina.DtResultados.Rows(0)
|
Dim DrPeriodo As DataRow = objNomina.DtResultados.Rows(0)
|
||||||
|
|
||||||
@@ -183,8 +181,6 @@ Public Class LogicNominas
|
|||||||
Else
|
Else
|
||||||
continuar = False
|
continuar = False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If DiasIncapacitados > 0 Then
|
If DiasIncapacitados > 0 Then
|
||||||
If objNomina.GetIncapacidades(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa) Then
|
If objNomina.GetIncapacidades(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa) Then
|
||||||
If objNomina.DtResultados IsNot Nothing AndAlso objNomina.DtResultados.Rows.Count > 0 Then
|
If objNomina.DtResultados IsNot Nothing AndAlso objNomina.DtResultados.Rows.Count > 0 Then
|
||||||
@@ -222,10 +218,11 @@ Public Class LogicNominas
|
|||||||
cfdi.Receptor.RFC = RFC
|
cfdi.Receptor.RFC = RFC
|
||||||
cfdi.Receptor.Nombre = NombreCompleto
|
cfdi.Receptor.Nombre = NombreCompleto
|
||||||
|
|
||||||
|
Dim ObjPercepciones As New List(Of CFDINominaPercepciones)
|
||||||
|
Dim ObjDeducciones As New List(Of CFDINominaDeducciones)
|
||||||
|
Dim ObjHorasExtras As New List(Of CFDINominaHorasExtras)
|
||||||
|
Dim ObjOtrosPagos As New List(Of CFDINominaOtrosPagos)
|
||||||
If DtPercepciones IsNot Nothing AndAlso DtPercepciones.Rows.Count > 0 Then
|
If DtPercepciones IsNot Nothing AndAlso DtPercepciones.Rows.Count > 0 Then
|
||||||
Dim ObjPercepciones As New List(Of CFDINominaPercepciones)
|
|
||||||
Dim ObjHorasExtras As New List(Of CFDINominaHorasExtras)
|
|
||||||
Dim ObjOtrosPagos As New List(Of CFDINominaOtrosPagos)
|
|
||||||
For Each Row As DataRow In DtPercepciones.Rows
|
For Each Row As DataRow In DtPercepciones.Rows
|
||||||
If Row("Importe").ToString().ToDecimal > 0 AndAlso Row("SATCveConcepto").ToString().ToEntero() <> 17 Then
|
If Row("Importe").ToString().ToDecimal > 0 AndAlso Row("SATCveConcepto").ToString().ToEntero() <> 17 Then
|
||||||
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
|
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
|
||||||
@@ -248,11 +245,62 @@ Public Class LogicNominas
|
|||||||
.Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), .Importe = Row("Importe").ToString().ToDecimal})
|
.Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), .Importe = Row("Importe").ToString().ToDecimal})
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
If ObjPercepciones IsNot Nothing AndAlso ObjPercepciones.Count > 0 Then cfdi.Nomina.Percepciones = ObjPercepciones
|
|
||||||
If ObjHorasExtras IsNot Nothing AndAlso ObjHorasExtras.Count > 0 Then cfdi.Nomina.HorasExtras = ObjHorasExtras
|
|
||||||
If ObjOtrosPagos IsNot Nothing AndAlso ObjOtrosPagos.Count > 0 Then cfdi.Nomina.OtrosPagos = ObjOtrosPagos
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If DtDeducciones IsNot Nothing AndAlso DtDeducciones.Rows.Count > 0 Then
|
||||||
|
For Each Row As DataRow In DtDeducciones.Rows
|
||||||
|
If Row("Importe").ToString().ToDecimal > 0 Then
|
||||||
|
|
||||||
|
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
|
||||||
|
If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 Then
|
||||||
|
|
||||||
|
ObjPercepciones.Add(New CFDINominaPercepciones With {.TipoPercepcion = Row("SATCveConcepto").ToString(), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(),
|
||||||
|
.ImporteGravado = Row("ImporteGravado").ToString().ToDecimal(), .ImporteExento = Row("ImporteExento").ToString().ToDecimal()})
|
||||||
|
Else
|
||||||
|
ObjDeducciones.Add(New CFDINominaDeducciones With {.TipoDeduccion = Row("SATCveConcepto").ToString(),
|
||||||
|
.Clave = Row("Codigo").ToString(),
|
||||||
|
.Concepto = Row("Concepto").ToString(),
|
||||||
|
.Importe = Row("Importe").ToString().ToDecimal()}
|
||||||
|
)
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
'subsidio al empleo
|
||||||
|
'If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
|
||||||
|
' ObjOtrosPagos.Add(New CFDINominaOtrosPagos With {.TipoOtroPago = "002", ' codigo fijo, por ser referente a subsidio al empleo
|
||||||
|
' .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), .Importe = Row("Importe").ToString().ToDecimal})
|
||||||
|
'End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
If DtOtrosPagos IsNot Nothing AndAlso DtOtrosPagos.Rows.Count > 0 Then
|
||||||
|
For Each Row As DataRow In DtOtrosPagos.Rows
|
||||||
|
If (Row("Importe").ToString().ToDecimal() > 0) OrElse (Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 2 AndAlso Row("Importe").ToString().ToDecimal() < 0) Then
|
||||||
|
|
||||||
|
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
|
||||||
|
|
||||||
|
ObjOtrosPagos.Add(New CFDINominaOtrosPagos With {.TipoOtroPago = Row("SATCveConcepto").ToString(), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(),
|
||||||
|
.Importe = Row("Importe").ToString().ToDecimal().Abs(), .Subsidiocausado = Row("ImporteGravado").ToString().ToDecimal().Abs()})
|
||||||
|
|
||||||
|
|
||||||
|
If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 7 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
|
||||||
|
ObjDeducciones.Add(New CFDINominaDeducciones With {.TipoDeduccion = "002", ' codigo fijo
|
||||||
|
.Clave = Row("Codigo").ToString(), .Concepto = "ISR", .Importe = Row("Importe").ToString().ToDecimal})
|
||||||
|
End If
|
||||||
|
If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 8 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
|
||||||
|
ObjDeducciones.Add(New CFDINominaDeducciones With {.TipoDeduccion = "071", ' codigo fijo
|
||||||
|
.Clave = Row("Codigo").ToString(), .Concepto = "(Ajuste en Subsidio para el empleo (efectivamente entregado al trabajador)", .Importe = Row("Importe").ToString().ToDecimal})
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
If ObjPercepciones IsNot Nothing AndAlso ObjPercepciones.Count > 0 Then cfdi.Nomina.Percepciones = ObjPercepciones
|
||||||
|
If ObjHorasExtras IsNot Nothing AndAlso ObjHorasExtras.Count > 0 Then cfdi.Nomina.HorasExtras = ObjHorasExtras
|
||||||
|
If ObjOtrosPagos IsNot Nothing AndAlso ObjOtrosPagos.Count > 0 Then cfdi.Nomina.OtrosPagos = ObjOtrosPagos
|
||||||
If ObjIncapacidades IsNot Nothing AndAlso ObjIncapacidades.Count > 0 Then cfdi.Nomina.Incapacidades = ObjIncapacidades
|
If ObjIncapacidades IsNot Nothing AndAlso ObjIncapacidades.Count > 0 Then cfdi.Nomina.Incapacidades = ObjIncapacidades
|
||||||
|
If ObjDeducciones IsNot Nothing AndAlso ObjDeducciones.Count > 0 Then cfdi.Nomina.Deducciones = ObjDeducciones
|
||||||
|
|
||||||
|
|
||||||
cfdi.Comprobante.Version = "3.3"
|
cfdi.Comprobante.Version = "3.3"
|
||||||
@@ -301,260 +349,4 @@ Public Class LogicNominas
|
|||||||
End If
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function PreTimbrar(CveNomina As Integer, CvePersonal As Integer, CvePeriodo As Integer, UsuarioActual As Usuario) As CFDITimbre
|
|
||||||
|
|
||||||
Dim cfdi As New CFDITimbre
|
|
||||||
Dim objPersonal As New ClsRH
|
|
||||||
Dim objNomina As New ClsNominas
|
|
||||||
objPersonal.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa)
|
|
||||||
objNomina.GetNom_Nominas(CveNomina, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa)
|
|
||||||
Dim DtPercepciones As Data.DataTable = Nothing
|
|
||||||
Dim DtDeducciones As Data.DataTable = Nothing
|
|
||||||
Dim DtOtrosPagos As Data.DataTable = Nothing
|
|
||||||
Dim TotalPercepciones As Decimal = 0
|
|
||||||
Dim TotalDeducciones As Decimal = 0
|
|
||||||
Dim TotalOtrosPagos As Decimal = 0
|
|
||||||
Dim Total As Decimal = 0
|
|
||||||
If objNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
|
|
||||||
If objNomina.DtResultados.Rows.Count > 0 Then
|
|
||||||
DtPercepciones = objNomina.DtResultados.FiltraParametros("Tipo = 'P' AND EsPadre = 1 ")
|
|
||||||
DtDeducciones = objNomina.DtResultados.FiltraParametros("Tipo = 'D' AND EsPadre = 1 ")
|
|
||||||
TotalPercepciones = DtPercepciones.SUM("Importe").ToString().ToDecimal()
|
|
||||||
TotalDeducciones = DtDeducciones.SUM("Importe").ToString().ToDecimal()
|
|
||||||
Total = CType((Total + DtPercepciones.SUM("Importe")), Decimal)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
'nota. siempre y cuando halla concepto 19
|
|
||||||
Dim DtHorasExtras As Data.DataTable = Nothing
|
|
||||||
If objNomina.GetHorasExtras(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa) Then
|
|
||||||
DtHorasExtras = objNomina.DtResultados
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim TotalExcento As Decimal = 0
|
|
||||||
Dim TotalGravado As Decimal = 0
|
|
||||||
|
|
||||||
Dim AntiguedadSemanas As Integer = DateDiff(DateInterval.Weekday, objPersonal.FechaIngreso, Now).ToEntero()
|
|
||||||
Dim FormatoReciboCFDi As String = objPersonal.FormatoReciboCFDi
|
|
||||||
|
|
||||||
Dim FechaInicio, FechaFin, FechaPago As Date
|
|
||||||
Dim DiasPagados As Integer = 0
|
|
||||||
Dim Msg As String = String.Empty
|
|
||||||
Dim DiasIncapacitados As Integer = 0
|
|
||||||
Dim DrPeriodo As DataRow = Nothing
|
|
||||||
If objNomina.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodo) Then
|
|
||||||
If objNomina.DtResultados.Rows().Count > 0 Then
|
|
||||||
DrPeriodo = objNomina.DtResultados.Rows(0)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Dim DrPeriodo As DataRow = GlobalDTNominasPeriodos(-1, CvePeriodo, -1).FiltroPrimero("")
|
|
||||||
If DrPeriodo IsNot Nothing Then
|
|
||||||
FechaInicio = DrPeriodo("FechaInicio").ToString().ToDate
|
|
||||||
FechaFin = DrPeriodo("FechaFin").ToString().ToDate
|
|
||||||
FechaPago = DrPeriodo("FechaPago").ToString().ToDate
|
|
||||||
If objPersonal.GetAsistencias(CvePersonal, -1, -1, -1, -1, -1, FechaInicio, FechaFin, UsuarioActual.CveEmpresa) Then
|
|
||||||
|
|
||||||
Dim Asistencias As Integer = objPersonal.DtResultados.SUM("AplicaAsistencia").ToEntero()
|
|
||||||
Dim Vacaciones As Integer = objPersonal.DtResultados.SUM("AplicaVacacion").ToEntero()
|
|
||||||
DiasIncapacitados = objPersonal.DtResultados.SUM("AplicaIncapacidad").ToEntero()
|
|
||||||
DiasPagados = Asistencias - Vacaciones
|
|
||||||
If DiasPagados < 0 Then DiasPagados = 0
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Tipo Nomina O de Ordinaria o E de extraordinaria
|
|
||||||
'Dim FechaPago As Date = Now
|
|
||||||
Dim TotalSueldos As Decimal = 0
|
|
||||||
Dim TotalIndemnizacion As Decimal = 0
|
|
||||||
Dim TotalJubilacion As Decimal = 0
|
|
||||||
|
|
||||||
cfdi.Nomina = New CFDINomina
|
|
||||||
cfdi.Nomina.Version = "1.2"
|
|
||||||
cfdi.Nomina.TipoNomina = If(objNomina.CveTipoPeriodo = 6, "E", "O")
|
|
||||||
cfdi.Nomina.FechaPago = FechaPago
|
|
||||||
cfdi.Nomina.FechaInicio = FechaInicio.ToString()
|
|
||||||
cfdi.Nomina.FechaFin = FechaFin.ToString()
|
|
||||||
cfdi.Nomina.NumDiasPagados = DiasPagados
|
|
||||||
cfdi.Emisor.Nombre = UsuarioActual.Empresa.Empresa
|
|
||||||
cfdi.Emisor.RFC = UsuarioActual.Empresa.RFC
|
|
||||||
cfdi.Emisor.RegistroPatronal = UsuarioActual.Empresa.RegistroPatronal
|
|
||||||
cfdi.Emisor.RegimenFiscal = UsuarioActual.Empresa.CodigoRegimenFiscal
|
|
||||||
'aplica persona fisica debe de tener CURP
|
|
||||||
If cfdi.Emisor.RegimenFiscal.Contiene("605", "606", "608", "611", "612", "614", "616", "621", "622", "629", "630", "615") Then
|
|
||||||
cfdi.Emisor.CURP = UsuarioActual.Empresa.CURP
|
|
||||||
End If
|
|
||||||
cfdi.Nomina.CveNomina = CveNomina
|
|
||||||
|
|
||||||
cfdi.Receptor.UsoCFDI = "P01"
|
|
||||||
cfdi.Receptor.RFC = objPersonal.RFC
|
|
||||||
cfdi.Receptor.Nombre = objPersonal.NombreCompleto
|
|
||||||
|
|
||||||
If DtPercepciones IsNot Nothing Then
|
|
||||||
If DtPercepciones.Rows.Count > 0 Then
|
|
||||||
Dim ObjPercepciones As New List(Of CFDINominaPercepciones)
|
|
||||||
Dim ObjHorasExtras As New List(Of CFDINominaHorasExtras)
|
|
||||||
Dim ObjOtrosPagos As New List(Of CFDINominaOtrosPagos)
|
|
||||||
|
|
||||||
For Each Row As DataRow In DtPercepciones.Rows
|
|
||||||
If Row("Importe").ToString().ToDecimal > 0 AndAlso Row("SATCveConcepto").ToString().ToEntero() <> 17 Then
|
|
||||||
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
|
|
||||||
|
|
||||||
ObjPercepciones.Add(New CFDINominaPercepciones With {.TipoPercepcion = Row("SATCveConcepto").ToString(),
|
|
||||||
.Clave = Row("Codigo").ToString(),
|
|
||||||
.Concepto = Row("Concepto").ToString(),
|
|
||||||
.ImporteGravado = Row("ImporteGravado").ToString().ToDecimal,
|
|
||||||
.ImporteExento = Row("ImporteExento").ToString().ToDecimal}
|
|
||||||
)
|
|
||||||
|
|
||||||
End If
|
|
||||||
'RMF, falta poner el numero de horas pagadas
|
|
||||||
If Row("CveSATConcepto").ToString().ToEntero() = 19 Then 'cuando son horas extras
|
|
||||||
|
|
||||||
'Obtengo el desglose de horas extras
|
|
||||||
|
|
||||||
If DtHorasExtras IsNot Nothing Then
|
|
||||||
|
|
||||||
Dim dr As DataRow = DtHorasExtras.FiltroPrimero("")
|
|
||||||
If dr IsNot Nothing Then
|
|
||||||
|
|
||||||
If dr("HorasDobles").ToString().ToDouble > 0 Then ObjHorasExtras.Add(New CFDINominaHorasExtras With {.Dias = dr("DiasHorasDobles").ToString().ToEntero().ToString(), .TipoHoras = "01", .HorasExtra = dr("HorasDobles").ToString().ToEntero(), .ImportePagado = Row("Importe").ToString().ToDecimal})
|
|
||||||
If dr("HorasTriples").ToString().ToDouble > 0 Then ObjHorasExtras.Add(New CFDINominaHorasExtras With {.Dias = dr("DiasHorasTriples").ToString().ToEntero().ToString(), .TipoHoras = "02", .HorasExtra = dr("HorasTriples").ToString().ToEntero(), .ImportePagado = Row("Importe").ToString().ToDecimal})
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
'subsidio al empleo
|
|
||||||
If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 17 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio
|
|
||||||
|
|
||||||
ObjOtrosPagos.Add(New CFDINominaOtrosPagos With {.TipoOtroPago = "002", ' codigo fijo, por ser refernte a subsidio al empleo
|
|
||||||
.Clave = Row("Codigo").ToString(),
|
|
||||||
.Concepto = Row("Concepto").ToString(),
|
|
||||||
.Importe = Row("Importe").ToString().ToDecimal}
|
|
||||||
)
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Next
|
|
||||||
If ObjPercepciones IsNot Nothing AndAlso ObjPercepciones.Count > 0 Then cfdi.Nomina.Percepciones = ObjPercepciones
|
|
||||||
If ObjHorasExtras IsNot Nothing AndAlso ObjHorasExtras.Count > 0 Then cfdi.Nomina.HorasExtras = ObjHorasExtras
|
|
||||||
If ObjOtrosPagos IsNot Nothing AndAlso ObjOtrosPagos.Count > 0 Then cfdi.Nomina.OtrosPagos = ObjOtrosPagos
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
'cargo las incapacidades
|
|
||||||
If DiasIncapacitados > 0 Then
|
|
||||||
|
|
||||||
If objNomina.GetIncapacidades(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa) Then
|
|
||||||
|
|
||||||
If objNomina.DtResultados IsNot Nothing AndAlso objNomina.DtResultados.Rows.Count > 0 Then
|
|
||||||
Dim ObjIncapacidades As New List(Of CFDINominaIncapacidades)
|
|
||||||
For Each dr As DataRow In objNomina.DtResultados.Rows
|
|
||||||
ObjIncapacidades.Add(New CFDINominaIncapacidades With {.DiasIncapacidad = dr("Dias").ToString().ToEntero().ToString(), .TipoIncapacidad = dr("ClaveTipoIncapacidad").ToString(), .Importe = dr("Descuento").ToString().ToDecimal})
|
|
||||||
Next
|
|
||||||
If ObjIncapacidades IsNot Nothing AndAlso ObjIncapacidades.Count > 0 Then cfdi.Nomina.Incapacidades = ObjIncapacidades
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
TotalExcento = 0
|
|
||||||
TotalGravado = 0
|
|
||||||
|
|
||||||
If DtDeducciones IsNot Nothing Then
|
|
||||||
If DtDeducciones.Rows.Count > 0 Then
|
|
||||||
|
|
||||||
Dim ObjDeducciones As New List(Of CFDINominaDeducciones)
|
|
||||||
For Each Row As DataRow In DtDeducciones.Rows
|
|
||||||
|
|
||||||
If Row("Importe").ToString().ToDecimal > 0 Then
|
|
||||||
|
|
||||||
If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For
|
|
||||||
|
|
||||||
ObjDeducciones.Add(New CFDINominaDeducciones With {.TipoDeduccion = Row("SATCveConcepto").ToString(),
|
|
||||||
.Clave = Row("Codigo").ToString(),
|
|
||||||
.Concepto = Row("Concepto").ToString(),
|
|
||||||
.Importe = Row("Importe").ToString().ToDecimal}
|
|
||||||
)
|
|
||||||
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
If ObjDeducciones IsNot Nothing AndAlso ObjDeducciones.Count > 0 Then cfdi.Nomina.Deducciones = ObjDeducciones
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
'If DtOtrosPagos IsNot Nothing Then
|
|
||||||
' If DtOtrosPagos.Rows.Count > 0 Then
|
|
||||||
' ' Total = CType((Total - DtOtrosPagos.SUM("Importe")), Decimal)
|
|
||||||
' Dim ObjOtrosPagos As New List(Of CFDINominaOtrosPagos)
|
|
||||||
' ' End If
|
|
||||||
|
|
||||||
' ' For Each Row As DataRow In DtOtrosPagos.Rows
|
|
||||||
' ' If Row("Importe").ToString().ToDecimal > 0 Then
|
|
||||||
' ' If Row("CveSATConcepto").ToString() = "" Then
|
|
||||||
' ' Msg = String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())
|
|
||||||
' ' Else
|
|
||||||
' ' Msg = cfdi.ObjCompNomina12.AgregarOtroPago(Row("SATCveConcepto").ToString(), Row("Codigo").ToString(), Row("Concepto").ToString(), 0)
|
|
||||||
' ' 'Msg = CFDi.ObjCompNomina12.CargarSubsidioAlEmpleo(0)
|
|
||||||
' ' 'Msg = CFDi.ObjCompNomina12.CargarCompensacionSaldosAFavor(0, 0, 0)
|
|
||||||
' ' End If
|
|
||||||
|
|
||||||
' ' If Msg <> String.Empty Then
|
|
||||||
' ' Me.OnError("El SAT regresó el siguiente mensaje: " & Msg & ". Objeto: Otros Pagos", New Exception)
|
|
||||||
' ' Exit For
|
|
||||||
' ' End If
|
|
||||||
' ' End If
|
|
||||||
' ' Next
|
|
||||||
' If ObjOtrosPagos IsNot Nothing AndAlso ObjOtrosPagos.Count > 0 Then cfdi.Nomina.OtrosPagos = ObjOtrosPagos
|
|
||||||
' End If
|
|
||||||
'End If
|
|
||||||
|
|
||||||
cfdi.Comprobante.Version = "3.3"
|
|
||||||
cfdi.Comprobante.Serie = objNomina.Serie
|
|
||||||
cfdi.Comprobante.Folio = objNomina.Folio.ToString()
|
|
||||||
cfdi.Comprobante.Fecha = Now
|
|
||||||
cfdi.Comprobante.Subtotal = cfdi.Nomina.TotalPercepciones.ToString().ToDecimal() + cfdi.Nomina.TotalOtrosPagos.ToString().ToDecimal()
|
|
||||||
cfdi.Comprobante.Descuentos = cfdi.Nomina.TotalDeducciones.ToString().ToDecimal()
|
|
||||||
cfdi.Comprobante.Total = cfdi.Comprobante.Subtotal - cfdi.Comprobante.Descuentos 'cfdi.Nomina.TotalPercepciones + cfdi.Nomina.TotalOtrosPagos - cfdi.Nomina.TotalDeducciones
|
|
||||||
cfdi.Comprobante.MotivoDescuento = "" '"Deducciones nómina"
|
|
||||||
cfdi.Comprobante.Moneda = "MXN"
|
|
||||||
cfdi.Comprobante.TipoComprobante = "N"
|
|
||||||
cfdi.Comprobante.TipoDocto = "Egs"
|
|
||||||
cfdi.Comprobante.MetodoPago = "PUE"
|
|
||||||
cfdi.Comprobante.CondicionesdePago = "" '"CONTADO"
|
|
||||||
cfdi.Comprobante.FormadePago = "99"
|
|
||||||
cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString() ' AHORITA SOLO SE REQUIERE ESPECIFICAR EL CODIGO POSTAL
|
|
||||||
cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta
|
|
||||||
|
|
||||||
cfdi.Nomina.Receptor.CURP = objPersonal.CURP
|
|
||||||
cfdi.Nomina.Receptor.NSS = objPersonal.NumeroSS
|
|
||||||
cfdi.Nomina.Receptor.FechaInicioContrato = objPersonal.FechaInicioContrato.ToString()
|
|
||||||
cfdi.Nomina.Receptor.Antiguedad = $"P{AntiguedadSemanas}W"
|
|
||||||
cfdi.Nomina.Receptor.TipoContrato = objPersonal.CodigoTipoContrato
|
|
||||||
cfdi.Nomina.Receptor.CodigoTipoJornada = objPersonal.ClaveTipoJornada
|
|
||||||
cfdi.Nomina.Receptor.CodigoRegimenContratacion = objPersonal.CveRegimenContratacion
|
|
||||||
cfdi.Nomina.Receptor.CodigoEmpleado = objPersonal.Codigo
|
|
||||||
cfdi.Nomina.Receptor.Departamento = objPersonal.Departamento
|
|
||||||
cfdi.Nomina.Receptor.Puesto = objPersonal.Puesto
|
|
||||||
cfdi.Nomina.Receptor.CodigoRiesgoPuesto = objPersonal.CveSATRiesgoPuesto.ToString()
|
|
||||||
cfdi.Nomina.Receptor.TipoPeriodo = objPersonal.TipoPeriodoPago
|
|
||||||
cfdi.Nomina.Receptor.CodigoBanco = objPersonal.ClaveBanco
|
|
||||||
cfdi.Nomina.Receptor.NumeroCuenta = objPersonal.BancoNumCuenta
|
|
||||||
cfdi.Nomina.Receptor.SDI = objPersonal.SDI
|
|
||||||
cfdi.Nomina.Receptor.SBC = objPersonal.SDI
|
|
||||||
cfdi.Nomina.Receptor.Sindicalizado = ""
|
|
||||||
cfdi.Nomina.Receptor.CodigoEntidadFederativa = objPersonal.ClaveEstado
|
|
||||||
|
|
||||||
cfdi.Conceptos.Add(New CFDIConceptos With {.Cantidad = 1, .ClaveUnidad = "ACT", .ClaveProdServ = "84111505", .Descripcion = "Pago de nómina", .ValorUnitario = cfdi.Comprobante.Subtotal, .Importe = cfdi.Comprobante.Subtotal, .Descuento = cfdi.Nomina.TotalDeducciones.ToString().ToDecimal()})
|
|
||||||
|
|
||||||
objPersonal.Dispose()
|
|
||||||
objNomina.Dispose()
|
|
||||||
|
|
||||||
Return cfdi
|
|
||||||
End Function
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -2048,7 +2048,7 @@ Public Class Timbrado
|
|||||||
For Each otpag As CFDINominaOtrosPagos In ObjCFDITimbre.Nomina.OtrosPagos
|
For Each otpag As CFDINominaOtrosPagos In ObjCFDITimbre.Nomina.OtrosPagos
|
||||||
cfdi.Nomina12OtroPago(otpag.TipoOtroPago, otpag.Clave, otpag.Concepto, otpag.Importe)
|
cfdi.Nomina12OtroPago(otpag.TipoOtroPago, otpag.Clave, otpag.Concepto, otpag.Importe)
|
||||||
If otpag.TipoOtroPago = "002" Then
|
If otpag.TipoOtroPago = "002" Then
|
||||||
cfdi.Nomina12SubsidioAlEmpleo(otpag.Importe)
|
cfdi.Nomina12SubsidioAlEmpleo(otpag.Subsidiocausado)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
@@ -2895,10 +2895,10 @@ Public Class Timbrado
|
|||||||
Nom.OtrosPagos(i).TipoOtroPago = otpag.TipoOtroPago
|
Nom.OtrosPagos(i).TipoOtroPago = otpag.TipoOtroPago
|
||||||
Nom.OtrosPagos(i).Clave = otpag.Clave
|
Nom.OtrosPagos(i).Clave = otpag.Clave
|
||||||
Nom.OtrosPagos(i).Concepto = otpag.Concepto
|
Nom.OtrosPagos(i).Concepto = otpag.Concepto
|
||||||
Nom.OtrosPagos(i).Importe = otpag.Importe.ToDecimal
|
Nom.OtrosPagos(i).Importe = otpag.Importe
|
||||||
If otpag.TipoOtroPago = "002" Then
|
If otpag.TipoOtroPago = "002" Then
|
||||||
Nom.OtrosPagos(i).SubsidioAlEmpleo = New Profact.TimbraCFDI33.Complementos.Nomina12.NominaOtroPagoSubsidioAlEmpleo()
|
Nom.OtrosPagos(i).SubsidioAlEmpleo = New Profact.TimbraCFDI33.Complementos.Nomina12.NominaOtroPagoSubsidioAlEmpleo()
|
||||||
Nom.OtrosPagos(i).SubsidioAlEmpleo.SubsidioCausado = otpag.Importe.ToDecimal
|
Nom.OtrosPagos(i).SubsidioAlEmpleo.SubsidioCausado = otpag.Importe
|
||||||
End If
|
End If
|
||||||
i += 1
|
i += 1
|
||||||
Next
|
Next
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
|
|||||||
Case "sendMail"
|
Case "sendMail"
|
||||||
context.Response.Write(sendMail(context))
|
context.Response.Write(sendMail(context))
|
||||||
Case "sendMailLPM"
|
Case "sendMailLPM"
|
||||||
context.Response.Write(sendMail(context))
|
context.Response.Write(sendMailLPM(context))
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
|
|||||||
@@ -535,7 +535,7 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
<PageFooter>
|
<PageFooter>
|
||||||
<Height>7.37187cm</Height>
|
<Height>7.35216cm</Height>
|
||||||
<PrintOnFirstPage>true</PrintOnFirstPage>
|
<PrintOnFirstPage>true</PrintOnFirstPage>
|
||||||
<PrintOnLastPage>true</PrintOnLastPage>
|
<PrintOnLastPage>true</PrintOnLastPage>
|
||||||
<ReportItems>
|
<ReportItems>
|
||||||
@@ -557,7 +557,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox31</rd:DefaultName>
|
<rd:DefaultName>Textbox31</rd:DefaultName>
|
||||||
<Top>0.07053cm</Top>
|
<Top>0.07054cm</Top>
|
||||||
<Left>0.11166cm</Left>
|
<Left>0.11166cm</Left>
|
||||||
<Height>0.6cm</Height>
|
<Height>0.6cm</Height>
|
||||||
<Width>2.77516cm</Width>
|
<Width>2.77516cm</Width>
|
||||||
@@ -588,7 +588,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox31</rd:DefaultName>
|
<rd:DefaultName>Textbox31</rd:DefaultName>
|
||||||
<Top>0.1058cm</Top>
|
<Top>0.10581cm</Top>
|
||||||
<Left>2.9221cm</Left>
|
<Left>2.9221cm</Left>
|
||||||
<Height>1.2cm</Height>
|
<Height>1.2cm</Height>
|
||||||
<Width>13.85147cm</Width>
|
<Width>13.85147cm</Width>
|
||||||
@@ -604,7 +604,7 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</Textbox>
|
</Textbox>
|
||||||
<Line Name="Line4">
|
<Line Name="Line4">
|
||||||
<Top>0.10581cm</Top>
|
<Top>0.10582cm</Top>
|
||||||
<Left>0.05604cm</Left>
|
<Left>0.05604cm</Left>
|
||||||
<Height>0cm</Height>
|
<Height>0cm</Height>
|
||||||
<Width>16.76689cm</Width>
|
<Width>16.76689cm</Width>
|
||||||
@@ -616,7 +616,7 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</Line>
|
</Line>
|
||||||
<Line Name="Line3">
|
<Line Name="Line3">
|
||||||
<Top>1.3058cm</Top>
|
<Top>1.30581cm</Top>
|
||||||
<Left>0.11166cm</Left>
|
<Left>0.11166cm</Left>
|
||||||
<Height>0cm</Height>
|
<Height>0cm</Height>
|
||||||
<Width>16.71127cm</Width>
|
<Width>16.71127cm</Width>
|
||||||
@@ -646,7 +646,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox21</rd:DefaultName>
|
<rd:DefaultName>Textbox21</rd:DefaultName>
|
||||||
<Top>1.65886cm</Top>
|
<Top>1.65887cm</Top>
|
||||||
<Left>0.55741cm</Left>
|
<Left>0.55741cm</Left>
|
||||||
<Height>0.63528cm</Height>
|
<Height>0.63528cm</Height>
|
||||||
<Width>7.11779cm</Width>
|
<Width>7.11779cm</Width>
|
||||||
@@ -692,7 +692,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox21</rd:DefaultName>
|
<rd:DefaultName>Textbox21</rd:DefaultName>
|
||||||
<Top>2.85337cm</Top>
|
<Top>2.85338cm</Top>
|
||||||
<Left>0.55115cm</Left>
|
<Left>0.55115cm</Left>
|
||||||
<Height>0.90367cm</Height>
|
<Height>0.90367cm</Height>
|
||||||
<Width>7.11779cm</Width>
|
<Width>7.11779cm</Width>
|
||||||
@@ -726,7 +726,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox22</rd:DefaultName>
|
<rd:DefaultName>Textbox22</rd:DefaultName>
|
||||||
<Top>1.3058cm</Top>
|
<Top>1.30581cm</Top>
|
||||||
<Left>0.56367cm</Left>
|
<Left>0.56367cm</Left>
|
||||||
<Height>0.6cm</Height>
|
<Height>0.6cm</Height>
|
||||||
<Width>7.11153cm</Width>
|
<Width>7.11153cm</Width>
|
||||||
@@ -760,7 +760,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox21</rd:DefaultName>
|
<rd:DefaultName>Textbox21</rd:DefaultName>
|
||||||
<Top>1.62358cm</Top>
|
<Top>1.62359cm</Top>
|
||||||
<Left>9.66204cm</Left>
|
<Left>9.66204cm</Left>
|
||||||
<Height>0.63528cm</Height>
|
<Height>0.63528cm</Height>
|
||||||
<Width>7.11779cm</Width>
|
<Width>7.11779cm</Width>
|
||||||
@@ -806,7 +806,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox21</rd:DefaultName>
|
<rd:DefaultName>Textbox21</rd:DefaultName>
|
||||||
<Top>2.85337cm</Top>
|
<Top>2.85338cm</Top>
|
||||||
<Left>9.65578cm</Left>
|
<Left>9.65578cm</Left>
|
||||||
<Height>0.90367cm</Height>
|
<Height>0.90367cm</Height>
|
||||||
<Width>7.11779cm</Width>
|
<Width>7.11779cm</Width>
|
||||||
@@ -840,7 +840,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox22</rd:DefaultName>
|
<rd:DefaultName>Textbox22</rd:DefaultName>
|
||||||
<Top>1.3058cm</Top>
|
<Top>1.30581cm</Top>
|
||||||
<Left>9.66204cm</Left>
|
<Left>9.66204cm</Left>
|
||||||
<Height>0.6cm</Height>
|
<Height>0.6cm</Height>
|
||||||
<Width>7.11779cm</Width>
|
<Width>7.11779cm</Width>
|
||||||
@@ -873,7 +873,7 @@
|
|||||||
</Paragraph>
|
</Paragraph>
|
||||||
</Paragraphs>
|
</Paragraphs>
|
||||||
<rd:DefaultName>Textbox17</rd:DefaultName>
|
<rd:DefaultName>Textbox17</rd:DefaultName>
|
||||||
<Top>3.82759cm</Top>
|
<Top>3.8276cm</Top>
|
||||||
<Left>0.00042cm</Left>
|
<Left>0.00042cm</Left>
|
||||||
<Height>1.36498cm</Height>
|
<Height>1.36498cm</Height>
|
||||||
<Width>16.77315cm</Width>
|
<Width>16.77315cm</Width>
|
||||||
@@ -888,51 +888,6 @@
|
|||||||
<PaddingBottom>2pt</PaddingBottom>
|
<PaddingBottom>2pt</PaddingBottom>
|
||||||
</Style>
|
</Style>
|
||||||
</Textbox>
|
</Textbox>
|
||||||
<Textbox Name="Textbox8">
|
|
||||||
<CanGrow>true</CanGrow>
|
|
||||||
<KeepTogether>true</KeepTogether>
|
|
||||||
<Paragraphs>
|
|
||||||
<Paragraph>
|
|
||||||
<TextRuns>
|
|
||||||
<TextRun>
|
|
||||||
<Value>Fecha Impresión:</Value>
|
|
||||||
<Style>
|
|
||||||
<FontSize>8pt</FontSize>
|
|
||||||
<FontWeight>Bold</FontWeight>
|
|
||||||
</Style>
|
|
||||||
</TextRun>
|
|
||||||
<TextRun>
|
|
||||||
<Value xml:space="preserve"> </Value>
|
|
||||||
<Style>
|
|
||||||
<FontSize>8pt</FontSize>
|
|
||||||
</Style>
|
|
||||||
</TextRun>
|
|
||||||
<TextRun>
|
|
||||||
<Value>=Today</Value>
|
|
||||||
<Style>
|
|
||||||
<FontSize>8pt</FontSize>
|
|
||||||
</Style>
|
|
||||||
</TextRun>
|
|
||||||
</TextRuns>
|
|
||||||
<Style />
|
|
||||||
</Paragraph>
|
|
||||||
</Paragraphs>
|
|
||||||
<rd:DefaultName>Textbox8</rd:DefaultName>
|
|
||||||
<Top>6.50728cm</Top>
|
|
||||||
<Left>0.11166cm</Left>
|
|
||||||
<Height>0.6cm</Height>
|
|
||||||
<Width>6.86562cm</Width>
|
|
||||||
<ZIndex>11</ZIndex>
|
|
||||||
<Style>
|
|
||||||
<Border>
|
|
||||||
<Style>None</Style>
|
|
||||||
</Border>
|
|
||||||
<PaddingLeft>2pt</PaddingLeft>
|
|
||||||
<PaddingRight>2pt</PaddingRight>
|
|
||||||
<PaddingTop>2pt</PaddingTop>
|
|
||||||
<PaddingBottom>2pt</PaddingBottom>
|
|
||||||
</Style>
|
|
||||||
</Textbox>
|
|
||||||
</ReportItems>
|
</ReportItems>
|
||||||
<Style>
|
<Style>
|
||||||
<Border>
|
<Border>
|
||||||
|
|||||||
@@ -916,51 +916,6 @@
|
|||||||
<PaddingBottom>2pt</PaddingBottom>
|
<PaddingBottom>2pt</PaddingBottom>
|
||||||
</Style>
|
</Style>
|
||||||
</Textbox>
|
</Textbox>
|
||||||
<Textbox Name="Textbox8">
|
|
||||||
<CanGrow>true</CanGrow>
|
|
||||||
<KeepTogether>true</KeepTogether>
|
|
||||||
<Paragraphs>
|
|
||||||
<Paragraph>
|
|
||||||
<TextRuns>
|
|
||||||
<TextRun>
|
|
||||||
<Value>Fecha Impresión:</Value>
|
|
||||||
<Style>
|
|
||||||
<FontSize>8pt</FontSize>
|
|
||||||
<FontWeight>Bold</FontWeight>
|
|
||||||
</Style>
|
|
||||||
</TextRun>
|
|
||||||
<TextRun>
|
|
||||||
<Value xml:space="preserve"> </Value>
|
|
||||||
<Style>
|
|
||||||
<FontSize>8pt</FontSize>
|
|
||||||
</Style>
|
|
||||||
</TextRun>
|
|
||||||
<TextRun>
|
|
||||||
<Value>=Today</Value>
|
|
||||||
<Style>
|
|
||||||
<FontSize>8pt</FontSize>
|
|
||||||
</Style>
|
|
||||||
</TextRun>
|
|
||||||
</TextRuns>
|
|
||||||
<Style />
|
|
||||||
</Paragraph>
|
|
||||||
</Paragraphs>
|
|
||||||
<rd:DefaultName>Textbox8</rd:DefaultName>
|
|
||||||
<Top>8.22649cm</Top>
|
|
||||||
<Left>0.16462cm</Left>
|
|
||||||
<Height>0.6cm</Height>
|
|
||||||
<Width>6.86562cm</Width>
|
|
||||||
<ZIndex>11</ZIndex>
|
|
||||||
<Style>
|
|
||||||
<Border>
|
|
||||||
<Style>None</Style>
|
|
||||||
</Border>
|
|
||||||
<PaddingLeft>2pt</PaddingLeft>
|
|
||||||
<PaddingRight>2pt</PaddingRight>
|
|
||||||
<PaddingTop>2pt</PaddingTop>
|
|
||||||
<PaddingBottom>2pt</PaddingBottom>
|
|
||||||
</Style>
|
|
||||||
</Textbox>
|
|
||||||
</ReportItems>
|
</ReportItems>
|
||||||
<Style>
|
<Style>
|
||||||
<Border>
|
<Border>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||||
<style>
|
<style>
|
||||||
|
a.sline{white-space: nowrap ;}
|
||||||
td.cellFail {
|
td.cellFail {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
@@ -398,8 +399,8 @@
|
|||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<div style="width: 70px; text-align: right;">
|
<div style="width: 70px; text-align: right;">
|
||||||
<asp:LinkButton runat="server" ID="LnkTimbrar" CssClass="btn btn-circle btn-sm blue mysmallbtn" Text="<i class='fa fa-bell'></i>" OnClick="LnkTimbrar_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea Timbrar?" data-btn-ok-label="si" />
|
<asp:LinkButton runat="server" ID="LnkTimbrar" CssClass="btn btn-circle btn-sm blue mysmallbtn" Text="<i class='fa fa-bell'></i>" OnClick="LnkTimbrar_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea Timbrar?" data-btn-ok-label="si" />
|
||||||
<asp:LinkButton runat="server" ID="ImgDelete" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && Eval("SeTimbro").ToString() == "False"? true :false)%>' OnClientClick="javascript:return confirm('¿Está seguro que desea eliminar la nómina?');" />
|
<asp:LinkButton runat="server" ID="ImgDelete" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && Eval("SeTimbro").ToString() == "False"? true :false)%>' data-popout="true" data-original-title="¿Está seguro que desea eliminar la nómina?" data-btn-ok-label="si" />
|
||||||
<asp:LinkButton runat="server" ID="LnkCancelar" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='fas fa-ban'></i>" OnClick="LnkCancelar_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && PermisoCancelarEmitido && Eval("SeTimbro").ToString() == "True"? true :false)%>' OnClientClick="javascript:return confirm('¿Está seguro que desea cancelar la nómina?');" />
|
<asp:LinkButton runat="server" ID="LnkCancelar" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='fas fa-ban'></i>" OnClick="LnkCancelar_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && PermisoCancelarEmitido && Eval("SeTimbro").ToString() == "True"? true :false)%>' data-popout="true" data-original-title="¿Está seguro que desea cancelar la nómina?" data-btn-ok-label="si" />
|
||||||
</div>
|
</div>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
@@ -1626,7 +1627,6 @@
|
|||||||
<%= String.Format("$('#{0}').click();", btnasis.ClientID) %>
|
<%= String.Format("$('#{0}').click();", btnasis.ClientID) %>
|
||||||
}
|
}
|
||||||
function ADSBegin() {
|
function ADSBegin() {
|
||||||
debugger;
|
|
||||||
if ($('.GvConceptos .thTituloConcepto').length == 0) {
|
if ($('.GvConceptos .thTituloConcepto').length == 0) {
|
||||||
$('.GvConceptos').prepend("<tr class=\"thTituloConcepto\"> <th scope=\"col\" colspan=\"3\">Percepciones</th><th scope=\"col\" colspan=\"3\">Deducciones</th> </tr>");
|
$('.GvConceptos').prepend("<tr class=\"thTituloConcepto\"> <th scope=\"col\" colspan=\"3\">Percepciones</th><th scope=\"col\" colspan=\"3\">Deducciones</th> </tr>");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ using System.Web.UI.WebControls;
|
|||||||
using Extensiones;
|
using Extensiones;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using static Extensiones.ModExtensiones;
|
||||||
|
using System.Drawing;
|
||||||
|
|
||||||
public partial class Nomina_Nomina2 : ClsPaginas
|
public partial class Nomina_Nomina2 : ClsPaginas
|
||||||
{
|
{
|
||||||
@@ -114,6 +116,57 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
|
|
||||||
set { ViewState["CcveMovtoPermanente"] = value; }
|
set { ViewState["CcveMovtoPermanente"] = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected int FiltCveProyecto
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (ViewState["FiltCveProyecto"] == null) { return 0; }
|
||||||
|
else { return ViewState["FiltCveProyecto"].ToString().ToEntero(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
set { ViewState["FiltCveProyecto"] = value; }
|
||||||
|
}
|
||||||
|
protected int FiltCveSubProyecto
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (ViewState["FiltCveSubProyecto"] == null) { return 0; }
|
||||||
|
else { return ViewState["FiltCveSubProyecto"].ToString().ToEntero(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
set { ViewState["FiltCveSubProyecto"] = value; }
|
||||||
|
}
|
||||||
|
protected int FiltCveTurno
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (ViewState["FiltCveTurno"] == null) { return 0; }
|
||||||
|
else { return ViewState["FiltCveTurno"].ToString().ToEntero(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
set { ViewState["FiltCveTurno"] = value; }
|
||||||
|
}
|
||||||
|
protected int FiltCvePeriodo
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (ViewState["FiltCvePeriodo"] == null) { return 0; }
|
||||||
|
else { return ViewState["FiltCvePeriodo"].ToString().ToEntero(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
set { ViewState["FiltCvePeriodo"] = value; }
|
||||||
|
}
|
||||||
|
protected int FiltAgrupador
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (ViewState["FiltAgrupador"] == null) { return 0; }
|
||||||
|
else { return ViewState["FiltAgrupador"].ToString().ToEntero(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
set { ViewState["FiltAgrupador"] = value; }
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
protected void Page_Load(object sender, EventArgs e)
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@@ -256,30 +309,40 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
|
|
||||||
protected void LnkConsultar_Click(object sender, EventArgs e)
|
protected void LnkConsultar_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
bool continuar = false;
|
FiltCveProyecto = DdlProyecto.SelectedValue.ToEntero();
|
||||||
int CveProyecto = DdlProyecto.SelectedValue.ToEntero();
|
FiltCveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero();
|
||||||
int CveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero();
|
FiltCveTurno = DdlTurno.SelectedValue.ToEntero();
|
||||||
int CveTurno = DdlTurno.SelectedValue.ToEntero();
|
FiltCvePeriodo = DdlPeriodo.SelectedValue.ToEntero();
|
||||||
int CvePeriodo = DdlPeriodo.SelectedValue.ToEntero();
|
FiltAgrupador = DdlAgrupador.SelectedValue.ToEntero();
|
||||||
int CveEmpresa = UsuarioActual.CveEmpresa;
|
cargaDatos();
|
||||||
int Agrupador = DdlAgrupador.SelectedValue.ToEntero();
|
|
||||||
|
|
||||||
|
}
|
||||||
|
public void cargaDatos()
|
||||||
|
{
|
||||||
|
int CveEmpresa = UsuarioActual.CveEmpresa;
|
||||||
|
|
||||||
|
bool continuar = false;
|
||||||
CvePeriodoSeleccionado = 0;
|
CvePeriodoSeleccionado = 0;
|
||||||
dtempleados = null;
|
dtempleados = null;
|
||||||
dtConceptos = null;
|
dtConceptos = null;
|
||||||
DataTable dtPeriodo = new DataTable();
|
DataTable dtPeriodo = new DataTable();
|
||||||
DataTable dtasistencia = new DataTable();
|
DataTable dtasistencia = new DataTable();
|
||||||
using (ClsNominas objnom = new ClsNominas())
|
if (FiltCvePeriodo > 0)
|
||||||
{
|
{
|
||||||
if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador) && objnom.DTSetResultados.Tables.Count > 1)
|
|
||||||
|
using (ClsNominas objnom = new ClsNominas())
|
||||||
{
|
{
|
||||||
dtempleados = objnom.DTSetResultados.Tables[3];
|
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador) && objnom.DTSetResultados.Tables.Count > 1)
|
||||||
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
|
{
|
||||||
dtConceptos = objnom.DTSetResultados.Tables[0];
|
dtempleados = objnom.DTSetResultados.Tables[3];
|
||||||
dtPeriodo = objnom.DTSetResultados.Tables[1];
|
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
|
||||||
dtasistencia = objnom.DTSetResultados.Tables[2];
|
dtConceptos = objnom.DTSetResultados.Tables[0];
|
||||||
CvePeriodoSeleccionado = CvePeriodo;
|
dtPeriodo = objnom.DTSetResultados.Tables[1];
|
||||||
continuar = true;
|
dtasistencia = objnom.DTSetResultados.Tables[2];
|
||||||
|
CvePeriodoSeleccionado = FiltCvePeriodo;
|
||||||
|
continuar = true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -688,7 +751,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
UpDatos.Update();
|
UpDatos.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void GvNominas_RowDataBound(object sender, GridViewRowEventArgs e)
|
protected void GvNominas_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Row.RowType == DataControlRowType.DataRow)
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
||||||
@@ -707,7 +769,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
LnkTimbrar.Visible = false;
|
LnkTimbrar.Visible = false;
|
||||||
if (cvePersonal > 0)
|
if (cvePersonal > 0)
|
||||||
{
|
{
|
||||||
LtlNombre.Text = String.Format("<a class=\"Texto\" href=\"/RH/Personal.aspx?CvePersonal={0}\">{2}<br/>{1}</a>", cvePersonal, Nombre, Codigo);
|
LtlNombre.Text = String.Format("<a class=\"Texto sline\" href=\"/RH/Personal.aspx?CvePersonal={0}\">{2}<br/>{1}</a>", cvePersonal, Nombre, Codigo);
|
||||||
if (CveNomina > 0)
|
if (CveNomina > 0)
|
||||||
{
|
{
|
||||||
if (NomAutorizado == "False")
|
if (NomAutorizado == "False")
|
||||||
@@ -761,17 +823,76 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
|
|
||||||
protected void LnkTimbrar_Click(object sender, EventArgs e)
|
protected void LnkTimbrar_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
LinkButton lnk = (LinkButton)sender;
|
||||||
|
GridViewRow gvRow = (GridViewRow)lnk.NamingContainer;
|
||||||
|
int CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
|
||||||
|
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
|
||||||
|
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
|
||||||
|
|
||||||
|
LogicNominas lognom = new LogicNominas();
|
||||||
|
|
||||||
|
string Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
|
||||||
|
if (Msg != null && Msg.Length > 0)
|
||||||
|
{ Alert(Msg, TipoMensaje.MsgAdvertencia); }
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ClsNominas ObjPeriodo = new ClsNominas();
|
||||||
|
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
|
||||||
|
ObjPeriodo.Dispose();
|
||||||
|
Alert("Se ha timbrado correctamente");
|
||||||
|
gvRow.FindControl("ImgDelete").Visible = false;
|
||||||
|
gvRow.FindControl("LnkCancelar").Visible = false;
|
||||||
|
|
||||||
|
//gvRow.FCImage("ImgBandera").ImageUrl = "/Imagenes/flag_green.png";
|
||||||
|
gvRow.ForeColor = Color.Green;
|
||||||
|
lnk.Visible = false; UpDatos.Update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void ImgDelete_Click(object sender, EventArgs e)
|
protected void ImgDelete_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
int Cve = ((LinkButton)sender).CommandArgument.ToEntero();
|
||||||
|
|
||||||
|
ClsNominas Nom = new ClsNominas();
|
||||||
|
if (Nom.RemoveNom_Nominas(Cve))
|
||||||
|
{
|
||||||
|
Alert("Los movimientos de la nómina fueron eliminados", TipoMensaje.MsgInformacion); cargaDatos();
|
||||||
|
|
||||||
|
}
|
||||||
|
Nom.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void LnkCancelar_Click(object sender, EventArgs e)
|
protected void LnkCancelar_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
int CveNomina = ((LinkButton)sender).CommandArgument.ToEntero();
|
||||||
|
|
||||||
|
|
||||||
|
if (CveNomina > 0)
|
||||||
|
{
|
||||||
|
ClsNominas Nom = new ClsNominas();
|
||||||
|
if (Nom.GetNom_Nominas(CveNomina, -1, -1, -1, UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
Timbrado ObjTimbrado = new Timbrado();
|
||||||
|
|
||||||
|
string FolioFiscal = Nom.FolioFiscal;
|
||||||
|
decimal Total = Nom.Total.ToString().ToDecimal();
|
||||||
|
string RFCReceptor = Nom.RFC;
|
||||||
|
string RFCEmisor = UsuarioActual.Empresa.RFC;
|
||||||
|
|
||||||
|
|
||||||
|
if (ObjTimbrado.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, Total, RFCReceptor, RFCEmisor))
|
||||||
|
{
|
||||||
|
Nom.UpdateEstatusNomNominas(2, UsuarioActual.Empresa.CvePAC, "", "", ("01/01/2000").ToDate(), CveNomina, 0, 0, 0, 0, 0);
|
||||||
|
|
||||||
|
Alert("La nómina con folio fiscal fue cancelada ante el SAT", TipoMensaje.MsgInformacion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Nom.Dispose();
|
||||||
|
|
||||||
|
cargaDatos();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void LnkCargarNomina_Click(object sender, EventArgs e)
|
protected void LnkCargarNomina_Click(object sender, EventArgs e)
|
||||||
@@ -1094,7 +1215,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
{
|
{
|
||||||
int BorradoLogico = 0;
|
int BorradoLogico = 0;
|
||||||
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
|
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
|
||||||
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0))
|
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
|
||||||
{
|
{
|
||||||
BorradoLogico = 1;
|
BorradoLogico = 1;
|
||||||
}
|
}
|
||||||
@@ -1105,7 +1226,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
{
|
{
|
||||||
int BorradoLogico = 0;
|
int BorradoLogico = 0;
|
||||||
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
|
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
|
||||||
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0))
|
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
|
||||||
{
|
{
|
||||||
BorradoLogico = 1;
|
BorradoLogico = 1;
|
||||||
}
|
}
|
||||||
@@ -1246,7 +1367,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
{
|
{
|
||||||
int BorradoLogico = 0;
|
int BorradoLogico = 0;
|
||||||
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
|
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
|
||||||
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0))
|
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
|
||||||
{
|
{
|
||||||
BorradoLogico = 1;
|
BorradoLogico = 1;
|
||||||
}
|
}
|
||||||
@@ -1257,7 +1378,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
{
|
{
|
||||||
int BorradoLogico = 0;
|
int BorradoLogico = 0;
|
||||||
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
|
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
|
||||||
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0))
|
if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) != 0))
|
||||||
{
|
{
|
||||||
BorradoLogico = 1;
|
BorradoLogico = 1;
|
||||||
}
|
}
|
||||||
@@ -1856,12 +1977,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
paragraphh.ParagraphFormat.Style = styilo;
|
paragraphh.ParagraphFormat.Style = styilo;
|
||||||
paragraphh = new GemBox.Document.Paragraph(document, string.Format("Días pagados:{0}, Retardos: {1}, Ausencias:{2} ", drow2["DiasPago"], drow2["DiasRetardos"], drow2["DiasFaltados"])); cell.Blocks.Add(paragraphh);
|
paragraphh = new GemBox.Document.Paragraph(document, string.Format("Días pagados:{0}, Retardos: {1}, Ausencias:{2} ", drow2["DiasPago"], drow2["DiasRetardos"], drow2["DiasFaltados"])); cell.Blocks.Add(paragraphh);
|
||||||
paragraphh.ParagraphFormat.Style = styilo;
|
paragraphh.ParagraphFormat.Style = styilo;
|
||||||
/*
|
|
||||||
Gonzalez Gaitan Jorge
|
|
||||||
DIRECTOR OPERATIVO RFC: GOGJ-720331-TZ3 Afiliación IMSS: 11-96-72-1082-1
|
|
||||||
Fecha Ingr: 01/03/2019 Sal. diario: 3849.84 S.D.I: 4023.87 S.B.C: 2112.25 Cotiza Fijo
|
|
||||||
Días pagados: 15.00 Tot Hrs trab: 120.00 Hrs día: 8.00 Hrs extras: 0.00 CURP: GOGJ-720331-HMCNTR09
|
|
||||||
*/
|
|
||||||
|
|
||||||
row = new GemBox.Document.Tables.TableRow(document);
|
row = new GemBox.Document.Tables.TableRow(document);
|
||||||
sobrereciboTable.Rows.Add(row);
|
sobrereciboTable.Rows.Add(row);
|
||||||
@@ -3374,7 +3490,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
{
|
{
|
||||||
|
|
||||||
bool continuar = true;
|
bool continuar = true;
|
||||||
DataTable dtr = dtempleados.FiltraParametros(string.Format("CvePersonal={0} OR {0}=-1", FiltroCvePersonal));
|
DataTable dtr = dtempleados.FiltraParametros(string.Format("(CvePersonal={0} OR {0}=-1) AND CvePersonal > 0 AND NomAutorizado =0", FiltroCvePersonal), "", new string[] { "CvePersonal", "CveMetodoPago" });
|
||||||
DataTable dtconp = null;
|
DataTable dtconp = null;
|
||||||
int CvePeriodoSeleccionado = DdlPeriodo.SelectedValue.ToEntero();//cambiar reparar
|
int CvePeriodoSeleccionado = DdlPeriodo.SelectedValue.ToEntero();//cambiar reparar
|
||||||
#region PropNomina
|
#region PropNomina
|
||||||
@@ -3433,7 +3549,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
|
|
||||||
if (continuar)
|
if (continuar)
|
||||||
{
|
{
|
||||||
dtconp = dtempleadosConceptos.FiltraParametros(string.Format("CvePersonal={0}", CvePersonal));
|
dtconp = dtempleadosConceptos.FiltraParametros(string.Format("CvePersonal={0} AND Importe<>0", CvePersonal));
|
||||||
foreach (DataRow rcon in dtconp.Rows)
|
foreach (DataRow rcon in dtconp.Rows)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -3467,6 +3583,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
{
|
{
|
||||||
objNomina.Commit();
|
objNomina.Commit();
|
||||||
Alert("La nomina se autorizó correctamente.");
|
Alert("La nomina se autorizó correctamente.");
|
||||||
|
cargaDatos();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -3474,8 +3591,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(dtr != null){
|
if (dtr != null)
|
||||||
dtr.Dispose();
|
{
|
||||||
|
dtr.Dispose();
|
||||||
|
|
||||||
}
|
}
|
||||||
if (dtconp != null)
|
if (dtconp != null)
|
||||||
@@ -3545,10 +3663,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
cargaPeriodosCM();
|
cargaPeriodosCM();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void DdlTipoPeriodoCM_SelectedIndexChanged1(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
protected void LnkGuardarASistencia_Click(object sender, EventArgs e)
|
protected void LnkGuardarASistencia_Click(object sender, EventArgs e)
|
||||||
@@ -3878,7 +3992,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
if (ObjPersonal.DTSetResultados.Tables.Count > 4)
|
if (ObjPersonal.DTSetResultados.Tables.Count > 4)
|
||||||
{
|
{
|
||||||
DateTime dateperiodo;
|
DateTime dateperiodo;
|
||||||
DateTime.TryParseExact( string.Format ("{0}01",ObjPersonal.DTSetResultados.Tables[1].Rows[0]["Periodo"]), "yyyyMMdd", new System.Globalization.CultureInfo("es-MX"), System.Globalization.DateTimeStyles.None,out dateperiodo);
|
DateTime.TryParseExact(string.Format("{0}01", ObjPersonal.DTSetResultados.Tables[1].Rows[0]["Periodo"]), "yyyyMMdd", new System.Globalization.CultureInfo("es-MX"), System.Globalization.DateTimeStyles.None, out dateperiodo);
|
||||||
LtlPeriodo.Text = dateperiodo.Date.ToString("MMMM yyyy", new System.Globalization.CultureInfo("es-MX"));
|
LtlPeriodo.Text = dateperiodo.Date.ToString("MMMM yyyy", new System.Globalization.CultureInfo("es-MX"));
|
||||||
DtSuaProcesado = ObjPersonal.DTSetResultados.Tables[3];
|
DtSuaProcesado = ObjPersonal.DTSetResultados.Tables[3];
|
||||||
GVProcesarSUA.DataSource = ObjPersonal.DTSetResultados.Tables[3];
|
GVProcesarSUA.DataSource = ObjPersonal.DTSetResultados.Tables[3];
|
||||||
@@ -3986,25 +4100,25 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
ClosedXML.Excel.IXLRange range = libro.Range(Fila, 2, Fila, 3);
|
ClosedXML.Excel.IXLRange range = libro.Range(Fila, 2, Fila, 3);
|
||||||
range.Merge();
|
range.Merge();
|
||||||
range.Value = "Salario";
|
range.Value = "Salario";
|
||||||
range = libro.Range(Fila,4, Fila, 5);
|
range = libro.Range(Fila, 4, Fila, 5);
|
||||||
range.Merge();
|
range.Merge();
|
||||||
range.Value = "Cuota Fija";
|
range.Value = "Cuota Fija";
|
||||||
range = libro.Range(Fila, 6, Fila,7 );
|
range = libro.Range(Fila, 6, Fila, 7);
|
||||||
range.Merge();
|
range.Merge();
|
||||||
range.Value = "Cuota Excedente";
|
range.Value = "Cuota Excedente";
|
||||||
range = libro.Range(Fila,8, Fila, 9);
|
range = libro.Range(Fila, 8, Fila, 9);
|
||||||
range.Merge();
|
range.Merge();
|
||||||
range.Value = "Prestaciones en Dinero";
|
range.Value = "Prestaciones en Dinero";
|
||||||
range = libro.Range(Fila, 10, Fila,11 );
|
range = libro.Range(Fila, 10, Fila, 11);
|
||||||
range.Merge();
|
range.Merge();
|
||||||
range.Value = "Gastos Medicos";
|
range.Value = "Gastos Medicos";
|
||||||
range = libro.Range(Fila, 12, Fila, 13);
|
range = libro.Range(Fila, 12, Fila, 13);
|
||||||
range.Merge();
|
range.Merge();
|
||||||
range.Value = "Riesgos de Trabajo";
|
range.Value = "Riesgos de Trabajo";
|
||||||
range = libro.Range(Fila, 14, Fila,15 );
|
range = libro.Range(Fila, 14, Fila, 15);
|
||||||
range.Merge();
|
range.Merge();
|
||||||
range.Value = "Invalidez y Vida";
|
range.Value = "Invalidez y Vida";
|
||||||
range = libro.Range(Fila,16 , Fila, 17);
|
range = libro.Range(Fila, 16, Fila, 17);
|
||||||
range.Merge();
|
range.Merge();
|
||||||
range.Value = "Guarderia";
|
range.Value = "Guarderia";
|
||||||
range = libro.Range(Fila, 18, Fila, 19);
|
range = libro.Range(Fila, 18, Fila, 19);
|
||||||
@@ -4012,24 +4126,24 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
range.Value = "Retiro";
|
range.Value = "Retiro";
|
||||||
Fila = Fila + 1;
|
Fila = Fila + 1;
|
||||||
libro.Cell(Fila, 1).Value = "Empleado";
|
libro.Cell(Fila, 1).Value = "Empleado";
|
||||||
libro.Cell(Fila, 2).Value = "SUA"; //SalarioSUA
|
libro.Cell(Fila, 2).Value = "SUA"; //SalarioSUA
|
||||||
libro.Cell(Fila, 3).Value = "SIG";//SalarioSIG
|
libro.Cell(Fila, 3).Value = "SIG";//SalarioSIG
|
||||||
libro.Cell(Fila, 4).Value = "SUA";//CuotaFijaSUA
|
libro.Cell(Fila, 4).Value = "SUA";//CuotaFijaSUA
|
||||||
libro.Cell(Fila, 5).Value = "SIG";//CuotaFijaSIG
|
libro.Cell(Fila, 5).Value = "SIG";//CuotaFijaSIG
|
||||||
libro.Cell(Fila, 6).Value = "SUA";//CuotaExcedenteSUA
|
libro.Cell(Fila, 6).Value = "SUA";//CuotaExcedenteSUA
|
||||||
libro.Cell(Fila, 7).Value = "SIG";//CuotaExcedenteSIG
|
libro.Cell(Fila, 7).Value = "SIG";//CuotaExcedenteSIG
|
||||||
libro.Cell(Fila, 8).Value = "SUA";//PrestacionesDineroSUA
|
libro.Cell(Fila, 8).Value = "SUA";//PrestacionesDineroSUA
|
||||||
libro.Cell(Fila, 9).Value = "SIG";//PrestacionesSIG
|
libro.Cell(Fila, 9).Value = "SIG";//PrestacionesSIG
|
||||||
libro.Cell(Fila, 10 ).Value = "SUA";//GastosMedPenSUA
|
libro.Cell(Fila, 10).Value = "SUA";//GastosMedPenSUA
|
||||||
libro.Cell(Fila, 11 ).Value = "SIG";//GastosMedicosSIG
|
libro.Cell(Fila, 11).Value = "SIG";//GastosMedicosSIG
|
||||||
libro.Cell(Fila, 12 ).Value = "SUA";//RiesgosdeTrabajoSUA
|
libro.Cell(Fila, 12).Value = "SUA";//RiesgosdeTrabajoSUA
|
||||||
libro.Cell(Fila, 13 ).Value = "SIG";//RiesgoTrabajoSIG
|
libro.Cell(Fila, 13).Value = "SIG";//RiesgoTrabajoSIG
|
||||||
libro.Cell(Fila, 14 ).Value = "SUA";//InvalidezyVidaSUA
|
libro.Cell(Fila, 14).Value = "SUA";//InvalidezyVidaSUA
|
||||||
libro.Cell(Fila, 15 ).Value = "SIG";//InvalidezyVidaSIG
|
libro.Cell(Fila, 15).Value = "SIG";//InvalidezyVidaSIG
|
||||||
libro.Cell(Fila, 16 ).Value = "SUA";//GuarderiaSUA
|
libro.Cell(Fila, 16).Value = "SUA";//GuarderiaSUA
|
||||||
libro.Cell(Fila, 17 ).Value = "SIG";//GuarderiaSIG
|
libro.Cell(Fila, 17).Value = "SIG";//GuarderiaSIG
|
||||||
libro.Cell(Fila, 18 ).Value = "SUA";//RetiroSUA
|
libro.Cell(Fila, 18).Value = "SUA";//RetiroSUA
|
||||||
libro.Cell(Fila, 19 ).Value = "SIG";//RetiroSIG
|
libro.Cell(Fila, 19).Value = "SIG";//RetiroSIG
|
||||||
|
|
||||||
|
|
||||||
libro.Cell(1, 1).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
libro.Cell(1, 1).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
|
||||||
@@ -4043,24 +4157,24 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
|||||||
{
|
{
|
||||||
Fila++;
|
Fila++;
|
||||||
libro.Cell(Fila, 1).Value = erow["CodigoNombreCompleto"];
|
libro.Cell(Fila, 1).Value = erow["CodigoNombreCompleto"];
|
||||||
libro.Cell(Fila, 2).Value = string.Format("{0:N2}",erow["SalarioSUA"]);
|
libro.Cell(Fila, 2).Value = string.Format("{0:N2}", erow["SalarioSUA"]);
|
||||||
libro.Cell(Fila, 3).Value = string.Format("{0:N2}",erow["SalarioSIG"]);
|
libro.Cell(Fila, 3).Value = string.Format("{0:N2}", erow["SalarioSIG"]);
|
||||||
libro.Cell(Fila, 4).Value = string.Format("{0:N2}",erow["CuotaFijaSUA"]);
|
libro.Cell(Fila, 4).Value = string.Format("{0:N2}", erow["CuotaFijaSUA"]);
|
||||||
libro.Cell(Fila, 5).Value = string.Format("{0:N2}", erow["CuotaFijaSIG"]);
|
libro.Cell(Fila, 5).Value = string.Format("{0:N2}", erow["CuotaFijaSIG"]);
|
||||||
libro.Cell(Fila, 6).Value = string.Format("{0:N2}",erow["CuotaExcedenteSUA"]);
|
libro.Cell(Fila, 6).Value = string.Format("{0:N2}", erow["CuotaExcedenteSUA"]);
|
||||||
libro.Cell(Fila, 7).Value = string.Format("{0:N2}",erow["CuotaExcedenteSIG"]);
|
libro.Cell(Fila, 7).Value = string.Format("{0:N2}", erow["CuotaExcedenteSIG"]);
|
||||||
libro.Cell(Fila, 8).Value = string.Format("{0:N2}",erow["PrestacionesDineroSUA"]);
|
libro.Cell(Fila, 8).Value = string.Format("{0:N2}", erow["PrestacionesDineroSUA"]);
|
||||||
libro.Cell(Fila, 9).Value = string.Format("{0:N2}",erow["PrestacionesSIG"]);
|
libro.Cell(Fila, 9).Value = string.Format("{0:N2}", erow["PrestacionesSIG"]);
|
||||||
libro.Cell(Fila, 10).Value = string.Format("{0:N2}",erow["GastosMedPenSUA"]);
|
libro.Cell(Fila, 10).Value = string.Format("{0:N2}", erow["GastosMedPenSUA"]);
|
||||||
libro.Cell(Fila, 11).Value = string.Format("{0:N2}",erow["GastosMedicosSIG"]);
|
libro.Cell(Fila, 11).Value = string.Format("{0:N2}", erow["GastosMedicosSIG"]);
|
||||||
libro.Cell(Fila, 12).Value = string.Format("{0:N2}",erow["RiesgosdeTrabajoSUA"]);
|
libro.Cell(Fila, 12).Value = string.Format("{0:N2}", erow["RiesgosdeTrabajoSUA"]);
|
||||||
libro.Cell(Fila, 13).Value = string.Format("{0:N2}",erow["RiesgoTrabajoSIG"]);
|
libro.Cell(Fila, 13).Value = string.Format("{0:N2}", erow["RiesgoTrabajoSIG"]);
|
||||||
libro.Cell(Fila, 14).Value = string.Format("{0:N2}",erow["InvalidezyVidaSUA"]);
|
libro.Cell(Fila, 14).Value = string.Format("{0:N2}", erow["InvalidezyVidaSUA"]);
|
||||||
libro.Cell(Fila, 15).Value = string.Format("{0:N2}",erow["InvalidezyVidaSIG"]);
|
libro.Cell(Fila, 15).Value = string.Format("{0:N2}", erow["InvalidezyVidaSIG"]);
|
||||||
libro.Cell(Fila, 16).Value = string.Format("{0:N2}",erow["GuarderiaSUA"]);
|
libro.Cell(Fila, 16).Value = string.Format("{0:N2}", erow["GuarderiaSUA"]);
|
||||||
libro.Cell(Fila, 17).Value = string.Format("{0:N2}",erow["GuarderiaSIG"]);
|
libro.Cell(Fila, 17).Value = string.Format("{0:N2}", erow["GuarderiaSIG"]);
|
||||||
libro.Cell(Fila, 18).Value = string.Format("{0:N2}",erow["RetiroSUA"]);
|
libro.Cell(Fila, 18).Value = string.Format("{0:N2}", erow["RetiroSUA"]);
|
||||||
libro.Cell(Fila, 19).Value = string.Format("{0:N2}",erow["RetiroSIG"]);
|
libro.Cell(Fila, 19).Value = string.Format("{0:N2}", erow["RetiroSIG"]);
|
||||||
}
|
}
|
||||||
//libro.Row(2).SetAutoFilter();
|
//libro.Row(2).SetAutoFilter();
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
var IHAVEALLTHEPOWER = false;
|
var IHAVEALLTHEPOWER = false;
|
||||||
var objscollapse = null;
|
var objscollapse = null;
|
||||||
var objsexpand = null;
|
var objsexpand = null;
|
||||||
|
var adscrollerposition =[];
|
||||||
conf = {
|
conf = {
|
||||||
error: console.error,
|
error: console.error,
|
||||||
info: console.info,
|
info: console.info,
|
||||||
@@ -503,10 +504,10 @@ function ADScroller2() {
|
|||||||
divbodyScroll.css('width', (widthGral - anchoc1));
|
divbodyScroll.css('width', (widthGral - anchoc1));
|
||||||
divbodyScroll.css('height', (heightGral - altoc1 + 20));
|
divbodyScroll.css('height', (heightGral - altoc1 + 20));
|
||||||
};
|
};
|
||||||
$(window).resize(function () {
|
//$(window).resize(function () {
|
||||||
setTimeout(resizefncscroller, 50);
|
// setTimeout(resizefncscroller, 50);
|
||||||
setTimeout(sizeoftablefunc, 150);
|
// setTimeout(sizeoftablefunc, 150);
|
||||||
});
|
//});
|
||||||
|
|
||||||
$('table#ADCol' + Tid + ' tr').hover(
|
$('table#ADCol' + Tid + ' tr').hover(
|
||||||
function () { $('table#' + Tid + ' tr:nth-child(' + ($(this).index() + 1) + ')').addClass('hover');},
|
function () { $('table#' + Tid + ' tr:nth-child(' + ($(this).index() + 1) + ')').addClass('hover');},
|
||||||
@@ -516,6 +517,16 @@ function ADScroller2() {
|
|||||||
function () { $('table#ADCol' + Tid + ' tr:nth-child(' + ($(this).index() + 1) + ')').removeClass('hover'); });
|
function () { $('table#ADCol' + Tid + ' tr:nth-child(' + ($(this).index() + 1) + ')').removeClass('hover'); });
|
||||||
setTimeout(sizeoftablefunc, 100);
|
setTimeout(sizeoftablefunc, 100);
|
||||||
|
|
||||||
|
|
||||||
|
let found = adscrollerposition.find(element => element.id = 'C_Tab_TabNominas_GvNominas');
|
||||||
|
if (found != null) {
|
||||||
|
|
||||||
|
divheaderScroll.scrollLeft(found.scrollLeft);
|
||||||
|
divbodyScroll.scrollLeft(found.scrollLeft);
|
||||||
|
divcolsScroll.scrollTop(found.scrollTop);
|
||||||
|
divbodyScroll.scrollTop(found.scrollTop);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
console.log("ADSCROLLER2 Error:" + err.message);
|
console.log("ADSCROLLER2 Error:" + err.message);
|
||||||
@@ -1975,7 +1986,12 @@ jQuery(document).ready(function () {
|
|||||||
// let id = $(this).attr('id');
|
// let id = $(this).attr('id');
|
||||||
// $(this).val(CKEDITOR.instances[id].getData());
|
// $(this).val(CKEDITOR.instances[id].getData());
|
||||||
//});
|
//});
|
||||||
|
adscrollerposition = [];
|
||||||
|
$('.ADSContainer .AdsBody .ADSCroll table').each(function () {
|
||||||
|
let _this = $(this);
|
||||||
|
let _thisScroll = _this.parent();
|
||||||
|
adscrollerposition.push({ id: _this.attr('id'), scrollLeft: _thisScroll.scrollLeft(), scrollTop: _thisScroll.scrollTop() });
|
||||||
|
});
|
||||||
saveposicionADScroller();
|
saveposicionADScroller();
|
||||||
loaderinit();
|
loaderinit();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -108,6 +108,10 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user