This commit is contained in:
2019-09-04 18:46:44 -07:00
51 changed files with 4880 additions and 408 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

@@ -89,7 +89,7 @@ Public Class ClsContPAQi
Catch ex As Exception
Me.OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex)
End Try
ConexionAdd()
'ConexionAdd()
End Sub
Private Sub SetTimeOut(Optional Tiempo As Integer = 30)
SqlCommand.CommandTimeout = Tiempo
@@ -9960,34 +9960,45 @@ Public Class ClsContPAQi
Public Function FNC_GetCounter() As Boolean
Dim Retorno = False
StrSQL.Clear()
StrSQL.Append(" IF OBJECT_ID ('FNC_GetCounter') IS NOT NULL DROP FUNCTION FNC_GetCounter")
SqlDataAdapter(StrSQL.ToString, CommandType.Text)
'StrSQL.Clear()
'StrSQL.Append(" IF OBJECT_ID ('FNC_GetCounter') IS NOT NULL DROP FUNCTION FNC_GetCounter")
'SqlDataAdapter(StrSQL.ToString, CommandType.Text)
Try
SqlAdapter.SelectCommand.ExecuteNonQuery()
Catch ex As Exception
Me.OnError("Ocurrió un error al eliminar la funcion FNC_GetCounter", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
'Try
' SqlAdapter.SelectCommand.ExecuteNonQuery()
'Catch ex As Exception
' Me.OnError("Ocurrió un error al eliminar la funcion FNC_GetCounter", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
'End Try
StrSQL.Clear()
StrSQL.Append(" CREATE FUNCTION [dbo].[FNC_GetCounter] ")
StrSQL.Append(" ( ")
StrSQL.Append(" @TipoCounter VARCHAR(200) ")
StrSQL.Append(" ) ")
StrSQL.Append(" RETURNS INT ")
StrSQL.Append(" AS ")
StrSQL.Append(" BEGIN ")
StrSQL.Append(" ")
StrSQL.Append(" DECLARE @Id INT; ")
StrSQL.Append(" ")
StrSQL.Append(" SELECT @Id = C.Next ")
StrSQL.Append(" FROM Counters C ")
StrSQL.Append(" WHERE C.Name = @TipoCounter; ")
StrSQL.Append(" ")
StrSQL.Append(" RETURN @Id; ")
StrSQL.Append(" END; ")
'StrSQL.Append(" CREATE FUNCTION [dbo].[FNC_GetCounter] ")
'StrSQL.Append(" ( ")
'StrSQL.Append(" @TipoCounter VARCHAR(200) ")
'StrSQL.Append(" ) ")
'StrSQL.Append(" RETURNS INT ")
'StrSQL.Append(" AS ")
'StrSQL.Append(" BEGIN ")
'StrSQL.Append(" ")
'StrSQL.Append(" DECLARE @Id INT; ")
'StrSQL.Append(" ")
'StrSQL.Append(" SELECT @Id = C.Next ")
'StrSQL.Append(" FROM Counters C ")
'StrSQL.Append(" WHERE C.Name = @TipoCounter; ")
'StrSQL.Append(" ")
'StrSQL.Append(" RETURN @Id; ")
'StrSQL.Append(" END; ")
StrSQL.AppendLine(" IF NOT EXISTS (SELECT 1 FROM sys.objects WHERE type = 'FN' AND name = 'FNC_GetCounter')")
StrSQL.AppendLine(" BEGIN")
StrSQL.AppendLine(" DECLARE @sql NVARCHAR(MAX);")
StrSQL.AppendLine(" SET @sql = N'CREATE FUNCTION [dbo].[FNC_GetCounter] ")
StrSQL.AppendLine(" (@TipoCounter VARCHAR(200))")
StrSQL.AppendLine(" RETURNS INT AS ")
StrSQL.AppendLine(" BEGIN ")
StrSQL.AppendLine(" DECLARE @Id INT;SELECT @Id = C.Next FROM Counters C WHERE C.Name = @TipoCounter;RETURN @Id; ")
StrSQL.AppendLine(" END;';")
StrSQL.AppendLine(" EXEC sp_executesql @sql;")
StrSQL.AppendLine(" END")
@@ -11200,7 +11211,7 @@ Public Class ClsContPAQi
' 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()
'ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -4663,6 +4663,55 @@ Public Class ClsInventarios
End Try
Return Retorno
End Function
Public Function AddProductosServiciosAlmacenSeccion(CvePS As Integer, CveAlmacen As Integer, CveAlmacenSeccion As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_ProductosServiciosAlmacenSeccionAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
.Add("@CveAlmacenSeccion", SqlDbType.Int).Value = CveAlmacenSeccion
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar el ps de la seccion de almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetProductosServiciosAlmacenSeccion(CvePS As Integer, CveAlmacen As Integer, CveAlmacenSeccion As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_ProductosServiciosAlmacenSeccionGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
.Add("@CveAlmacenSeccion", SqlDbType.Int).Value = CveAlmacenSeccion
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el ps de la seccion de almacen", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function RemoveProductosServiciosAlmacenSeccion(CvePSAlmacenSeccion As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_ProductosServiciosAlmacenSeccionRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePSAlmacenSeccion", SqlDbType.Int).Value = CvePSAlmacenSeccion
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar el ps de la seccion de almacen", 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

@@ -16,7 +16,8 @@ Public Class ClsOC
Private Data As DataTable
'Atributos de la clase
Private disposedValue As Boolean = False
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -167,7 +168,7 @@ Public Class ClsOC
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)
With SqlAdapter.SelectCommand
@@ -178,6 +179,45 @@ Public Class ClsOC
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
'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
Try
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()
@@ -2481,6 +2521,7 @@ Public Class ClsOC
disposedValue = True
End Sub
Public Sub Dispose() Implements IDisposable.Dispose
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -16,6 +16,8 @@ Public Class ClsOIEventos
Private SqlCommand As SqlCommand
Private Data As DataTable
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -109,7 +111,7 @@ Public Class ClsOIEventos
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
@@ -120,6 +122,45 @@ Public Class ClsOIEventos
Data = New DataTable
If SqlTransacc IsNot Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc
End Sub
#Region "Conexiones"
Private Sub ConexionAdd()
If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
'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
Try
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 Sub IniciaTransacSQL()
SqlTransacc = SqlConexion.BeginTransaction()
End Sub
@@ -1339,6 +1380,7 @@ Public Class ClsOIEventos
' 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

@@ -15,6 +15,8 @@ Public Class ClsOS
Private Data As DataTable
'Atributos de la clase
Private disposedValue As Boolean = False
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -98,7 +100,7 @@ Public Class ClsOS
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)
With SqlAdapter.SelectCommand
@@ -109,6 +111,45 @@ Public Class ClsOS
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()
@@ -1632,6 +1673,7 @@ Public Class ClsOS
' 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

