This commit is contained in:
2021-06-26 12:55:53 -07:00
14 changed files with 1057 additions and 77 deletions

View File

@@ -107,7 +107,7 @@
<td> <td>
<asp:TextBox ID="TxtSindical" runat="server" Width="75px"></asp:TextBox></td> <asp:TextBox ID="TxtSindical" runat="server" Width="75px"></asp:TextBox></td>
<td> </td><td> </td> <td>P. Empleados:</td><td><asp:TextBox ID="TxtPrestamoEmpleados" runat="server" Width="75px"></asp:TextBox></td>
</tr> </tr>
</table> </table>
</asp:Panel> </asp:Panel>

View File

@@ -379,6 +379,7 @@ Partial Class AC_RegNomina
Dim IdCtaServicioMedico As Integer = 643 Dim IdCtaServicioMedico As Integer = 643
Dim IdCtaPension As Integer = 643 Dim IdCtaPension As Integer = 643
Dim IdCtaISRAsimilados As Integer = 4442 Dim IdCtaISRAsimilados As Integer = 4442
Dim IdCtaPrestamoEmpleados As Integer = 4477
Dim Importe As Double Dim Importe As Double
Dim MsgError As String = "" Dim MsgError As String = ""
@@ -617,6 +618,9 @@ Partial Class AC_RegNomina
Importe = TxtISRAsimilados.Text.ToDouble Importe = TxtISRAsimilados.Text.ToDouble
If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaISRAsimilados, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaISRAsimilados, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True
'Registro Prestamo Empleados
Importe = TxtPrestamoEmpleados.Text.ToDouble
If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaPrestamoEmpleados, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True
''Registro del Mov Devolución ''Registro del Mov Devolución
'Importe = TxtISPT.Text.ToDouble - TxtCredSalario.Text.ToDouble 'Importe = TxtISPT.Text.ToDouble - TxtCredSalario.Text.ToDouble

View File

