This commit is contained in:
Raul Pimienta
2019-09-04 16:46:09 -07:00
21 changed files with 3736 additions and 275 deletions

1
.gitignore vendored
View File

@@ -6,6 +6,7 @@ Log.txt
LogMail.txt
LogTimbrado.txt
[Mm]enu/
[Mm]anuales/
[Tt]emp/
[Ee]mpresas/
# User-specific files

View File

@@ -873,6 +873,53 @@ Public Class ClsCRM
End Try
Return Retorno
End Function
Public Function AddAcercamientosGastos(CveAcercamiento As Integer, Descripcion As String, Importe As Decimal, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CRM_AcercamientosGastosAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveAcercamiento", SqlDbType.Int).Value = CveAcercamiento
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
.Add("@Importe", SqlDbType.Money).Value = Importe
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar los Gastos del Acercamiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function UpdateAcercamientosGastos(CveAcercamientoGasto As Integer, Descripcion As String, Importe As Decimal) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CRM_AcercamientosGastosUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveAcercamientoGasto", SqlDbType.Int).Value = CveAcercamientoGasto
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
.Add("@Importe", SqlDbType.Money).Value = Importe
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar los Gastos del Acercamiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function RemoveAcercamientosGastos(CveAcercamientoGasto As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_CRM_AcercamientosGastosRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveAcercamientoGasto", SqlDbType.Int).Value = CveAcercamientoGasto
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar los Gastos del Acercamiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region

View File

@@ -13,7 +13,13 @@ Public Class ClsNominas
Private SqlTransacc As SqlTransaction
Private Data As DataTable
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'REGISTRAR CONEXIONES ABIERTAS
Protected DTSet As DataSet
Public ReadOnly Property DTSetResultados() As DataSet
Get
Return DTSet
End Get
End Property 'REGISTRAR CONEXIONES ABIERTAS
Private CveConexion As Integer = 0
#End Region
@@ -764,6 +770,20 @@ Public Class ClsNominas
#End Region
#Region "ClsNominasConceptos"
Public Function GetNom_Refencias() As Boolean
Dim retorno As Boolean = False
DataAdapter("SELECT CveNomReferencia,CveNomReferenciaPadre,Nivel,Texto,Campo,Tipo,IIF(EsUltimo=0,0,1) EsUltimo FROM [dbo].[Nom_Referencia] WHERE Estatus =1 ORDER BY Nivel ASC,CveNomReferencia ", CommandType.Text)
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el o los conceptos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetConceptos(CveEmpresa As Integer, Optional CveTipo As String = "-1", Optional CveEstado As Integer = -1, Optional CveTipoGasto As Integer = -1, Optional CveConcepto As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Nom_ConceptosGet")
@@ -1755,6 +1775,59 @@ Public Class ClsNominas
End Function
#End Region
Public Function AddUPNom_NominasDetalles(CveNomina As Integer, CvePeriodo As Integer, CvePersonal As Integer, CveConcepto As Integer, Importe As Decimal, ImporteGravado As Decimal, ImporteExento As Decimal, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Nom_NominasDetallesAddUP")
With SqlAdapter.SelectCommand.Parameters
.Add("CveNomina", SqlDbType.Int).Value = CveNomina
.Add("CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("CveConcepto", SqlDbType.Int).Value = CveConcepto
.Add("Importe", SqlDbType.Float).Value = Importe
.Add("ImporteGravado", SqlDbType.Float).Value = ImporteGravado
.Add("ImporteExento", SqlDbType.Float).Value = ImporteExento
.Add("CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
Me.OnError("Ocurrió un error al Guardar el Movimiento de Nomina.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetNominaEmpleado(CveProyecto As Integer, CveSubProyecto As Integer, CveTurno As Integer, CvePeriodo As Integer, CveEmpresa As Integer, Agrupador As Integer) As Boolean
Dim retorno As Boolean = False
Try
DataAdapter("PA_Nom_NominaEmpleado", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProyecto", SqlDbType.Int).Value = CveProyecto
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveTurno", SqlDbType.Int).Value = CveTurno
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@Agrupador", SqlDbType.VarChar).Value = Agrupador
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
SqlAdapter.Fill(DTSet)
retorno = True
Catch sqEx As SqlException
retorno = False
OnError("Ocurrió un error al Realizar el calculo de utilidades.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
OnError("Ocurrió un error al Realizar el calculo de utilidades.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
#Region "IDisposable Support"
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)

View File

@@ -23,6 +23,8 @@ Public Class ClsSisProcesos
Private _NombreUsuario As String
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -74,7 +76,7 @@ Public Class ClsSisProcesos
Catch ex As Exception
Me.OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex)
End Try
ConexionAdd()
End Sub
Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -85,7 +87,44 @@ Public Class ClsSisProcesos
End With
Data = New DataTable
End Sub
#Region "Conexiones"
Private Sub ConexionAdd()
If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
Try
'DataAdapter(String.Format("INSERT INTO Sis_Conexiones (Clase,Modulo) VALUES ('ClsRH','{0}')", "RH/CatMotivosBaja"), CommandType.Text) ' pendiente de terminar parra registrar el cveconexion, falta el rarámetro de módulo
DataAdapter("PA_Sis_RegistrarConexion")
With SqlAdapter.SelectCommand.Parameters
.Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name
.Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString)
.Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output
End With
SqlAdapter.Fill(Data)
CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero
Catch ex As Exception
OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
End If
End Sub
Private Sub ConexionClose()
If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text)
CveConexion = 0
Try
SqlAdapter.Fill(Data)
Catch ex As Exception
OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
End If
End Sub
#End Region
Public Function GetProcesos(CveProceso As Integer) As Boolean
Dim OnError As Boolean = False
@@ -194,6 +233,7 @@ Public Class ClsSisProcesos
' Visual Basic agregó este código para implementar correctamente el modelo descartable.
Public Sub Dispose() Implements IDisposable.Dispose
' No cambie este código. Coloque el código de limpieza en Dispose (ByVal que se dispone como Boolean).
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -18,6 +18,8 @@ Public Class ClsSisRoles
Private Data As DataTable
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
Private _CveRol As Integer
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -51,7 +53,7 @@ Public Class ClsSisRoles
SqlCommand = New SqlCommand("", SqlConexion)
SqlAdapter = New SqlDataAdapter("", SqlConexion)
StrSQL = New StringBuilder
ConexionAdd()
End Sub
Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -63,7 +65,44 @@ Public Class ClsSisRoles
If Not SqlTransacc Is Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc
Data = New DataTable
End Sub
#Region "Conexiones"
Private Sub ConexionAdd()
If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
Try
'DataAdapter(String.Format("INSERT INTO Sis_Conexiones (Clase,Modulo) VALUES ('ClsRH','{0}')", "RH/CatMotivosBaja"), CommandType.Text) ' pendiente de terminar parra registrar el cveconexion, falta el rarámetro de módulo
DataAdapter("PA_Sis_RegistrarConexion")
With SqlAdapter.SelectCommand.Parameters
.Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name
.Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString)
.Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output
End With
SqlAdapter.Fill(Data)
CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero
Catch ex As Exception
OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
End If
End Sub
Private Sub ConexionClose()
If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text)
CveConexion = 0
Try
SqlAdapter.Fill(Data)
Catch ex As Exception
OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
End If
End Sub
#End Region
Public Function IniciaTransacSQL() As SqlTransaction
If SqlTransacc Is Nothing Then SqlTransacc = SqlConexion.BeginTransaction()
Return SqlTransacc
@@ -312,6 +351,7 @@ Public Class ClsSisRoles
' Visual Basic agregó este código para implementar correctamente el modelo descartable.
Public Sub Dispose() Implements IDisposable.Dispose
' No cambie este código. Coloque el código de limpieza en Dispose (ByVal que se dispone como Boolean).
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -22,6 +22,8 @@ Public Class ClsSisUsuarios
'Atributos de la clase
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -80,7 +82,7 @@ Public Class ClsSisUsuarios
SqlCommand = New SqlCommand("", SqlConexion)
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
With SqlAdapter.SelectCommand
@@ -91,6 +93,44 @@ Public Class ClsSisUsuarios
If Not SqlTransacc Is Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc
Data = New DataTable
End Sub
#Region "Conexiones"
Private Sub ConexionAdd()
If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
Try
'DataAdapter(String.Format("INSERT INTO Sis_Conexiones (Clase,Modulo) VALUES ('ClsRH','{0}')", "RH/CatMotivosBaja"), CommandType.Text) ' pendiente de terminar parra registrar el cveconexion, falta el rarámetro de módulo
DataAdapter("PA_Sis_RegistrarConexion")
With SqlAdapter.SelectCommand.Parameters
.Add("@Clase", SqlDbType.VarChar).Value = Me.GetType().Name
.Add("@Modulo", SqlDbType.VarChar).Value = String.Format("{0}{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString, HttpContext.Current.Request.QueryString.ToString)
.Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output
End With
SqlAdapter.Fill(Data)
CveConexion = SqlAdapter.SelectCommand.Parameters("@IDConexion").Value.ToString.ToEntero
Catch ex As Exception
OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
End If
End Sub
Private Sub ConexionClose()
If CveConexion > 0 AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
DataAdapter(String.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text)
CveConexion = 0
Try
SqlAdapter.Fill(Data)
Catch ex As Exception
OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
End If
End Sub
#End Region
Private Sub DataCommand(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
With SqlCommand
.Parameters.Clear()
@@ -2633,6 +2673,7 @@ Public Class ClsSisUsuarios
Me.disposedValue = True
End Sub
Public Sub Dispose() Implements IDisposable.Dispose
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -718,8 +718,8 @@
<div class="btn-group">
<asp:UpdatePanel ID="UpAddCotizacion" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HyperLink ID="HplAgregarCotizacion" Visible="true" Target="_blank" runat="server" data-toggle="tooltip" title="Agregar Cotizacion" class="btn btn-circle btn-sm btn-default"><i class="fa fa-plus"></i></asp:HyperLink>
</ContentTemplate>
<asp:HyperLink ID="HplAgregarCotizacion" Visible="true" Target="_blank" runat="server" data-toggle="tooltip" title="Agregar Cotizacion" class="btn btn-circle btn-sm btn-default"><i class="fa fa-plus"></i></asp:HyperLink>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
@@ -736,10 +736,10 @@
EmptyDataRowStyle-HorizontalAlign="Center" ToolTip="Listado de Cotizaciones" CssClass="table table-striped table-advance table-hover ScrollAD Widthall mysmallbtn" AlternatingRowStyle-BorderStyle="None"
GridLines="None" BorderColor="#D3D3D3" BorderWidth="1" AutoGenerateColumns="false" OnRowDataBound="GvCotizacion_RowDataBound">
<Columns>
<asp:HyperLinkField DataTextField="SerieFolio" Target="_blank" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" HeaderText="Serie Folio" />
<asp:HyperLinkField DataTextField="SerieFolio" Target="_blank" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" HeaderText="Serie Folio" />
<asp:BoundField DataField="Fecha" HeaderText="Fecha" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField DataField="Total" ItemStyle-HorizontalAlign="Right" HeaderText="Total" DataFormatString="{0:N2}" />
<asp:TemplateField HeaderText="Estatus" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblEstatus" runat="server" Text='<%# Eval("EstatusFactura")%>'> </asp:Label>
@@ -767,15 +767,15 @@
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">GASTOS </span>
</div>
<%-- <div class="actions">
<div class="actions">
<div class="btn-group">
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<asp:UpdatePanel ID="UpAddGastos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HyperLink ID="HyperLink2" Visible="true" Target="_blank" runat="server" data-toggle="tooltip" title="Agregar Cotizacion" class="btn btn-circle btn-sm btn-default"><i class="fa fa-plus"></i></asp:HyperLink>
</ContentTemplate>
<asp:LinkButton ID="LbAddGastos" Visible="true" runat="server" data-toggle="tooltip" title="Agregar Gasto" OnClick="LbAddGastos_Click" class="btn btn-circle btn-sm btn-default"><i class="fa fa-plus"></i></asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>--%>
</div>
</div>
<div class="portlet-body">
<div runat="server" id="Div3" visible="false" class="row" style="margin-right: 10px; margin-top: 0px; margin-bottom: 5px;" align="right">
@@ -785,15 +785,43 @@
<div runat="server" id="Div4" style="padding: 0 10px 10px 10px;">
<asp:UpdatePanel runat="server" ID="UpGastos" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvGastos" runat="server" EmptyDataText="Aún no se han registrado Gastos"
<asp:GridView ID="GvGastos" runat="server" EmptyDataText="Aún no se han registrado Gastos" DataKeyNames="CveAcercamientoGasto,Descripcion,Importe"
EmptyDataRowStyle-HorizontalAlign="Center" ToolTip="Listado de Cotizaciones" CssClass="table table-striped table-advance table-hover ScrollAD Widthall mysmallbtn" AlternatingRowStyle-BorderStyle="None"
GridLines="None" BorderColor="#D3D3D3" BorderWidth="1" AutoGenerateColumns="false" >
GridLines="None" BorderColor="#D3D3D3" BorderWidth="1" AutoGenerateColumns="false" OnRowDataBound="GvGastos_RowDataBound">
<Columns>
<%--<asp:HyperLinkField DataTextField="SerieFolio" Target="_blank" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" HeaderText="Serie Folio" />--%>
<asp:BoundField DataField="Descripcion" HeaderText="Descripción" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Importe" ItemStyle-HorizontalAlign="Right" HeaderText="Importe" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="FechaIng" HeaderText="Fecha" ItemStyle-HorizontalAlign="Left" DataFormatString="{0:d}" />
<%--<asp:HyperLinkField DataTextField="SerieFolio" Target="_blank" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" HeaderText="Serie Folio" />--%>
<asp:TemplateField HeaderText="Descripción" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblDescripcion" runat="server" Text='<%# Eval("Descripcion")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="lblImporte" runat="server" Text='<%# Eval("Importe","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usuario" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblUsuario" runat="server" Text='<%# Eval("Usuario")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblFechaIng" runat="server" Text='<%# Eval("FechaIng","{0:d}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="80px">
<ItemTemplate>
<asp:LinkButton ID="ImgE" OnClick="ImgE_Click" runat="server" AlternateText="Editar" CausesValidation="False"
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="40px">
<ItemTemplate>
<asp:LinkButton ID="imgD" OnClick="imgD_Click" runat="server" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
@@ -1176,6 +1204,44 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
<%-- FIN MODAL VER UBICACION --%>
<%-- MODAL AGREGAR GASTO--%>
<div id="DivAgregarGasto" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalGastos" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="LtlTituloModalGasto" runat="server">Agregar Gasto</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtDescripcionGasto" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtDescripcionCosto" runat="server" ControlToValidate="TxtDescripcionGasto" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGasto"></asp:RequiredFieldValidator>
<label for="<%= TxtDescripcionGasto.ClientID.ToString()%>">Descripción:</label>
<i></i>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="width: 170px!important">
<asp:TextBox ID="TxtImporteGasto" CssClass="form-control " Width="150px" runat="server" MaxLength="10" CausesValidation="true" Style="text-align: right!important" OnKeyup="FormatoMoneda(this);"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvImporteCosto" runat="server" ControlToValidate="TxtImporteGasto" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGasto"></asp:RequiredFieldValidator>
<label for="<%= TxtImporteGasto.ClientID.ToString()%>">Importe:</label>
<i></i>
</div>
<br />
</div>
<div class="modal-footer">
<asp:Button ID="BtnAgregarGastoModal" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpGasto" OnClick="BtnAgregarGastoModal_Click" />
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<%-- FIN MODAL AGREGAR GASTO --%>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script>

View File

@@ -210,6 +210,30 @@ public partial class CRM_Acercamiento : ClsPaginas
{
return ModExtensiones.Encripta(param);
}
private Boolean Actualizar
{
get
{
return (Boolean)ViewState["Actualizar"];
}
set
{
ViewState["Actualizar"] = value;
}
}
private int CveAcercamientoGasto
{
get
{
return ViewState["CveAcercamientoGasto"].ToString().ToEntero();
}
set
{
ViewState["CveAcercamientoGasto"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
@@ -531,7 +555,7 @@ public partial class CRM_Acercamiento : ClsPaginas
}
//AUTOGUARDADO DE CAMBIO DE ETAPA
if (DTEtapasProceso.FiltroPrimeroValor("CveTipoEtapa", String.Format("CveEtapaProceso = {0}", DdlEtapaProceso.SelectedValue.ToEntero())).Contiene("1","2","3"))
if (DTEtapasProceso.FiltroPrimeroValor("CveTipoEtapa", String.Format("CveEtapaProceso = {0}", DdlEtapaProceso.SelectedValue.ToEntero())).Contiene("1", "2", "3"))
GuardarCambioEtapa();
}
#endregion
@@ -653,7 +677,7 @@ public partial class CRM_Acercamiento : ClsPaginas
{
CveEtapaActual = CveEtapaProcesoActualActualizar;
HdfEtapaSeleccionada.Value = CveEtapaProcesoActualActualizar.ToString();
}
ObjCRM.Dispose();
@@ -1419,7 +1443,7 @@ public partial class CRM_Acercamiento : ClsPaginas
if (TieneError)
{
ObjCRM.RollBack();
Alert("El archivo el eliminó correctamente.",ModExtensiones.TipoMensaje.MsgError);
Alert("El archivo el eliminó correctamente.", ModExtensiones.TipoMensaje.MsgError);
}
else
{
@@ -1427,11 +1451,11 @@ public partial class CRM_Acercamiento : ClsPaginas
Alert("El archivo se agregó correctamente");
}
ObjCRM.Dispose();
CargaImagenes();
UpGaleria.Update();
RegistraScript("$('#Modalupfotos').modal('hide');clickgaleria();");
}
}
}
protected void BtnEliminarFoto_Click(object sender, EventArgs e)
@@ -1493,5 +1517,113 @@ public partial class CRM_Acercamiento : ClsPaginas
GvGastos.DataBind();
UpGastos.Update();
}
protected void LbAddGastos_Click(object sender, EventArgs e)
{
LtlTituloModalGasto.Text = "Agregar Gasto";
BtnAgregarGastoModal.Text = "Agregar";
UpModalGastos.Update();
TxtDescripcionGasto.Text = "";
TxtImporteGasto.Text = "";
Actualizar = false;
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarGasto"));
}
protected void BtnAgregarGastoModal_Click(object sender, EventArgs e)
{
ClsCRM ObjCRM = new ClsCRM();
if(!Actualizar)
{
if (ObjCRM.AddAcercamientosGastos(CveAcercamiento, TxtDescripcionGasto.Text, TxtImporteGasto.Text.ToDecimal(), UsuarioActual.CveUsuario))
{
CargaGastos();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarGasto"), "jsHideModalFolioGarantia");
Alert("Gasto Agregado Correctamente", ModExtensiones.TipoMensaje.MsgInformacion);
}
else
{
Alert("Ocurrió un error al guardar el Gasto", ModExtensiones.TipoMensaje.MsgError);
}
}
else
{
if (ObjCRM.UpdateAcercamientosGastos(CveAcercamientoGasto, TxtDescripcionGasto.Text, TxtImporteGasto.Text.ToDecimal()))
{
CargaGastos();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarGasto"), "jsHideModalFolioGarantia");
Alert("Gasto Actualizado Correctamente", ModExtensiones.TipoMensaje.MsgInformacion);
}
else
{
Alert("Ocurrió un error al actualizar el Gasto", ModExtensiones.TipoMensaje.MsgError);
}
}
Actualizar = false;
CveAcercamientoGasto = -1;
ObjCRM.Dispose();
}
protected void GvGastos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("CveAcercamiento").ToEntero() < 1)
{
e.Row.CssClass = "Totales";
e.Row.Cells[0].Text = "Total";
e.Row.FCLinkButton("ImgE").Visible = false;
e.Row.FCLinkButton("imgD").Visible = false;
}
}
}
protected void ImgE_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
LtlTituloModalGasto.Text = "Editar Gasto";
BtnAgregarGastoModal.Text = "Actualizar";
Actualizar = true;
CveAcercamientoGasto = GvRow.DataKey("CveAcercamientoGasto").ToEntero();
TxtDescripcionGasto.Text = GvRow.DataKey("Descripcion");
TxtImporteGasto.Text = GvRow.DataKey("Importe");
UpModalGastos.Update();
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarGasto"));
}
protected void imgD_Click(object sender, EventArgs e)
{
ClsCRM ObjCRM = new ClsCRM();
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
CveAcercamientoGasto = GvRow.DataKey("CveAcercamientoGasto").ToEntero();
if (ObjCRM.RemoveAcercamientosGastos(CveAcercamientoGasto))
{
CargaGastos();
Alert("Gasto eliminado Correctamente", ModExtensiones.TipoMensaje.MsgInformacion);
}
else
{
Alert("Ocurrió un error al eliminar el Gasto", ModExtensiones.TipoMensaje.MsgError);
}
ObjCRM.Dispose();
CveAcercamientoGasto = -1;
}
#endregion
}