@@ -21,6 +21,8 @@ Public Class ClsPV
'Atributos de la clase
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -64,7 +66,7 @@ Public Class ClsPV
End If
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(ByVal pStrSQL As String, Optional ByVal TipoComando As CommandType = CommandType.StoredProcedure)
@@ -76,7 +78,44 @@ Public Class ClsPV
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
'Reporte de Ventas
Public Function GetRepPVVentas(FechaI As String, FechaF As String, FechaIEjec As String, FechaFEjec As String, CveCliente As Integer, CveSubProyecto As Integer, CveSubProyectoEjecucion As Integer,
@@ -193,6 +232,7 @@ Public Class ClsPV
' This code added by Visual Basic to correctly implement the disposable pattern.
Public Sub Dispose() Implements IDisposable.Dispose
' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above.
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -21,6 +21,8 @@ Public Class ClsPresupuestos
'Atributos de la clase
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -64,7 +66,7 @@ Public Class ClsPresupuestos
End If
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -78,7 +80,45 @@ Public Class ClsPresupuestos
End Sub
#End Region
#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
#Region "P R E S U P U E S T O S - P R O D U C T O S - D E T A L L E S"
Public Function GetPresupuestosDetalleProductos(CvePresupuestoDetalle As Integer) As Boolean
@@ -732,6 +772,7 @@ Public Class ClsPresupuestos
' 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,9 @@ Public Class ClsProductosServicios
Private SqlTransacc As SqlTransaction
Private Data As DataTable
Private disposedValue As Boolean = False
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -113,7 +116,7 @@ Public Class ClsProductosServicios
Catch ex As Exception
OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex)
End Try
ConexionAdd()
End Sub
@@ -145,7 +148,7 @@ Public Class ClsProductosServicios
End If
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
With SqlAdapter.SelectCommand
@@ -156,6 +159,45 @@ Public Class ClsProductosServicios
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 GetPS(CvePS As Integer, CveClasificacion As Integer, CveEmpresa As Integer, Optional Codigo As String = "-1", Optional Codigo2 As String = "-1", Optional CodigoBarras As String = "-1", Optional PS As String = "-1", Optional EsPaquete As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional pAplicaParaVenta As Integer = -1, Optional pEstado As Integer = -1, Optional CveClasificacionCosto As Integer = -1, Optional CveTipoPS As Integer = -1, Optional CveCompuesto As Integer = -1, Optional SATClavePS As String = "-1") As Boolean
Dim Retorno As Boolean = False

View File

@@ -17,6 +17,8 @@ Public Class ClsProsEncuestas
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
Private StrSQL As StringBuilder
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -48,7 +50,7 @@ Public Class ClsProsEncuestas
End If
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -60,7 +62,44 @@ Public Class ClsProsEncuestas
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
@@ -752,6 +791,7 @@ Public Class ClsProsEncuestas
' 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

@@ -16,6 +16,8 @@ Public Class ClsProspectos
Private Data As DataTable
Private StrSQL As StringBuilder
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -161,7 +163,7 @@ Public Class ClsProspectos
End If
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -173,6 +175,44 @@ Public Class ClsProspectos
Data = New DataTable
If SqlTransacc IsNot Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc
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
#Region "Prospectos"
Public Function GetNext() As Boolean
@@ -4591,6 +4631,7 @@ Public Class ClsProspectos
' 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

