diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs
index 94242dff5..63eb40ab1 100644
--- a/Nomina/Nomina.aspx.cs
+++ b/Nomina/Nomina.aspx.cs
@@ -21,6 +21,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
get { return 5; }
}
+ private DataTable dtNomConceptos
+ {
+ get
+ {
+ if (ViewState["dtNomConceptos"] == null) { return null; }
+ else { return (DataTable)ViewState["dtNomConceptos"]; }
+ }
+
+ set { ViewState["dtNomConceptos"] = value; }
+ }
private DataTable dtPeriodos
{
@@ -179,6 +189,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
#endregion
protected void Page_Load(object sender, EventArgs e)
{
+
if (!IsPostBack)
{
LnkVerCalculoISR.Visible = (UsuarioActual.CveUsuario == 100);
@@ -217,6 +228,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
DataTable dtperinc = null;
using (ClsNominas onom = new ClsNominas())
{
+
+ if (onom.GetConceptos(UsuarioActual.CveEmpresa))
+ {
+ dtNomConceptos = onom.DtResultados;
+ }
if (onom.PersonalIncapacidadCatalogos())
{
dtperinc = onom.DtResultados;
@@ -374,6 +390,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
public void cargaDatos(bool cargaasistencia = true)
{
+ int Estatus = 0;
int CveEmpresa = UsuarioActual.CveEmpresa;
bool continuar = false;
@@ -383,10 +400,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
DataTable dtPeriodo = new DataTable();
DataTable dtasistencia = new DataTable();
LnkAutorizar.Visible = false;
+ Estatus = 5;
if (FiltCvePeriodo > 0)
{
- int Estatus = 0;
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, FiltCvePeriodo))
@@ -396,10 +413,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
int CvePrePolizaProvision = drow["CvePrePolizaProvision"].ToString().ToEntero();
int CvePrePolizaProvisionAsimilados = drow["CvePrePolizaAsimilables"].ToString().ToEntero();
LnkConceptoEmpleado.Visible = (Estatus == 1);
- LnkRegistrarProvision.Visible = (Estatus >= 2);// && CvePrePolizaProvision <= 0;
+ LnkRegistrarProvision.Visible = (Estatus >= 2) && (CvePrePolizaProvision <= 0 || UsuarioActual.CveUsuario == 100);
LnkConceptoEmpleado.Visible = (Estatus < 2);
LnkCargaAsistenciaMasiva.Visible = (Estatus < 2);
- LnkModalPlantillaNomina.Visible = (Estatus < 2);
+ LnkModalPlantillaNomina.Visible = true;
LnkTimbrarTodos.Visible = (Estatus > 2);
LnkLayoutContable.Visible = (Estatus > 2);
@@ -414,7 +431,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkFormatoTabular.Visible = true;
HypPDFSTimbrados.Visible = true;
- if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 1)
+ if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 4)
{
dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
@@ -425,7 +442,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
continuar = true;
}
- LnkTimbrarTodos.Visible = dtempleados.Rows.Count > 0 && dtempleados.COUNT("CvePersonal", "SeTimbro=0 AND CvePersonal >0 AND NomAutorizado =1") > 0;
+ LnkTimbrarTodos.Visible = (dtempleados.Rows.Count > 0 &&
+ dtempleados.COUNT("CvePersonal", "SeTimbro=0 AND CvePersonal >0 AND NomAutorizado =1") > 0);
}
}
@@ -835,7 +853,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
#endregion
UpDatos.Update();
- LnkAutorizar.Visible = dtempleados.COUNT("CvePersonal", " CvePersonal > 0 AND NomAutorizado =0") > 0;
+ LnkAutorizar.Visible = (dtempleados.COUNT("CvePersonal", " CvePersonal > 0 AND NomAutorizado =0") > 0) || (Estatus < 2);
}
private void setGVNominas()
{
@@ -1103,10 +1121,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
//AutorizaNom_Nominas
if (continuar && (continuar = Nom.RemoveNom_Nominas(Cve)))
{
- Alert("Los movimientos de la nómina fueron eliminados", TipoMensaje.MsgInformacion); cargaDatos();
+
Nom.Commit();
}
}
+ if (continuar)
+ {
+ Alert("Los movimientos de la nómina fueron eliminados", TipoMensaje.MsgInformacion);
+ cargaDatos();
+
+ }
}
protected void LnkCancelar_Click(object sender, EventArgs e)
@@ -1569,6 +1593,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
if (ObjConta.Conectado && ObjConta.GetCuentas(-1, "-1", 1))
{
+ DdlCtaContable.DataValueField = "Id";
DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind();
}
@@ -2465,8 +2490,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
LtlImporte.Visible = true;
LtlImporteD.Visible = true;
- LtlImporte.Text = (CveConcepto > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteP").ToDecimal()) : (CveConceptoPolgvc > 0 ? "" : ""));
- LtlImporte.Text = (CveConceptoD > 0 ? string.Format("${0:N2}", e.Row.DataKey("ImporteD").ToDecimal()) : (CveConceptoDolgvc > 0 ? "" : ""));
+ LtlImporte.Text = ((CveConcepto > 0 || e.Row.CssClass == "ConceptosTotales") ? string.Format("${0:N2}", e.Row.DataKey("ImporteP").ToDecimal()) : (CveConceptoPolgvc > 0 ? "" : ""));
+ LtlImporteD.Text = ((CveConceptoD > 0 || e.Row.CssClass == "ConceptosTotales") ? string.Format("${0:N2}", e.Row.DataKey("ImporteD").ToDecimal()) : (CveConceptoDolgvc > 0 ? "" : ""));
LnkImporte.Visible = false;
LnkImporteD.Visible = false;
LnkImportexCalculo.Visible = false;
@@ -4452,18 +4477,20 @@ public partial class Nomina_Nomina2 : ClsPaginas
protected void CargaConcepto()
{
+ DataTable dt = dtNomConceptos.FiltraParametros(" FormulaTotal = 'FNC.[MovimientosPermanentes]'");
DdlConcepto.Items.Clear();
if (DdlTipo.SelectedValue.Contiene("P", "D", "O"))
{
- DdlConcepto.DataSource = get_GlobalDTNomConceptos(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("Tipo ='{0}' AND FormulaTotal = 'FNC.[MovimientosPermanentes]'", DdlTipo.SelectedValue));
+ DdlConcepto.DataSource = dt.FiltraParametros(string.Format("Tipo ='{0}'", DdlTipo.SelectedValue));
}
- else
- {
- DdlConcepto.DataSource = get_GlobalDTNomConceptos(UsuarioActual.CveEmpresa).FiltraParametros(" FormulaTotal = 'FNC.[MovimientosPermanentes]'");
- }
- DdlConcepto.DataBind();
- DdlConcepto.Items.Insert(0, new ListItem("Seleccione", "-1"));
+ DataRow drow = dt.NewRow();
+ drow["CveConcepto"] = "-1";
+ drow["Concepto"] = "Seleccione";
+ dt.Rows.InsertAt(drow,0);
+ DdlConcepto.DataSource = dt;
DdlConcepto.SelectedValueExist("-1");
+ DdlConcepto.DataBind();
+ //DdlConcepto.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
private void CargaMovtoPermanente()
{
@@ -4509,7 +4536,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
decimal montoLimite = TxtMontoLimite.Text.ToDecimal();
string fechaInicioAplicacion = TxtFechaAplicacion.Text.ToDate().ToString("yyyy/MM/dd");
bool estatus = ChkEstatus.Checked;
- int CveCuenta =DdlCtaContable.SelectedValue.ToEntero();
+ int CveCuenta = DdlCtaContable.SelectedValue.ToEntero() * (DdlCtaContable.DataValueField == "Id" ? -1 : 1);
bool Continuar;
using (ClsNominas ObjMovt = new ClsNominas())
{
@@ -4536,7 +4563,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
decimal montoLimite = TxtMontoLimite.Text.ToDecimal();
string fechaInicioAplicacion = TxtFechaAplicacion.Text.ToDate().ToString("yyyy/MM/dd");
bool estatus = ChkEstatus.Checked;
- int CveCuenta = DdlCtaContable.SelectedValue.ToEntero();
+ int CveCuenta = DdlCtaContable.SelectedValue.ToEntero() * (DdlCtaContable.DataValueField == "Id" ? -1 : 1);
bool Continuar;
using (ClsNominas ObjMovt = new ClsNominas())
{
@@ -4567,6 +4594,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
int cveConcepto = gvRow.DataKey("CveConcepto").ToEntero();
int cvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveCuenta = gvRow.DataKey("CveCuenta").ToEntero();
+ int IdCtaContable = gvRow.DataKey("IdCtaContable").ToEntero();
string descripcion = gvRow.DataKey("Descripcion");
int tipoDescuento = gvRow.DataKey("TipoDescuento").ToEntero();
double valor = gvRow.DataKey("Valor").ToDouble();
@@ -4576,7 +4604,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
bool estatus = gvRow.DataKey("Estatus") == "1" || gvRow.DataKey("Estatus").ToUpper() == "TRUE";
DateTime fechaRegistro = gvRow.DataKey("FechaRegistro").ToDateTime();
string tipo = "P";
- DataRow drow = get_GlobalDTNomConceptos(UsuarioActual.CveEmpresa).FiltroPrimero(string.Format("Tipo ='{0}'", cveConcepto));
+ DataRow drow = dtNomConceptos.FiltroPrimero(string.Format("CveConcepto ='{0}'", cveConcepto));
if (drow != null)
{
tipo = drow["Tipo"].ToString();
@@ -4594,7 +4622,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
TxtMontoLimite.Text = montoLimite.ToString();
TxtFechaAplicacion.Text = $"{fechaInicioAplicacion:dd/MM/yyyy}";
DdlCtaContable.SelectedValueExist("-1");
- DdlCtaContable.SelectedValueExist(CveCuenta);
+ if (DdlCtaContable.DataValueField == "Id")
+ {
+ DdlCtaContable.SelectedValueExist(IdCtaContable);
+ }
+ else
+ {
+ DdlCtaContable.SelectedValueExist(CveCuenta);
+ }
ChkEstatus.Checked = estatus;
this.RegistraScript("$('#DModalMovtoPermanente').modal();");
@@ -4637,10 +4672,25 @@ public partial class Nomina_Nomina2 : ClsPaginas
protected void LnkAutorizar_Click(object sender, EventArgs e)
{
- autorizarNomina(-1);
+ if (autorizarNomina(-1))
+ {
+ using (ClsNominas objNomina = new ClsNominas())
+ {
+
+ if (objNomina.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, CvePeriodoSeleccionado) && objNomina.DtResultados.Rows.Count >0)
+ {
+ DataRow drow = objNomina.DtResultados.Rows[0];
+ int Estatus = drow["Estatus"].ToString().ToEntero();
+ if (Estatus < 2)
+ {
+ objNomina.CambiaEstatusPeriodo(CvePeriodoSeleccionado, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
+ };
+ }
+ }
+ }
}
- private void autorizarNomina(int FiltroCvePersonal)
+ private bool autorizarNomina(int FiltroCvePersonal)
{
bool continuar = true;
@@ -4648,7 +4698,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
DataTable dtr = dtempleados.FiltraParametros(string.Format("(CvePersonal={0} OR {0}=-1) AND CvePersonal > 0 AND NomAutorizado =0", FiltroCvePersonal), "", getcolumnas);
DataTable dtconp = null;
- int CvePeriodoSeleccionado = DdlPeriodo.SelectedValue.ToEntero();//cambiar reparar
+ //int CvePeriodoSeleccionado = DdlPeriodo.SelectedValue.ToEntero();//cambiar reparar
#region PropNomina
int CvePersonal = 0;
@@ -4688,7 +4738,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
else
{
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, SubTotal, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
- "", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
+ "", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Autorizado: false))
{
CveNomina = objNomina.CveNomina;
}
@@ -4738,7 +4788,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
int DiasIncapacidad = rtemp["DiasIncapacidad"].ToString().ToEntero();
continuar = objNomina.PA_Nom_NominasAutorizarUP(CvePersonal, CvePeriodoSeleccionado, SalarioDiario, SalarioDiarioIMSS, SalarioDiarioIntegrado, 0, 0, Total, SubTotal, DiasLaborados, DiasFaltados, DiasVacaciones, DiasIncapacidad);
- continuar = objNomina.AutorizaNom_Nominas(CvePersonal, CvePeriodoSeleccionado, true);
+ if (continuar) { continuar = objNomina.AutorizaNom_Nominas(CvePersonal, CvePeriodoSeleccionado, true); }
}
}
@@ -4750,8 +4800,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (continuar)
{
objNomina.Commit();
- Alert("La nomina se autorizó correctamente.");
- cargaDatos();
}
else
{
@@ -4769,6 +4817,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
dtconp.Dispose();
}
+ if (continuar)
+ {
+ Alert("La nomina se autorizó correctamente.");
+ cargaDatos();
+ }
+ return continuar;
}
@@ -6199,8 +6253,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
CvePrePolizaProvision = objnom.DtResultados.Rows[0]["CvePrePoliza"].ToString().ToEntero();
CvePrePolizaasmilidos = objnom.DtResultados.Rows[0]["CvePrePolizaAsimilables"].ToString().ToEntero();
}
- string mensaje = string.Format("La provision a sido autorizada.
Provision
", CvePrePolizaProvision );
- if (CvePrePolizaasmilidos>0)
+ string mensaje = string.Format("La provision a sido autorizada.
Provision
", CvePrePolizaProvision);
+ if (CvePrePolizaasmilidos > 0)
{
mensaje = string.Format("{0} Asimilados", mensaje, CvePrePolizaasmilidos);
@@ -6245,7 +6299,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
str.Append("");
str.Append("");
Alert(string.Format("no se pudo registrar la provisión, existen cuentas sin vincular.
{0}", str));
- }
+ }
}
}
}
diff --git a/vwd.webinfo b/vwd.webinfo
index 5fb864961..9a8ca7cdf 100644
--- a/vwd.webinfo
+++ b/vwd.webinfo
@@ -250,6 +250,14 @@
+
+
+
+
+
+
+
+