File diff suppressed because one or more lines are too long

BIN
Metronic/descarga.pdf Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,7 @@ using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
@@ -53,10 +54,124 @@ public partial class Nomina_CatConcepto : ClsPaginas
{
if (!IsPostBack)
{
tree_Tables();
InicializaDatos();
}
}
#region Arboles conceptos
DataTable dtrefrencias;
StringBuilder strKeys;
StringBuilder strKeys2;
StringBuilder strKeys3;
public void tree_Tables()
{
ClsNominas objnom = new ClsNominas();
strKeys = new StringBuilder();
strKeys2 = new StringBuilder();
strKeys3 = new StringBuilder();
StringBuilder tablaarbol = new StringBuilder();
objnom.GetNom_Refencias();
dtrefrencias = objnom.DtResultados;
objnom.Dispose();
strKeys.Append("{");
int tipo = 1;
#region tablas
tablaarbol.AppendLine("<ul id=\"tree_1\">");
foreach (DataRow row in dtrefrencias.FiltraParametros($"Nivel=0 AND Tipo ={tipo}").Rows)
{
AddchildtoEnd(ref tablaarbol, row, " ", " ", tipo);
}
tablaarbol.AppendLine("</ul>");
LtlArbolTabla.Text = tablaarbol.ToString();
#endregion
#region Formulas
tablaarbol.Clear();
tipo = 2;
tablaarbol.AppendLine("<ul id=\"tree_2\">");
foreach (DataRow row in dtrefrencias.FiltraParametros($"Nivel=0 AND Tipo ={tipo}").Rows)
{
AddchildtoEnd(ref tablaarbol, row, " ", " ", tipo);
}
tablaarbol.AppendLine("</ul>");
LtlArbolFormulas.Text = tablaarbol.ToString();
#endregion
#region Funciones
tablaarbol.Clear();
tipo = 3;
tablaarbol.AppendLine("<ul id=\"tree_3\">");
foreach (DataRow row in dtrefrencias.FiltraParametros($"Nivel=0 AND Tipo ={tipo}").Rows)
{
AddchildtoEnd(ref tablaarbol, row, " ", " ", tipo);
}
tablaarbol.AppendLine("</ul>");
LtlArbolFunciones.Text = tablaarbol.ToString();
#endregion
if (strKeys.Length > 2)
{
strKeys.Remove(1, 1);
}
strKeys.Append("}");
LtlKeys.Text = string.Format(" MycurrentT ={0} ; strKeys2='{1}'; strKeys3='{2}'; ", strKeys.ToString(), strKeys2.ToString(), strKeys3.ToString());
UpTablas.Update();
//TxtMycurrentT.Text = strKeys.ToString();
//TxtstrKeys2.Text = strKeys2.ToString();
//TxtstrKeys3.Text = strKeys3.ToString();
}
public void AddchildtoEnd(ref StringBuilder tablaarbol, DataRow item, string identacion, string identacion2, int tipo)
{
string identacion3 = string.Format("{0}{1}", identacion, identacion2);
DataTable dt = dtrefrencias.FiltraParametros($"CveNomReferenciaPadre={item["CveNomReferencia"].ToString().ToEntero()} AND Nivel= {(item["Nivel"].ToString().ToEntero() + 1)} AND Tipo ={tipo}");
string data_jstree = "";
if (dt.Rows.Count == 0)
{
data_jstree = "data-jstree='{ \"icon\" : \"fa fa-file icon-state-info \" }'";
}
tablaarbol.AppendLine(string.Format("{0}<li {1}>", identacion, data_jstree));
tablaarbol.AppendLine("");
tablaarbol.Append(identacion3);
if (item["EsUltimo"].ToString() == "1")
{
tablaarbol.Append("<a href=\"javascript:addtextFormula('").Append(item["Campo"]).Append("');\"> ");
string campo = item["Campo"].ToString();
if (tipo < 3)
{
strKeys2.Append(string.Format(" {0}", campo));
}
else
{
string[] scampos = campo.Split('(');
campo = "";
if (scampos.Length > 0)
{
campo = scampos[0].Trim();
}
strKeys3.Append(string.Format(" {0}", campo));
}
strKeys.Append(string.Format(",'{0}':[]", campo));
}
tablaarbol.Append(item["Texto"]);
if (item["EsUltimo"].ToString() == "1") { tablaarbol.Append("</a>"); }
tablaarbol.AppendLine("");
if (dt.Rows.Count > 0)
{
tablaarbol.AppendLine(string.Format("{0}<ul>", identacion3));
foreach (DataRow row in dt.Rows)
{
AddchildtoEnd(ref tablaarbol, row, identacion3, identacion2, tipo);
}
tablaarbol.AppendLine(string.Format("{0}</ul>", identacion3));
}
tablaarbol.AppendLine(string.Format("{0}</li>", identacion));
}
#endregion
protected void InicializaDatos()
{
if (Request["CveConcepto"] != null && !Request["CveConcepto"].ToString().Equals("") && Request["CveConcepto"].ToEntero() > 0)
@@ -260,7 +375,7 @@ public partial class Nomina_CatConcepto : ClsPaginas
TxtCodigo.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Codigo");
TxtConcepto.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Concepto");
DdlTipo.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("Tipo"));
TxtFormula.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Formula");
TxtFormulaTotal.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Formula");
if (ObjNomina.DtResultados.FiltroPrimeroValor("EsRetencion").Equals("1")) ChkRetencion.Checked = true;
if (ObjNomina.DtResultados.FiltroPrimeroValor("TipoCalculo").Equals("True")) ChkTipoCalculo.Checked = true;
DdlConceptoPadre.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveConceptoPadre"));
@@ -307,4 +422,26 @@ public partial class Nomina_CatConcepto : ClsPaginas
Alert("Ocurrio un error al eliminar el concepto de nómina", ModExtensiones.TipoMensaje.MsgError);
}
}
protected void LnkActualizarFormula_Click(object sender, EventArgs e)
{
tree_Tables();
string tipo = "Total";
if (TabsFormulas.ActiveTab == tabFormulaTotal)
{
tipo = "Total";
}
if (TabsFormulas.ActiveTab == tabFormulaGravada)
{
tipo = "Gravada";
}
LtlTituloFormula.Text = $"Actualizar Formula {tipo}";
RegistraScript("$('#ModalDivFormula').modal()");
UpModalFormulas.Update();
}
protected void BtnUpFormula_Click(object sender, EventArgs e)
{
}
}