@@ -174,7 +174,7 @@ Public Class ClsGenerales
Return retorno Return retorno
End Function End Function
Public Function RepConciliacionSatGET(cveEmpresa As Int32, tipoDocto As String, fechaI As String, fechaF As String) As Boolean Public Function RepConciliacionSATGet(cveEmpresa As Int32, tipoDocto As String, fechaI As String, fechaF As String) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
DataAdapter("PA_RepConciliacionSatGET", CommandType.StoredProcedure) DataAdapter("PA_RepConciliacionSatGET", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters

View File

@@ -277,6 +277,49 @@ Public Class ClsNominas
End Try End Try
Return retorno Return retorno
End Function End Function
Public Function ComparativoSATNominasGet(cveEmpresa As Integer, xml As String, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean
Dim retorno As Boolean = False
DTSet = New DataSet()
DataAdapter("[PA_Nom_ComparativoSATNominasGet]", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@xml", SqlDbType.Xml).Value = xml
.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)
If DTSet.Tables.Count > 0 Then
Data = DTSet.Tables(0)
End If
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 ReportedeNominasGet(cveEmpresa As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean
Dim retorno As Boolean = False
DTSet = New DataSet()
DataAdapter("[PA_Nom_ReportedeNominasGet]", 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)
If DTSet.Tables.Count > 0 Then
Data = DTSet.Tables(0)
End If
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 ReportedePercepcionesDeduccionesGet(cveEmpresa As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean Public Function ReportedePercepcionesDeduccionesGet(cveEmpresa As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
DTSet = New DataSet() DTSet = New DataSet()

View File

@@ -3866,6 +3866,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Ventas/SolicitudesSAT.aspx".ToUpper(), 717) PaginaDict.Add("/Ventas/SolicitudesSAT.aspx".ToUpper(), 717)
PaginaDict.Add("/Nomina/CatConceptos2.aspx".ToUpper(), -1) PaginaDict.Add("/Nomina/CatConceptos2.aspx".ToUpper(), -1)
PaginaDict.Add("/Nomina/NomTimbrados.aspx".ToUpper(), 920)
PaginaDict.Add("/Nomina/Aguinaldo.aspx".ToUpper(), -1) PaginaDict.Add("/Nomina/Aguinaldo.aspx".ToUpper(), -1)
PaginaDict.Add("/Nomina/RepInversiondeNomina.aspx".ToUpper(), 906) PaginaDict.Add("/Nomina/RepInversiondeNomina.aspx".ToUpper(), 906)
PaginaDict.Add("/RH/DiasFestivos.aspx".ToUpper(), -1) PaginaDict.Add("/RH/DiasFestivos.aspx".ToUpper(), -1)

Binary file not shown.

Binary file not shown.

View File

@@ -134,7 +134,7 @@ public partial class Nomina_Finiquito : ClsPaginas
HypCodigo.Text = drow["Codigo"].ToString(); HypCodigo.Text = drow["Codigo"].ToString();
HypEmpleado.Text = drow["NombreCompleto"].ToString(); HypEmpleado.Text = drow["NombreCompleto"].ToString();
HypCodigo.NavigateUrl =$"/RH/Personal.aspx?CvePersonal={drow["CvePersonal"]}"; HypCodigo.NavigateUrl = $"/RH/Personal.aspx?CvePersonal={drow["CvePersonal"]}";
LblPuesto.Text = drow["Puesto"].ToString(); LblPuesto.Text = drow["Puesto"].ToString();
LblSalario.Text = drow["SalarioDiario"].ToString(); LblSalario.Text = drow["SalarioDiario"].ToString();
LtlAreaGeografica.Text = drow["AreaGeografica"].ToString(); LtlAreaGeografica.Text = drow["AreaGeografica"].ToString();
@@ -147,7 +147,7 @@ public partial class Nomina_Finiquito : ClsPaginas
FechaInicio = LblFechaAlta.Text.ToDateTime(); FechaInicio = LblFechaAlta.Text.ToDateTime();
TxtFechaBaja.Text = string.Format("{0:dd/MM/yyyy}", da["FechaFin"]); TxtFechaBaja.Text = string.Format("{0:dd/MM/yyyy}", da["FechaFin"]);
{ {
if(da["CveMotivoBaja"].ToString() == "") if (da["CveMotivoBaja"].ToString() == "")
{ {
chkIndemnizacion.Checked = true; chkIndemnizacion.Checked = true;
chkSeparacionUnica.Checked = true; chkSeparacionUnica.Checked = true;
@@ -158,18 +158,19 @@ public partial class Nomina_Finiquito : ClsPaginas
chkIndemnizacion.Checked = da["ValIndemnizacion"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" }); chkIndemnizacion.Checked = da["ValIndemnizacion"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
chkSeparacionUnica.Checked = da["ValSeparacionunica"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" }); chkSeparacionUnica.Checked = da["ValSeparacionunica"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
chkPrimaantiguedad.Checked = da["ValPrimadeantiguedad"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" }); chkPrimaantiguedad.Checked = da["ValPrimadeantiguedad"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
} }
} }
DdlMotivoBaja.SelectedValueExist(da["CveMotivoBaja"]); DdlMotivoBaja.SelectedValueExist(da["CveMotivoBaja"]);
TxtSalarioMinimo.Text = $"{da["SalarioMinimo"]:N2}" ; TxtSalarioMinimo.Text = $"{da["SalarioMinimo"]:N2}";
ChkesLiquidacion.Checked = (da["esLiquidacion"].ToString() == "1" || da["esLiquidacion"].ToString().ToUpper() == "TRUE"); ChkesLiquidacion.Checked = (da["esLiquidacion"].ToString() == "1" || da["esLiquidacion"].ToString().ToUpper() == "TRUE");
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero(); CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero(); CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero();
if (CvePeriodoIndemnizacion > 0) if (CvePeriodoFiniquito > 0)
{ {
LnkCancelar.Visible = true; LnkCancelar.Visible = true;
LnkSimular.Visible = false;
using (ClsNominas onom = new ClsNominas()) using (ClsNominas onom = new ClsNominas())
{ {
loadsobrerecibo(onom); loadsobrerecibo(onom);
@@ -208,17 +209,17 @@ public partial class Nomina_Finiquito : ClsPaginas
{ {
decimal retorno = 0; decimal retorno = 0;
decimal mes =12; decimal mes = 12;
retorno =(fechafin.Year -fechainicio.Year ) - (fechafin.Month > fechainicio.Month ? 0 : (fechafin.Month == fechainicio.Month && fechafin.Day > fechainicio.Day ? 0 : 1)); retorno = (fechafin.Year - fechainicio.Year) - (fechafin.Month > fechainicio.Month ? 0 : (fechafin.Month == fechainicio.Month && fechafin.Day > fechainicio.Day ? 0 : 1));
retorno +=(((fechafin.Month == fechainicio.Month && fechafin.Day > fechainicio.Day ? fechainicio.Month : fechafin.Month + (fechafin.Month > fechainicio.Month ? 0 : 12)) - fechainicio.Month) / mes); retorno += (((fechafin.Month == fechainicio.Month && fechafin.Day > fechainicio.Day ? fechainicio.Month : fechafin.Month + (fechafin.Month > fechainicio.Month ? 0 : 12)) - fechainicio.Month) / mes);
/* DateTime zeroTime = new DateTime(1, 1, 1); /* DateTime zeroTime = new DateTime(1, 1, 1);
TimeSpan span; TimeSpan span;
if (fechainicio < fechafin) if (fechainicio < fechafin)
{ {
span = fechafin - fechainicio; span = fechafin - fechainicio;
decimal years = (zeroTime + span).Year - 1; decimal years = (zeroTime + span).Year - 1;
retorno = Math.Round(years + (span.TotalDays.ToString().ToDecimal() / 365), 4); retorno = Math.Round(years + (span.TotalDays.ToString().ToDecimal() / 365), 4);
}*/ }*/
return retorno; return retorno;
} }
@@ -232,7 +233,7 @@ public partial class Nomina_Finiquito : ClsPaginas
{ {
using (ClsNominas onom = new ClsNominas()) using (ClsNominas onom = new ClsNominas())
{ {
if (onom.DeleteNom_NominasDetalles(SRCveConcepto, CvePersonal, CvePeriodoIndemnizacion)) if (onom.DeleteNom_NominasDetalles(SRCveConcepto, CvePersonal, CvePeriodoFiniquito))
{ {
Alert("el importe sera tomado del calculo y no del valor fijo"); Alert("el importe sera tomado del calculo y no del valor fijo");
} }
@@ -294,7 +295,7 @@ public partial class Nomina_Finiquito : ClsPaginas
} }
protected void DdlmcConceptos_SelectedIndexChanged(object sender, EventArgs e) protected void DdlmcConceptos_SelectedIndexChanged(object sender, EventArgs e)
{ {
int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero(); int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero();
TxtmcImporte.Text = ""; TxtmcImporte.Text = "";
TxtmcImporteGrabado.Text = ""; TxtmcImporteGrabado.Text = "";
@@ -806,7 +807,7 @@ public partial class Nomina_Finiquito : ClsPaginas
double percepcionesindem = 0; double percepcionesindem = 0;
double deduccionesindem = 0; double deduccionesindem = 0;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 And CveSistema IN(10,11,32) ").Rows) foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('P') AND EsPadre = 1 And CveSistema IN(10,11,32) ").Rows)
{ {
int CveConcepto = row["CveConcepto"].ToString().ToEntero(); int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString(); string Concepto = row["Concepto"].ToString();
string Codigo = row["Codigo"].ToString(); string Codigo = row["Codigo"].ToString();
@@ -902,15 +903,15 @@ public partial class Nomina_Finiquito : ClsPaginas
SubTotales.CveConceptoP = 0; SubTotales.CveConceptoP = 0;
SubTotales.ConceptoP = "Total Percepciones"; SubTotales.ConceptoP = "Total Percepciones";
SubTotales.EstatusP = -2; SubTotales.EstatusP = -2;
SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", SRCvePersonal))- percepcionesindem; SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", SRCvePersonal)) - percepcionesindem;
///Alert(SubTotales.ImporteP.ToString()); ///Alert(SubTotales.ImporteP.ToString());
SubTotales.CveConceptoD = 0; SubTotales.CveConceptoD = 0;
SubTotales.ConceptoD = "Total Deducciones"; SubTotales.ConceptoD = "Total Deducciones";
SubTotales.EstatusD = -2; SubTotales.EstatusD = -2;
SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", SRCvePersonal))- deduccionesindem; SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", SRCvePersonal)) - deduccionesindem;
double neto = SubTotales.ImporteP - SubTotales.ImporteD; double neto = SubTotales.ImporteP - SubTotales.ImporteD;
NConcepto Totales = new NConcepto(); NConcepto Totales = new NConcepto();
Totales.CveConceptoD = 0; Totales.CveConceptoD = 0;
@@ -1026,14 +1027,14 @@ public partial class Nomina_Finiquito : ClsPaginas
SubTotales.CveConceptoP = 0; SubTotales.CveConceptoP = 0;
SubTotales.ConceptoP = "Total Percepciones"; SubTotales.ConceptoP = "Total Percepciones";
SubTotales.EstatusP = -2; SubTotales.EstatusP = -2;
SubTotales.ImporteP = percepcionesindem; SubTotales.ImporteP = percepcionesindem;
///Alert(SubTotales.ImporteP.ToString()); ///Alert(SubTotales.ImporteP.ToString());
SubTotales.CveConceptoD = 0; SubTotales.CveConceptoD = 0;
SubTotales.ConceptoD = "Total Deducciones"; SubTotales.ConceptoD = "Total Deducciones";
SubTotales.EstatusD = -2; SubTotales.EstatusD = -2;
SubTotales.ImporteD = deduccionesindem; SubTotales.ImporteD = deduccionesindem;
double neto = SubTotales.ImporteP - SubTotales.ImporteD; double neto = SubTotales.ImporteP - SubTotales.ImporteD;
NConcepto Totales = new NConcepto(); NConcepto Totales = new NConcepto();
@@ -1062,15 +1063,15 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsRH ObjPersonal = new ClsRH()) using (ClsRH ObjPersonal = new ClsRH())
using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL())) using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL()))
{ {
if (continuar =ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked,chkIndemnizacion.Checked ,chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0) if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
{ {
DataRow da = ObjPersonal.DtResultados.Rows[0]; DataRow da = ObjPersonal.DtResultados.Rows[0];
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero(); CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero(); CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero();
} }
if (continuar) if (continuar)
{ {
continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa,diasindemnizacion:Txtdiasindemnizacion.Text.ToEntero()); continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa, diasindemnizacion: Txtdiasindemnizacion.Text.ToEntero());
} }
if (continuar) if (continuar)
{ {
@@ -1081,7 +1082,7 @@ public partial class Nomina_Finiquito : ClsPaginas
ObjPersonal.RollBack(); ObjPersonal.RollBack();
} }
if (continuar) if (continuar)
{ loadsobrerecibo(onom); } { loadsobrerecibo(onom);LnkCancelar.Visible = true; LnkSimular.Visible = false; }
} }
} }
@@ -1291,7 +1292,9 @@ public partial class Nomina_Finiquito : ClsPaginas
{ {
if (onom.RemoveFiniquito(CvePersonal, UsuarioActual.CveEmpresa, CvePersonalAltas)) if (onom.RemoveFiniquito(CvePersonal, UsuarioActual.CveEmpresa, CvePersonalAltas))
{ {
loadsobrerecibo(onom);
Alert("se ha eliminado el proceso de finiquito"); Alert("se ha eliminado el proceso de finiquito");
UPDatos.Update();
} }
} }
} }
@@ -1310,7 +1313,7 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsRH ObjPersonal = new ClsRH()) using (ClsRH ObjPersonal = new ClsRH())
using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL())) using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL()))
{ {
if (continuar =ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0) if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
{ {
DataRow da = ObjPersonal.DtResultados.Rows[0]; DataRow da = ObjPersonal.DtResultados.Rows[0];
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero(); CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
@@ -1335,7 +1338,7 @@ public partial class Nomina_Finiquito : ClsPaginas
} }
UPDatos.Update(); UPDatos.Update();
} }
protected void BtnAceptarMC_Click(object sender, EventArgs e) protected void BtnAceptarMC_Click(object sender, EventArgs e)
{ {
@@ -1356,7 +1359,7 @@ public partial class Nomina_Finiquito : ClsPaginas
objNomina.IniciaTransacSQL(); objNomina.IniciaTransacSQL();
if (continuar) if (continuar)
{ {
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoIndemnizacion, -1, UsuarioActual.CveEmpresa)) if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoFiniquito, -1, UsuarioActual.CveEmpresa))
{ {
if (objNomina.DtResultados.Rows.Count > 0) if (objNomina.DtResultados.Rows.Count > 0)
{ {
@@ -1364,7 +1367,7 @@ public partial class Nomina_Finiquito : ClsPaginas
} }
else else
{ {
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoIndemnizacion, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina", if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoFiniquito, 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)) "", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, false))
{ {
CveNomina = objNomina.CveNomina; CveNomina = objNomina.CveNomina;
@@ -1389,7 +1392,7 @@ public partial class Nomina_Finiquito : ClsPaginas
if (continuar) if (continuar)
{ {
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoIndemnizacion, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true)) if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoFiniquito, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true))
{ {
continuar = false; continuar = false;
} }
@@ -1424,6 +1427,7 @@ public partial class Nomina_Finiquito : ClsPaginas
Alert("Debe seleccionar un concepto.", TipoMensaje.MsgAdvertencia); Alert("Debe seleccionar un concepto.", TipoMensaje.MsgAdvertencia);
} }
} }
UPDatos.Update();
} }