@@ -23,6 +23,8 @@ Public Class ClsProyectos
'Atributos de la clase
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -55,7 +57,7 @@ Public Class ClsProyectos
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
@@ -66,6 +68,44 @@ Public Class ClsProyectos
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()
@@ -210,6 +250,7 @@ Public Class ClsProyectos
' 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 ClsPruebasJJMQ
Private StrSQL As StringBuilder
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -47,6 +49,7 @@ Public Class ClsPruebasJJMQ
SqlAdapter = New SqlDataAdapter("", SqlConexion)
StrSQL = New StringBuilder
ConexionAdd()
End Sub
Private Sub SqlDataAdapter(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -58,7 +61,44 @@ Public Class ClsPruebasJJMQ
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
SqlDataAdapter("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
SqlDataAdapter(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 SqlDataCommand(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
With SqlCommand
.Parameters.Clear()
@@ -134,6 +174,7 @@ Public Class ClsPruebasJJMQ
' 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

@@ -20,6 +20,8 @@ Public Class ClsPuntoVenta
'Atributos de la clase
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -84,7 +86,7 @@ Public Class ClsPuntoVenta
End If
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(ByVal pStrSQL As String, Optional ByVal TipoComando As CommandType = CommandType.StoredProcedure)
@@ -96,7 +98,44 @@ Public Class ClsPuntoVenta
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 GetVta_CortesDetalles(CveCorte As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -390,6 +429,7 @@ Public Class ClsPuntoVenta
' This code added by Visual Basic to correctly implement the disposable pattern.
Public Sub Dispose() Implements IDisposable.Dispose
' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above.
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -81,14 +81,14 @@ Public Class ClsRH
If ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
'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 = HttpContext.Current.Request.Url.AbsolutePath.ToString
.Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output
End With
Try
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
@@ -102,7 +102,7 @@ Public Class ClsRH
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)

View File

@@ -17,6 +17,8 @@ Public Class ClsRMA
Private SqlTransacc As SqlTransaction
Private Data As DataTable
Private disposedValue As Boolean = False
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -56,7 +58,7 @@ Public Class ClsRMA
End If
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(ByVal pStrSQL As String, Optional ByVal TipoComando As CommandType = CommandType.StoredProcedure)
With SqlAdapter.SelectCommand
@@ -67,7 +69,44 @@ Public Class ClsRMA
Data = New DataTable
If SqlTransacc IsNot Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc
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(ByVal pStrSQL As String, Optional ByVal TipoComando As CommandType = CommandType.StoredProcedure)
With SqlCommand
.Parameters.Clear()
@@ -181,6 +220,7 @@ Public Class ClsRMA
' 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

@@ -30,6 +30,8 @@ Public Class ClsSAT
Private disposedValue As Boolean = False
Private ContListado69B As Integer = 0
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -78,7 +80,7 @@ Public Class ClsSAT
SqlAdapter = New SqlDataAdapter("", SqlConexion)
'ConexionAdd()
ConexionAdd()
End Sub
Private Sub DataAdapter(ByVal pStrSQL As String, Optional ByVal TipoComando As CommandType = CommandType.StoredProcedure)
@@ -90,7 +92,44 @@ Public Class ClsSAT
Data = New DataTable
If SqlTransacc IsNot Nothing Then SqlAdapter.SelectCommand.Transaction = SqlTransacc
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 ActualizarListado69B(Ruta As String) As Boolean
Dim respusta As Boolean = False
@@ -337,6 +376,7 @@ Public Class ClsSAT
' This code added by Visual Basic to correctly implement the disposable pattern.
Public Sub Dispose() Implements IDisposable.Dispose
' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above.
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -15,6 +15,8 @@ Public Class ClsSCTLicencias
Private SqlCommand As SqlCommand
Private Data As DataTable
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -53,7 +55,7 @@ Public Class ClsSCTLicencias
Catch ex As Exception
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)
@@ -64,10 +66,47 @@ Public Class ClsSCTLicencias
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
#Region "L I C E N C I A S "
Public Function GetLicencias(CveLicencia As Integer, TipoLicencia As String, NumeroLicencia As String, FechaExpedicionInicio As String, FechaExpedicionFin As String) As Boolean
Dim Retorno As Boolean = False
@@ -226,6 +265,7 @@ Public Class ClsSCTLicencias
' 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

@@ -14,6 +14,8 @@ Public Class ClsSeguimiento
Private SqlAdapter As SqlDataAdapter
Private Data As DataTable
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "Propiedades"
@@ -34,7 +36,7 @@ Public Class ClsSeguimiento
Catch ex As Exception
OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex)
End Try
ConexionAdd()
End Sub
Private Sub DataAdapter(pStrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -45,7 +47,44 @@ Public Class ClsSeguimiento
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
#Region " S E G U I M I E N T O "
@@ -144,6 +183,7 @@ Public Class ClsSeguimiento
' 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

@@ -54,6 +54,8 @@ Public Class ClsSisEmpresas
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
@@ -221,6 +223,7 @@ Public Class ClsSisEmpresas
SqlCommand = New SqlCommand("", SqlConexion)
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -232,6 +235,44 @@ Public Class ClsSisEmpresas
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()
@@ -1836,6 +1877,7 @@ Public Class ClsSisEmpresas
' 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 ( que se dispone como Boolean).
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub

View File

@@ -45,6 +45,8 @@ Public Class ClsSisNotificaciones
Private _ClavesNotificaciones As Dictionary(Of String, List(Of Integer))
Private disposedValue As Boolean = False ' Para detectar llamadas redundantes
'PARA REGISTRAR CONEXION
Private CveConexion As Integer = 0
#End Region
#Region "P R O P I E D A D E S"
@@ -92,7 +94,7 @@ Public Class ClsSisNotificaciones
'Inicializamos las propiedades necesarias
_ClavesNotificaciones = New Dictionary(Of String, List(Of Integer))
ConexionAdd()
End Sub
Private Sub DataAdapter(StrSQL As String, Optional TipoComando As CommandType = CommandType.StoredProcedure)
@@ -103,7 +105,44 @@ Public Class ClsSisNotificaciones
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
#Region "N O T I F I C A C I O N E S"
Public Sub DispararNotificacion(CveNotificacion As Integer, CvesFiltro As List(Of Object), CveEmpresa As Integer)
@@ -2046,6 +2085,7 @@ Public Class ClsSisNotificaciones
' 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

@@ -25,6 +25,8 @@ Public Class ClsSisParametros
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"
@@ -82,7 +84,7 @@ Public Class ClsSisParametros
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)
@@ -93,7 +95,44 @@ Public Class ClsSisParametros
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 GetParametros() As Boolean
Dim OnError As Boolean = False
@@ -234,6 +273,7 @@ Public Class ClsSisParametros
' 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

@@ -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

@@ -1,4 +1,4 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="IE.aspx.vb" Inherits="Bancos_IE" %>
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="IE.aspx.vb" Inherits="Bancos_IE" ValidateRequest="false" %>

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
}

View File

@@ -1126,9 +1126,9 @@ Partial Class Compras_Compras
CveCuentaBancaria = 0
End If
If UsuarioActual.TienePermisoProceso(259) Then
DivEsNoDeducible.Visible = True
End If
'If UsuarioActual.TienePermisoProceso(259) Then
DivEsNoDeducible.Visible = True
'End If
If UsuarioActual.Empresa.Funcionalidad(125) = "1" Then 'Seleccionar a quien se abona la Prepoliza
'ddlCargoPrePoliza.Visible = True
@@ -4642,6 +4642,18 @@ Partial Class Compras_Compras
If Not ErrorAC Then
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
If UsuarioActual.CveEmpresa = 119 AndAlso (DdlPersonalReembolso.SelectedValue.ToEntero > 0 Or DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero > 0) Then
AutoConta = False
End If
If (AutoConta Or UsuarioActual.Empresa.UsaAC) And ObjContaAC Is Nothing Then
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaAC.IniciaTransacSQL()
End If
''EMPIEZA: INSERTA DETALLES DE LA COMPRA
Dim indiceTR = 0
Dim Cont As Integer = 0
@@ -4747,7 +4759,7 @@ Partial Class Compras_Compras
'verifica si fue vinculada con una OC, y si fue la opción de entrega por adelantado, que si hubo cambios de precios
If DdlOCVinculaInv.SelectedValue.ToEntero.Contiene(176, 205) Then
If Not AjustarPrePolizaVinculacionOC(ObjOC, ObjEventos, ObjInventario, ObjConta) Then
If Not AjustarPrePolizaVinculacionOC(ObjOC, ObjEventos, ObjInventario, ObjConta, ObjContaAC) Then
ErrorPrepoliza = True
End If
End If
@@ -5218,16 +5230,7 @@ Partial Class Compras_Compras
IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeIVA).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero
End If
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
If UsuarioActual.CveEmpresa = 119 AndAlso (DdlPersonalReembolso.SelectedValue.ToEntero > 0 Or DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero > 0) Then
AutoConta = False
End If
If (AutoConta Or UsuarioActual.Empresa.UsaAC) And ObjContaAC Is Nothing Then
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaAC.IniciaTransacSQL()
End If
'********************** Variables '**********************
@@ -6207,23 +6210,24 @@ Partial Class Compras_Compras
Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}"
'Conta ContPAQ
If IdCtaContable = 0 Then
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 68))("ConceptoContable").ToString)
idCuentaContabilizacion = 0
End If
'Conta SIG
If CveCuenta = 0 Then
CuentasContablesInvalidasSIG.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 68))("ConceptoContable").ToString)
CveCuentaContabilizacion = 0
End If
If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then
'Conta ContPAQ
If IdCtaContable = 0 Then
CuentasContablesInvalidas.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 68))("ConceptoContable").ToString)
idCuentaContabilizacion = 0
End If
'Conta SIG
If CveCuenta = 0 Then
CuentasContablesInvalidasSIG.Append("<br>" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", 68))("ConceptoContable").ToString)
CveCuentaContabilizacion = 0
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContabilizacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
End If
Dim ContienePSNeteoBonif As Boolean = False
For Each Dr As DataRow In TmpDT.Rows
If Dr("CveClasificacion").ToString.ToEntero.Contiene(20319) Then 'clasificación de Bonificación, no se incluirá en el neteo
@@ -18466,7 +18470,7 @@ Partial Class Compras_Compras
#End Region
Private Function AjustarPrePolizaVinculacionOC(ByRef OC As ClsOC, ByRef OCBitacora As ClsOIEventos, ByRef ObjInventarios As ClsInventarios, ByRef ObjConta As ClsContabilidad) As Boolean
Private Function AjustarPrePolizaVinculacionOC(ByRef OC As ClsOC, ByRef OCBitacora As ClsOIEventos, ByRef ObjInventarios As ClsInventarios, ByRef ObjConta As ClsContabilidad, ByRef ObjAC As ClsContPAQi) As Boolean
'VARIABLES
Dim CveProveedorSucursal As Integer = -1
@@ -18686,6 +18690,12 @@ Partial Class Compras_Compras
Retorno = False
End If
End If
If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso ObjAC IsNot Nothing Then
If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then
Retorno = False
End If
End If
End If
End If
Next

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

@@ -2249,7 +2249,7 @@ Partial Class OC
Dim ObjConta As New ClsContabilidad(OC.IniciaTransacSQL())
Dim Conta As ClsContPAQi = Nothing
If UsuarioActual.Empresa.UsaAC AndAlso VerificaPresupuesto Then
If (UsuarioActual.Empresa.UsaAC AndAlso VerificaPresupuesto) Or UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
Conta = New ClsContPAQi(UsuarioActual.Empresa)
Conta.IniciaTransacSQL()
End If
@@ -2647,6 +2647,13 @@ Partial Class OC
End If
End If
If UsuarioActual.Empresa.Funcionalidad(200) = "1" AndAlso Conta IsNot Nothing Then
If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=Conta) Then
TieneError = False
End If
End If
End If
End If
Next

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")