179
Nomina/ConceptoNominaB.aspx Normal file
View File

@@ -0,0 +1,179 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ConceptoNominaB.aspx.cs" Inherits="Nomina_CatConceptob" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
<asp:Literal ID="LtlTitulo" runat="server" Text="Conceptos de Nómina"></asp:Literal>&nbsp;<asp:Literal ID="LtlContrato" runat="server"></asp:Literal>
</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 UpdateMode="Conditional" ID="UpGral" runat="server">
<ContentTemplate>
<div runat="server" id="DivContent" visible="True" style="min-height: 500px">
<ajax:TabContainer ID="Tab" runat="server" Width="100%" CssClass="tabBodyOverride" ActiveTabIndex="0">
<ajax:TabPanel ID="TabInformacionGeneral" runat="server" HeaderText="Información General">
<ContentTemplate>
<div class="row">
<div class="col-md-7">
<div class="portlet smmallpadding light bordered">
<div class="portlet-title">
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Datos del Concepto</div>
</div>
<div class="portlet-body rowpadding" >
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Código:</label>
<div class="col-md-6">
<asp:TextBox ID="TxtCodigo" runat="server" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVCodigo" runat="server" ControlToValidate="TxtCodigo" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Código''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECodigo" runat="server" HighlightCssClass="vco" TargetControlID="RFVCodigo" Width="300px" BehaviorID="VCECodigo"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Concepto:</label>
<div class="col-md-6">
<asp:TextBox ID="TxtConcepto" runat="server" MaxLength="70" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVConcepto" runat="server" ControlToValidate="TxtConcepto" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEConcepto" runat="server" HighlightCssClass="vco" TargetControlID="RFVConcepto" Width="300px" BehaviorID="VCEConcepto"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Tipo:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlTipo" runat="server" AppendDataBoundItems="True" DataTextField="TipoGasto" DataValueField="TipoGasto" Class="form-control input-sm select2me" Width="200px" ValidationGroup="GrpGuardar"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipo" runat="server" ControlToValidate="DdlTipo" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo''</b> es necesario, por favor ingréselo." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipo" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipo" Width="300px" BehaviorID="VCETipo"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Fórmula:</label>
<div class="col-md-6">
<asp:TextBox ID="TxtFormula" runat="server" MaxLength="70" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFormula" runat="server" ControlToValidate="TxtFormula" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fórmula''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFormula" runat="server" HighlightCssClass="vco" TargetControlID="RFVFormula" Width="300px" BehaviorID="VCEFormula"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-2 truncate " style="width: 130px;">Retención:</label>
<div class="col-md-6">
<asp:CheckBox ID="ChkRetencion" runat="server" />
</div>
</div>
<div class="row">
<label class="col-md-2 truncate " style="width: 130px;">Tipo de cálculo:</label>
<div class="col-md-6">
<asp:CheckBox ID="ChkTipoCalculo" runat="server" checked ="true"/>
</div>
</div>
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Concepto padre:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlConceptoPadre" runat="server" AppendDataBoundItems="True" DataTextField="CodigoConcepto" DataValueField="CveConcepto" Class="form-control input-sm select2me" Width="200px" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
</div>
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Concepto contable:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlConceptoContable" runat="server" AppendDataBoundItems="True" DataTextField="ConceptoContable" DataValueField="CveConceptoContable" Class="form-control input-sm select2me" Width="200px" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-5">
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpProyecto">
<ContentTemplate>
<div class="portlet smmallpadding light bordered">
<div class="portlet-title">
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>ESTATUS</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<label class="col-md-4 truncate">Estado:</label>
<div class="col-md-8">
<asp:CheckBox ID="ChkEstado" runat="server"/>
</div>
</div>
<div class="row">
<label class="col-md-4 truncate">Sistema:</label>
<div class="col-md-8">
<asp:CheckBox ID="ChkSistema" runat="server"/>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div class="row">
<div class="col-md-7">
<div class="portlet smmallpadding light bordered">
<div class="portlet-title">
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>INFORMACIÓN</div>
</div>
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Clasificación:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlClasificacion" runat="server" AppendDataBoundItems="True" DataTextField="Clasificacion" DataValueField="CveClasificacion" Class="form-control input-sm select2me" Width="200px" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
</div>
<div id="Div3" runat="server" class="row">
<label class="col-md-2 truncate" style="width: 130px;">Tipo de gasto:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlTipoGasto" runat="server" AppendDataBoundItems="True" DataTextField="TipoGasto" DataValueField="CveTipoGasto" Class="form-control input-sm select2me" Width="200px" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
</div>
<div id="Div4" runat="server" class="row">
<label class="col-md-2 truncate" style="width: 130px;">Cuenta contable:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlCtaContable" runat="server" AppendDataBoundItems="True" DataTextField="CtaCodigo" DataValueField="Id" Class="form-control input-sm select2me" Width="200px" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</div>
<div style="text-align: center; padding-top: 20px;">
<asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnGuardar" runat="server" Text="Guardar" ValidationGroup="GrpGuardar" CssClass="btn btn-primary" Visible="true" OnClick="BtnGuardar_Click" />
<asp:Button ID="BtnEliminar" runat="server" Text="Eliminar" Visible="false" CssClass="btn btn-danger" data-toggle="confirmation" data-popout="true" data-original-title="Esta seguro de eliminar el Contrato?" data-btn-ok-label="si" OnClick="BtnEliminar_Click" />
<%--<asp:ValidationSummary ID="VS" runat="server" DisplayMode="BulletList" ShowSummary="true" ValidationGroup="GrpGuardar" />--%>
<asp:Button ID="BtnCancelar" CssClass="btn btn-default" runat="server" Text="Cancelar" OnClientClick="javascript:window.location.href='/Nomina/CatConceptos.aspx';return false" />
&nbsp;
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,310 @@
using Extensiones;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Nomina_CatConceptoB : ClsPaginas
{
#region "Propiedades"
private DataTable DTCuentas
{
get
{
return (DataTable)ViewState["DTCuentas"];
}
set
{
ViewState["DTCuentas"] = value;
}
}
private Boolean EsEditar
{
get
{
return (Boolean)ViewState["EsEditar"];
}
set
{
ViewState["EsEditar"] = value;
}
}
private int CveConcepto
{
get
{
return ViewState["CveConcepto"].ToEntero();
}
set
{
ViewState["CveConcepto"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaDatos();
}
}
protected void InicializaDatos()
{
if (Request["CveConcepto"] != null && !Request["CveConcepto"].ToString().Equals("") && Request["CveConcepto"].ToEntero() > 0)
{
ViewState["CveConcepto"] = Request["CveConcepto"];
EsEditar = true;
BtnGuardar.Text = "Guardar cambios";
BtnEliminar.Visible = true;
ChkTipoCalculo.Checked = false;
}
else
{
ViewState["CveConcepto"] = -1;
EsEditar = false;
}
CargaTipo();
CargaConceptoPadre();
CargaConceptoContable();
CargaClasificacion();
CargaTipoGasto();
CargaCtaContable();
CargaDatos();
}
protected void CargaTipo()
{
DdlTipo.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlTipo.Items.Insert(1, new ListItem("Percepciones", "P"));
DdlTipo.Items.Insert(2, new ListItem("Deducciones", "D"));
DdlTipo.Items.Insert(3, new ListItem("Obligaciones", "O"));
DdlTipo.SelectedValueExist("-1");
}
protected void CargaConceptoPadre()
{
DdlConceptoPadre.DataSource = get_GlobalDTNomConceptos(UsuarioActual.CveEmpresa);
DdlConceptoPadre.DataBind();
DdlConceptoPadre.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlConceptoPadre.SelectedValueExist("-1");
}
protected void CargaConceptoContable()
{
DdlConceptoContable.DataSource = get_GlobalDTContaConceptosContables(-1);
DdlConceptoContable.DataBind();
DdlConceptoContable.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlConceptoContable.SelectedValueExist("-1");
}
protected void CargaClasificacion()
{
DdlClasificacion.DataSource = get_GlobalDTClasificaciones(UsuarioActual.CveEmpresa);
DdlClasificacion.DataBind();
DdlClasificacion.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlClasificacion.SelectedValueExist("-1");
}
protected void CargaTipoGasto()
{
DdlTipoGasto.DataSource = get_GlobalDTTiposGastos(UsuarioActual.CveEmpresa);
DdlTipoGasto.DataBind();
DdlTipoGasto.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlTipoGasto.SelectedValueExist("-1");
}
protected void CargaCtaContable()
{
if(UsuarioActual.Empresa.UsaContabilidad)
{
ClsContPAQi ObjConta = new ClsContPAQi(UsuarioActual.Empresa);
if (ObjConta.GetCuentas(-1, "-1", 1))
{
DdlCtaContable.DataSource = ObjConta.DtResultados;
DdlCtaContable.DataBind();
}
DdlCtaContable.Items.Insert(0, new ListItem("Seleccione", "-1"));
DdlCtaContable.SelectedValueExist("-1");
}
}
protected void BtnGuardar_Click(object sender, EventArgs e)
{
String codigo = TxtCodigo.Text;
String concepto = TxtConcepto.Text;
String tipo = DdlTipo.SelectedValue;
String formula = TxtFormula.Text;
if (!ValidaFormula(formula).Equals(""))
{
Alert("Fórmula no válida. Favor de ingresar una correcta.", ModExtensiones.TipoMensaje.MsgError);
}
else
{
bool retencion;
if (ChkRetencion.Checked) retencion = true;
else retencion = false;
bool tipoCalculo;
if (ChkTipoCalculo.Checked) tipoCalculo = true;
else tipoCalculo = false;
int CveConceptoPadre = DdlConceptoPadre.SelectedValue.ToEntero();
int CveConceptoContable = DdlConceptoContable.SelectedValue.ToEntero();
bool estado;
if (ChkEstado.Checked) estado = true;
else estado = false;
bool sistema;
if (ChkSistema.Checked) sistema = true;
else sistema = false;
int CveClasificacion = DdlClasificacion.SelectedValue.ToEntero();
int CveTipoGasto = DdlTipoGasto.SelectedValue.ToEntero();
int IdCtaContable = DdlCtaContable.SelectedValue.ToEntero();
ClsNominas ObjNomina = new ClsNominas();
ObjNomina.IniciaTransacSQL();
bool TieneError = false;
if (EsEditar)
{
TieneError = !ObjNomina.UpdateConcepto(codigo, concepto, tipo, formula, sistema, estado, CveConceptoPadre, CveConcepto, retencion, CveClasificacion, IdCtaContable, CveTipoGasto, tipoCalculo, CveConceptoContable);
if (TieneError)
{
ObjNomina.RollBack();
}
else
{
ObjNomina.Commit();
Alert("El concepto de nómina fue actualizado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion, $"document.location.href=\"/Nomina/ConceptoNomina.aspx?CveConcepto={CveConcepto}\"");
}
}
else
{
CveConcepto = ObjNomina.AddConcepto(codigo, concepto, tipo, formula, sistema, estado, CveConceptoPadre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, retencion, CveClasificacion, IdCtaContable, CveTipoGasto, tipoCalculo, CveConceptoContable);
if (CveConcepto == -1)
{
ObjNomina.RollBack();
}
else
{
ObjNomina.Commit();
Alert("El concepto de nómina fue creado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion, $"document.location.href=\"/Nomina/ConceptoNomina.aspx?CveConcepto={CveConcepto}\"");
}
}
ObjNomina.Dispose();
CargaDatos();
}
}
private string ValidaFormula(string Formula)
{
string retorno = "Error en Fórmula";
try
{
FormulaEvaluator.Expression exp;
foreach (DataRow dr in GlobalDTNomConceptosFunciones.Rows)
{
exp = new FormulaEvaluator.Expression(String.Format("{0}:=1", dr["Funcion"]));
exp.Eval();
}
exp = new FormulaEvaluator.Expression(Formula);
if (exp.Errors.Count > 0)
{
retorno = exp.Errors[0].Message;
}
Object val = exp.Eval();
if (exp.Errors.Count == 0)
{
retorno = "";
}
else
{
retorno = exp.Errors[0].Message;
}
}
catch (Exception e) {
Alert(e.Message,ModExtensiones.TipoMensaje.MsgError);
}
return retorno;
}
protected void CargaDatos()
{
if(CveConcepto > 0)
{
ClsNominas ObjNomina = new ClsNominas();
if (ObjNomina.GetConceptos(UsuarioActual.CveEmpresa, CveConcepto: CveConcepto) && ObjNomina.DtResultados.Rows.Count > 0)
{
TxtCodigo.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Codigo");
TxtConcepto.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Concepto");
DdlTipo.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("Tipo"));
TxtFormula.Text = ObjNomina.DtResultados.FiltroPrimeroValor("Formula");
if (ObjNomina.DtResultados.FiltroPrimeroValor("EsRetencion").Equals("1")) ChkRetencion.Checked = true;
if (ObjNomina.DtResultados.FiltroPrimeroValor("TipoCalculo").Equals("True")) ChkTipoCalculo.Checked = true;
DdlConceptoPadre.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveConceptoPadre"));
DdlConceptoContable.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveConceptoContable"));
if (ObjNomina.DtResultados.FiltroPrimeroValor("Estado").Equals("Activo")) ChkEstado.Checked = true;
if (ObjNomina.DtResultados.FiltroPrimeroValor("Sistema").Equals("Sí")) ChkSistema.Checked = true;
DdlClasificacion.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveClasificacion"));
DdlTipoGasto.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("CveTipoGasto"));
DdlCtaContable.SelectedValueExist(ObjNomina.DtResultados.FiltroPrimeroValor("IdCtaContable"));
}
ObjNomina.Dispose();
} else
{
TxtCodigo.Text = "";
TxtConcepto.Text = "";
DdlTipo.SelectedValueExist("-1");
TxtFormula.Text = "";
ChkRetencion.Checked = false;
DdlConceptoPadre.SelectedValueExist("-1");
DdlConceptoContable.SelectedValueExist("-1");
ChkEstado.Checked = false;
ChkSistema.Checked = false;
DdlClasificacion.SelectedValueExist("-1");
DdlTipoGasto.SelectedValueExist("-1");
DdlCtaContable.SelectedValueExist("-1");
}
}
protected void BtnEliminar_Click(object sender, EventArgs e)
{
ClsNominas ObjNomina = new ClsNominas();
if (ObjNomina.RemoveConcepto(CveConcepto, UsuarioActual.CveEmpresa))
{
Response.Redirect("./CatConceptos.aspx");
}
else
{
Alert("Ocurrio un error al eliminar el concepto de nómina", ModExtensiones.TipoMensaje.MsgError);
}
}
}