207
Nomina/NomTimbrados.aspx Normal file
View File

@@ -0,0 +1,207 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="NomTimbrados.aspx.cs" Inherits="Nomina_NomTimbrados" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
table {
background-color:white;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte SAT
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 hidden">Tipo Período:</label>
<div class="col-md-2 hidden">
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" CssClass="select2me" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 mediocol">del:</label>
<div class="col-md-2">
<div class="form-group input-iconright">
<asp:TextBox ID="TxtRpdFechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="TxtRpdFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender3" TargetControlID="TxtRpdFechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvRpdFechaInicio" runat="server" ControlToValidate="TxtRpdFechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VGReporterepperde"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaInicio"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 mediocol">al:</label>
<div class="col-md-2">
<div class="form-group input-iconright">
<asp:TextBox ID="TxtRpdFechaFin" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MaskedEditExtender5" runat="server" TargetControlID="TxtRpdFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender4" TargetControlID="TxtRpdFechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvRpdFechaFin" runat="server" ControlToValidate="TxtRpdFechaFin" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor ingréselo." ValidationGroup="VGReporterepperde"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaFin"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Consultar" Visible="true" class="btn btn-primary" />
</div>
</div>
</div>
<div class="tools">
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="Updatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table id="headerProcesaSUA" style="display: none">
<tr>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
</tr>
<tr>
<th >Nombre</th>
<th >RFC</th>
<th >Fecha timbrado</th>
<th >FolioFiscal</th>
<th colspan="2">Total</th>
<th colspan="2">SubTotal</th>
<th colspan="2">Total sueldo</th>
<th colspan="2">Total gravado</th>
<th colspan="2">Total excento</th>
<th colspan="2">otras deducciones</th>
<th colspan="2">Total ISR</th>
</tr>
</table>
<asp:GridView ID="GVNominasXmlsat" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
DataKeyNames="Tipo,NumeroSS,RFC" ShowHeaderWhenEmpty="true" data-tableheader="#headerProcesaSUA" OnRowDataBound="GVNominasXmlsat_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="" ShowHeader ="false">
<ItemTemplate>
<asp:Label ID="lblcodigoNombreCompleto" runat="server" Text='<%# string.Format ("{0} {1}", Eval("Codigo"), Eval("NombreCompleto"))%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" ItemStyle-Width="100" ShowHeader ="false">
<ItemTemplate>
<asp:Label ID="lblRFC" runat="server" Text='<%# Eval("RFC")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" ItemStyle-Width="100" ShowHeader ="false">
<ItemTemplate>
<asp:Label ID="lblfecha" runat="server" Text='<%# Eval("fechatimbrado","{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" ItemStyle-Width="100" ShowHeader ="false">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FolioFiscal")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Total","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubTotal","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubTotalSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalSueldo","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalSueldoSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubTotalG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubTotalGSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Totalexento","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalexentoSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("totalotrasdeducciones","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("totalotrasdeduccionesSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalISR","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalISRSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

667
Nomina/NomTimbrados.aspx.cs Normal file
View File

@@ -0,0 +1,667 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Extensiones;
using System.Xml;
public partial class Nomina_NomTimbrados : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TxtRpdFechaInicio.Text = string.Format(" {0:dd/MM/yyyy}", DateTime.Now.AddMonths(-1).FirstDayOfMonth());
TxtRpdFechaFin.Text = string.Format(" {0:dd/MM/yyyy}", DateTime.Now.AddMonths(-1).LastDayOfMonth());
// readTimbres();
}
}
public DataTable initxmldatatable()
{
DataTable dt = new DataTable();
dt.Columns.Add("NOMBREReceptor", typeof(String));
dt.Columns.Add("nrnumseguridadsocial", typeof(String));
dt.Columns.Add("RFCReceptor", typeof(String));
dt.Columns.Add("nrcurp", typeof(String));
dt.Columns.Add("nrnumempleado", typeof(String));
dt.Columns.Add("SERIE", typeof(String));
dt.Columns.Add("FOLIO", typeof(String));
dt.Columns.Add("TIPODECOMPROBANTE", typeof(String));
dt.Columns.Add("TOTAL", typeof(decimal));
dt.Columns.Add("SUBTOTAL", typeof(decimal));
dt.Columns.Add("DESCUENTO", typeof(decimal));
dt.Columns.Add("RFCEmisor", typeof(String));
/*I nomina12:nomina*/
dt.Columns.Add("tiponomina", typeof(String));
dt.Columns.Add("fechapago", typeof(DateTime));
dt.Columns.Add("fechainicialpago", typeof(DateTime));
dt.Columns.Add("fechafinalpago", typeof(DateTime));
dt.Columns.Add("numdiaspagados", typeof(Int32));
dt.Columns.Add("totalpercepciones", typeof(decimal));
dt.Columns.Add("totaldeducciones", typeof(decimal));
dt.Columns.Add("totalotrospagos", typeof(decimal));
/*E nomina12:nomina*/
/*I nomina12:emisor*/
dt.Columns.Add("registropatronal", typeof(String));
dt.Columns.Add("rfcpatronorigen", typeof(String));
/*E nomina12:emisor*/
/*I nomina12:receptor*/
dt.Columns.Add("nrfechainiciorellaboral", typeof(DateTime));
dt.Columns.Add("nrantiguedad", typeof(String));//antigüedad
dt.Columns.Add("nrtipocontrato", typeof(String));
dt.Columns.Add("nrsindicalizado", typeof(String));
dt.Columns.Add("nrtipojornada", typeof(String));
dt.Columns.Add("nrtiporegimen", typeof(String));
dt.Columns.Add("nrdepartamento", typeof(String));
dt.Columns.Add("nrpuesto", typeof(String));
dt.Columns.Add("nrriesgopuesto", typeof(String));
dt.Columns.Add("nrperiodicidadpago", typeof(String));
dt.Columns.Add("nrbanco", typeof(String));
dt.Columns.Add("nrcuentabancaria", typeof(String));
dt.Columns.Add("nrsalariobasecotapor", typeof(decimal));
dt.Columns.Add("nrsalariodiariointegrado", typeof(decimal));
dt.Columns.Add("nrclaveentfed", typeof(String));
/*E nomina12:receptor*/
/*I nomina12:percepciones*/
dt.Columns.Add("totalsueldos", typeof(decimal));
dt.Columns.Add("totalgravado", typeof(decimal));
dt.Columns.Add("totalexento", typeof(decimal));
/*E nomina12:percepciones*/
/*I nomina12:deducciones*/
dt.Columns.Add("totalotrasdeducciones", typeof(decimal));
dt.Columns.Add("totalimpuestosretenidos", typeof(decimal));
/*E nomina12:deducciones*/
dt.Columns.Add("uuid", typeof(String));
dt.Columns.Add("fechatimbrado", typeof(DateTime));
/*I nomina12:otrospagos*/
//dt.Columns.Add("", typeof(decimal));
/*E nomina12:otrospagos*/
return dt;
}
public string readTimbres()
{
string ruta = string.Format("{0}XML\\Nomina\\", UsuarioActual.Empresa.Ruta);
string keyComprobante = "cfdi:Comprobante";
string keyCfdiRelacionados = "cfdi:CfdiRelacionados".ToUpper();
string keyEmisor = "cfdi:Emisor".ToUpper();
string keyReceptor = "cfdi:Receptor".ToUpper();
string keyConceptos = "cfdi:Conceptos".ToUpper();
string keyImpuestos = "cfdi:Impuestos".ToUpper();
string keyComplemento = "cfdi:Complemento".ToUpper();
string[] PrimerNivel = new string[] { keyCfdiRelacionados, keyEmisor, keyReceptor, keyConceptos, keyImpuestos, keyComplemento };
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
DataTable dt = initxmldatatable();
foreach (string txtName in System.IO.Directory.GetFiles(ruta, "*.xml"))
{
DataRow drow = dt.NewRow();
bool canread = true;
using (XmlReader xtr = XmlReader.Create(txtName, settings))
{
while (canread = xtr.Read())
{
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyComprobante.ToUpper())
{
int Nivel = xtr.Depth;
bool cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "SERIE": drow["SERIE"] = xtr.Value; break;
case "FOLIO": drow["FOLIO"] = xtr.Value; break;
case "SUBTOTAL": drow["SUBTOTAL"] = xtr.Value; break;
case "TOTAL": drow["TOTAL"] = xtr.Value; break;
case "DESCUENTO": drow["DESCUENTO"] = xtr.Value; break;
case "TIPODECOMPROBANTE": drow["TIPODECOMPROBANTE"] = xtr.Value; break;
}
switch (xtr.Name.ToUpper())
{
//case "XMLNS:CFDI": xmlCFDI.comprobante.xmlns_cfdi = xtr.Value; break;
//case "XMLNS:XSI": xmlCFDI.comprobante.xmlns_xsi = xtr.Value; break;
//case "XSI:SCHEMALOCATION": xmlCFDI.comprobante.xsi_schemaLocation = xtr.Value; break;
//case "VERSION": xmlCFDI.comprobante.Version = xtr.Value; break;
//case "SERIE": xmlCFDI.comprobante.Serie = xtr.Value; break;
//case "FOLIO": xmlCFDI.comprobante.Folio = xtr.Value; break;
//case "FECHA": xmlCFDI.comprobante.Fecha = xtr.Value; break;
//case "MONEDA": xmlCFDI.comprobante.Moneda = xtr.Value; break;
//case "SUBTOTAL": decimal SubTotal = 0; decimal.TryParse(xtr.Value, out SubTotal); xmlCFDI.comprobante.SubTotal = SubTotal; break;
//case "TOTAL": decimal Total = 0; decimal.TryParse(xtr.Value, out Total); xmlCFDI.comprobante.Total = Total; break;
//case "DESCUENTO": decimal Descuento = 0; decimal.TryParse(xtr.Value, out Descuento); xmlCFDI.comprobante.Descuento = Descuento; break;
//case "TIPOCAMBIO": decimal TipoCambio = 0; decimal.TryParse(xtr.Value, out TipoCambio); xmlCFDI.comprobante.TipoCambio = TipoCambio; break;
//case "TIPODECOMPROBANTE": xmlCFDI.comprobante.TipoDeComprobante = xtr.Value; break;
//case "FORMAPAGO": xmlCFDI.comprobante.FormaPago = xtr.Value; break;
//case "FORMADEPAGO": xmlCFDI.comprobante.FormaPago = xtr.Value; break;
//case "METODOPAGO": xmlCFDI.comprobante.MetodoPago = xtr.Value; break;
//case "METODODEPAGO": xmlCFDI.comprobante.MetodoPago = xtr.Value; break;
//case "CONDICIONESDEPAGO": xmlCFDI.comprobante.CondicionesDePago = xtr.Value; break;
//case "LUGAREXPEDICION": xmlCFDI.comprobante.LugarExpedicion = xtr.Value; break;
//case "CONFIRMACION": xmlCFDI.comprobante.Confirmacion = xtr.Value; break;
//case "NOCERTIFICADO": xmlCFDI.comprobante.NoCertificado = xtr.Value; break;
//case "SELLO": xmlCFDI.comprobante.Sello = xtr.Value; break;
//case "CERTIFICADO": xmlCFDI.comprobante.Certificado = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
cont = xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > Nivel)
{
if (PrimerNivel.Contains(xtr.Name.ToUpper()))
{
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyCfdiRelacionados)
{
int cDepth = xtr.Depth;
string TipoRelacion = null;
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TIPORELACION": TipoRelacion = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth)
{
//if (xtr.Name == "cfdi:CfdiRelacionado")
//{
// CFDIRelacionado cfdir = new CFDIRelacionado();
// cfdir.TipoRelacion = TipoRelacion;
// cfdir.UUID = xtr.GetAttribute("UUID");
// xmlCFDI.cFDIRelacionados.Add(cfdir);
//}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyEmisor.ToUpper())
{
int curentNivel = xtr.Depth;
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
//case "REGIMENFISCAL": xmlCFDI.emisor.RegimenFiscal = xtr.Value; break;
//case "NOMBRE": xmlCFDI.emisor.Nombre = xtr.Value; break;
case "RFC": drow["RFCEmisor"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && curentNivel >= xtr.Depth)) { }//continua hasta que no tenga nodos y (el nodo sea tipo elemnto y ete en el mismo nivel)
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyReceptor.ToUpper())
{
int curentNivel = xtr.Depth;
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "RFC": drow["RFCReceptor"] = xtr.Value; break;
case "NOMBRE": drow["NOMBREReceptor"] = xtr.Value; break;
//case "RESIDENCIAFISCAL": xmlCFDI.receptor.ResidenciaFiscal = xtr.Value; break;
//case "NUMREGIDTRIB": xmlCFDI.receptor.NumRegIdTrib = xtr.Value; break;
//case "USOCFDI": xmlCFDI.receptor.UsoCFDI = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && curentNivel >= xtr.Depth)) { }//continua hasta que no tenga nodos y (el nodo sea tipo elemnto y ete en el mismo nivel)
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyConceptos.ToUpper())
{
int cDepth = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth)
{
if (xtr.Name == "cfdi:Concepto")
{
int cDepthb = xtr.Depth;
//CFDIConcepto concepto = new CFDIConcepto();
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
//case "CLAVEPRODSERV": concepto.ClaveProdServ = xtr.Value; break;
//case "NOIDENTIFICACION": concepto.NoIdentificacion = xtr.Value; break;
//case "CANTIDAD": concepto.Cantidad = xtr.Value; break;
//case "CLAVEUNIDAD": concepto.ClaveUnidad = xtr.Value; break;
//case "UNIDAD": concepto.Unidad = xtr.Value; break;
//case "VALORUNITARIO": decimal ValorUnitario = 0; decimal.TryParse(xtr.Value, out ValorUnitario); concepto.ValorUnitario = ValorUnitario; ; break;
//case "IMPORTE": decimal Importe = 0; decimal.TryParse(xtr.Value, out Importe); concepto.Importe = Importe; ; break;
//case "DESCUENTO": decimal DDescuento = 0; decimal.TryParse(xtr.Value, out DDescuento); concepto.Descuento = DDescuento; ; break;
//case "DESCRIPCION": concepto.Descripcion = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepthb)
{
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "cfdi:Impuestos")
{
int cDepthc = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepthc)
{
if (xtr.Name == "cfdi:Traslado" || xtr.Name == "cfdi:Retencion")
{
//CFDIConceptoImpuesto impuesto = new CFDIConceptoImpuesto();
//impuesto.Impuesto = xtr.GetAttribute("Impuesto");
//impuesto.Tipo = xtr.LocalName;
//decimal Base = 0;
//decimal.TryParse(xtr.GetAttribute("Base"), out Base);
//impuesto.Base = Base;
//impuesto.TipoFactor = xtr.GetAttribute("TipoFactor");
//decimal tasaOCuota = 0;
//decimal.TryParse(xtr.GetAttribute("TasaOCuota"), out tasaOCuota);
//impuesto.TasaOCuota = impuesto.TipoFactor == "Tasa" ? (tasaOCuota * 100).ToString("N4") : xtr.GetAttribute("TasaOCuota");
//decimal ImImporte = 0;
//decimal.TryParse(xtr.GetAttribute("Importe"), out ImImporte);
//impuesto.Importe = ImImporte;
//concepto.Impuestos.Add(impuesto);
}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
else
{
bool rednew = true;
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "cfdi:InformacionAduanera")
{
//concepto.NumeroPedimento = xtr.GetAttribute("NumeroPedimento");
rednew = false; while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "cfdi:CuentaPredial")
{
//concepto.CuentaPredial = xtr.GetAttribute("CuentaPredial");
rednew = false; while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
if (rednew) { while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } }
}
}
//xmlCFDI.conceptos.Add(concepto);
}
}
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyImpuestos.ToUpper())
{
int cDepth = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth)
{
//CFDIImpuesto impuest = new CFDIImpuesto();
//if (xtr.Name == "cfdi:Traslado" || xtr.Name == "cfdi:Retencion" && xmlCFDI.comprobante.Version != null)
//{
// impuest.Tipo = xtr.LocalName == "Traslado" ? "Traslados" : (xtr.LocalName == "Retencion" ? "Retenciones" : "");
// impuest.Impuesto = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("Impuesto") : xtr.GetAttribute("impuesto");
// impuest.TipoFactor = xtr.GetAttribute("TipoFactor");
// impuest.TasaOCuota = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("TasaOCuota") : xtr.GetAttribute("tasa");
// decimal ImImporte = 0;
// decimal.TryParse((xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("Importe") : xtr.GetAttribute("importe")), out ImImporte);
// impuest.Importe = ImImporte;
// xmlCFDI.Impuestos.Add(impuest);
//}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyComplemento.ToUpper())
{
int cDepth = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth)
{
//string version = xmlCFDI.comprobante.Version != null ? xmlCFDI.comprobante.Version : "";
if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName.ToUpper() == "TimbreFiscalDigital".ToUpper())
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "UUID": drow["uuid"] = xtr.Value; break;
case "FECHATIMBRADO": drow["fechatimbrado"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
//xmlCFDI.complemento.xmlns_tfd = xtr.GetAttribute("xmlns:tfd");
//xmlCFDI.complemento.xsi_schemaLocation = xtr.GetAttribute("xsi:schemaLocation");
//xmlCFDI.complemento.Version = xtr.GetAttribute("Version");
//xmlCFDI.complemento.UUID = xtr.GetAttribute("UUID");
//xmlCFDI.complemento.FechaTimbrado = xtr.GetAttribute("FechaTimbrado");
//xmlCFDI.complemento.RfcProvCertif = xtr.GetAttribute("RfcProvCertif");
//xmlCFDI.complemento.SelloCFD = version == "3.3" ? xtr.GetAttribute("SelloCFD") : xtr.GetAttribute("selloCFD");
//xmlCFDI.complemento.NoCertificadoSAT = version == "3.3" ? xtr.GetAttribute("NoCertificadoSAT") : xtr.GetAttribute("noCertificadoSAT");
//xmlCFDI.complemento.SelloSAT = version == "3.3" ? xtr.GetAttribute("SelloSAT") : xtr.GetAttribute("selloSAT");
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName == "Pagos")
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
//xmlCFDI.complemento.Pagos = new CFDIPago();
int depthpagos = xtr.Depth;
bool conts = xtr.MoveToFirstAttribute();
while (conts)
{
decimal Base = 0;
switch (xtr.Name.ToUpper())
{
//case "FECHAPAGO": xmlCFDI.complemento.Pagos.FechaPago = xtr.Value; break;
//case "FORMADEPAGOP": xmlCFDI.complemento.Pagos.FormaDePagoP = xtr.Value; break;
//case "FORMADEPAGOPTEXT": xmlCFDI.complemento.Pagos.FormaDePagoPText = xtr.Value; break;
//case "MONEDAP": xmlCFDI.complemento.Pagos.MonedaP = xtr.Value; break;
//case "MONTO": decimal.TryParse(xtr.Value, out Base); xmlCFDI.complemento.Pagos.Monto = Base; break;
//case "TIPOCAMBIOP": decimal.TryParse(xtr.Value, out Base); xmlCFDI.complemento.Pagos.TipoCambioP = Base; break;
//case "NUMOPERACION": xmlCFDI.complemento.Pagos.NumOperacion = xtr.Value; break;
//case "NOMBANCOORDEXT": xmlCFDI.complemento.Pagos.NomBancoOrdExt = xtr.Value; break;
//case "RFCEMISORCTAORD": xmlCFDI.complemento.Pagos.RfcEmisorCtaOrd = xtr.Value; break;
//case "CTAORDENANTE": xmlCFDI.complemento.Pagos.CtaOrdenante = xtr.Value; break;
//case "RFCEMISORCTABEN": xmlCFDI.complemento.Pagos.RfcEmisorCtaBen = xtr.Value; break;
//case "CTABENEFICIARIO": xmlCFDI.complemento.Pagos.CtaBeneficiario = xtr.Value; break;
}
conts = xtr.MoveToNextAttribute();
}
conts = xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > depthpagos)
{
//CFDIPagoDoctoRelacionado objpago = new CFDIPagoDoctoRelacionado();
conts = xtr.MoveToFirstAttribute();
while (conts)
{
decimal Basep = 0;
switch (xtr.Name.ToUpper())
{
//case "IDDOCUMENTO": objpago.IdDocumento = xtr.Value; break;
//case "SERIE": objpago.Serie = xtr.Value; break;
//case "FOLIO": objpago.Folio = xtr.Value; break;
//case "MONEDADR": objpago.MonedaDR = xtr.Value; break;
//case "METODODEPAGODR": objpago.MetodoDePagoDR = xtr.Value; break;
//case "NUMPARCIALIDAD": objpago.NumParcialidad = xtr.Value; break;
//case "IMPSALDOANT": decimal.TryParse(xtr.Value, out Basep); objpago.ImpSaldoAnt = Basep; break;
//case "IMPPAGADO": decimal.TryParse(xtr.Value, out Basep); objpago.ImpPagado = Basep; break;
//case "IMPSALDOINSOLUTO": decimal.TryParse(xtr.Value, out Basep); objpago.ImpSaldoInsoluto = Basep; break;
}
conts = xtr.MoveToNextAttribute();
}
conts = xtr.MoveToFirstAttribute();
//xmlCFDI.complemento.Pagos.doctosRelacionados.Add(objpago);
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "nomina12:Nomina".ToUpper())
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TIPONOMINA": drow["tiponomina"] = xtr.Value; break;
case "FECHAPAGO": drow["fechapago"] = xtr.Value; break;
case "FECHAINICIALPAGO": drow["fechainicialpago"] = xtr.Value; break;
case "FECHAFINALPAGO": drow["fechafinalpago"] = xtr.Value; break;
case "NUMDIASPAGADOS": drow["numdiaspagados"] = xtr.Value; break;
case "TOTALPERCEPCIONES": drow["totalpercepciones"] = xtr.Value; break;
case "TOTALDEDUCCIONES": drow["totaldeducciones"] = xtr.Value; break;
case "TOTALOTROSPAGOS": drow["totalotrospagos"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "nomina12:emisor".ToUpper())
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "REGISTROPATRONAL": drow["registropatronal"] = xtr.Value; break;
case "RFCPATRONORIGEN": drow["rfcpatronorigen"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "nomina12:Receptor".ToUpper())
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "CURP": drow["nrcurp"] = xtr.Value; break;
case "NUMSEGURIDADSOCIAL": drow["nrnumseguridadsocial"] = xtr.Value; break;
case "FECHAINICIORELLABORAL": drow["nrfechainiciorellaboral"] = xtr.Value; break;
case "ANTIGÜEDAD": drow["nrantiguedad"] = xtr.Value; break;
case "TIPOCONTRATO": drow["nrtipocontrato"] = xtr.Value; break;
case "SINDICALIZADO": drow["nrsindicalizado"] = xtr.Value; break;
case "TIPOJORNADA": drow["nrtipojornada"] = xtr.Value; break;
case "TIPOREGIMEN": drow["nrtiporegimen"] = xtr.Value; break;
case "NUMEMPLEADO": drow["nrnumempleado"] = xtr.Value; break;
case "DEPARTAMENTO": drow["nrdepartamento"] = xtr.Value; break;
case "PUESTO": drow["nrpuesto"] = xtr.Value; break;
case "RIESGOPUESTO": drow["nrriesgopuesto"] = xtr.Value; break;
case "PERIODICIDADPAGO": drow["nrperiodicidadpago"] = xtr.Value; break;
case "BANCO": drow["nrbanco"] = xtr.Value; break;
case "CUENTABANCARIA": drow["nrcuentabancaria"] = xtr.Value; break;
case "SALARIOBASECOTAPOR": drow["nrsalariobasecotapor"] = xtr.Value; break;
case "SALARIODIARIOINTEGRADO": drow["nrsalariodiariointegrado"] = xtr.Value; break;
case "CLAVEENTFED": drow["nrclaveentfed"] = xtr.Value; break;
case "": drow[""] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "nomina12:Percepciones")
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TOTALSUELDOS": drow["totalsueldos"] = xtr.Value; break;
case "TOTALGRAVADO": drow["totalgravado"] = xtr.Value; break;
case "TOTALEXENTO": drow["totalexento"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "nomina12:Percepcion")
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "nomina12:Deducciones")
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TOTALOTRASDEDUCCIONES": drow["totalotrasdeducciones"] = xtr.Value; break;
case "TOTALIMPUESTOSRETENIDOS": drow["totalimpuestosretenidos"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "nomina12:Deduccion")
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
}
}
else
{
//si no entro en ninguna de los anteriores no se debe ciclar
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
}
}
}
dt.Rows.Add(drow);
//using (StreamReader sr = new StreamReader(txtName))
//{
// sb.AppendLine(txtName.ToString());
// sb.AppendLine("= = = = = =");
// sb.Append(sr.ReadToEnd());
// sb.AppendLine();
// sb.AppendLine();
//}
}
dt.TableName = "satxml";
//GVNominasXmlsat.DataSource = dt;
//GVNominasXmlsat.DataBind();
System.Xml.Linq.XDocument doc = new System.Xml.Linq.XDocument();
System.Xml.Linq.XElement element = new System.Xml.Linq.XElement("XmlNominas");
foreach (DataRow item in dt.Rows)
{
System.Xml.Linq.XElement elementrow = new System.Xml.Linq.XElement("nom");
foreach (DataColumn col in dt.Columns)
{
System.Xml.Linq.XElement elementcol = new System.Xml.Linq.XElement(col.ColumnName);
if (col.DataType ==typeof(DateTime ))
{
if (item[col.ColumnName] == null) { } else
{
elementcol.Value =string.Format("{0:yyyy/MM/dd HH}:{0:mm}:{0:ss}", item[col.ColumnName]);
}
}
else
{
elementcol.Value = item[col.ColumnName].ToString();
}
//elementrow.SetAttributeValue(new System.Xml.Linq.XName() {LocalName(col.ColumnName) }, item[col.ColumnName]);
elementrow.Add(elementcol);
}
element.Add(elementrow);
}
doc.Add(element);
// new System.Xml.Linq.XDocument(new System.Xml.Linq.XElement("XmlNominas", dt.Rows.Select(x => new System.Xml.Linq.XElement("XmlNomina", x))));
//System.IO.StringWriter writer = new System.IO.StringWriter();
//dt.WriteXml(writer, XmlWriteMode.WriteSchema, false);
return doc.ToString();
}
public void loadinfo()
{
string xml =readTimbres();
using (ClsNominas onom = new ClsNominas())
{
if (onom.ComparativoSATNominasGet(UsuarioActual.CveEmpresa, xml, TxtRpdFechaInicio.Text.ToDateTime(), TxtRpdFechaFin.Text.ToDateTime(), DdlTipoPeriodo.SelectedValue.ToEntero()) )
{
GVNominasXmlsat.DataSource = onom.DtResultados ;
GVNominasXmlsat.DataBind();
}
}
Updatos.Update();
}
//public bool AddUnoaUnoCuestionario(string Cuestionario, string Comentario, int CveUsuario, List<int> ListPreguntas, int CveEmpresa)
//{
// bool retorno = false;
// System.Xml.Linq.XDocument xmlPreguntas = null;
// if (ListPreguntas != null && ListPreguntas.Count > 0)
// xmlPreguntas = new System.Xml.Linq.XDocument(new System.Xml.Linq.XElement("Preguntas", ListPreguntas.Select(x => new System.Xml.Linq.XElement("CveUnoaUnoPregunta", x))));
// DataAdapter("PA_OI_UnoaUnoCuestionarioAdd", CommandType.StoredProcedure);
// {
// var withBlock = SqlAdapter.SelectCommand.Parameters;
// withBlock.Add("@Cuestionario", SqlDbType.VarChar).Value = (Cuestionario);
// withBlock.Add("@Comentario", SqlDbType.VarChar).Value = (Comentario);
// withBlock.Add("@CveUsuario", SqlDbType.Int).Value = (CveUsuario);
// withBlock.Add("@CveEmpresa", SqlDbType.Int).Value = (CveEmpresa);
// withBlock.Add("@xmlPreguntas", SqlDbType.Xml).Value = xmlPreguntas == null ? DBNull.Value : (object)xmlPreguntas.ToString();
// }
// try
// {
// SqlAdapter.Fill(Data);
// retorno = true;
// }
// catch (Exception ex)
// {
// OnError("Ocurrió un error al agregar el cuestionario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo());
// }
// return retorno;
//}
protected void LnkConsultar_Click(object sender, EventArgs e)
{
loadinfo();
}
protected void GVNominasXmlsat_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DataKey("Tipo") == "1")
{
e.Row.CssClass = "SubTotales";
}
}
}
}