View File

@@ -1193,11 +1193,22 @@
<ajax:FilteredTextBoxExtender ID="FBEImporteContado" runat="server" TargetControlID="TxtImporteContado" FilterType="Custom, Numbers" ValidChars=".," />
<asp:CompareValidator ID="CVImporteContado" runat="server" ControlToValidate="TxtImporteContado" Display="None" ErrorMessage="Importe excedido." Operator="LessThanEqual" Type="Double" ValidationGroup="GrpAgregarPago"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEImporteContado" runat="server" HighlightCssClass="vco" TargetControlID="CVImporteContado" Width="300px"></ajax:ValidatorCalloutExtender>
<%--<asp:CompareValidator ID="CVImporteContado" runat="server" ControlToValidate="TxtImporteContado" Display="None" ErrorMessage="Importe excedido." Operator="LessThanEqual" Type="Double" ValidationGroup="GrpAgregarPago"></asp:CompareValidator>--%>
<%--<ajax:ValidatorCalloutExtender ID="VCEImporteContado" runat="server" HighlightCssClass="vco" TargetControlID="CVImporteContado" Width="300px"></ajax:ValidatorCalloutExtender>--%>
<br></br>
</div>
</div>
<div class="row">
<div class="col-md-6">
</div>
<label class="col-md-2">Cambio:</label>
<div class="col-md-4 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtCambio" CssClass="form-control input-sm " Enabled="false" runat="server" MaxLength="12" Width="100px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FTBECambio" runat="server" TargetControlID="TxtCambio" FilterType="Custom, Numbers" ValidChars=".," />
<br></br>
</div>
</div>
</div>
</div>
</div>
@@ -3180,7 +3191,17 @@
var totalTransferencia = ToDouble($get("TxtImporteTransferencia").value);
var total = totalEfectivo + totalCredito + totalDebito + totalCheque + totalTransferencia;
var totalVenta = ToDouble($get('TxtTotal').value);
if (totalEfectivo > totalVenta) {
$get("TxtCambio").value = FormatoNumero(totalEfectivo - totalVenta);
} else {
$get("TxtCambio").value = "0.00";
}
$get("TxtImporteContado").value = total;
}
// ****************************************************************************************************************************************************************************
@@ -3491,9 +3512,17 @@
$('#divAgregarCliente').modal();
}
function hideDivEC() {
$('#divAgregarCliente').modal('hide');
}
function CambiaAjuste(txt, txtajuste) {
Recalcula();
if (txtajuste != null) {
txtajuste.value = ToDouble(txt.value)
}
}
</script>
</asp:Content>

View File