221
Nomina/Nomina2.aspx Normal file
View File

@@ -0,0 +1,221 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Nomina2.aspx.cs" Inherits="Nomina_Nomina2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Nominas
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UpAccciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:HyperLink ID="HypModalNomina" data-target="#DModalNominas" data-toggle="modal" runat="server">Cargar Nomina</asp:HyperLink></li>
</ContentTemplate>
</asp:UpdatePanel>
</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">Ejercicio: </label>
<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>
</div>
<label class="col-md-1">Tipo Período:</label>
<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:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1">Período:</label>
<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:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-4">
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Mostrar" Visible="False" class="btn btn-primary" />
<asp:Button ID="BtnAutorizar" runat="server" Text="Autorizar" Visible="False" class="btn btn-primary" />
<asp:Button ID="BtnGeneraPDF" runat="server" Text="PDF" Visible="False" class="btn btn-primary" />
<asp:Button ID="BtnEmitir" runat="server" Text="Timbrar" Visible="False" class="btn btn-primary" />
<asp:Button ID="BtnActualizaNomina" runat="server" Text="Act Nomina" Visible="False" class="btn btn-primary" />
<a style="display: none;" href="/Coolings.docx">Recibos</a>
</div>
</div>
</div>
</div>
<div class="portlet-body">
<div class="row">
<label class="col-md-1 ">Agrupador:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlAgrupador" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Empresa" Value="1"></asp:ListItem>
<asp:ListItem Text="Turno" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1">Proyecto: </label>
<div 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:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 ">SubProyecto:</label>
<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:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 ">Turno:</label>
<div class="col-md-2" style="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 ">Fecha Pago:</asp:Label>
<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;">
<asp:TextBox ID="TxtFechaPago" runat="server" CssClass="form-control" CausesValidation="true" Width="100%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaPago" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="TxtFechaPago" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="TxtFechaPago" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="TxtFechaPago" Display="None" ErrorMessage="El campo <b>''Fecha Pago''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<ajax:TabContainer ID="Tab" runat="server" Width="100%" AutoPostBack="True">
<ajax:TabPanel ID="TabNominas" runat="server" HeaderText="Nominas">
<ContentTemplate>
<div class="portlet light xspadding bordered " id="pnldl">
<div class="portlet-title">
<div class="caption ">
<i class="icon-pin font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Nomina</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div style="float: right;">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="FiltrarTabla('TxtBusqueda','GvNominas')" style="display: inline-block; margin-right: -20px; width: 150px;">
<a href="javascript:;" onclick="FiltrarTabla('TxtBusqueda','GvNominas')" style="margin-top: -3px;" class="btn btn-circle btn-sm font-bold yellow-gold"><i class="icon-magnifier" style="font-weight: bold;"></i></a>
</div>
</div>
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom ">
<asp:GridView ID="GvNominas" ClientIDMode="Static" runat="server" DataKeyNames="CvePeriodo,CvePersonal,CveNomina,SeTimbro,SerieFolio,Nombre,Correo" AutoGenerateColumns="False" OnRowDataBound="GvNominas_RowDataBound"
CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall" Style="text-align: center;" GridLines="None" EnableViewState="false"
data-rows="2">
<Columns>
<asp:TemplateField>
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="LnkSobreRecibo" OnClick="LnkSobreRecibo_Click" runat="server"><i class='fa fa-list-alt'></i></asp:LinkButton>
</ItemTemplate>
<ItemStyle Width="20px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Nombre</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombre" runat="server"></asp:Literal>
</ItemTemplate>
<ItemStyle Width="350px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<div style="width: 70px; text-align: right;">
<asp:LinkButton runat="server" ID="LnkTimbrar" CssClass="btn btn-circle btn-sm blue mysmallbtn" Text="<i class='fa fa-bell'></i>" OnClick="LnkTimbrar_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea Timbrar?" data-btn-ok-label="si" />
<asp:LinkButton runat="server" ID="ImgDelete" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" OnClick="ImgDelete_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && Eval("SeTimbro").ToString() == "False"? true :false)%>' OnClientClick="javascript:return confirm('¿Está seguro que desea eliminar la nómina?');" />
<asp:LinkButton runat="server" ID="LnkCancelar" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='fas fa-ban'></i>" OnClick="LnkCancelar_Click" CommandArgument='<%# Eval("CveNomina") %>' Visible='<%# (Eval("CveNomina").ToString() != "" && PermisoCancelarEmitido && Eval("SeTimbro").ToString() == "True"? true :false)%>' OnClientClick="javascript:return confirm('¿Está seguro que desea cancelar la nómina?');" />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="Titulos"></HeaderStyle>
<AlternatingRowStyle CssClass="TextoAlterno"></AlternatingRowStyle>
<RowStyle CssClass="Texto"></RowStyle>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DModalNominas" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UpCargarNomina" class="modal-dialog" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content rowpadding">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" runat="server" style="text-align: left">Cargar Nomina de excel</h4>
</div>
<div class="modal-body">
-recuerda Solo editar de las tercer fila en adelante.<br />
-No se debe editar el nombre de la hoja 'Nomina'.<br />
-la columna para referenciar al emplado es la primer columna 'Codigo', la columna empleado es solo es informativa.<br />
-si desea agregar un empleado que no se encuentre en la lista solo debe de ingresar fila y el codigo del empleado.<br />
-si no desea insertar un concepto puede borrar la columna.<br />
-no se debe borrar la columna codigo.<br />
<asp:TextBox ID="TxtArchivoNomina" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="LnkFormatoEmpleados" OnClick="LnkFormatoEmpleados_Click" Visible="false" CssClass="btn btn-succes" runat="server">Formato</asp:LinkButton>
<asp:LinkButton ID="LnkFormato" OnClick="LnkFormato_Click" CssClass="btn btn-success" runat="server">Formato</asp:LinkButton>
<asp:LinkButton ID="LnkCargarNomina" OnClick="LnkCargarNomina_Click" CssClass="btn btn-primary" runat="server">cargar y autorizar</asp:LinkButton>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkFormatoEmpleados" />
<asp:PostBackTrigger ControlID="LnkFormato" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