View File

@@ -9,6 +9,10 @@
content: "\f1c1"; content: "\f1c1";
} }
label.compoonenlabel {
padding-top: 5px;
}
.lblforchk { .lblforchk {
font-size: 13px; font-size: 13px;
color: #888888; color: #888888;
@@ -252,19 +256,19 @@
<div class="portlet-title portlet-filterT smalltitle"> <div class="portlet-title portlet-filterT smalltitle">
<div class="titlefiltros caption"> <div class="titlefiltros caption">
<div class="row"> <div class="row">
<label class="col-md-1" style="max-width: 65px;">Ejercicio: </label> <label class="col-md-1 compoonenlabel" style="max-width: 65px;">Ejercicio: </label>
<div class="col-md-1"> <div class="col-md-1">
<asp:DropDownList ID="DdlEjercicios" runat="server" OnSelectedIndexChanged="DdlEjercicios_SelectedIndexChanged" Style="width: 100% !important;" CssClass="select2me" DataValueField="Ejercicio" DataTextField="Ejercicio"></asp:DropDownList> <asp:DropDownList ID="DdlEjercicios" runat="server" OnSelectedIndexChanged="DdlEjercicios_SelectedIndexChanged" Style="width: 100% !important;" CssClass="select2me" DataValueField="Ejercicio" DataTextField="Ejercicio"></asp:DropDownList>
</div> </div>
<label class="col-md-1" style="max-width: 100px;">Tipo Período:</label> <label class="col-md-1 compoonenlabel" style="max-width: 100px;">Tipo Período:</label>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" OnSelectedIndexChanged="DdlTipoPeriodo_SelectedIndexChanged" CssClass="select2me" AutoPostBack="true" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;"> <asp:DropDownList ID="DdlTipoPeriodo" runat="server" OnSelectedIndexChanged="DdlTipoPeriodo_SelectedIndexChanged" CssClass="select2me" AutoPostBack="true" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<label class="col-md-1">Período:</label> <label class="col-md-1 compoonenlabel">Período:</label>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlPeriodo" runat="server" OnSelectedIndexChanged="DdlPeriodo_SelectedIndexChanged" CssClass="select2me" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Style="width: 100% !important;" AutoPostBack="True"> <asp:DropDownList ID="DdlPeriodo" runat="server" OnSelectedIndexChanged="DdlPeriodo_SelectedIndexChanged" CssClass="select2me" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Style="width: 100% !important;" AutoPostBack="True">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
@@ -272,16 +276,6 @@
</div> </div>
<label class="col-md-1 " style="max-width: 65px;">Turno:</label>
<div class="col-md-1" style="max-width: 110px !important;">
<asp:DropDownList ID="DdlTurno" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="Turno" DataValueField="CveTurno" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList></td>
</div>
<div class="col-md-1" style="max-width: 110px !important; white-space:nowrap; ">
<label >Obligaciones:</label>
<asp:CheckBox ID="Chkobligaciones" CssClass ="chksino" runat="server" />
</div>
<div class="col-md-1"> <div class="col-md-1">
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Calcular" Visible="False" class="btn btn-primary" /> <asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Calcular" Visible="False" class="btn btn-primary" />
@@ -310,19 +304,25 @@
<asp:ListItem Text="Turno" Value="3"></asp:ListItem> <asp:ListItem Text="Turno" Value="3"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<asp:Label ID="LblProyecto" CssClass="col-md-1 " runat="server" Text="Proyecto:" Style="max-width: 100px;"></asp:Label> <asp:Label ID="LblProyecto" CssClass="col-md-1 compoonenlabel" runat="server" Text="Proyecto:" Style="max-width: 100px;"></asp:Label>
<div runat="server" id="divddlproyeto" class="col-md-2"> <div runat="server" id="divddlproyeto" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar"> <asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<asp:Label ID="LblSubProyeccto" CssClass="col-md-1 " runat="server" Text="SubProyecto:" Style="max-width: 100px;"></asp:Label> <asp:Label ID="LblSubProyeccto" CssClass="col-md-1 compoonenlabel" runat="server" Text="SubProyecto:" Style="max-width: 103px;"></asp:Label>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar"> <asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<asp:Label ID="LblFechaPago" runat="server" Visible="false" CssClass="col-md-1 ">Fecha Pago:</asp:Label> <label class="col-md-1 compoonenlabel" style="max-width: 65px;">Turno:</label>
<div class="col-md-1" style="max-width: 110px !important;">
<asp:DropDownList ID="DdlTurno" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="Turno" DataValueField="CveTurno" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList></td>
</div>
<asp:Label ID="LblFechaPago" runat="server" Visible="false" CssClass="col-md-1 compoonenlabel">Fecha Pago:</asp:Label>
<div class="col-md-1" id="DivFechaPago" runat="server" visible="false"> <div class="col-md-1" id="DivFechaPago" runat="server" visible="false">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;"> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtFechaPago" runat="server" CssClass="form-control" CausesValidation="true" Width="100%" MaxLength="10"></asp:TextBox> <asp:TextBox ID="TxtFechaPago" runat="server" CssClass="form-control" CausesValidation="true" Width="100%" MaxLength="10"></asp:TextBox>
@@ -341,7 +341,7 @@
<div class="row"> <div class="row">
<label class="col-md-1 " style="line-height: 1; max-width: 65px;">Régimen:</label> <label class="col-md-1 compoonenlabel" style="line-height: 1; max-width: 65px;">Régimen:</label>
<div class="col-md-1"> <div class="col-md-1">
<asp:DropDownList ID="DdlRegimenContratacion" runat="server" Style="width: 100% !important;" CssClass="select2me"> <asp:DropDownList ID="DdlRegimenContratacion" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Asalariados" Value="1"></asp:ListItem> <asp:ListItem Text="Asalariados" Value="1"></asp:ListItem>
@@ -349,6 +349,10 @@
<asp:ListItem Text="Todos" Value="3"></asp:ListItem> <asp:ListItem Text="Todos" Value="3"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<div class="col-md-2" style="max-width: 160px !important; white-space: nowrap;">
<label class="compoonenlabel">ver Obligaciones:</label>
<asp:CheckBox ID="Chkobligaciones" Text=" " CssClass="chksino" runat="server" />
</div>
</div> </div>
</div> </div>
@@ -592,33 +596,65 @@
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPersonal" runat="server" Text=""></asp:TextBox> <asp:TextBox CssClass="form-control" ID="TxtPersonal" runat="server" Text=""></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtPersonal" Text="Empleado"></asp:Label> <asp:Label runat="server" AssociatedControlID="TxtPersonal" Enabled="false" Text="Empleado"></asp:Label>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="row">
<asp:DropDownList ID="DdlTipoAsistencias" runat="server" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias" <div class="col-md-8">
CssClass="form-control select2me" Style="width: 100% !important;" ValidationGroup="GrpGuardarAsistencia"> <div class="form-group form-md-line-input input-iconright">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:DropDownList ID="DdlTipoAsistencias" runat="server" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias"
</asp:DropDownList> CssClass="form-control select2me" Style="width: 100% !important;" ValidationGroup="GrpGuardarAsistencia">
<asp:Label runat="server" AssociatedControlID="DdlTipoAsistencias" Text="Asistencia"></asp:Label> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlTipoAsistencias" Text="Asistencia"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPorPago" runat="server" Text=""></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtPorPago" Text="Porcentaje Pago"></asp:Label>
</div>
</div>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="row">
<asp:TextBox CssClass="form-control" ID="TxtPorPago" runat="server" Text=""></asp:TextBox> <div class="col-md-4">
<asp:Label runat="server" AssociatedControlID="TxtPorPago" Text="Porcentaje Pago"></asp:Label> <div class="form-group form-md-line-input input-iconright">
</div> <asp:TextBox CssClass="form-control " ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0"></asp:TextBox>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control " ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0"></asp:TextBox></td>
<asp:Label runat="server" AssociatedControlID="TxtHorasDobles" Text="Horas Dobles"></asp:Label> <asp:Label runat="server" AssociatedControlID="TxtHorasDobles" Text="Horas Dobles"></asp:Label>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> </div>
<asp:TextBox CssClass="form-control " ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0"></asp:TextBox></td> <div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control " ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtHorasTriples" Text="Horas Triples"></asp:Label> <asp:Label runat="server" AssociatedControlID="TxtHorasTriples" Text="Horas Triples"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra"
CssClass="form-control select2me" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlMotivoHoraExtra" Text="Motivo Hora Extra"></asp:Label>
</div>
</div>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="row">
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra" <asp:Panel ID="PnlProyecto" CssClass="col-md-6" runat="server">
CssClass="form-control select2me" Width="100%"> <div class="form-group form-md-line-input input-iconright">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:DropDownList ID="DdlAsisProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
</asp:DropDownList> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:Label runat="server" AssociatedControlID="DdlMotivoHoraExtra" Text="Motivo Hora Extra"></asp:Label> </asp:DropDownList>
<asp:Label ID="LblAsisProyecto" AssociatedControlID="DdlAsisProyecto" runat="server" Text="Proyecto:"></asp:Label>
</div>
</asp:Panel>
<asp:Panel ID="PnlSubProyecto" CssClass="col-md-12" runat="server">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlAsisSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label ID="LblAsisSubProyecto" AssociatedControlID="DdlAsisSubProyecto" runat="server" Text="SubProyecto:"></asp:Label>
</div>
</asp:Panel>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtObservaciones" runat="server" MaxLength="150"></asp:TextBox> <asp:TextBox CssClass="form-control" ID="TxtObservaciones" runat="server" MaxLength="150"></asp:TextBox>
@@ -2330,7 +2366,8 @@
<tr id="trnetoapagar"> <tr id="trnetoapagar">
<td colspan="5" class="text-left">Neto a pagar</td> <td colspan="5" class="text-left">Neto a pagar</td>
<td colspan="1"> <td colspan="1">
<asp:TextBox ID="TxtNetoaPagar" CssClass="maskedmoney txtgridsimula" runat="server"></asp:TextBox></td> <asp:TextBox ID="TxtNetoaPagar" CssClass="maskedmoney txtgridsimula" runat="server"></asp:TextBox>
</td>
<td colspan="3"></td> <td colspan="3"></td>
</tr> </tr>

View File

@@ -195,7 +195,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkVerCalculoISR.Visible = (UsuarioActual.CveUsuario == 100); LnkVerCalculoISR.Visible = (UsuarioActual.CveUsuario == 100);
TxtPeriodo.Text = $"{DateTime.Now:yyyyMM}"; TxtPeriodo.Text = $"{DateTime.Now:yyyyMM}";
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyeccto); CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyeccto);
CargarCentrosDeCosto(DdlAsisProyecto, DdlAsisSubProyecto, LblAsisProyecto, LblAsisSubProyecto);
divddlproyeto.Visible = DdlProyecto.Visible; divddlproyeto.Visible = DdlProyecto.Visible;
PnlProyecto.Visible = DdlProyecto.Visible;
if (PnlProyecto.Visible)
{
PnlSubProyecto.CssClass = "col-md-6";
}
cargaEjercicios(); cargaEjercicios();
CargaTiposPeriodo(); CargaTiposPeriodo();
cargaPeriodos(); cargaPeriodos();
@@ -4900,7 +4906,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsRH objpersonal = new ClsRH()) using (ClsRH objpersonal = new ClsRH())
{ {
if (objpersonal.AddAsistencia(CvePersonal, -1, -1, fecha, DdlTipoAsistencias.SelectedValue.ToEntero(), TxtPorPago.Text.Trim().ToDouble(), TxtHorasDobles.Text.Trim().ToDouble(), if (objpersonal.AddAsistencia(CvePersonal, -1, DdlAsisSubProyecto.SelectedValue.ToEntero(), fecha, DdlTipoAsistencias.SelectedValue.ToEntero(), TxtPorPago.Text.Trim().ToDouble(), TxtHorasDobles.Text.Trim().ToDouble(),
TxtHorasTriples.Text.Trim().ToDouble(), DdlMotivoHoraExtra.SelectedValue.ToEntero(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) TxtHorasTriples.Text.Trim().ToDouble(), DdlMotivoHoraExtra.SelectedValue.ToEntero(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{ {
@@ -4915,6 +4921,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
DateTime fecha = TxtasisFecha.Text.ToDate(); DateTime fecha = TxtasisFecha.Text.ToDate();
DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal={0}", CvePersonal)); DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal={0}", CvePersonal));
TxtPersonal.Text = drow["nombre"].ToString(); TxtPersonal.Text = drow["nombre"].ToString();
DdlAsisSubProyecto.SelectedValueExist("-1");
if (DdlTipoAsistencias.Items.Count == 1) if (DdlTipoAsistencias.Items.Count == 1)
{ {
DdlTipoAsistencias.DataSource = GlobalDTAsistenciasInasistencias.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)); DdlTipoAsistencias.DataSource = GlobalDTAsistenciasInasistencias.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
@@ -4935,6 +4942,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
DataRow dr = objpersonal.DtResultados.Rows[0]; DataRow dr = objpersonal.DtResultados.Rows[0];
DdlTipoAsistencias.SelectedValueExist(dr["CveAsistenciasInasistencias"].ToString()); DdlTipoAsistencias.SelectedValueExist(dr["CveAsistenciasInasistencias"].ToString());
DdlAsisSubProyecto.SelectedValueExist(dr["CveSubProyecto"].ToString());
TxtPorPago.Text = dr["PorcentajePago"].ToString(); TxtPorPago.Text = dr["PorcentajePago"].ToString();
TxtHorasDobles.Text = dr["HorasDobles"].ToString(); TxtHorasDobles.Text = dr["HorasDobles"].ToString();
TxtHorasTriples.Text = dr["HorasTriples"].ToString(); TxtHorasTriples.Text = dr["HorasTriples"].ToString();

View File

@@ -6440,6 +6440,13 @@ Partial Class RH_Personal
RegistraScript("$('#Dmodamodificarsalario').modal()") RegistraScript("$('#Dmodamodificarsalario').modal()")
UpModSalario.Update() UpModSalario.Update()
End Sub End Sub
Protected Sub UpdatePersonalAlta_Click(sender As Object, e As EventArgs)
End Sub
Protected Sub DeletePersonalAlta_Click(sender As Object, e As EventArgs)
End Sub
Protected Sub LnkDescargaFormatoParametros_Click(sender As Object, e As EventArgs) Protected Sub LnkDescargaFormatoParametros_Click(sender As Object, e As EventArgs)

View File

@@ -264,6 +264,8 @@