diff --git a/AC/RegNomina.aspx b/AC/RegNomina.aspx index 5f660dfe7..db1709f12 100644 --- a/AC/RegNomina.aspx +++ b/AC/RegNomina.aspx @@ -93,12 +93,23 @@ - + + - -
ISPT Servicio Médico:Fonacot:
Crédito al Salario
+ Pensión: + P. Infonavit: + + + ISR Asimilados + C. Sindical + + + + + + diff --git a/AC/RegNomina.aspx.vb b/AC/RegNomina.aspx.vb index 2d6a6cd3d..cc9ed0b49 100644 --- a/AC/RegNomina.aspx.vb +++ b/AC/RegNomina.aspx.vb @@ -373,6 +373,12 @@ Partial Class AC_RegNomina Dim IdCtaCreditoSalario As Integer = 635 Dim IdCtaDevolucionISPT As Integer = 1745 Dim IdCtaMatriz As Integer + Dim IdCtaCuotaSindical As Integer = 644 + Dim IdCtaInfonavit As Integer = 2018 + Dim IdCtaFonacot As Integer = 646 + Dim IdCtaServicioMedico As Integer = 643 + Dim IdCtaPension As Integer = 643 + Dim IdCtaISRAsimilados As Integer = 4442 Dim Importe As Double Dim MsgError As String = "" @@ -564,6 +570,7 @@ Partial Class AC_RegNomina ObjIE.UpdateIEPrePoliza(Fecha, objAC.Folio.ToString, IDPoliza, CvePrePoliza, CveIE, -1) Else + MsgError = "no se pudo agregar el movimiento bancario" TieneError = True End If @@ -586,9 +593,34 @@ Partial Class AC_RegNomina If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaCreditoSalario, False, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True - 'Registro del Mov Devolución - Importe = TxtISPT.Text.ToDouble - TxtCredSalario.Text.ToDouble - If Importe <> 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaDevolucionISPT, If(Importe > 0, False, True), Math.Abs(Importe), "", Concepto, 0, Fecha, "") Then TieneError = True + 'Registro Cuotas Sindicales + Importe = TxtSindical.Text.ToDouble + If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaCuotaSindical, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True + + 'Registro Prestamo infonavit + Importe = txtInfonavit.Text.ToDouble + If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaInfonavit, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True + + 'Registro Fonacot + Importe = txtFonacot.Text.ToDouble + If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaFonacot, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True + + 'Registro Servicio Medico + Importe = txtServicioMedico.Text.ToDouble + If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaServicioMedico, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True + + 'Registro Pensión + Importe = txtPension.Text.ToDouble + If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaPension, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True + + 'Registro ISR Asimilados + Importe = TxtISRAsimilados.Text.ToDouble + If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaISRAsimilados, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True + + + ''Registro del Mov Devolución + 'Importe = TxtISPT.Text.ToDouble - TxtCredSalario.Text.ToDouble + 'If Importe <> 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaDevolucionISPT, If(Importe > 0, False, True), Math.Abs(Importe), "", Concepto, 0, Fecha, "") Then TieneError = True Else TieneError = True diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index c65001d7d..59e51f69a 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -215,6 +215,24 @@ Public Class ClsNominas End Function + Public Function ReportedePercepcionesDeduccionesGet(cveEmpresa As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean + Dim retorno As Boolean = False + DTSet = New DataSet() + DataAdapter("[PA_RH_ReportedePercepcionesDeducciones]", CommandType.StoredProcedure) + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa + .Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio + .Add("@FechaFin", SqlDbType.Date).Value = FechaFin + .Add("@TipoPeriodo", SqlDbType.Int).Value = CveTipoPeriodo + End With + Try + SqlAdapter.Fill(DTSet) + retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el reporte de Percepciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return retorno + End Function Public Function ReportedeincidenciasGET(cveEmpresa As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean Dim retorno As Boolean = False DTSet = New DataSet() diff --git a/Bancos/ProveedoresAbonar.aspx b/Bancos/ProveedoresAbonar.aspx index 193cb00f2..f67afd6b0 100644 --- a/Bancos/ProveedoresAbonar.aspx +++ b/Bancos/ProveedoresAbonar.aspx @@ -369,7 +369,7 @@ diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 02b865ba8..a80f0bc98 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -1043,21 +1043,17 @@ Partial Class Bancos_ProveedoresAbonar Dim PorcentajeImpuesto As Decimal = 0 If ConceptoContable.Contiene(14, 19) AndAlso gvr.DataKey("CveCompra").ToEntero > 0 Then - Dim objcompras As New ClsCompras - objcompras.GetCompras(gvr.DataKey("CveCompra").ToEntero, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) - If objcompras.DtResultados IsNot Nothing AndAlso objcompras.DtResultados.Rows.Count > 0 Then - Dim dr As DataRow = objcompras.DtResultados.Rows(0) - If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then - If dr("EsImportacion").ToString = "True" Then - EsImportacion = True - If ConceptoContable = 14 Then - ConceptoContable = 287 - Else - ConceptoContable = 288 - End If + + If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then + If gvr.DataKey("EsImportacion").ToString = "1" Then + EsImportacion = True + If ConceptoContable = 14 Then + ConceptoContable = 287 Else - EsImportacion = False + ConceptoContable = 288 End If + Else + EsImportacion = False End If End If diff --git a/Bin/Microsoft.ReportViewer.WebForms.dll b/Bin/Microsoft.ReportViewer.WebForms.dll index 8dfaf553b..eb6401242 100644 Binary files a/Bin/Microsoft.ReportViewer.WebForms.dll and b/Bin/Microsoft.ReportViewer.WebForms.dll differ diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index bd1247c18..468820bed 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1358,7 +1358,7 @@ Partial Class Compras_Compras If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then If UsuarioActual.Empresa.Funcionalidad(128) = "1" And Not UsuarioActual.TienePermisoProceso(213) Then If TmpDT.MAX("CvePS").ToEntero > 0 Then - BtnGuardar.Enabled = False + 'BtnGuardar.Enabled = False RegistraScript("$('#ImgBtnBuscarOC').click()") End If End If @@ -4083,9 +4083,15 @@ Partial Class Compras_Compras 'Verifica funcionalidad 128 "Require orden de compra para factura de compra" + Dim EsViatico As Boolean = False + + If RBLPago.SelectedValue.ToEntero = 3 AndAlso RBLContado.SelectedValue.ToEntero = 2 AndAlso TxtNumeroReembolso.Text.Length > 0 AndAlso DdlPersonalReembolso.SelectedValue.ToEntero > 0 Then + EsViatico = True + End If + If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then If UsuarioActual.Empresa.Funcionalidad(128) = "1" And Not UsuarioActual.TienePermisoProceso(213) Then - If Not EstaAsociadoACajaChica And Not EstaAsociadoAPersonal Then + If Not EstaAsociadoACajaChica And Not EstaAsociadoAPersonal And Not EsViatico Then If Not CompraEstaVinculadaOC Then Alert("Debe de vincular una orden de compra para registrar la factura") Exit Sub diff --git a/Contabilidad/RegPrePoliza.aspx.vb b/Contabilidad/RegPrePoliza.aspx.vb index ac786d10a..c97ff35cc 100644 --- a/Contabilidad/RegPrePoliza.aspx.vb +++ b/Contabilidad/RegPrePoliza.aspx.vb @@ -848,7 +848,10 @@ Partial Class ContabilidadC_RegPrePoliza dr("MultipleSubProyecto") = drt("MultipleSubProyecto") dr("PorcentajeImpuesto") = drt("PorcentajeImpuesto") dr("CveCuenta") = drt("CveCuenta") - dr("FolioPoliza") = drt("FolioPoliza") + If CvePrePoliza > 0 Then + dr("FolioPoliza") = drt("FolioPoliza") + End If + DtMovimientos.Rows.Add(dr) diff --git a/Contabilidad2/CatCuentas.aspx.vb b/Contabilidad2/CatCuentas.aspx.vb index c9d48fa35..86cf1a1ad 100644 --- a/Contabilidad2/CatCuentas.aspx.vb +++ b/Contabilidad2/CatCuentas.aspx.vb @@ -658,10 +658,10 @@ Partial Class Contabilidad2_CatCuentas Case 3 pnlOpcion2.Visible = True pnlOpcion3.Visible = True - If DdlClasificacion.Items.Count < 2 Then - DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) - DdlClasificacion.DataBind() - End If + 'If DdlClasificacion.Items.Count < 2 Then + DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) + DdlClasificacion.DataBind() + 'End If Case 4 pnlOpcion4.Visible = True Case 5 diff --git a/Contabilidad2/RepEstadoActividades.aspx.vb b/Contabilidad2/RepEstadoActividades.aspx.vb index ed556b6a1..22b3119c2 100644 --- a/Contabilidad2/RepEstadoActividades.aspx.vb +++ b/Contabilidad2/RepEstadoActividades.aspx.vb @@ -116,6 +116,10 @@ Partial Class AC_RepEstadoActividades DdlEjercicio.Items.Add(New ListItem(Now.Year.ToString, Now.Year.ToString)) End If DdlPeriodo.SelectedValue = Now.Month.ToString + + DdlSubproyecto.datasource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa) + DdlSubproyecto.databind + End Sub Private Sub CargaDatos() diff --git a/Inventarios/AjustesSeccionAlmacen.aspx.vb b/Inventarios/AjustesSeccionAlmacen.aspx.vb index d60e3cb5c..f2f877bbb 100644 --- a/Inventarios/AjustesSeccionAlmacen.aspx.vb +++ b/Inventarios/AjustesSeccionAlmacen.aspx.vb @@ -13,7 +13,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen End Sub Private Sub CargaCombos() - Dim DtAlmacenes As DataTable = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoAlmacen:=-1).FiltraParametros("CveTipoAlmacen in (1,12,14,16, 26)") + Dim DtAlmacenes As DataTable = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoAlmacen:=-1).FiltraParametros("CveTipoAlmacen in (1,2,12,14,16, 26)") DdlAlmacen.DataSource = DtAlmacenes DdlAlmacen.DataBind() diff --git a/Nomina/Finiquito.aspx b/Nomina/Finiquito.aspx index 533b8ef8b..2614371bf 100644 --- a/Nomina/Finiquito.aspx +++ b/Nomina/Finiquito.aspx @@ -76,6 +76,9 @@ Formato Finiquito + + + @@ -148,7 +151,8 @@
- Cancelar + Simular + Cancelar Guardar
@@ -281,7 +285,7 @@ - + @@ -352,7 +356,7 @@ - + diff --git a/Nomina/Finiquito.aspx.cs b/Nomina/Finiquito.aspx.cs index d8618952d..d56bf0b06 100644 --- a/Nomina/Finiquito.aspx.cs +++ b/Nomina/Finiquito.aspx.cs @@ -210,8 +210,8 @@ public partial class Nomina_Finiquito : ClsPaginas } protected void LnkConcepto_Click(object sender, EventArgs e) { - int SRCveConcepto = ((LinkButton)sender).CommandArgument.ToEntero(); - string SRTipoConcepto = ((LinkButton)sender).CommandArgument; + int SRCveConcepto = ((LinkButton)sender).CommandArgument.ToEntero(); + string SRTipoConcepto = ((LinkButton)sender).CommandArgument; #region carga conceptos DataTable dtCon; if (SRCveConcepto > 0) @@ -498,6 +498,217 @@ public partial class Nomina_Finiquito : ClsPaginas protected void LnkFormatoRenuncia_Click(object sender, EventArgs e) { + DataTable dtper = dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 AND SoloVisible =0"); + DataTable dtded = dtConceptos.FiltraParametros("Tipo IN ('D') AND EsPadre = 1 AND SoloVisible =0"); + dtper.Columns.Add("BorradoLogico", typeof(int)); + dtded.Columns.Add("BorradoLogico", typeof(int)); + + foreach (DataRow row in dtper.Rows) + { + int BorradoLogico = 0; + int CveConcepto = row["CveConcepto"].ToString().ToEntero(); + if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", CvePersonal)) != 0)) + { + BorradoLogico = 1; + } + row["BorradoLogico"] = BorradoLogico; + } + dtper.AcceptChanges(); + foreach (DataRow row in dtded.Rows) + { + int BorradoLogico = 0; + int CveConcepto = row["CveConcepto"].ToString().ToEntero(); + if (!(dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", CvePersonal)) != 0)) + { + BorradoLogico = 1; + } + row["BorradoLogico"] = BorradoLogico; + } + dtded.AcceptChanges(); + dtper = dtper.FiltraParametros("BorradoLogico=0"); + dtded = dtded.FiltraParametros("BorradoLogico=0"); + int maxper = dtper.Rows.Count; + int maxded = dtded.Rows.Count; + int i = 0; + List lconc = new List(); + for (i = 0; i < maxper || i < maxded; i++) + { + NConcepto nConcepto = new NConcepto(); + DataRow row; + if (maxper > i) + { + row = dtper.Rows[i]; + int CveConcepto = row["CveConcepto"].ToString().ToEntero(); + string Concepto = row["Concepto"].ToString(); + string Codigo = row["Codigo"].ToString(); + //bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0); + double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", CvePersonal)); + nConcepto.CveConceptoP = CveConcepto; + nConcepto.ConceptoP = Concepto; + nConcepto.NoConceptoP = Codigo; + nConcepto.ImporteP = Importe; + nConcepto.ValorP = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", CvePersonal)); + } + if (maxded > i) + { + row = dtded.Rows[i]; + int CveConcepto = row["CveConcepto"].ToString().ToEntero(); + string Concepto = row["Concepto"].ToString(); + string Codigo = row["Codigo"].ToString(); + //bool visible = (dtempleados.SUM(string.Format("[V_{0}]", CveConcepto)) > 0); + double Importe = dtempleados.SUM(string.Format("[V_{0}]", CveConcepto), string.Format("CvePersonal = {0}", CvePersonal)); + nConcepto.CveConceptoD = CveConcepto; + nConcepto.ConceptoD = Concepto; + nConcepto.NoConceptoD = Codigo; + nConcepto.ImporteD = Importe; + nConcepto.ValorD = dtempleados.SUM(string.Format("[VAL_{0}]", CveConcepto), string.Format("CvePersonal = {0}", CvePersonal)); + } + lconc.Add(nConcepto); + } + + lconc.Add(new NConcepto()); + + NConcepto SubTotales = new NConcepto(); + SubTotales.CveConceptoP = 0; + SubTotales.ConceptoP = "Total Percepciones"; + SubTotales.EstatusP = -2; + SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", CvePersonal)); + ///Alert(SubTotales.ImporteP.ToString()); + + SubTotales.CveConceptoD = 0; + SubTotales.ConceptoD = "Total Deducciones"; + SubTotales.EstatusD = -2; + SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", CvePersonal)); + + NConcepto Totales = new NConcepto(); + Totales.CveConceptoD = 0; + Totales.ConceptoD = "Total"; + Totales.EstatusD = -3; + Totales.ImporteD = dtempleados.SUM("Total", string.Format("CvePersonal = {0}", CvePersonal)); + + lconc.Add(SubTotales); + 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 lrds = new List(); + Microsoft.Reporting.WebForms.ReportDataSource rds = new Microsoft.Reporting.WebForms.ReportDataSource(); + rds.Name = "DataSet1"; + rds.Value = dtCon;// lconc; + lrds.Add(rds); + List parametros = new List(); + + string CodigoEmpleado = ""; + string NombreCompleto = ""; + string RFC = ""; + string CURP = ""; + string TipoPeriodo = ""; + string NSS = ""; + string DiasLaborados = ""; + string DiasFaltados = ""; + string DiasVacaciones = ""; + string FechaInicio = ""; + string FechaFin = ""; + string DiasRetardos = ""; + string DiasIncapacidad = ""; + string SubProyecto = ""; + { + DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal)); + if (drow != null) + { + DiasLaborados = string.Format("{0}", drow["DiasLaborados"].ToString().ToEntero()); + DiasFaltados = string.Format("{0}", drow["DiasFaltados"].ToString().ToEntero()); + DiasVacaciones = string.Format("{0}", drow["DiasVacaciones"].ToString().ToEntero()); + FechaInicio = string.Format("{0:dd/MM/yyyy}", drow["FechaInicio"]); + FechaFin = string.Format("{0:dd/MM/yyyy}", drow["FechaFin"]); + DiasRetardos = string.Format("{0}", drow["DiasRetardos"].ToString().ToEntero()); + DiasIncapacidad = string.Format("{0}", drow["DiasIncapacidad"].ToString().ToEntero()); + } + } + //string Codigo = ""; + using (ClsRH objrh = new ClsRH()) + { + if (objrh.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa) && objrh.DtResultados.Rows.Count > 0) + { + DataRow drow = objrh.DtResultados.Rows[0]; + SubProyecto = drow["SubProyecto"].ToString(); + CodigoEmpleado = drow["Codigo"].ToString(); + NombreCompleto = drow["NombreCompleto"].ToString(); + RFC = drow["RFC"].ToString(); + CURP = drow["CURP"].ToString(); + TipoPeriodo = drow["TipoPeriodo"].ToString(); + NSS = drow["NSS"].ToString(); + } + } + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("DiasIncapacidad", DiasIncapacidad)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("Codigo", CodigoEmpleado)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("NombreCompleto", NombreCompleto)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("RFC", RFC)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("CURP", "")); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("TipoPeriodo", TipoPeriodo)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("NSS", NSS)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("DiasLaborados", DiasLaborados)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("DiasFaltados", DiasFaltados)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("DiasVacaciones", DiasVacaciones)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("FechaInicio", FechaInicio)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("FechaFin", FechaFin)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("DiasRetardos", DiasRetardos)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("Empresa", UsuarioActual.Empresa.Empresa)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("SubProyecto", SubProyecto)); + parametros.Add(new Microsoft.Reporting.WebForms.ReportParameter("FechaPago", "")); + //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)); + 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 LnkCambiarEmpleado_Click(object sender, EventArgs e) @@ -868,4 +1079,152 @@ public partial class Nomina_Finiquito : ClsPaginas } } + + protected void LnkCancelar_Click(object sender, EventArgs e) + { + using (ClsNominas onom = new ClsNominas()) + { + if (onom.RemoveFiniquito(CvePersonal, UsuarioActual.CveEmpresa, CvePersonalAltas)) + { + Alert("se ha eliminado el proceso de finiquito"); + } + } + } + + protected void LnkSimular_Click(object sender, EventArgs e) + { + + if (LblFechaAlta.Text.ToDate() > TxtFechaBaja.Text.ToDate()) + { + Alert("la fecha de baja no puede ser menor a la fecha alta", ModExtensiones.TipoMensaje.MsgAdvertencia); + } + else + { + bool continuar = false; + + using (ClsRH ObjPersonal = new ClsRH()) + using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL())) + { + if (ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0) + { + DataRow da = ObjPersonal.DtResultados.Rows[0]; + CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero(); + CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero(); + continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa); + } + if (continuar) + { + continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa); + } + if (continuar) + { loadsobrerecibo(onom); } + if (continuar) + { + ObjPersonal.RollBack(); + } + else + { + ObjPersonal.RollBack(); + } + } + + } + UPDatos.Update(); + } + + protected void DdlmcConceptos_SelectedIndexChanged(object sender, EventArgs e) + { + + } + + + protected void BtnAceptarMC_Click(object sender, EventArgs e) + { + bool continuar = true; + int CveNomina = 0; + double Total = 0; + int CveMoneda = 1; + int CveMetodoPago = 0; + int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero(); + if (CveConcepto > 0 && CvePersonal > 0) + { + decimal ImporteConcepto = TxtmcImporte.Text.Replace("$", "").Replace(",", "").ToDecimal(); + decimal ImporteGravadoConcepto = TxtmcImporteGrabado.Text.Replace("$", "").Replace(",", "").ToDecimal(); + decimal ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto; + decimal ImporteValor = Txtmcvalor.Text.Replace("$", "").Replace(",", "").ToDecimal(); + using (ClsNominas objNomina = new ClsNominas()) + { + objNomina.IniciaTransacSQL(); + if (continuar) + { + if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoIndemnizacion, -1, UsuarioActual.CveEmpresa)) + { + if (objNomina.DtResultados.Rows.Count > 0) + { + CveNomina = objNomina.CveNomina; + } + else + { + if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoIndemnizacion, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina", + "", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, false)) + { + CveNomina = objNomina.CveNomina; + } + else + { + continuar = false; + } + } + } + } + if (CveNomina == 0) + { + continuar = false; + } + + + + if (continuar) + { + + if (continuar) + { + + if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoIndemnizacion, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true)) + { + continuar = false; + } + } + } + + if (continuar) + { objNomina.Commit(); } + else + { + objNomina.RollBack(); + } + } + if (continuar) + { + using (ClsNominas objNomina = new ClsNominas()) + { + loadsobrerecibo(objNomina); + } + Alert("El cambio se ha guardado correctamente."); + } + + } + else + { + if (CveConcepto > 0) + { + Alert("Debe seleccionar un empleado.", TipoMensaje.MsgAdvertencia); + } + else + { + Alert("Debe seleccionar un concepto.", TipoMensaje.MsgAdvertencia); + } + } + + } } \ No newline at end of file diff --git a/Nomina/Nomina2.aspx b/Nomina/Nomina2.aspx index ddf2c062f..7df602b55 100644 --- a/Nomina/Nomina2.aspx +++ b/Nomina/Nomina2.aspx @@ -173,6 +173,9 @@
  • Incidencias asistencia
  • +
  • + Reporte percepciones y deducciones +
  • Reporte acumulados
  • @@ -2045,6 +2048,48 @@ +
    - + @@ -117,9 +117,24 @@ - + - + + + + + + + + + + + + + + + + diff --git a/RH/CalculoSBC.aspx.cs b/RH/CalculoSBC.aspx.cs index ddc608182..c715eed04 100644 --- a/RH/CalculoSBC.aspx.cs +++ b/RH/CalculoSBC.aspx.cs @@ -145,14 +145,18 @@ public partial class RH_CalculoSBC : ClsPaginas { GVCalculosSBC.ExportToExcel("Salario"); } - if (Tab.ActiveTab == TabSBC) + if (Tab.ActiveTab == TabParteFija) { GVCFija.ExportToExcel("Salario"); } - if (Tab.ActiveTab == TabSBC) + if (Tab.ActiveTab == TabParteVariable) { GVPV.ExportToExcel("Salario"); } + if (Tab.ActiveTab == TabDetalleParteVariable) + { + GVDetalleParteVariable.ExportToExcel("Salario"); + } } } \ No newline at end of file diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 02c6fd022..d0dea5f49 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -2936,12 +2936,19 @@ Partial Class RH_Personal ' Alert("La CLABE es obligatoria y debe tener una longitud de 18 dígitos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) ' Exit Sub 'End If + If ChkEstatusPagoE.Checked Then - 'CLABE SIEMPRE OBLIGATORIA SI NO ES BANCOMER - If TxtCLABECB.Text.Trim.Length <> 18 And TxtCLABECB.Text.Trim.Length = 0 And Not EsBancomer Then + 'CLABE SIEMPRE OBLIGATORIA SI NO ES BANCOMER + If TxtCLABECB.Text.Trim.Length <> 18 AndAlso TxtCLABECB.Text.Trim.Length = 0 AndAlso Not EsBancomer Then Alert("La CLABE es obligatoria y debe tener una longitud de 18 dígitos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) Exit Sub End If + 'SI CLABE TIENE ALGO DEBE TENER UNA LOGITUD EXACTA DE 18 + If TxtCLABECB.Text.Trim.Length <> 0 AndAlso TxtCLABECB.Text.Trim.Length <> 18 Then + Alert("La CLABE debe tener una longitud de 18 dígitos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + End If 'SI CUENTA TIENE ALGO Y BANCO BANCOMER DEBE TENER UNA LOGITUD EXACTA DE 10 If TxtNumeroCuenta.Text.Trim.Length <> 0 AndAlso TxtNumeroCuenta.Text.Trim.Length <> 10 AndAlso EsBancomer Then @@ -2949,11 +2956,6 @@ Partial Class RH_Personal Exit Sub End If - 'SI CLABE TIENE ALGO DEBE TENER UNA LOGITUD EXACTA DE 18 - If TxtCLABECB.Text.Trim.Length <> 0 AndAlso TxtCLABECB.Text.Trim.Length <> 18 Then - Alert("La CLABE debe tener una longitud de 18 dígitos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) - Exit Sub - End If ''CUANDO SEA "BBVA" O "BANCOMER" DEBE TENER "CIE" O "CUENTA" diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 66987729d..cc6238390 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -24196,7 +24196,7 @@ Partial Class Ventas Dim IdCuentaContableNoDeducible As Integer = 0 Dim SerieFolio As String = LblSerie.Text & "-" & TxtFolio.Text Dim ConceptoPartida As String = "saldado " & SerieFolio - ' Dim CveSubProyecto As Integer = gr.DataKey("CveSubProyecto").ToEntero() + Dim CveSubProyecto As Integer = DdlSubProyectoDatos.SelectedValue.ToEntero() If CveConceptoDeduccion = 255 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(266).ToEntero() If CveConceptoDeduccion = 211 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(559).ToEntero() @@ -24245,11 +24245,11 @@ Partial Class Ventas Dim ImporteFluctuacion As Decimal = 0 ImporteFluctuacion = Saldo * (TCPago - TCVenta) If TCPago > TCVenta Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), SerieFolio, 64, ConceptoPartida, FechaPago, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), SerieFolio, 64, ConceptoPartida, FechaPago, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then MsgError = "Ocurrio un error al saldar el movimiento" End If Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), SerieFolio, 65, ConceptoPartida, FechaPago, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), SerieFolio, 65, ConceptoPartida, FechaPago, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then MsgError = "Ocurrio un error al saldar el movimiento" End If End If