674
Nomina/Nomina2.aspx.cs Normal file
View File

@@ -0,0 +1,674 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using System.Text;
public partial class Nomina_Nomina2 : ClsPaginas
{
#region Propiedades
private DataTable dtPeriodos
{
get
{
if (ViewState["dtPeriodos"] == null) { return null; }
else { return (DataTable)ViewState["dtPeriodos"]; }
}
set { ViewState["dtPeriodos"] = value; }
}
private DataTable dtConceptos
{
get
{
if (ViewState["dtConceptos"] == null) { return null; }
else { return (DataTable)ViewState["dtConceptos"]; }
}
set { ViewState["dtConceptos"] = value; }
}
private DataTable dtempleados
{
get
{
if (ViewState["dtempleados"] == null) { return null; }
else { return (DataTable)ViewState["dtempleados"]; }
}
set { ViewState["dtempleados"] = value; }
}
protected bool PermisoCancelarEmitido
{
get
{
if (ViewState["PermisoCancelarEmitido"] == null) { return false; }
else { return (bool)ViewState["PermisoCancelarEmitido"]; }
}
set { ViewState["PermisoCancelarEmitido"] = value; }
}
protected bool PermisoAutorizar
{
get
{
if (ViewState["PermisoAutorizar"] == null) { return false; }
else { return (bool)ViewState["PermisoAutorizar"]; }
}
set { ViewState["PermisoAutorizar"] = value; }
}
protected bool PermisoEmitir
{
get
{
if (ViewState["PermisoEmitir"] == null) { return false; }
else { return (bool)ViewState["PermisoEmitir"]; }
}
set { ViewState["PermisoEmitir"] = value; }
}
protected int CvePeriodoSeleccionado
{
get
{
if (ViewState["CvePeriodoSeleccionado"] == null) { return 0; }
else { return ViewState["CvePeriodoSeleccionado"].ToString().ToEntero(); }
}
set { ViewState["CvePeriodoSeleccionado"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
cargaEjercicios();
CargaTiposPeriodo();
cargaPeriodos();
//Permisos
if (UsuarioActual.TienePermisoProceso(82))
{
PermisoAutorizar = true;
}
else
{
PermisoAutorizar = false;
}
if (UsuarioActual.TienePermisoProceso(83))
{
PermisoEmitir = true;
PermisoCancelarEmitido = true;
}
else
{
PermisoEmitir = false;
PermisoCancelarEmitido = false;
}
}
}
#region Filtros
private void cargaEjercicios()
{
int EjercicioActual = UsuarioActual.Empresa.EjercicioActual;
DataTable dtejercicio = null;
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetEjercicios(UsuarioActual.CveEmpresa))
{
dtejercicio = objnom.DtResultados;
}
}
DdlEjercicios.DataSource = dtejercicio;
DdlEjercicios.DataBind();
if ((dtejercicio != null) && dtejercicio.Rows.Count > 0)
{
if (dtejercicio.COUNT("Ejercicio", string.Format("Ejercicio={0}", EjercicioActual)) == 0)
{
DdlEjercicios.Items.Insert(0, new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString()));
}
if (dtejercicio.COUNT("Ejercicio", string.Format("Ejercicio={0}", (EjercicioActual - 1))) == 0)
{
DdlEjercicios.Items.Insert(1, new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString()));
}
}
else
{
DdlEjercicios.Items.Add(new ListItem(EjercicioActual.ToString(), EjercicioActual.ToString()));
DdlEjercicios.Items.Add(new ListItem((EjercicioActual - 1).ToString(), (EjercicioActual - 1).ToString()));
}
if (DdlEjercicios.Items.Count > 0)
{
DdlEjercicios.SelectedIndex = 0;
}
}
private void CargaTiposPeriodo()
{
DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros("Estatus = 'Activo'");
DdlTipoPeriodo.DataBind();
DdlTipoPeriodo.Items.Insert(0, new ListItem("Seleccione", "-1"));
if (DdlTipoPeriodo.Items.Count > 0)
{
DdlTipoPeriodo.SelectedIndex = 0;
}
}
private void cargaPeriodos()
{
int tipoPeriodo = DdlTipoPeriodo.SelectedValue.ToEntero();
int ejercicio = DdlEjercicios.SelectedValue.ToEntero();
dtPeriodos = null;
if (DdlTipoPeriodo.SelectedValue.ToEntero() > 0)
{
using (ClsNominas objperiodos = new ClsNominas())
{
if (objperiodos.GetPeriodos(tipoPeriodo, UsuarioActual.CveEmpresa, ejercicio, -1, -1))
{
dtPeriodos = objperiodos.DtResultados.FiltraParametros("Estatus IN (1,2,3,4,5)");
}
}
}
DdlPeriodo.DataSource = dtPeriodos;
DdlPeriodo.DataBind();
DdlPeriodo.Items.Insert(0, new ListItem("Seleccione", "-1"));
muestraPeriodo();
}
protected void DdlEjercicios_SelectedIndexChanged(object sender, EventArgs e)
{
cargaPeriodos();
}
protected void DdlTipoPeriodo_SelectedIndexChanged(object sender, EventArgs e)
{
cargaPeriodos();
}
protected void DdlPeriodo_SelectedIndexChanged(object sender, EventArgs e)
{
muestraPeriodo();
}
private void muestraPeriodo()
{
int CvePeriodo = DdlPeriodo.SelectedValue.ToEntero();
LnkConsultar.Visible = (CvePeriodo > 0);
UPFiltros.Update();
UpDatos.Update();
}
#endregion
#region Datos
protected void LnkConsultar_Click(object sender, EventArgs e)
{
bool continuar = false;
int CveProyecto = DdlProyecto.SelectedValue.ToEntero();
int CveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero();
int CveTurno = DdlTurno.SelectedValue.ToEntero();
int CvePeriodo = DdlPeriodo.SelectedValue.ToEntero();
int CveEmpresa = UsuarioActual.CveEmpresa;
int Agrupador = DdlAgrupador.SelectedValue.ToEntero();
CvePeriodoSeleccionado = 0;
dtempleados = null;
dtConceptos = null;
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[0];
dtConceptos = objnom.DTSetResultados.Tables[1];
CvePeriodoSeleccionado = CvePeriodo;
continuar = true;
}
}
#region CargaGrid
if (continuar)
{
string ctipo = "P";
while (GvNominas.Columns.Count > 3)
{
GvNominas.Columns.RemoveAt(2);
}
int CurrentColumn = GvNominas.Columns.Count - 1;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('P','D','O') AND EsPadre = 1 ").Rows)
{
int CveConcepto = row["CveConcepto"].ToString().ToEntero();
string Concepto = row["Concepto"].ToString();
string Tipo = row["Tipo"].ToString();
if (Tipo != ctipo)
{
if (ctipo == "P")
{
BoundField field = new BoundField();
field.HeaderText = "Percepciones";
field.DataField = "SumaPercepciones";
field.DataFormatString = "{0:N2}";
field.ItemStyle.Width = Unit.Pixel(120);
field.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
field.ItemStyle.BackColor = System.Drawing.Color.LightGray;
GvNominas.Columns.Insert(CurrentColumn++, field);
if (Tipo != "D")
{
field = new BoundField();
field.HeaderText = "Deducciones";
field.DataField = "SumaDeducciones";
field.DataFormatString = "{0:N2}";
field.ItemStyle.Width = Unit.Pixel(120);
field.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
field.ItemStyle.BackColor = System.Drawing.Color.LightGray;
GvNominas.Columns.Insert(CurrentColumn++, field);
field = new BoundField();
field.HeaderText = "Total";
field.DataField = "Total";
field.DataFormatString = "{0:N2}";
field.ItemStyle.Width = Unit.Pixel(120);
field.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
field.ItemStyle.BackColor = System.Drawing.Color.LightGray;
GvNominas.Columns.Insert(CurrentColumn++, field);
}
}
else if (ctipo == "D")
{
BoundField field = new BoundField();
field.HeaderText = "Deducciones";
field.DataField = "SumaDeducciones";
field.DataFormatString = "{0:N2}";
field.ItemStyle.Width = Unit.Pixel(120);
field.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
field.ItemStyle.BackColor = System.Drawing.Color.LightGray;
GvNominas.Columns.Insert(CurrentColumn++, field);
field = new BoundField();
field.HeaderText = "Total";
field.DataField = "Total";
field.DataFormatString = "{0:N2}";
field.ItemStyle.Width = Unit.Pixel(120);
field.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
field.ItemStyle.BackColor = System.Drawing.Color.LightGray;
GvNominas.Columns.Insert(CurrentColumn++, field);
}
ctipo = Tipo;
}
if (dtempleados.SUM(string.Format("[{0}]", CveConcepto)) > 0)
{
BoundField field = new BoundField();
field.HeaderText = Concepto;
field.DataField = CveConcepto.ToString();
field.DataFormatString = "{0:N2}";
field.ItemStyle.Width = Unit.Pixel(80);
GvNominas.Columns.Insert(CurrentColumn++, field);
}
}
BoundField field2 = new BoundField();
field2.HeaderText = "Obligaciones";
field2.DataField = "SumaObligaciones";
field2.DataFormatString = "{0:N2}";
field2.ItemStyle.Width = Unit.Pixel(120);
field2.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
field2.ItemStyle.BackColor = System.Drawing.Color.LightGray;
GvNominas.Columns.Insert(CurrentColumn++, field2);
GvNominas.DataSource = dtempleados;
GvNominas.DataBind();
}
else
{
GvNominas.DataSource = null;
GvNominas.DataBind();
}
#endregion
UpDatos.Update();
}
protected void GvNominas_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Literal LtlNombre = e.Row.FCLiteral("LtlNombre");
LinkButton LnkTimbrar = (LinkButton)e.Row.FindControl("LnkTimbrar");
int cvePersonal = e.Row.DataKey("CvePersonal").ToEntero();
int CvePeriodo = e.Row.DataKey("CvePeriodo").ToEntero();
int CveNomina = e.Row.DataKey("CveNomina").ToEntero();
string SeTimbro = e.Row.DBCampo("SeTimbro").ToString();
string Nombre = e.Row.DBCampo("Nombre").ToString();
string Turno = e.Row.DBCampo("Turno").ToString();
string SubProyecto = e.Row.DBCampo("SubProyecto").ToString();
LnkTimbrar.Visible = false;
if (cvePersonal > 0)
{
LtlNombre.Text = String.Format("<a class=\"Texto\" href=\"/RH/Personal.aspx?CvePersonal={0}\">{1}</a>", cvePersonal, Nombre);
if (CveNomina > 0)
{
if (SeTimbro == "False")
{
LnkTimbrar.Visible = true;
e.Row.CssClass = "info";
}
else
{
e.Row.CssClass = "success";
}
}
}
else
{
LtlNombre.Text = "Total General";
if (Turno.Length == 0 && SubProyecto.Length > 0)
{
LtlNombre.Text = String.Format("<b>Sub Proyecto: {0}<b>", SubProyecto);
}
else if (Turno.Length > 0)
{
LtlNombre.Text = String.Format("<b>Turno: {0}<b>", SubProyecto);
}
else
{
e.Row.CssClass = "SubTotales";
}
e.Row.FindControl("LnkSobreRecibo").Visible = false;
}
}
}
#endregion
#region SobreRecibo
protected void LnkSobreRecibo_Click(object sender, EventArgs e)
{
}
#endregion
protected void LnkTimbrar_Click(object sender, EventArgs e)
{
}
protected void ImgDelete_Click(object sender, EventArgs e)
{
}
protected void LnkCancelar_Click(object sender, EventArgs e)
{
}
protected void LnkCargarNomina_Click(object sender, EventArgs e)
{
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
bool continuar = Filesgral.Count > 0;
string stringError = "";
Archivo fileItem = continuar ? Filesgral[0] : null;
if (continuar)
{
string FileExtension = fileItem.Extencion.ToUpper();
if (FileExtension == "XLS" | FileExtension == "XLSX" | FileExtension == "CSV")
{
}
else
{
continuar = false;
stringError = "No se inserto un archivo de tipo Excel";
}
}
DataTable DTEXcel = new DataTable();
if (continuar)
{
try
{
using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + fileItem.FileUrl))
{
conn.Open();
string exceltableName = "Nomina";
DataTable tables = conn.GetSchema("Tables");
if (tables.FiltraParametros(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName)).Rows.Count == 0)
{
continuar = false;
stringError = "El documento no contiene la hoja nomina";
}
else
{
exceltableName = tables.FiltroPrimero(string.Format("TABLE_NAME LIKE'%{0}%'", exceltableName))["TABLE_NAME"].ToString();
}
if (continuar)
{
using (System.Data.Odbc.OdbcCommand cmd = conn.CreateCommand())
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = $"SELECT * FROM [{exceltableName}] WHERE LEN(Codigo)>0 AND Codigo <> 'Codigo'";
using (System.Data.Odbc.OdbcDataAdapter da = new System.Data.Odbc.OdbcDataAdapter(cmd))
{
da.Fill(DTEXcel);
}
}
}
}
}
catch (Exception ex)
{
continuar = false;
stringError = "Ocurrio un Error al procesar el excel ";
string.Format(stringError, ex.ToString()).GuardaLog();
}
}
if (continuar && DTEXcel.Rows.Count == 0)
{
continuar = false;
stringError = "No se encontraron cambios";
}
StringBuilder str = new StringBuilder();
bool rollback = false;
if (continuar)
{
int CveMoneda = 1;
List<int> lConceptos = new List<int>();
foreach (DataColumn item in DTEXcel.Columns)
{
if (item.ColumnName.ToEntero() > 0)
{
lConceptos.Add(item.ColumnName.ToEntero());
}
}
using (ClsRH objpersonal = new ClsRH())
{
using (ClsNominas objNomina = new ClsNominas())
{
foreach (DataRow row in DTEXcel.Rows)
{
string Codigo = row["Codigo"].ToString();
int CvePersonal = 0;
int CveNomina = 0;
double SubTotal = 0;
double Total = 0;
int CveMetodoPago = 0;
if (Codigo != "-1" && objpersonal.GetPersonal(-1, Codigo, "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, "-1", -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) &&
objpersonal.DtResultados.Rows.Count == 1)
{
CvePersonal = objpersonal.CvePersonal;
CveMetodoPago = objpersonal.CveMetodoPago;
}
else
{
str.AppendLine(string.Format("No se encontro el codigo {0}<br>", Codigo));
}
if (CvePersonal > 0)
{
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa))
{
if (objNomina.DtResultados.Rows.Count > 0)
{
CveNomina = objNomina.CveNomina;
}
else
{
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoSeleccionado, SubTotal, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
CveNomina = objNomina.CveNomina;
}
else
{
rollback = true;
}
}
}
else
{
rollback = true;
}
}
if (CveNomina > 0)
{
foreach (int CveConcepto in lConceptos)
{
decimal Importe = 0;
decimal ImporteGravado = 0;
decimal ImporteExento = 0;
Importe = row[CveConcepto.ToString()].ToString().ToDecimal();
try
{
ImporteExento = row[string.Format("E{0}",CveConcepto)].ToString().ToDecimal();
}
catch (Exception) { }
ImporteGravado = Importe - ImporteExento;
objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento,UsuarioActual.CveUsuario);
}
}
}
}
}
}
if (!continuar)
{
Alert(stringError, ModExtensiones.TipoMensaje.MsgAdvertencia);
}
else
{
Alert("La información se a actualizado satisfactoriamente");
}
}
protected void LnkFormatoEmpleados_Click(object sender, EventArgs e)
{
}
protected void LnkFormato_Click(object sender, EventArgs e)
{
try
{
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
var libro = wb.AddWorksheet("Nomina");
int column = 1;
libro.Row(1).Hide();
libro.Cell(1, column).Value = "Codigo";
libro.Cell(2, column).Value = "Codigo";
column++;
libro.Cell(1, column).Value = "Empleado";
libro.Cell(2, column).Value = "Empleado";
libro.Column(column).Width = 35;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('P','D','O') AND EsPadre = 1 ").Rows)
{
column++;
string CveConcepto = row["CveConcepto"].ToString();
string Concepto = row["Concepto"].ToString();
libro.Cell(1, column).Value = CveConcepto;
libro.Cell(2, column).Value = Concepto;
libro.Column(column).Width = 15;
column++;
CveConcepto = string.Format("E{0}", row["CveConcepto"]);
Concepto = string.Format("Exento {0}", row["Concepto"]);
libro.Cell(1, column).Value = CveConcepto;
libro.Cell(2, column).Value = Concepto;
libro.Column(column).Width = 15;
}
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
//libro.Row(1).Cell(13).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(247, 150, 70));
//libro.Row(1).Cell(14).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(0, 176, 240));
//libro.Row(1).Cell(15).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
int Fila = 2;
foreach (DataRow erow in dtempleados.FiltraParametros("CvePersonal>0").Rows)
{
Fila++;
column = 1;
libro.Cell(Fila, column).Value = erow["Codigo"];
column++;
libro.Cell(Fila, column).Value = erow["Nombre"];
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo IN ('P','D','O') AND EsPadre = 1 ").Rows)
{
column++;
string Concepto = row["CveConcepto"].ToString();
libro.Cell(Fila, column).Value = erow[Concepto];
column++;
Concepto = string.Format("{0}-E", row["CveConcepto"]);
libro.Cell(Fila, column).Value = erow[Concepto];
}
}
//libro.Row(2).SetAutoFilter();
System.IO.Stream fs = new System.IO.MemoryStream();
wb.SaveAs(fs);
fs.Position = 0;
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
using (System.IO.Stream input = fs)
{
input.CopyTo(memoryStream);
}
memoryStream.Position = 0;
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.xlsx", "FormatoCargaNominas"));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
catch (Exception ex)
{
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString());
}
}
}