@@ -1032,8 +1032,8 @@ Partial Class PV
TxtFecha.Text = Now.ToShortDateString()
LblUsuario.Text = UsuarioActual.Usuario
TxtPrecio.Attributes.Add("onKeyUp ", "Recalcula();")
TxtCantidad.Attributes.Add("onKeyUp ", "Recalcula();")
TxtPrecio.Attributes.Add("onKeyUp ", "Recalcula();")
ImgDescPU.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '0'; $get('LblPrecio1').style.display = ''; $get('LblTotalPS1').style.display = 'none'; $get('LblSubTotal1').style.display = 'none'; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = ''; $get('BtnAplicarDescG').style.display = 'none'; $get('TrMotivoDescuento').style.display = '';")
'ImgDescConcepto.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '1'; $get('LblPrecio1').style.display = 'none'; $get('LblTotalPS1').style.display = ''; $get('LblSubTotal1').style.display = 'none'; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = ''; $get('BtnAplicarDescG').style.display = 'none'; $get('TrMotivoDescuento').style.display = '';")
ImgDescTotal.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '2'; $get('LblPrecio1').style.display = 'none'; $get('LblTotalPS1').style.display = 'none'; $get('LblSubTotal1').style.display = ''; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = 'none'; $get('BtnAplicarDescG').style.display = ''; $get('TrMotivoDescuento').style.display = '';")
@@ -1476,7 +1476,7 @@ Partial Class PV
HdnIVAOriginal.Value = TxtIVA.Text
'JJMQ 20160506: Se agrego para la validacion de pago de contado.
CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
If DdlVendedor.SelectedValue.ToEntero > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
DdlVendedor.Enabled = False
@@ -1967,7 +1967,7 @@ Partial Class PV
Alert("Eliminado Correctamente.", TipoMensaje.MsgInformacion)
'JJMQ 20160506: Se agrego para la validacion de pago de contado.
CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
UpContado.Update()
End Sub
@@ -3085,7 +3085,7 @@ Partial Class PV
End If
'JJMQ 20160506: Se agrego para la validacion de pago de contado.
CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
UpContado.Update()
Else
@@ -3903,7 +3903,7 @@ Partial Class PV
HdnIVAOriginal.Value = TxtIVA.Text
'JJMQ 20160506: Se agrego para la validacion de pago de contado.
CVImporteContado.ValueToCompare = Total.ToString
'CVImporteContado.ValueToCompare = Total.ToString
Dim view As DataView = New DataView(TmpDT)
view.Sort = "Consec"
@@ -4264,6 +4264,7 @@ Partial Class PV
TxtImporteCheque.Text = "0.00"
TxtImporteTransferencia.Text = "0.00"
TxtImporteContado.Text = "0.00"
TxtCambio.Text = "0.00"
End Sub
Private Sub LimpiaEscondeContado()
'LIMPIA
@@ -4336,7 +4337,7 @@ Partial Class PV
'JJMQ 20160506: Validacion para no pagar de mas a peticion de I.P.
Dim abonado = DtPagos.SUM("Importe")
Dim saldo = TxtTotal.Text.Replace(",", "").ToDouble - abonado
CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString
'CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString
CargaGridContado()
UpContado.Update()
@@ -4350,7 +4351,7 @@ Partial Class PV
If total <= 0 Then Alert("No se ha ingresado importe", TipoMensaje.MsgAdvertencia) : Exit Sub
If DtPagos.SUM("Importe").ToString.ToDecimal + total > TxtTotal.Text.ToDecimal Then
If (DtPagos.SUM("Importe").ToString.ToDecimal + total - TxtCambio.Text.ToDecimal) > TxtTotal.Text.ToDecimal Then
Alert("El importe de los pagos no puede exceder el importe de la factura. Por favor rectifique.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
@@ -4363,7 +4364,7 @@ Partial Class PV
DrEfectivo("TipoMovimiento") = "Pago en Efectivo"
DrEfectivo("CveCuenta") = DdlCuentaEfectivo.SelectedValue
DrEfectivo("Cuenta") = DdlCuentaEfectivo.SelectedItem.Text
DrEfectivo("Importe") = TxtImporteEfectivo.Text
DrEfectivo("Importe") = TxtImporteEfectivo.Text.ToDecimal - TxtCambio.Text.ToDecimal
DrEfectivo("Folio") = CargaFolioContado(DdlCuentaEfectivo.SelectedValue.ToEntero, 6)
DrEfectivo("Observaciones") = ""
DrEfectivo("Tipo") = "Caja Chica"
@@ -4456,7 +4457,7 @@ Partial Class PV
'JJMQ 20160506: Validacion para no pagar de mas a peticion de I.P.
abonado = DtPagos.SUM("Importe")
saldo = TxtTotal.Text.Replace(",", "").ToDouble - abonado
CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString
'CVImporteContado.ValueToCompare = (saldo.FormatoNumero(2).ToDouble).ToString
CargaGridContado()
UpContado.Update()
@@ -4873,7 +4874,7 @@ Partial Class PV
Dim ObjVenta As New ClsVentas
If ObjVenta.GetVentas(UsuarioActual.CveEmpresa, "Ing", "-1", -1, "-1", CveCliente, -1, -1, -1, "-1", "-1", "-1", CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
DdlFacturas.DataSource = ObjVenta.DtResultados
DdlFacturas.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlFacturas.Items.Insert(0, New ListItem("Sin Factura", "-1"))
End If
ObjVenta.Dispose()
DdlFacturas.DataBind()
@@ -4888,7 +4889,7 @@ Partial Class PV
End If
DdlFacturas.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlFacturas.Items.Insert(0, New ListItem("Sin Factura", "-1"))
DdlTipoUso.DataSource = GlobalDTAcumTiposUso.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}")
DdlTipoUso.Items.Insert(0, New ListItem("Seleccione", "-1"))
@@ -4920,7 +4921,7 @@ Partial Class PV
DtPUFacturas.Rows.Clear()
If DdlFacturas.SelectedValue.ToEntero > 0 Then
TxtPUFactura.Enabled = False
'TxtPUFactura.Enabled = False
Dim ObjVenta As New ClsVentas
If ObjVenta.GetVentaDetalle(DdlFacturas.SelectedValue.ToEntero) Then
DdlPSAjuste.DataSource = ObjVenta.DtResultados
@@ -4929,8 +4930,8 @@ Partial Class PV
End If
ObjVenta.Dispose()
Else
TxtPUFactura.Enabled = True
TxtPUFactura.Text = ""
'TxtPUFactura.Enabled = True
'TxtPUFactura.Text = ""
DdlPSAjuste.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
End If
DdlPSAjuste.DataBind()
@@ -4944,11 +4945,13 @@ Partial Class PV
LimpiaAjuste()
If TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.FiltraParametros($"ConsecutivoVenta = {ConsecutivoVenta}").Rows.Count > 0 Then
ModalidadAjuste = "U"
TxtPrecio.Attributes.Add("onKeyUp", $"CambiaAjuste(this,{TxtPUFactura.ClientID});")
ChkAjuste.Checked = True
DivAjuste.Visible = True
CargaAjusteDetalle()
Else
ModalidadAjuste = "A"
TxtPrecio.Attributes.Add("onKeyUp ", "Recalcula();")
End If
End Sub
@@ -4958,6 +4961,7 @@ Partial Class PV
TxtCodEnsamble.Text = ""
DdlTipoUso.SelectedIndex = -1
TxtCodLinea.Text = ""
TxtPUFactura.Text = ""
TxtFechaAjuste.Text = Now.ToShortDateString
CEEFechaAjuste.EndDate = Now
TxtCodInspeccion.Text = ""
@@ -5023,11 +5027,11 @@ Partial Class PV
End If
Contador += 1
Next
TxtPUFactura.Text = PUFactura.FormatoNumero(2)
'TxtPUFactura.Text = PUFactura.FormatoNumero(2)
End If
If Not DdlPSAjuste.SelectedValue.ToEntero > 0 AndAlso DdlFacturas.SelectedValue.ToEntero > 0 Then
TxtPUFactura.Text = ""
'TxtPUFactura.Text = ""
End If
CalculaPorcentajeAjuste()
@@ -5115,6 +5119,9 @@ Partial Class PV
'End Function
Private Sub GuardaAjuste()
TxtPUFactura.Text = TxtPrecio.Text
UpAjuste.Update()
Dim CargoAnterior As Double = 0
Dim CargoActual As Double = 0
If ModalidadAjuste = "A" Then
@@ -5222,9 +5229,12 @@ Partial Class PV
DivAjuste.Attributes.Add("class", "col-md-6")
DivDatosVenta.Attributes.Remove("class")
DivDatosVenta.Attributes.Add("class", "col-md-6")
TxtPrecio.Attributes.Add("onKeyUp", $"CambiaAjuste(this,{TxtPUFactura.ClientID});")
TxtPUFactura.Text = TxtPrecio.Text
Else
DivAjuste.Visible = False
TxtCantidad.Enabled = True
TxtPrecio.Attributes.Add("onKeyUp ", "Recalcula();")
DivModalVenta.Attributes.Remove("class")
DivModalVenta.Attributes.Add("class", "modal-dialog")
DivAjuste.Attributes.Remove("class")

View File

@@ -140,7 +140,7 @@
</div>
</div>
</div>
<div class="row">
<div class="row DIVTIPO">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" id="DivDdlTipo" runat="server" visible="false">
<asp:DropDownList ID="DdlTipoPSDes" CssClass="form-control input-sm select2me " Width="70%" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="ClasificacionDetalle" DataValueField="CveClasificacionDetalle" Enabled="true">
@@ -201,7 +201,7 @@
</asp:DropDownList>
<label for="<%= DdlUsoClasificacion.ClientID.ToString()%>">Uso Clasificación:</label>
</div>
<div class="form-group form-md-line-input input-iconright" id="DivDdlClasificacion" runat="server">
<div class="form-group form-md-line-input input-iconright DIVCLASIFICACIONCONTABLE" id="DivDdlClasificacion" runat="server">
<asp:DropDownList ID="DdlClasificacion" CssClass="form-control input-sm select2me" OnSelectedIndexChanged="DdlClasificacion_SelectedIndexChanged" AutoPostBack="true" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="350px">
</asp:DropDownList>
<label for="<%= DdlClasificacion.ClientID.ToString()%>">Clasificación Contable:</label>
@@ -209,15 +209,9 @@
<ajax:ValidatorCalloutExtender ID="VCClasificacion" runat="server" HighlightCssClass="vco" TargetControlID="RFVClasificacion" Width="300px"></ajax:ValidatorCalloutExtender>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright" id="DivClasificacionDetalle" runat="server" visible="false">
<asp:DropDownList ID="DropDownList1" CssClass="form-control input-sm select2me " Width="70%" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="ClasificacionDetalle" DataValueField="CveClasificacionDetalle" Enabled="true">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlTipoPSDes.ClientID.ToString()%>">Tipo:</label>
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="BtnAddClasificacionDetalle_Click" CssClass="btn btn-default btn-circle btn-xs " data-toggle="tooltip" title="Registrar un Tipo"><i class='fa fa-plus' style="color:black" ></i></asp:LinkButton>
</div>
<div class="form-group form-md-line-input input-iconright" id="DvTamanio" runat="server" visible="false">
<asp:DropDownList ID="DdlTamanio" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Tamaño" DataValueField="CveTamaño" Width="350px">
<asp:ListItem Value="-1">Seleccione</asp:ListItem>
@@ -554,10 +548,12 @@
<label class="col-md-4">¿Aplica IEPS?</label>
<div class="col-md-1">
<asp:CheckBox ID="ChkAplicaIeps" CssClass="" AutoPostBack="true" data-size="small" runat="server" Text=" " /></td>
</div>
<label class="col-md-4">¿Graba en IVA?</label>
<div class="col-md-1">
<asp:CheckBox ID="ChkIepsIVA" CssClass="" Enabled="false" data-size="small" runat="server" Text=" " /></td>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
@@ -721,6 +717,7 @@
<div class="col-md-6" style="text-align: left">
<input id="ChkSeleccionarTodos" type="checkbox" title="Seleccionar Todos" onclick="SeleccionarTodosChkGvSucursa()" />Seleccionar Todos
</div>
<div class="col-md-6" style="text-align: right">
<label>Aplicar precio minimo</label>
@@ -938,8 +935,47 @@
</div>
</div>
</div>
<br />
<div class="row">
<asp:UpdatePanel ID="UpSeccionAlmacen" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="col-md-12" id="DivSeccionAlmacen" runat="server" visible="false">
<div class="portlet xspadding light bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-briefcase font-green"></i>
<span class="caption-subject bold uppercase">Secciones de Almacen</span>
</div>
<div class="actions">
<div class="btn-group">
<asp:LinkButton ID="LnkSeccionAlmacenAdd" OnClick="LnkSeccionAlmacenAdd_Click" runat="server" data-toggle="tooltip" data-placement="right" title="Agregar Seccion de Almacen" CssClass="btn btn-circle btn-default" Text="<i class='fa fa-plus'></i> Agregar"></asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body">
<asp:GridView ID="GvSeccionAlmacen" runat="server" AutoGenerateColumns="False" DataKeyNames="CvePSAlmacenSeccion,CvePS,CveAlmacen,CveAlmacenSeccion" EmptyDataText="No se encontraron Productos/Servicios Adicionales" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None">
<Columns>
<asp:BoundField DataField="Almacen" HeaderText="Almacen" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="AlmacenSeccion" HeaderText="Sección Almacen" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Editar">
<ItemTemplate>
<asp:LinkButton ID="LnkEditarSeccionAlmacen" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="LnkEditarSeccionAlmacen_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Eliminar">
<ItemTemplate>
<asp:LinkButton ID="LnkRemoveSeccionAlmacen" runat="server" AlternateText="Eliminar" CausesValidation="False" OnClick="LnkRemoveSeccionAlmacen_Click" CssClass="btn btn-circle btn-xs 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>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
@@ -1011,25 +1047,29 @@
<th width="20%">
<asp:LinkButton ID="LbCaracteristica1" runat="server" CausesValidation="false" Text="" CommandArgument="Caracteristica1;1" OnClick="LbOrden_Click">
Característica
<asp:Literal ID="ImgCaracteristica1" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
<asp:Literal ID="ImgCaracteristica1" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</th>
<th width="20%">
<asp:LinkButton ID="LbOpcion1" runat="server" CausesValidation="false" Text="" CommandArgument="Opcion1;1" OnClick="LbOrden_Click">
Opción
<asp:Literal ID="ImgOpcion1" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
<asp:Literal ID="ImgOpcion1" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</th>
<th width="20%">
<asp:LinkButton ID="LbFechaIng1" runat="server" CausesValidation="false" Text="" CommandArgument="FechaIng1;1" OnClick="LbOrden_Click">
Fecha Ing.
<asp:Literal ID="ImgFechaIng1" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
<asp:Literal ID="ImgFechaIng1" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</th>
<th width="20%">
<asp:LinkButton ID="LbUsuario1" runat="server" CausesValidation="false" Text="" CommandArgument="Usuario1;1" OnClick="LbOrden_Click">
Usuario
<asp:Literal ID="ImgUsuario1" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
<asp:Literal ID="ImgUsuario1" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</th>
@@ -1670,6 +1710,7 @@
<div>
<p>
El producto seleccionado en el recuadro de arriba sera unificado en el producto actual
<b>
<asp:Literal Text="" ID="LtProductoUnificar" runat="server" /></b>
</p>
@@ -1901,6 +1942,7 @@
<div id="DivTipoCla" runat="server">
<p>
Tipo de Clasificación:
</p>
<asp:RadioButtonList ID="RblTipoClasificación" runat="server" CssClass="rbl" RepeatDirection="Vertical" RepeatLayout="Table">
<asp:ListItem Text="Todas" Value="-1" Selected="True"></asp:ListItem>
@@ -1910,6 +1952,7 @@
</asp:RadioButtonList>
<asp:LinkButton ID="BtnTipoCla" OnClick="BtnTipoCla_Click" runat="server" CssClass="btn btn-success" Text="Aceptar" />
&nbsp;
</div>
</ContentTemplate>
</asp:UpdatePanel>
@@ -1978,6 +2021,46 @@
</asp:UpdatePanel>
</div>
</div>
<%-- MODAL PS ADICIONALES --%>
<div id="DivAddSeccionAlmacen" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalSeccionAlmacen" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<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" id="h4SccionAlmacen">Sección Almacen</h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlAlmacen" Width="50%" runat="server" CssClass="form-control select2me" DataValueField="CveAlmacen" DataTextField="Almacen"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvAlmacen" runat="server" ControlToValidate="DdlAlmacen" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacen''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpModalSeccionAlmacen"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VceAlmacen" runat="server" HighlightCssClass="vco" TargetControlID="RfvAlmacen"></ajax:ValidatorCalloutExtender>
<label for="<%= DdlAlmacen.ClientID.ToString()%>">Almacen:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSeccionAlmacen" Width="50%" runat="server" CssClass="form-control select2me" DataValueField="CveSeccion" DataTextField="Seccion"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvSeccionAlmacen" runat="server" ControlToValidate="DdlSeccionAlmacen" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Sección Almacen''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpModalSeccionAlmacen"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VceSeccionAlmacen" runat="server" HighlightCssClass="vco" TargetControlID="RfvSeccionAlmacen"></ajax:ValidatorCalloutExtender>
<label for="<%= DdlSeccionAlmacen.ClientID.ToString()%>">Sección Almacen:</label>
</div>
<div class="modal-footer" style="display: block">
<asp:UpdatePanel ID="UpFooterSeccionAlmacen" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnAddSeccionAlmacen" runat="server" OnClick="BtnAddSeccionAlmacen_Click" CssClass="btn btn-success" Text="Agregar" ValidationGroup="GrpModalSeccionAlmacen"></asp:Button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<asp:Literal ID="LtlScripts" runat="server"></asp:Literal>
<%-- FIN MODAL PS ADICIONALES --%>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
@@ -2154,7 +2237,9 @@
var initcarusel2 = initcarusel;
function ADSReady() {
setPoscicion();
}
//TERMINA: ECOMMERCE

View File

@@ -97,6 +97,15 @@ Partial Class ProductosyServicios
ViewState("CvePSAdicional") = value
End Set
End Property
Public Property DtSeccionAlmacen() As DataTable
Get
Return CType(ViewState("DtSeccionAlmacen"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtSeccionAlmacen") = value
End Set
End Property
#End Region
@@ -137,6 +146,7 @@ Partial Class ProductosyServicios
CargarAlias()
CargaExistencias()
CargaGvSeccionAlmacen()
Else
'Configuración de Modalidad Insert
RegistraScript("$('#C_Tab_TabPaquetes_tab').css('display' , 'none')")
@@ -216,7 +226,7 @@ Partial Class ProductosyServicios
'DivDatos.Attributes("class") = "col-md-12"
DivDdlTipo.Visible = True
DdlTipoPSDes.Attributes.Add("onChange", "CreaDescripcionPS();")
'DdlTipoPSDes.Attributes.Add("onChange", "CreaDescripcionPS();")
End If
@@ -235,16 +245,11 @@ Partial Class ProductosyServicios
If ddlMetodos.SelectedValue.ToEntero = 5 And Not UsuarioActual.TienePermisoProceso(255) Then
ddlMetodos.Enabled = False
End If
Dim posiciontipo As String = If(UsuarioActual.Empresa.Funcionalidad(558).ToString = "1", "$('.DIVCLASIFICACIONCONTABLE').after( $('.DIVTIPO') );", "")
LtlScripts.Text = $"<script>function setPoscicion(){{{posiciontipo}}}</script>"
If Not CvePS > 0 Then MuestraPanel(True)
End If
End Sub
@@ -280,6 +285,11 @@ Partial Class ProductosyServicios
CargaDdlFraccionArancelaria()
CveSATPS = -1
CargaCombosSeccionAlmacen()
DivSeccionAlmacen.Visible = UsuarioActual.Empresa.Funcionalidad(563).ToString = "1"
CreaDtSeccionAlmacen()
If UsuarioActual.Empresa.UsaContabilidad Then
CargaCuentasContables()
If Not (Request("CvePS") IsNot Nothing AndAlso IsNumeric(Request("CvePS")) AndAlso Request("CvePS").ToEntero > 0) Then DivUsoClasificacion.Visible = True
@@ -2467,4 +2477,71 @@ Partial Class ProductosyServicios
DdlCategoriaToxicidad.SelectedValue = "000"
End If
End Sub
#Region "SECCION ALMACEN"
Private Sub CreaDtSeccionAlmacen()
DtSeccionAlmacen = New DataTable
DtSeccionAlmacen.Columns.Add("CvePSAlmacenSeccion", GetType(Integer))
DtSeccionAlmacen.Columns.Add("CvePS", GetType(Integer))
DtSeccionAlmacen.Columns.Add("CveAlmacen", GetType(Integer))
DtSeccionAlmacen.Columns.Add("Almacen", GetType(String))
DtSeccionAlmacen.Columns.Add("CveAlmacenSeccion", GetType(Integer))
DtSeccionAlmacen.Columns.Add("AlmacenSeccion", GetType(String))
End Sub
Private Sub CargaGvSeccionAlmacen()
Dim ObjInv As New ClsInventarios
If ObjInv.GetProductosServiciosAlmacenSeccion(CvePS, -1, -1) Then
GvSeccionAlmacen.DataSource = ObjInv.DtResultados
DtSeccionAlmacen = ObjInv.DtResultados
End If
ObjInv.Dispose()
GvSeccionAlmacen.DataBind()
UpSeccionAlmacen.Update()
End Sub
Private Sub CargaCombosSeccionAlmacen()
DdlAlmacen.DataSource = GlobalDTAlmacen(UsuarioActual.CveAlmacen)
DdlAlmacen.Items.Add(New ListItem("Seleccione", "-1"))
DdlAlmacen.DataBind()
DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveAlmacen)
DdlSeccionAlmacen.Items.Add(New ListItem("Seleccione", "-1"))
DdlSeccionAlmacen.DataBind()
End Sub
Protected Sub LnkSeccionAlmacenAdd_Click(sender As Object, e As EventArgs)
DdlAlmacen.SelectedIndex = 0
DdlSeccionAlmacen.SelectedIndex = 0
RegistraScript("$('#DivAddSeccionAlmacen').modal();")
UpModalSeccionAlmacen.Update()
End Sub
Protected Sub LnkEditarSeccionAlmacen_Click(sender As Object, e As EventArgs)
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
DdlAlmacen.SelectedValueExist(gvRow.DataKey("CvAlmacen"))
DdlSeccionAlmacen.SelectedValueExist(gvRow.DataKey("CveAlmacenSeccion"))
RegistraScript("$('#DivAddSeccionAlmacen').modal();")
UpModalSeccionAlmacen.Update()
End Sub
Protected Sub LnkRemoveSeccionAlmacen_Click(sender As Object, e As EventArgs)
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
If gvRow.DataKey("CvePSAlmacenSeccion").ToEntero > 0 Then
DtSeccionAlmacen.Rows(gvRow.RowIndex)("CvePS") = -1
Else
DtSeccionAlmacen.Rows(gvRow.RowIndex.ToEntero).Delete()
End If
DtSeccionAlmacen.AcceptChanges()
GvSeccionAlmacen.DataSource = DtSeccionAlmacen
GvSeccionAlmacen.DataBind()
End Sub
Protected Sub BtnAddSeccionAlmacen_Click(sender As Object, e As EventArgs)
End Sub
#End Region
End Class

View File

@@ -132,7 +132,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
CancelacionFecha = xmlAcuse.SelectSingleNode("Acuse").Attributes["Fecha"].Value.ToDate();
}
var FueCancelado = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC).Mensaje;
// var FueCancelado = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC).Mensaje;
sb.AppendFormat("{0} <br/>", FueCancelado);
if (CveEstatus.Contiene(4, 5) && EsRefacturacion)
@@ -170,12 +170,13 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
return sb.ToString();
}
private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion)
{
var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa);
var retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse);
return retorno;
}
//private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion)
//{
// //var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa);
// //var retorno = factura.EjecutarCancelacionPendiente(CveEstatus, CancelacionFecha, CancelacionAcuse);
// return retorno;
//}
private int GenerarPolizaAC(ClsContPAQi ObjAC, int CveVenta, string Folio, int CveCliente, string TipoComprobante, DateTime Fecha, bool CancelacionIngreso = false)
{

View File

@@ -15679,7 +15679,6 @@ Partial Class Ventas
Row("Descuento") = Math.Round(Row("Descuento").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales)
Row("ImporteIEPS") = Math.Round(Row("ImporteIEPS").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales)
Row("ImporteIVA") = Math.Round(Row("ImporteIVA").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales)
Row("ImporteIEPS") = Math.Round(Row("ImporteIEPS").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales)
Row("ImporteRetIVA") = Math.Round(Row("ImporteRetIVA").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales)
Row("ImporteRetISR") = Math.Round(Row("ImporteRetISR").ToString.ToDecimal * TxtTipoCambio.Text.Trim.ToDecimal, NumeroDecimales)
Next