diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 767eee53e..57b45d695 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -3266,6 +3266,25 @@ Public Class ClsNominas
#End Region
#Region "MovtosPermanentes"
+ Public Function GetMovtoPermanenteRep(CveEmpresa As Int32, CvePersonal As Integer) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_GetMovtoPermanenteRep", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ retorno = True
+ Catch sqEx As SqlException
+ retorno = False
+ OnError("Ocurrió un error al obtener los Movtos Permanentes.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ retorno = False
+ OnError("Ocurrió un error al obtener los Movtos Permanentes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return retorno
+ End Function
Public Function GetMovtoPermanente(CveEmpresa As Int32, CvePersonal As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_GetMovtoPermanente", CommandType.StoredProcedure)
@@ -3305,7 +3324,7 @@ Public Class ClsNominas
End Try
Return retorno
End Function
- Public Function AddMovtoPermanente(cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As Date, estatus As Boolean, CveCuenta As Integer, Optional CveIE As Integer = -1) As Integer
+ Public Function AddMovtoPermanente(cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As Date, estatus As Boolean, CveCuenta As Integer, Optional CveIE As Integer = -1, Optional EsAcumulado As Integer = 0) As Integer
Dim retorno As Integer = 0
DataAdapter("PA_AddMovtoPermanente", CommandType.StoredProcedure)
@@ -3321,6 +3340,7 @@ Public Class ClsNominas
.Add("@estatus", SqlDbType.Bit).Value = (estatus)
.Add("@CveCuenta", SqlDbType.Int).Value = (CveCuenta)
.Add("@CveIE", SqlDbType.Int).Value = (CveIE)
+ .Add("@EsAcumulado", SqlDbType.Int).Value = (EsAcumulado)
.Add("@CveMovtoPermanente", SqlDbType.Int).Direction = ParameterDirection.Output
End With
Try
@@ -3335,7 +3355,7 @@ Public Class ClsNominas
End Try
Return retorno
End Function
- Public Function UpMovtoPermanente(cveMovtoPermanente As Int32, cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As Date, estatus As Boolean, CveCuenta As Integer) As Boolean
+ Public Function UpMovtoPermanente(cveMovtoPermanente As Int32, cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As Date, estatus As Boolean, CveCuenta As Integer, Optional EsAcumulado As Integer = -1) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_UpMovtoPermanente", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
@@ -3350,6 +3370,7 @@ Public Class ClsNominas
.Add("@fechaInicioAplicacion", SqlDbType.Date).Value = (fechaInicioAplicacion)
.Add("@estatus", SqlDbType.Bit).Value = (estatus)
.Add("@CveCuenta", SqlDbType.Int).Value = (CveCuenta)
+ .Add("@EsAcumulado", SqlDbType.Int).Value = (EsAcumulado)
End With
Try
SqlAdapter.Fill(Data)
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 3f05b8931..76e571b5f 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -8135,6 +8135,7 @@ Public Class ClsPaginas
Return Nothing
End If
Dim CveNomina As Integer = ObjNomina.CveNomina
+ Dim RFCPackCertifica As String = ""
Dim DTPercepciones As Data.DataTable
Dim DTDeducciones As Data.DataTable
Dim DTDeducciones2 As New Data.DataTable
@@ -8165,8 +8166,18 @@ Public Class ClsPaginas
If System.IO.File.Exists(PathXML) Then
Dim XmlDoc As New System.Xml.XmlDocument
'XmlDoc.Load(Ruta & "XML\\Nomina\NOM A-3845.xml")
+
+ Dim timbreFiscal = (XDocument.Load(PathXML)).Descendants().
+ Where(Function(e) e.Name.LocalName = "TimbreFiscalDigital").
+ FirstOrDefault()
+
+ If timbreFiscal IsNot Nothing Then
+ RFCPackCertifica = timbreFiscal.Attribute("RfcProvCertif")?.Value
+ Else
+ End If
XmlDoc.Load(PathXML)
+
If ValorNodoXML(XmlDoc.DocumentElement, "version").Contiene("3.3", "4.0") Then
FechaEmision = XmlDoc.DocumentElement.Attributes("Fecha").InnerText.ToDate
NoSerieCertificadoContribuyente = XmlDoc.DocumentElement.Attributes("NoCertificado").InnerText
@@ -8408,6 +8419,10 @@ Public Class ClsPaginas
Dim Archivo As New System.IO.FileInfo(RutaFormato)
If Not TieneError Then
If Archivo.Exists Then
+ If Extensiones.ModExtensiones.HasReportParameter(RutaFormato, "RFCPackCertifica") Then
+ RptParametro.Add(New ReportParameter("RFCPackCertifica", RFCPackCertifica))
+
+ End If
Retorno = StreamPDF(RutaFormato, LSRds, RptParametro, ObjNomina.SerieFolio, "PDF", MR:=Nothing)
Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\\{1}.pdf", RutaEmpresa, ObjNomina.SerieFolio))
If Not ArchivoPDF.Exists Then
diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb
index 10d354956..4e5d0a0fb 100644
--- a/App_Code/modExtensiones.vb
+++ b/App_Code/modExtensiones.vb
@@ -30,6 +30,7 @@ Namespace Extensiones
#Region "E X T E N S I O N E S"
Public Module ModExtensiones
+
Public ReadOnly Property foreign_characters As Dictionary(Of String, String)
Get
Dim fgk As Dictionary(Of String, String) = New Dictionary(Of String, String) From {
@@ -3771,6 +3772,20 @@ Namespace Extensiones
text = str.Replace("&", "&")
Return text
+ End Function
+
+
+ Function HasReportParameter(reportPath As String, parameterName As String) As Boolean
+ ' Leer el archivo .rdlc como XML
+ Dim rdlcDoc As XDocument = XDocument.Load(reportPath)
+
+ ' Buscar el parámetro en el XML
+ Dim parameters = From e In rdlcDoc.Descendants()
+ Where e.Name.LocalName = "ReportParameter"
+ Select e.Attribute("Name").Value
+
+ ' Verificar si existe el parámetro RFCPackCertifica
+ Return parameters.Contains(parameterName)
End Function
End Module
#End Region
diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx
index 4b3d3ab11..49396092f 100644
--- a/Nomina/Nomina.aspx
+++ b/Nomina/Nomina.aspx
@@ -794,6 +794,8 @@
+
+
@@ -1390,7 +1388,7 @@
+ DataKeyNames="CveMovtoPermanente,CveConcepto,CveCuenta,CvePersonal,Descripcion,MontoLimiteV,TipoDescuento,Valor,VecesAplicar,MontoLimite,EsAcumulado,FechaInicioAplicacion,Estatus,FechaRegistro">
@@ -1419,7 +1417,7 @@
+ CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("MontoLimiteV","{0:###,###.##}")%>'>
@@ -1444,6 +1442,8 @@
+
+
@@ -2182,6 +2182,207 @@
Cancelar
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%--
+
+
+
+
+
+
+
+
+ --%>
+ <%--
+
+
+
+ --%>
+ <%--
+
+
+
+ --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<%-- --%>
@@ -4359,132 +4560,7 @@
- <%--
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- showResult
-
- --%>
+
@@ -5101,7 +5177,7 @@
-
+
-
+
-
+
-
+
@@ -5166,7 +5242,7 @@
DataTextField="Columna" DataValueField="ColumnaDB" ValidationGroup="GrpGuardarOrder">
-
+
@@ -5205,202 +5281,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <%--
-
-
-
-
-
-
-
-
- --%>
- <%--
-
-
-
- --%>
- <%--
-
-
-
- --%>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs
index 89721786b..678a3bca4 100644
--- a/Nomina/Nomina.aspx.cs
+++ b/Nomina/Nomina.aspx.cs
@@ -40,7 +40,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
set { ViewState["DtNomOcultarMostrar"] = value; }
}
-
+
private DataTable DtNomPersonalizarxls
{
get
@@ -2642,10 +2642,92 @@ public partial class Nomina_Nomina2 : ClsPaginas
}//ImgDelete
protected void LnkReenviarCorreoSobreRecibo_Click(object sender, EventArgs e)
{
+
+ //string msggral = "";
+ int CvePeriodo = 0;
+ ClsSisMail Mail = new ClsSisMail();
+ DataTable dtpersonal = new DataTable();
+ DataRow drow;
+ using (ClsRH objrh = new ClsRH())
+ {
+ objrh.GetPersonal(-1, UsuarioActual.CveEmpresa);
+ dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto" });
+ }
+ using (ClsRH objrh = new ClsRH())
+ using (ClsNominas ObjNomina = new ClsNominas())
+ {
+ foreach (GridViewRow gvRow in GvNominas.Rows)
+ {
+ CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
+ int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
+ int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
+ int SeTimbro = (gvRow.DataKey("SeTimbro").ToUpper() == "TRUE" ? 1 : gvRow.DataKey("SeTimbro").ToEntero());
+ LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
+ string Correo = string.Empty;
+ string NombreCompleto = string.Empty;
+ if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
+ {
+ Correo = drow["Correo"].ToString();
+ NombreCompleto = drow["NombreCompleto"].ToString();
+ }
+ if (CvePersonal == SRCvePersonal && SeTimbro == 1)
+ {
+
+ if (Correo.Trim().Length > 0)
+ {
+ byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
+ if (pdf != null)
+ {
+ List
objarch = new List();
+
+ if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
+ {
+ string Ruta = "";
+ string PathXML = "";
+ string PathXMLF = "";
+ string Xmlname = "";
+ string XmlnameF = "";
+ //string empleado = "";
+ Ruta = UsuarioActual.Empresa.Ruta;
+ PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml";
+ PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
+ Xmlname = $"{ObjNomina.SerieFolio}.xml";
+ XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
+ objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
+ //this.GuardaLog(PathXML);
+ if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
+ {
+ objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname });
+ }
+ if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF))
+ {
+ objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF });
+ }
+ }
+
+ Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
+ // Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), Correo.Trim(), "", objarch);
+
+ objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
+
+ }
+ }
+
+
+ }
+ }
+ }
+ Alert("se reenvió el recibos timbrados");
}
protected void LnkCancelarSobreRecibo_Click(object sender, EventArgs e)
{
- showhideaccionesSR(true);
+ DataRow dr = dtempleados.FiltroPrimero(string.Format("CvePersonal = {0}", SRCvePersonal));
+ CveNominaCancelar = dr["CveNomina"].ToString().ToEntero();
+ DdlMotivoCancelacion.DataSource = get_GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltraParametros("CveSATMotivoCancelacion IN (2,3)");
+ DdlMotivoCancelacion.DataBind();
+ UpCancelarDocumento.Update();
+ RegistraScript("$('#ModalCancelarDocumento').modal()");
+ //showhideaccionesSR(true);
}
public void showhideaccionesSR(bool cargadatos = false)
{
@@ -4836,7 +4918,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
DataTable dtColumnas = GetTablaColumnasConceptos();
DdlMOPXColumna.DataSource = dtColumnas;
DdlMOPXColumna.DataBind();
-
+
{
addcoltopersonalizar("Codigo", "0", "Codigo", "");
@@ -4859,7 +4941,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0").Rows)//
- {
+ {
if (!(dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
addcoltopersonalizar(row["Concepto"].ToString(), "1", string.Format("[V_{0}]", row["CveConcepto"].ToString()), row["Codigo"].ToString());
@@ -4944,11 +5026,67 @@ public partial class Nomina_Nomina2 : ClsPaginas
UpPersonalizarxls.Update();
}
+ private void Titlecell(ClosedXML.Excel.IXLWorksheet libro, object Valor, int fi, int ff, bool topBorder = true, bool bottomBorder = true, ClosedXML.Excel.XLColor borderColor = null)
+ {
+ ClosedXML.Excel.IXLCell celda = libro.Cell(fi, ff);
+ celda.Value = Valor;
+ if (borderColor != null)
+ {
+ if (topBorder)
+ {
+ celda.Style.Border.TopBorder = ClosedXML.Excel.XLBorderStyleValues.Medium;
+ celda.Style.Border.TopBorderColor = borderColor;
+
+ }
+ celda.Style.Border.LeftBorder = ClosedXML.Excel.XLBorderStyleValues.Medium;
+ celda.Style.Border.LeftBorderColor = borderColor;
+ celda.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium;
+ celda.Style.Border.RightBorderColor = borderColor;
+
+ if (bottomBorder)
+ {
+ celda.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Medium;
+ celda.Style.Border.BottomBorderColor = borderColor;
+ }
+
+ }
+ }
+ //IXLRange
+ private void TitleRange(ClosedXML.Excel.IXLWorksheet libro, object Valor, int fi, int ff, int fi2, int ff2, bool topBorder = true, bool bottomBorder = true, ClosedXML.Excel.XLColor borderColor = null)
+ {
+ ClosedXML.Excel.IXLRange celda = libro.Range(fi, ff, fi2, ff2).Merge();
+ celda.Value = Valor;
+ if (borderColor != null)
+ {
+ if (topBorder)
+ {
+ celda.Style.Border.TopBorder = ClosedXML.Excel.XLBorderStyleValues.Medium;
+ celda.Style.Border.TopBorderColor = borderColor;
+
+ }
+ celda.Style.Border.LeftBorder = ClosedXML.Excel.XLBorderStyleValues.Medium;
+ celda.Style.Border.LeftBorderColor = borderColor;
+ celda.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium;
+ celda.Style.Border.RightBorderColor = borderColor;
+
+ if (bottomBorder)
+ {
+ celda.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Medium;
+ celda.Style.Border.BottomBorderColor = borderColor;
+ }
+
+ }
+ }
protected void LnkFormatoPersonalizado_Click(object sender, EventArgs e)
{
try
{
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
+ var PercborderColor = ClosedXML.Excel.XLColor.FromArgb(0, 102, 0);
+ var dedcborderColor = ClosedXML.Excel.XLColor.FromArgb(99, 37, 35);
+ ClosedXML.Excel.XLColor colorperp = ClosedXML.Excel.XLColor.FromArgb(51, 153, 102);
+ ClosedXML.Excel.XLColor colorded = ClosedXML.Excel.XLColor.FromArgb(150, 54, 52);
+ ClosedXML.Excel.IXLCell celda;
var libro = wb.AddWorksheet("Nomina");
int column = 1;
int filainicio = 3;
@@ -4968,71 +5106,88 @@ public partial class Nomina_Nomina2 : ClsPaginas
libro.Range(2, 2, 2, 4).Merge().Value = periodo;
int iniciotipe = column;
-
+ int incioConceptos = iniciotipe + 1;
column++;
- libro.Range(filainicio + 2, column, filainicio + 2, column).Merge().Value = "Mensual";
- libro.Range(filainicio + 3, column, filainicio + 3, column).Merge().Value = "Sueldo";
+ Titlecell(libro, "Mensual", filainicio + 2, column, true, false, PercborderColor);
+ Titlecell(libro, "Sueldo", filainicio + 3, column, false, true, PercborderColor);
+ Titlecell(libro, "", filainicio + 4, column, true, true, PercborderColor);
libro.Column(column).Width = 15;
column++;
- libro.Range(filainicio + 2, column, filainicio + 2, column).Merge().Value = "Sueldo";
- libro.Range(filainicio + 3, column, filainicio + 3, column).Merge().Value = "diario";
+ Titlecell(libro, "Sueldo", filainicio + 2, column, true, false, PercborderColor);
+ Titlecell(libro, "diario", filainicio + 3, column, false, true, PercborderColor);
+ Titlecell(libro, "", filainicio + 4, column, true, true, PercborderColor);
libro.Column(column).Width = 15;
column++;
- libro.Range(filainicio + 2, column, filainicio + 2, column).Merge().Value = "dias Pen";
- libro.Range(filainicio + 3, column, filainicio + 3, column).Merge().Value = "Pago";
+ Titlecell(libro, "dias Pen", filainicio + 2, column, true, false, PercborderColor);
+ Titlecell(libro, "Pago", filainicio + 3, column, false, true, PercborderColor);
+ Titlecell(libro, "", filainicio + 4, column, true, true, PercborderColor);
libro.Column(column).Width = 15;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 AND SoloVisible =0").Rows)
{
-
column++;
- libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
- libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
- libro.Column(column).Width = 15;
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
libro.Column(column).Hide();
}
+ else
+ {
+ Titlecell(libro, row["Concepto"].ToString(), filainicio + 2, column, true, false, PercborderColor);
+ Titlecell(libro, row["Codigo"].ToString(), filainicio + 3, column, false, true, PercborderColor);
+ Titlecell(libro, "", filainicio + 4, column, true, true, PercborderColor);
+ libro.Column(column).Width = 15;
+ }
+ }
+ column++;
+
+ TitleRange(libro, "Percepciones", filainicio + 2, column, filainicio + 3, column, true, true, PercborderColor);
+ Titlecell(libro, "", filainicio + 4, column, true, true, PercborderColor);
+ libro.Column(column).Width = 15;
+ if (iniciotipe < column)
+ {
+ libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
+ TitleRange(libro, "Percepciones", filainicio + 1, iniciotipe + 1, filainicio + 1, column, true, true, PercborderColor);
+ libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Percepciones";
}
- //column++;
- //libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Percepciones";
- //libro.Column(column).Width = 15;
- //if (iniciotipe < column)
- //{
- // libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
- // libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Percepciones";
- //}
iniciotipe = column;
+ int finPercepciones = iniciotipe;
column++;
- libro.Range(filainicio + 2, column, filainicio + 2, column).Merge().Value = "Incapacidad";
- libro.Range(filainicio + 3, column, filainicio + 3, column).Merge().Value = "Perm. Faltas";
+ TitleRange(libro, "Incapacidad", filainicio + 2, column, filainicio + 2, column, true, false, dedcborderColor);
+ TitleRange(libro, "Perm. Faltas", filainicio + 3, column, filainicio + 3, column, false, true, dedcborderColor);
+ Titlecell(libro, "", filainicio + 4, column, true, true, dedcborderColor);
libro.Column(column).Width = 15;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0").Rows)
{
column++;
- libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
- libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
- libro.Column(column).Width = 15;
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
libro.Column(column).Hide();
}
+ else
+ {
+ Titlecell(libro, row["Concepto"].ToString(), filainicio + 2, column, true, false, dedcborderColor);
+ Titlecell(libro, row["Codigo"].ToString(), filainicio + 3, column, false, true, dedcborderColor);
+ Titlecell(libro, "", filainicio + 4, column, true, true, dedcborderColor);
+ libro.Column(column).Width = 15;
+ }
}
- //column++;
- //libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Deducciones";
- //libro.Column(column).Width = 15;
-
- //if (iniciotipe < column)
- //{
- // libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
- // libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Deducciones";
- //}
+ column++;
+ TitleRange(libro, "Deducciones", filainicio + 2, column, filainicio + 3, column, true, true, dedcborderColor);
+ libro.Column(column).Width = 15;
+ if (iniciotipe < column)
+ {
+ libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
+ TitleRange(libro, "Deducciones", filainicio + 1, iniciotipe + 1, filainicio + 1, column, true, true, dedcborderColor);
+ Titlecell(libro, "", filainicio + 4, column, true, true, dedcborderColor);
+ }
+
+ int findeducciones = column;
//column++;
//libro.Cell(filainicio + 1, column).Value = " ";
@@ -5043,23 +5198,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Total";
libro.Column(column).Width = 15;
iniciotipe = column;
-
- //if (iniciotipe < column)
- //{
- // libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
- // libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Obligaciones";
- //}
- //libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
- //libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
- //libro.Row(3).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
- //libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
- //libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
- //libro.Row(3).Cell(1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
- //libro.Row(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
int maxnocolumn = column;
+ libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
+ libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
+ libro.Range(filainicio + 1, incioConceptos, filainicio + 4, finPercepciones).Style.Fill.SetBackgroundColor(colorperp);
+ libro.Range(filainicio + 1, finPercepciones + 1, filainicio + 4, findeducciones).Style.Fill.SetBackgroundColor(colorded);
int Fila = filainicio + 3;
int cveSupProyecto = -5;
@@ -5068,7 +5214,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
int oldcveSupProyecto = -5;
bool newsubproyecto = false;
bool newsubproyectoTitulo = false;
- List filasborrar= new List();
+ List filasborrar = new List();
DataTable dtsr = dtempleados.FiltraParametros("", "CveSubProyecto");
dtsr.Rows.Add(dtsr.NewRow());
foreach (DataRow erow in dtsr.Rows)
@@ -5107,6 +5253,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
column++;
libro.Cell(Fila, column).Value = erow["SalarioDiario"];
+ libro.Cell(Fila, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;\"\"";
column++;
libro.Cell(Fila, column).Value = "";
@@ -5115,22 +5262,32 @@ public partial class Nomina_Nomina2 : ClsPaginas
column++;
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
libro.Cell(Fila, column).Value = erow[Concepto];
+ libro.Cell(Fila, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;\"\"";
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM(Concepto, string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
+ libro.Cell(Fila -3, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;";
}
}
- //column++;
- //libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
- //libro.Cell(Fila, column).Value = erow["SumaPercepciones"];
- //if (newsubproyecto)
- //{
- // libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaPercepciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
- //}
+ column++;
+ libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(colorperp);
+ Titlecell(libro, erow["SumaPercepciones"], Fila, column, false, false, PercborderColor);
+ libro.Cell(Fila, column).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
+ libro.Cell(Fila, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;\"\"";
+ if (newsubproyecto)
+ {
+ libro.Cell(Fila - 2, column).Style.Fill.SetBackgroundColor(colorperp);
+ Titlecell(libro,"", Fila - 2, column, false, false, PercborderColor);
+ libro.Cell(Fila - 3, column).Style.Fill.SetBackgroundColor(colorperp);
+ libro.Cell(Fila - 3, column).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
+ libro.Cell(Fila-3, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;";
+ Titlecell(libro, dtempleados.SUM("SumaPercepciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto)), Fila - 3, column, true, true, PercborderColor);
+ //libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaPercepciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
+ }
column++;
@@ -5140,20 +5297,30 @@ public partial class Nomina_Nomina2 : ClsPaginas
column++;
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
libro.Cell(Fila, column).Value = erow[Concepto];
+ libro.Cell(Fila, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;\"\"";
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM(Concepto, string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
+ libro.Cell(Fila-3, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;";
}
}
- //column++;
- //libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
- //libro.Cell(Fila, column).Value = erow["SumaDeducciones"];
- //if (newsubproyecto)
- //{
- // libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaDeducciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
- //}
+ column++;
+ libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(colorded);
+ Titlecell(libro, erow["SumaDeducciones"], Fila, column, false, false, dedcborderColor);
+ libro.Cell(Fila, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;\"\"";
+ libro.Cell(Fila, column).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
+ if (newsubproyecto)
+ {
+ libro.Cell(Fila - 2, column).Style.Fill.SetBackgroundColor(colorded);
+ Titlecell(libro, "", Fila - 2, column, false, false, dedcborderColor);
+ libro.Cell(Fila - 3, column).Style.Fill.SetBackgroundColor(colorded);
+ libro.Cell(Fila -3, column).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
+ libro.Cell(Fila-3, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;";
+ Titlecell(libro, dtempleados.SUM("SumaDeducciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto)), Fila - 3, column, true, true, dedcborderColor);
+ //libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaDeducciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
+ }
//column++;
//libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
//libro.Cell(Fila, column).Value = erow["SumaEspecie"];
@@ -5164,8 +5331,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["Total"];
+ libro.Cell(Fila, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;\"\"";
if (newsubproyecto)
{
+ libro.Cell(Fila-2, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
+ libro.Cell(Fila-3, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
+ libro.Cell(Fila-3, column).Style.NumberFormat.Format = "#,##0.00;-#,##0.00;";
libro.Cell(Fila - 3, column).Value = dtempleados.SUM("Total", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
}
@@ -5190,9 +5361,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
//}
}
+ libro.Rows(Fila-2, Fila).Delete();
- libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
- libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
{
var columnsToDelete = new List();
foreach (var columnx in libro.Columns())
@@ -5211,11 +5381,14 @@ public partial class Nomina_Nomina2 : ClsPaginas
libro.Column(columnNumber).Delete();
}
}
+ int primera = filasborrar.First();
+ filasborrar.Remove(primera);
filasborrar.Reverse();
foreach (int rownumber in filasborrar)
{
- libro.Rows(rownumber, rownumber).Delete();
+ libro.Rows(rownumber-1, rownumber).Delete();
}
+ libro.Rows(primera, primera).Delete();
System.IO.Stream fs = new System.IO.MemoryStream();
wb.SaveAs(fs);
fs.Position = 0;
@@ -10525,7 +10698,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
StringBuilder SbErrores = new StringBuilder();
bool ErroresValidaciones = false;
int modalidadnomina = 1;
- if (UsuarioActual.CveEmpresa.Contiene(189,193,195,196,197)) modalidadnomina = 2;
+ if (UsuarioActual.CveEmpresa.Contiene(189, 193, 195, 196, 197)) modalidadnomina = 2;
SbErrores.AppendLine("Se detectaron los siguientes errores en la generación del layout: ");
@@ -11994,4 +12167,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
UpDatos.Update();
}
+
+ protected void ddltipoPersonalizar_SelectedIndexChanged(object sender, EventArgs e)
+ {
+
+ }
}
\ No newline at end of file
diff --git a/Ventas/RepProductosServiciosDetalle.aspx b/Ventas/RepProductosServiciosDetalle.aspx
index 2e0d473fb..a12a4bf8b 100644
--- a/Ventas/RepProductosServiciosDetalle.aspx
+++ b/Ventas/RepProductosServiciosDetalle.aspx
@@ -433,9 +433,11 @@
<%--20--%>
<%--21--%>
-
+
<%--22--%>
-
+
+ <%--23--%>
+
@@ -477,7 +479,7 @@
-
+
@@ -493,11 +495,12 @@
-
-
+
+
+
-
+
diff --git a/Ventas/RepProductosServiciosDetalle.aspx.vb b/Ventas/RepProductosServiciosDetalle.aspx.vb
index c93e9be1d..a6a63d4bd 100644
--- a/Ventas/RepProductosServiciosDetalle.aspx.vb
+++ b/Ventas/RepProductosServiciosDetalle.aspx.vb
@@ -73,7 +73,8 @@ Partial Class Ventas_RepProductosServiciosDetalle
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
-
+ DivMostrarCgame.Visible = (UsuarioActual.CveEmpresa = 172)
+ DivMostrarCgame2.Visible = (UsuarioActual.CveEmpresa = 172)
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx")
SetValues()
CargaParametrosDetalle()
@@ -558,6 +559,7 @@ Partial Class Ventas_RepProductosServiciosDetalle
GvDatos.Columns(20).Visible = ChkOC_noOrden.Checked
GvDatos.Columns(21).Visible = ChkOC_Kilogramos.Checked
GvDatos.Columns(22).Visible = ChkOC_Cantidad.Checked
+ GvDatos.Columns(23).Visible = ChkNoManifiesto.Checked