View File

@@ -379,7 +379,6 @@ Partial Class RH_MiPerfil
DTConsumos = Nothing
CargaEstados(1)
CargaSuperioresOrganigrama()
CargaPermisos()
CargaPermisosReemplazos()
CargaConceptos()
CargaDatosPersonal()
@@ -388,6 +387,7 @@ Partial Class RH_MiPerfil
If clave > 0 Then
ViewState("CvePersonal") = clave
CargaDatos()
CargaPermisos()
LtlTitulo.Text = "Consulta de Personal:"
If UsuarioActual.CveRol = 1 Then
ImgImprimirExpediente.Visible = True

687
SigAyuda.aspx Normal file
View File

@@ -0,0 +1,687 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="SigAyuda.aspx.vb" Inherits="Metronic_SigAyuda" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
<link href="/Metronic/assets/global/css/components4.min.css" rel="stylesheet" id="style_components" type="text/css" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.fa-file-pdf-o{
color: #e43a45;
}
.fa-file-word-o{
color: #337ab7;
}
.fa-3 {
font-size: 1.5em;
}
.tabbable-custom .tabs-left.nav-tabs > li {
background-color: #f7f7f7;
}
.tabbable-custom .tabs-left.nav-tabs > li.active {
background-color: #FFF;
}
.tabbable-custom .tabs-left.nav-tabs > li:hover {
background-color: #fff;
/*border-top: 3px solid #F3565D;*/
}
.tabbable-custom .tabs-left.nav-tabs > li.active > a:hover {
border-right: none;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Ayuda
</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">
<%-- <div class="col-md-2 col-sm-3 ">
<div class="tabbable-custom">
<ul class="nav nav-tabs tabs-left">
<li class="active">
<asp:HyperLink ID="tabOrdenes_de_compra" NavigateUrl="#dtabOrdenes_de_compra" runat="server" data-toggle="tab">Ordenes de compra</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="tabCompras" NavigateUrl="#dtabCompras" runat="server" data-toggle="tab">Compras</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="tabBancos" NavigateUrl="#dtabBancos" runat="server" data-toggle="tab">Bancos</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="tabContabilidad" NavigateUrl="#dtabContabilidad" runat="server" data-toggle="tab">Contabilidad</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="tabVentas" NavigateUrl="#dtabVentas" runat="server" data-toggle="tab">Ventas</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="tabRecursos_Humanos" NavigateUrl="#dtabRecursos_Humanos" runat="server" data-toggle="tab">Recursos Humanos</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="tabActivos_Fijos" NavigateUrl="#dtabActivos_Fijos" runat="server" data-toggle="tab">Activos Fijos</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="tabInventarios" NavigateUrl="#dtabInventarios" runat="server" data-toggle="tab">Inventarios</asp:HyperLink>
</li>
</ul>
</div>
</div>
<div class="col-md-10 col-sm-9 ">--%>
<div class="mt-element-list">
<%--Titulo--%>
<div class="mt-list-head list-todo red">
<div class="list-head-title-container">
<h3 class="list-title">Menu Ayuda</h3>
</div>
<a href="javascript:;">
<%--<div class="list-count pull-right red-mint">
<i class="fa fa-question-circle"></i>
</div>--%>
</a>
</div>
<%-- Ordenes de compra --%>
<div class="mt-list-container list-todo">
<div class="list-todo-line"></div>
<ul>
<li class="mt-list-item">
<div class="list-todo-icon bg-white">
<i class="fa fa-tags"></i>
</div>
<div class="list-todo-item grey">
<a class="list-toggle-container font-white" data-toggle="collapse" href="#taskOC" aria-expanded="false">
<div class="list-toggle done uppercase">
<div class="list-toggle-title bold">Ordenes de compra</div>
<div class="badge badge-default pull-right bold">1</div>
</div>
</a>
<div class="task-list panel-collapse collapse " id="taskOC">
<ul>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Ordenes de Compra/Manual Ordenes de Compra.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Manual Ordenes de Compra
</h4>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<%-- Compras --%>
<div class="mt-list-container list-todo">
<div class="list-todo-line"></div>
<ul>
<li class="mt-list-item">
<div class="list-todo-icon bg-white">
<i class="fa fa-shopping-cart"></i>
</div>
<div class="list-todo-item grey">
<a class="list-toggle-container font-white" data-toggle="collapse" href="#taskCompras" aria-expanded="false">
<div class="list-toggle done uppercase">
<div class="list-toggle-title bold">Compras</div>
<div class="badge badge-default pull-right bold">5</div>
</div>
</a>
<div class="task-list panel-collapse collapse " id="taskCompras">
<ul>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Compras/Catalogo de proveedores.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Catalogo de proveedores
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Compras/eFacturas y Proveedores.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">eFacturas y Proveedores
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Compras/Manual Proveedores Pagos .pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Manual Proveedores Pagos
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Compras/Manual Registro de factura.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Manual Registro de factura
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Compras/Recepción de Complementos de Pago.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Recepción de Complementos de Pago
</h4>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<%-- Bancos --%>
<div class="mt-list-container list-todo">
<div class="list-todo-line"></div>
<ul>
<li class="mt-list-item">
<div class="list-todo-icon bg-white">
<i class="fa fa-university"></i>
</div>
<div class="list-todo-item grey">
<a class="list-toggle-container font-white" data-toggle="collapse" href="#taskBancos" aria-expanded="false">
<div class="list-toggle done uppercase">
<div class="list-toggle-title bold">Bancos</div>
<div class="badge badge-default pull-right bold">6</div>
</div>
</a>
<div class="task-list panel-collapse collapse " id="taskBancos">
<ul>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Bancos/Cancelacion de complementos de pago.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Cancelacion de complementos de pago
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Bancos/Manual Cuentas Bancarias.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Manual Cuentas Bancarias
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-word-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Bancos/Procedimiento de caja chica.docx');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Procedimiento de caja chica
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-word-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Bancos/Procedimiento para actualizar gestor de cobranza.docx');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Procedimiento para actualizar gestor de cobranza
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-word-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Bancos/Surtir mercancía de contado.docx');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Surtir mercancía de contado
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-word-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Bancos/Uso de cajas chicas y Cortes en Punto de Venta.docx');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Uso de cajas chicas y Cortes en Punto de Venta
</h4>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<%-- Contabilidad --%>
<div class="mt-list-container list-todo">
<div class="list-todo-line"></div>
<ul>
<li class="mt-list-item">
<div class="list-todo-icon bg-white">
<i class="icon-calculator"></i>
</div>
<div class="list-todo-item grey">
<a class="list-toggle-container font-white" data-toggle="collapse" href="#taskContabilidad" aria-expanded="false">
<div class="list-toggle done uppercase">
<div class="list-toggle-title bold">Contabilidad</div>
<div class="badge badge-default pull-right bold">0</div>
</div>
</a>
<div class="task-list panel-collapse collapse " id="taskContabilidad">
<ul>
</ul>
</div>
</div>
</li>
</ul>
</div>
<%-- Ventas --%>
<div class="mt-list-container list-todo">
<div class="list-todo-line"></div>
<ul>
<li class="mt-list-item">
<div class="list-todo-icon bg-white">
<i class="fa fa-money"></i>
</div>
<div class="list-todo-item grey">
<a class="list-toggle-container font-white" data-toggle="collapse" href="#taskVentas" aria-expanded="false">
<div class="list-toggle done uppercase">
<div class="list-toggle-title bold">Ventas</div>
<div class="badge badge-default pull-right bold">2</div>
</div>
</a>
<div class="task-list panel-collapse collapse " id="taskVentas">
<ul>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Ventas/Procesos de Ventas.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Procesos de Ventas
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Ventas/Reportes de Ventas.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Reportes de Ventas
</h4>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<%-- Recursos Humanos --%>
<div class="mt-list-container list-todo">
<div class="list-todo-line"></div>
<ul>
<li class="mt-list-item">
<div class="list-todo-icon bg-white">
<i class="fa fa-users"></i>
</div>
<div class="list-todo-item grey">
<a class="list-toggle-container font-white" data-toggle="collapse" href="#taskRH" aria-expanded="false">
<div class="list-toggle done uppercase">
<div class="list-toggle-title bold">Recursos Humanos</div>
<div class="badge badge-default pull-right bold">4</div>
</div>
</a>
<div class="task-list panel-collapse collapse " id="taskRH">
<ul>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/RH/Manual RH.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Manual RH
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-word-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/RH/Registro y asignación de uniformes.docx');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Registro y asignación de uniformes
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-word-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/RH/Solicitud de permisos.docx');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Solicitud de permisos
</h4>
</div>
</li>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-word-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/RH/Viaticos.docx');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Viaticos
</h4>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<%-- Activos Fijos --%>
<div class="mt-list-container list-todo">
<div class="list-todo-line"></div>
<ul>
<li class="mt-list-item">
<div class="list-todo-icon bg-white">
<i class=" fa fa-building"></i>
</div>
<div class="list-todo-item grey">
<a class="list-toggle-container font-white" data-toggle="collapse" href="#taskAF" aria-expanded="false">
<div class="list-toggle done uppercase">
<div class="list-toggle-title bold">Activos Fijos</div>
<div class="badge badge-default pull-right bold">1</div>
</div>
</a>
<div class="task-list panel-collapse collapse " id="taskAF">
<ul>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Activos Fijos/Manual Activo Fijo.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Manual Activo Fijo
</h4>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<%-- Inventarios --%>
<div class="mt-list-container list-todo">
<div class="list-todo-line"></div>
<ul>
<li class="mt-list-item">
<div class="list-todo-icon bg-white">
<i class="fa fa-dropbox"></i>
</div>
<div class="list-todo-item grey">
<a class="list-toggle-container font-white" data-toggle="collapse" href="#taskInventarios" aria-expanded="false">
<div class="list-toggle done uppercase">
<div class="list-toggle-title bold">Inventarios</div>
<div class="badge badge-default pull-right bold">1</div>
</div>
</a>
<div class="task-list panel-collapse collapse " id="taskInventarios">
<ul>
<li class="task-list-item done">
<div class="task-icon">
<a href="javascript:;">
<i class="fa fa-file-pdf-o fa-3"></i>
</a>
</div>
<div class="task-status">
<a class="done" href="javascript:downFile('Manuales/Inventarios/Manual recepcion de Almacen.pdf');">
<i class="fa fa-download fa-3"></i>
</a>
</div>
<div class="task-content">
<h4 class="uppercase bold">Manual recepcion de Almacen
</h4>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<%--</div>
<div class="tab-content">
<div class="tab-pane active" id="dtabOrdenes_de_compra">
<h4>Ordenes de compra</h4>
<a onclick="">Descarga el manual de ordenes de compra aquí</a>
</div>
<div class="tab-pane " id="dtabCompras">
<h4>Compras</h4>
<a onclick="downFile('Manuales/Compras/Catalogo de proveedores.pdf')">Descarga el Catalogo de proveedores aquí</a>
<a onclick="downFile('Manuales/Compras/eFacturas y Proveedores.pdf')">Descarga eFacturas y Proveedores aquí</a>
<a onclick="downFile('Manuales/Compras/Manual Proveedores Pagos .pdf')">Descarga el manual de proveedores pagos aquí</a>
<a onclick="downFile('Manuales/Compras/Manual Registro de factura.pdf')">Descarga el manual de registro de factura aquí</a>
<a onclick="downFile('Manuales/Compras/Recepción de Complementos de Pago.pdf')">Descarga el manual de recepción complementos de Pago aquí</a>
</div>
<div class="tab-pane " id="dtabBancos">
<h4>Bancos</h4>
<a onclick="downFile('Manuales/Bancos/Cancelacion de complementos de pago.pdf')">Descarga el manual de cancelacion de complementos de pago aquí</a>
<a onclick="downFile('Manuales/Bancos/Manual Cuentas Bancarias.pdf')">Descarga el manual de cuentas bancarias aquí</a>
<a onclick="downFile('Manuales/Bancos/Procedimiento de caja chica.docx')">Descarga el procedimiento de caja chica aquí</a>
<a onclick="downFile('Manuales/Bancos/Procedimiento para actualizar gestor de cobranza.docx')">Descarga el procedimiento para actualizar gestor de cobranza aquí</a>
<a onclick="downFile('Manuales/Bancos/Surtir mercancía de contado.docx')">Descarga el manual de surtir mercancía de contado aquí</a>
<a onclick="downFile('Manuales/Bancos/Uso de cajas chicas y Cortes en Punto de Venta.docx')">Descarga el manual de uso de cajas chicas y cortes en punto de venta aquí</a>
</div>
<div class="tab-pane " id="dtabContabilidad">
<h4>Contabilidad</h4>
<a onclick="downFile('Manuales/.pdf')">Descarga el manual aquí</a>
</div>
<div class="tab-pane " id="dtabVentas">
<h4>Ventas</h4>
<a onclick="downFile('Manuales/Ventas/Procesos de Ventas.pdf')">Descarga el manual de procesos de Ventas aquí</a>
<a onclick="downFile('Manuales/Ventas/Reportes de Ventas.pdf')">Descarga el manual de reportes de ventas aquí</a>
</div>
<div class="tab-pane " id="dtabRecursos_Humanos">
<h4>Recursos Humanos</h4>
<a onclick="downFile('Manuales/RH/Manual RH.pdf')">Descarga el manual de RH aquí</a>
<a onclick="downFile('Manuales/RH/Registro y asignación de uniformes.docx')">Descarga el manual de registro y asignación de uniformes aquí</a>
<a onclick="downFile('Manuales/RH/Solicitud de permisos.docx')">Descarga el manual de solicitud de permisos aquí</a>
<a onclick="downFile('Manuales/RH/Viaticos.docx')">Descarga el manual de viaticos aquí</a>
</div>
<div class="tab-pane " id="dtabActivos_Fijos">
<h4>Activos Fijos</h4>
<a onclick="downFile('Manuales/Activos Fijos/Manual Activo Fijo.pdf')">Descarga el manual de activo fijo aquí</a>
</div>
<div class="tab-pane " id="dtabInventarios">
<h4>Inventarios</h4>
<a onclick="downFile('Manuales/Inventarios/Manual recepcion de Almacen.pdf')">Descarga el manual de recepcion de Almacen aquí</a>
</div>
</div>--%>
</div>
<asp:TextBox ID="TxtDocto" CssClass="hidden TxtDocto" runat="server"></asp:TextBox>
<asp:Button ID="btnDownload" OnClick="btnDownload_Click" runat="server" UseSubmitBehavior="false" CssClass="hidden btnDownload" Text="dowm" />
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
function downFile(file) {
$('.TxtDocto').val(file);
$('.btnDownload').click();
}
</script>
</asp:Content>

32
SigAyuda.aspx.vb Normal file
View File

@@ -0,0 +1,32 @@

Partial Class Metronic_SigAyuda
Inherits System.Web.UI.Page
Protected Sub btnDownload_Click(sender As Object, e As EventArgs)
Try
Dim docto As String = TxtDocto.Text.Replace("/", "\")
Dim path As String = $"{AppDomain.CurrentDomain.BaseDirectory}{docto}"
Dim file As New System.IO.FileInfo(path)
Dim mimeType As String = "text/plain"
Try
mimeType = MimeMapping.GetMimeMapping(path)
Catch ex As Exception
End Try
'Response.Write(path)
Response.Clear()
Response.ClearHeaders()
Response.ClearContent()
Response.AddHeader("Content-Disposition", $"attachment; filename= {Uri.EscapeDataString(file.Name)}")
Response.AddHeader("Content-Length", file.Length.ToString())
Response.ContentType = mimeType
Response.Flush()
Response.TransmitFile(file.FullName)
Response.End()
Catch ex As Exception
'GuardaLog($"GenerateFile: {ex.ToString()}")
End Try
End Sub
End Class

View File

@@ -58,6 +58,8 @@
<asp:DropDownList ID="DdlCtaContableClientes" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:ListItem Selected="True" Text="Seleccione" Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCtaCliente" runat="server" ControlToValidate="DdlCtaContableClientes" InitialValue="0" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />La cuenta del <b>''Cliente''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECtaCliente" runat="server" HighlightCssClass="vco" TargetControlID="RFVCtaCliente" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr>
@@ -69,9 +71,11 @@
</asp:RadioButtonList>
</td>
<td>
<asp:DropDownList ID="DropDownList1" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:DropDownList ID="DdlCtaContableProveedores" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:ListItem Selected="True" Text="Seleccione" Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCtaProveedor" runat="server" ControlToValidate="DdlCtaContableProveedores" InitialValue="0" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />La cuenta del <b>''Proveedor''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECtaProveedor" runat="server" HighlightCssClass="vco" TargetControlID="RFVCtaProveedor" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr>
@@ -83,9 +87,11 @@
</asp:RadioButtonList>
</td>
<td>
<asp:DropDownList ID="DropDownList2" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:DropDownList ID="DdlCtaContableDeudores" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:ListItem Selected="True" Text="Seleccione" Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCtaDeudor" runat="server" ControlToValidate="DdlCtaContableDeudores" InitialValue="0" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />La cuenta del <b>''Deudor''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECtaDeudor" runat="server" HighlightCssClass="vco" TargetControlID="RFVCtaDeudor" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr>
@@ -97,9 +103,11 @@
</asp:RadioButtonList>
</td>
<td>
<asp:DropDownList ID="DropDownList3" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:DropDownList ID="DdlCtaContableAlmacen" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:ListItem Selected="True" Text="Seleccione" Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCtaAlmacen" runat="server" ControlToValidate="DdlCtaContableAlmacen" InitialValue="0" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />La cuenta de <b>''Almacén''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECtaAlmacen" runat="server" HighlightCssClass="vco" TargetControlID="RFVCtaAlmacen" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr>
@@ -111,27 +119,13 @@
</asp:RadioButtonList>
</td>
<td>
<asp:DropDownList ID="DropDownList4" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:DropDownList ID="DdlCtaContableCosto" class="select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="200px">
<asp:ListItem Selected="True" Text="Seleccione" Value="0"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCtaCosto" runat="server" ControlToValidate="DdlCtaContableCosto" InitialValue="0" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />La cuenta de <b>''Costo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECtaCosto" runat="server" HighlightCssClass="vco" TargetControlID="RFVCtaCosto" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<%-- <tr>
<td>Clave de Empresa:</td>
<td>
<asp:TextBox ID="TxtCveEmpresa" runat="server" MaxLength="50" Width="60px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVCveEmpresa" runat="server" ControlToValidate="TxtCveEmpresa" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''CveEmpresa de la Empresa''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECveEmpresa" runat="server" HighlightCssClass="vco" TargetControlID="RFVCveEmpresa" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr>
<td>Razón Social:</td>
<td>
<asp:TextBox ID="TxtEmpresa" runat="server" MaxLength="50" Width="350px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVEmpresa" runat="server" ControlToValidate="TxtEmpresa" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Nombre de la Empresa''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEEmpresa" runat="server" HighlightCssClass="vco" TargetControlID="RFVEmpresa" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
</tr>--%>
</table>
</div>
</div>
@@ -196,7 +190,7 @@
</div>
</div>
<div id="DvServidorConta" class="portlet light smmallpadding bordered" runat="server" visible="false">
<div id="DvServidorConta" class="portlet light smmallpadding bordered" runat="server" visible="false">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>

View File

@@ -17,134 +17,146 @@ Partial Class Sistemas_ConfiguracionEmpresa
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCuentasClientesSIG()
CargaCuentasClientesSIG(DdlCtaContableClientes)
CargaCuentasClientesSIG(DdlCtaContableProveedores)
CargaCuentasClientesSIG(DdlCtaContableDeudores)
CargaCuentasClientesSIG(DdlCtaContableAlmacen)
CargaCuentasClientesSIG(DdlCtaContableCosto)
End If
End Sub
#Region "Carga Cuentas"
Private Sub CargaCuentasClientesSIG()
Private Sub CargaCuentasClientesSIG(ddl As DropDownList)
Dim ObjContabilidad As New ClsContabilidad
If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
DdlCtaContableClientes.DataBind()
ddl.Items.Clear()
ddl.Items.Add(New ListItem("Seleccione", "0"))
ddl.DataSource = ObjContabilidad.DtResultados
ddl.DataBind()
End If
ObjContabilidad.Dispose()
End Sub
Private Sub CargaCuentasClientesCompaq()
Private Sub CargaCuentasClientesCompaq(ddl As DropDownList)
Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
If ObjCompaq.GetCuentas(-1, "-1", 1) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
DdlCtaContableClientes.DataBind()
ddl.Items.Clear()
ddl.Items.Add(New ListItem("Seleccione", "0"))
ddl.DataSource = ObjCompaq.DtResultados
ddl.DataBind()
End If
ObjCompaq.Dispose()
End Sub
Private Sub CargaCuentasProveedoresSIG()
Dim ObjContabilidad As New ClsContabilidad
'Private Sub CargaCuentasProveedoresSIG()
' Dim ObjContabilidad As New ClsContabilidad
If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
DdlCtaContableClientes.DataBind()
End If
ObjContabilidad.Dispose()
End Sub
Private Sub CargaCuentasProveedoresCompaq()
Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
' If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
' DdlCtaContableClientes.Items.Clear()
' DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
' DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
' DdlCtaContableClientes.DataBind()
' End If
' ObjContabilidad.Dispose()
'End Sub
'Private Sub CargaCuentasProveedoresCompaq()
' Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
If ObjCompaq.GetCuentas(-1, "-1", 1) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
DdlCtaContableClientes.DataBind()
End If
ObjCompaq.Dispose()
End Sub
' If ObjCompaq.GetCuentas(-1, "-1", 1) Then
' DdlCtaContableClientes.Items.Clear()
' DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
' DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
' DdlCtaContableClientes.DataBind()
' End If
' ObjCompaq.Dispose()
'End Sub
Private Sub CargaCuentasDeudoresSIG()
Dim ObjContabilidad As New ClsContabilidad
'Private Sub CargaCuentasDeudoresSIG()
' Dim ObjContabilidad As New ClsContabilidad
If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
DdlCtaContableClientes.DataBind()
End If
ObjContabilidad.Dispose()
End Sub
Private Sub CargaCuentassDeudoresCompaq()
Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
' If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
' DdlCtaContableClientes.Items.Clear()
' DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
' DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
' DdlCtaContableClientes.DataBind()
' End If
' ObjContabilidad.Dispose()
'End Sub
'Private Sub CargaCuentassDeudoresCompaq()
' Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
If ObjCompaq.GetCuentas(-1, "-1", 1) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
DdlCtaContableClientes.DataBind()
End If
ObjCompaq.Dispose()
End Sub
' If ObjCompaq.GetCuentas(-1, "-1", 1) Then
' DdlCtaContableClientes.Items.Clear()
' DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
' DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
' DdlCtaContableClientes.DataBind()
' End If
' ObjCompaq.Dispose()
'End Sub
Private Sub CargaCuentasAlmacenSIG()
Dim ObjContabilidad As New ClsContabilidad
'Private Sub CargaCuentasAlmacenSIG()
' Dim ObjContabilidad As New ClsContabilidad
If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
DdlCtaContableClientes.DataBind()
End If
ObjContabilidad.Dispose()
End Sub
Private Sub CargaCuentasAlmacenCompaq()
Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
' If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
' DdlCtaContableClientes.Items.Clear()
' DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
' DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
' DdlCtaContableClientes.DataBind()
' End If
' ObjContabilidad.Dispose()
'End Sub
'Private Sub CargaCuentasAlmacenCompaq()
' Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
If ObjCompaq.GetCuentas(-1, "-1", 1) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
DdlCtaContableClientes.DataBind()
End If
ObjCompaq.Dispose()
End Sub
' If ObjCompaq.GetCuentas(-1, "-1", 1) Then
' DdlCtaContableClientes.Items.Clear()
' DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
' DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
' DdlCtaContableClientes.DataBind()
' End If
' ObjCompaq.Dispose()
'End Sub
Private Sub CargaCuentasCostoSIG()
Dim ObjContabilidad As New ClsContabilidad
'Private Sub CargaCuentasCostoSIG()
' Dim ObjContabilidad As New ClsContabilidad
If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
DdlCtaContableClientes.DataBind()
End If
ObjContabilidad.Dispose()
End Sub
Private Sub CargaCuentasCostoCompaq()
Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
' If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
' DdlCtaContableClientes.Items.Clear()
' DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
' DdlCtaContableClientes.DataSource = ObjContabilidad.DtResultados
' DdlCtaContableClientes.DataBind()
' End If
' ObjContabilidad.Dispose()
'End Sub
'Private Sub CargaCuentasCostoCompaq()
' Dim ObjCompaq As New ClsContPAQi(UsuarioActual.Empresa)
If ObjCompaq.GetCuentas(-1, "-1", 1) Then
DdlCtaContableClientes.Items.Clear()
DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
DdlCtaContableClientes.DataBind()
End If
ObjCompaq.Dispose()
End Sub
' If ObjCompaq.GetCuentas(-1, "-1", 1) Then
' DdlCtaContableClientes.Items.Clear()
' DdlCtaContableClientes.Items.Add(New ListItem("Seleccione", "0"))
' DdlCtaContableClientes.DataSource = ObjCompaq.DtResultados
' DdlCtaContableClientes.DataBind()
' End If
' ObjCompaq.Dispose()
'End Sub
#End Region
Protected Sub RblTipo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipo.SelectedIndexChanged
If RblTipo.SelectedValue = "SIG" Then
DvServidorConta.Visible = False
CargaCuentasClientesSIG()
CargaCuentasClientesSIG(DdlCtaContableClientes)
CargaCuentasClientesSIG(DdlCtaContableProveedores)
CargaCuentasClientesSIG(DdlCtaContableDeudores)
CargaCuentasClientesSIG(DdlCtaContableAlmacen)
CargaCuentasClientesSIG(DdlCtaContableCosto)
Else
DvServidorConta.Visible = True
CargaCuentasClientesCompaq()
CargaCuentasClientesCompaq(DdlCtaContableClientes)
CargaCuentasClientesCompaq(DdlCtaContableProveedores)
CargaCuentasClientesCompaq(DdlCtaContableDeudores)
CargaCuentasClientesCompaq(DdlCtaContableAlmacen)
CargaCuentasClientesCompaq(DdlCtaContableCosto)
End If
End Sub
@@ -152,7 +164,7 @@ Partial Class Sistemas_ConfiguracionEmpresa
Dim ObjEmpresas As New ClsSisEmpresas
ObjEmpresas.IniciaTransacSQL()
Alert("sdfsz")