diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb
index 2ba9024bc..adb1dce73 100644
--- a/App_Code/LogicNominas.vb
+++ b/App_Code/LogicNominas.vb
@@ -471,7 +471,7 @@ Public Class LogicNominas
cfdi.Nomina.Receptor.NumeroCuenta = BancoNumCuenta
cfdi.Nomina.Receptor.SDI = SDI
cfdi.Nomina.Receptor.SBC = SalarioDiarioSS
- cfdi.Nomina.Receptor.Sindicalizado = If(Sindicalizado, "Si", "No")
+ cfdi.Nomina.Receptor.Sindicalizado = If(Sindicalizado, "Sí", "No")
cfdi.Nomina.Receptor.CodigoEntidadFederativa = 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(), .ObjetoImpuesto = "01"})
diff --git a/Nomina/ConceptoNomina.aspx.cs b/Nomina/ConceptoNomina.aspx.cs
index 96b183355..7347cb4f8 100644
--- a/Nomina/ConceptoNomina.aspx.cs
+++ b/Nomina/ConceptoNomina.aspx.cs
@@ -84,14 +84,15 @@ public partial class Nomina_CatConcepto : ClsPaginas
StringBuilder strKeys3;
public void tree_Tables()
{
- ClsNominas objnom = new ClsNominas();
strKeys = new StringBuilder();
strKeys2 = new StringBuilder();
strKeys3 = new StringBuilder();
StringBuilder tablaarbol = new StringBuilder();
- objnom.GetNom_Refencias(UsuarioActual.CveEmpresa);
- dtrefrencias = objnom.DtResultados;
- objnom.Dispose();
+ using (ClsNominas objnom = new ClsNominas())
+ {
+ objnom.GetNom_Refencias(UsuarioActual.CveEmpresa);
+ dtrefrencias = objnom.DtResultados;
+ }
strKeys.Append("{");
int tipo = 1;
#region tablas
@@ -472,7 +473,7 @@ public partial class Nomina_CatConcepto : ClsPaginas
//DdlCtaContable.SelectedValueExist(drow["CveCuenta"]);
if (DdlCtaContable.DataValueField == "Id")
{
- DdlCtaContable.SelectedValueExist( drow["IdCtaContable"]);
+ DdlCtaContable.SelectedValueExist(drow["IdCtaContable"]);
}
else
{
@@ -486,7 +487,8 @@ public partial class Nomina_CatConcepto : ClsPaginas
// DdlCtaContable.SelectedValueExist(drow["IdCtaContable"]);
//}
DdlConceptoSAT.SelectedValueExist(drow["CveSATConcepto"]);
- }else
+ }
+ else
{
CveConcepto = 0;
diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx
index 6e0449e69..62edb17f8 100644
--- a/Nomina/Nomina.aspx
+++ b/Nomina/Nomina.aspx
@@ -262,6 +262,9 @@
diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs
index 119681518..37d9fac26 100644
--- a/Nomina/Nomina.aspx.cs
+++ b/Nomina/Nomina.aspx.cs
@@ -249,7 +249,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (!IsPostBack)
{
- LnkCargaNetos.Visible = (UsuarioActual.CveRol == 1);
+ LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") ||(UsuarioActual.CveRol == 1);
using (ClsRH objrh = new ClsRH())
{
if (objrh.TiposTrabajadorGet(-1, UsuarioActual.CveEmpresa))
@@ -2097,6 +2097,111 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
+
+ protected void LnkModalPlantillaNominaUnConc_Click(object sender, EventArgs e)
+ {
+ RegistraScript("$('#DModalNominasUnConcepto').modal();");
+
+ using (ClsNominas ObjNomina = new ClsNominas())
+ {
+ if (ObjNomina.GetConceptos(UsuarioActual.CveEmpresa))
+ {
+ DdlUnConcepto.DataSource = ObjNomina.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}");
+ DdlUnConcepto.DataBind();
+ }
+ }
+
+ UpCargarNominaUnConcepto.Update();
+ }
+ protected void LnkFormatoUnConcepto_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ StringBuilder str = new StringBuilder("0");
+ bool continuar = true;
+ str.AppendFormat(",{0}", DdlUnConcepto.SelectedValue.ToEntero());
+ string msgerror = "";
+ if (dtConceptos == null || dtConceptos.Columns.Count <= 2)
+ {
+ msgerror = "Debe cargar el periodo antes de descargar la plantilla";
+ continuar = false;
+ }
+ if (continuar)
+ {
+
+ ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
+
+ var libro = wb.AddWorksheet("Nomina");
+ int column = 1;
+ libro.Cell(1, column).Value = "Codigo";
+ column++;
+ libro.Cell(1, column).Value = "Empleado";
+ libro.Column(column).Width = 35;
+ DataTable dtcP = dtConceptos.FiltraParametros(string.Format(" CveConcepto in({0})", str));
+ foreach (DataRow row in dtcP.Rows)
+ {
+ column++;
+ libro.Cell(1, column).Value = string.Format("{0} - {1} - Valor", row["Codigo"], row["Concepto"]);
+ column++;
+ libro.Cell(1, column).Value = string.Format("{0} - {1} - Importe", row["Codigo"], row["Concepto"]);
+ column++;
+ libro.Cell(1, column).Value = string.Format("{0} - {1} - ImporteGravado", row["Codigo"], row["Concepto"]);
+ }
+
+ libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
+ libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
+
+ int Fila = 1;
+ foreach (DataRow erow in dtempleados.FiltraParametros("CvePersonal>0 AND NomAutorizado=0").Rows)
+ {
+ Fila++;
+ column = 1;
+ libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
+ column++;
+ libro.Cell(Fila, column).Value = erow["Nombre"];
+ foreach (DataRow row in dtcP.Rows)
+ {
+ column++;
+ string Concepto = string.Format("VAL_{0}", row["CveConcepto"]);
+ libro.Cell(Fila, column).Value = erow[Concepto];
+ column++;
+ Concepto = string.Format("V_{0}", row["CveConcepto"]);
+ libro.Cell(Fila, column).Value = erow[Concepto];
+ column++;
+ Concepto = string.Format("VG_{0}", row["CveConcepto"]);
+ libro.Cell(Fila, column).Value = erow[Concepto];
+ }
+ }
+ libro.Columns().AdjustToContents();
+ System.IO.Stream fs = new System.IO.MemoryStream();
+ wb.SaveAs(fs);
+ fs.Position = 0;
+ System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
+ using (System.IO.Stream input = fs)
+
+ {
+ input.CopyTo(memoryStream);
+ }
+ memoryStream.Position = 0;
+
+ Response.Clear();
+ Response.Buffer = true;
+
+ Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
+ Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "Plantilla conceptos nómina "));
+ Response.BinaryWrite(memoryStream.ToArray());
+ Response.End();
+ }
+ else
+ {
+ Alert(msgerror, TipoMensaje.MsgAdvertencia);
+ }
+ }
+ catch (Exception ex)
+ {
+ Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString(), TipoMensaje.MsgAdvertencia);
+ }
+ }
protected void LnkCargarNomina_Click(object sender, EventArgs e)
{
diff --git a/RH/CalculoSBC.aspx b/RH/CalculoSBC.aspx
index d281a1262..63b3a9af1 100644
--- a/RH/CalculoSBC.aspx
+++ b/RH/CalculoSBC.aspx
@@ -28,6 +28,12 @@
Descargar
+
+ Formato carga masiva
+
+
+ Carga masiva
+
Guardar
@@ -40,6 +46,7 @@
+
<%-- --%>
@@ -832,6 +839,72 @@
+
+