diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 5dbc2169f..e64998d23 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -171,6 +171,32 @@ Public Class ClsNominas
#End Region
#Region "ClsNominas_Nominas"
+ Public Function AddComprobantesEmitidos(ByVal cveEmpresa As Integer, ByVal folioFiscal As String, ByVal tipoDocto As String, ByVal importeTotal As Decimal, ByVal estatus As Integer, ByVal fecha As String, ByVal moneda As String, ByVal rFCReceptor As String, ByVal rutaXml As String, ByVal rFCEmisor As String, ByVal serie As String, ByVal folio As String) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Vta_Sat_ComprobantesAdd", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@cveEmpresa", SqlDbType.Int).Value = cveEmpresa
+ .Add("@folioFiscal", SqlDbType.VarChar).Value = folioFiscal
+ .Add("@tipoDocto", SqlDbType.VarChar).Value = tipoDocto
+ .Add("@importeTotal", SqlDbType.Decimal).Value = importeTotal
+ .Add("@estatus", SqlDbType.Int).Value = estatus
+ .Add("@fecha", SqlDbType.VarChar).Value = fecha
+ .Add("@moneda", SqlDbType.VarChar).Value = moneda
+ .Add("@rFCReceptor", SqlDbType.VarChar).Value = rFCReceptor
+ .Add("@rFCEmisor", SqlDbType.VarChar).Value = rFCEmisor
+ .Add("@rutaXml", SqlDbType.VarChar).Value = rutaXml
+ .Add("@serie", SqlDbType.VarChar).Value = serie
+ .Add("@folio", SqlDbType.VarChar).Value = folio
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al Realizar el calculo del Aguinaldo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return retorno
+
+ End Function
Public Function GetCalculoAguinaldo(ejercicio As Int32, cveEmpresa As Int32, importe As Double, CveTipoPeriodo As Integer, CvePeriodo As Integer) As Boolean
Dim retorno As Boolean = False
@@ -1835,7 +1861,32 @@ Public Class ClsNominas
#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
+ Public Function GetInversionNomina(CveEmpresa As Integer, Optional FechaInicio As String = "", Optional FechaFin As String = "",
+ Optional CveProyecto As Integer = -1, Optional CveSubProyecto As Integer = -1,
+ Optional Cve1 As Integer = -1, Optional Cve2 As Integer = -1,
+ Optional CveStr1 As String = "-1", Optional CveStr2 As String = "-1") As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Nom_InversionNominaGET")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("FechaInicio", SqlDbType.Int).Value = FechaInicio
+ .Add("FechaFin", SqlDbType.Int).Value = FechaFin
+ .Add("CveProyecto", SqlDbType.Int).Value = CveProyecto
+ .Add("CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("Cve1", SqlDbType.Int).Value = Cve1
+ .Add("Cve2", SqlDbType.Int).Value = Cve2
+ .Add("CveStr1", SqlDbType.Int).Value = CveStr1
+ .Add("CveStr2", SqlDbType.Int).Value = CveStr2
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch Ex1 As SqlException
+ Me.OnError("Ocurrió un error al obtener el reporte de inversión de nomina.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+ 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, Optional IsEdited As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Nom_NominasDetallesAddUP")
@@ -1849,6 +1900,7 @@ Public Class ClsNominas
.Add("ImporteGravado", SqlDbType.Float).Value = ImporteGravado
.Add("ImporteExento", SqlDbType.Float).Value = ImporteExento
.Add("CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("IsEdited", SqlDbType.Bit).Value = IsEdited
End With
Try
@@ -1902,10 +1954,10 @@ Public Class ClsNominas
retorno = True
Catch sqEx As SqlException
retorno = False
- OnError("Ocurrió un error al obtener las tablas.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ OnError("Ocurrió un error al obtener las tablas de nomina.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
retorno = False
- OnError("Ocurrió un error al obtener las tablas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ OnError("Ocurrió un error al obtener las tablas de nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index b072d702b..2d5c46f6a 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -5933,7 +5933,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
- OnError("Ocurrió un error al Consultar el catalogo de Uniformes.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ OnError("Ocurrió un error al agregar permiso.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
diff --git a/Ashx/TareasProgramadas.ashx b/Ashx/TareasProgramadas.ashx
index b03186634..76932ef83 100644
--- a/Ashx/TareasProgramadas.ashx
+++ b/Ashx/TareasProgramadas.ashx
@@ -17,26 +17,38 @@ Public Class TareasProgramadas : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "text/plain"
currentcontext = context
- 'timbrarNominab()
Dim retorno As String = "no se encontro la variable"
Try
+ Dim metodo As String = ""
If context.Request("var") IsNot Nothing Then
URLParametros = Parametros(context.Request("var"))
- End If
-
- Dim metodo As String = URLParametros("metodo")
+ metodo = URLParametros("metodo")
+ ElseIf context.Request.Headers("Content-Type") IsNot Nothing AndAlso context.Request.Headers("Content-Type").Contains("json") AndAlso context.Request.InputStream IsNot Nothing Then
+ context.Response.ContentType = "application/json"
+ Using reader As New StreamReader(context.Request.InputStream)
+ Dim json = reader.ReadToEnd()
+ Dim JsonRequest As JObject = JObject.Parse(json)
+ If JsonRequest IsNot Nothing Then
+ metodo = JsonRequest("Metodo").ToString
+ End If
+ End Using
+ End If
+
Select Case metodo
Case "TimbrarNomina"
retorno = "Error Timbrado Nomina"
retorno = timbrarNomina()
retorno = ""
+ context.Response.Write(retorno)
Case "EstadosCuenta"
- IniciaEnvioEstadoDeCuenta(context, 1, "-1", "-1")
+ 'CargaEstadosCuenta(context, 119, 227736)
+ CargaEstadosCuenta(context, -1, -1)
End Select
Catch ex As Exception
- ex.GuardaLog(ex.ToString())
+ ex.GuardaLog(ex.ToString())
+ context.Response.Write(retorno)
End Try
- context.Response.Write(retorno)
+
End Sub
@@ -254,47 +266,27 @@ Public Class TareasProgramadas : Implements IHttpHandler
#Region "E S T A D O S D E C U E N T A"
- Private Sub CargaEstadosCuenta(ByVal context As HttpContext)
+ Private Sub CargaEstadosCuenta(ByVal context As HttpContext, pCveEmpresa As Integer, pCveCliente As Integer)
+ Dim Retorno As New JArray()
Dim DtEmpresas As DataTable = Nothing
-
- Dim ObjEmpresas As New ClsSisEmpresas()
- If ObjEmpresas.GetEmpresas(-1, "-1", "-1", "-1", "-1") Then
- DtEmpresas = ObjEmpresas.DtResultados.FiltraParametros("", "", {"CveEmpresa"})
- End If
- ObjEmpresas.Dispose()
+ Using ObjEmpresas As New ClsSisEmpresas()
+ If ObjEmpresas.GetEmpresas(pCveEmpresa, "-1", "-1", "-1", "-1") Then
+ DtEmpresas = ObjEmpresas.DtResultados.FiltraParametros("", "", {"CveEmpresa"})
+ End If
+ End Using
If DtEmpresas IsNot Nothing Then
For Each Row As DataRow In DtEmpresas.Rows
- IniciaEnvioEstadoDeCuenta(context, Row("CveEmpresa").ToString().ToEntero(), "-1", "-1")
+ Dim Usuario = ValidaUsuarioSistema(Row("CveEmpresa").ToString().ToEntero())
+ Dim obj = EjecutarEnvioEstadoCuenta(Usuario, pCveCliente:=pCveCliente)
+
+ Retorno.Add(obj)
Next
End If
+
+ context.Response.Write(Retorno.ToString())
End Sub
- Private Sub IniciaEnvioEstadoDeCuenta(ByVal context As HttpContext, CveEmpresa As Integer, pFechaI As String, pFechaF As String)
- Dim JsonRetorno As New JObject()
- If CveEmpresa > 0 Then
- Dim Usuario = ValidaUsuarioSistema(CveEmpresa)
- Dim FechaI, FechaF As DateTime
-
- If pFechaI <> "-1" AndAlso pFechaF <> "-1" Then
- Dim FechaReferencia = DateTime.Now
-
- Dim DiaAnterior = FechaReferencia.AddDays(-1)
- Dim DiaAnteriorSemanaPasada = DiaAnterior.AddDays(-7)
-
- FechaI = New DateTime(DiaAnteriorSemanaPasada.Year, DiaAnteriorSemanaPasada.Month, DiaAnteriorSemanaPasada.Day, 0, 0, 0)
- FechaF = New DateTime(DiaAnterior.Year, DiaAnterior.Month, DiaAnterior.Day, 23, 59, 59)
-
- JsonRetorno = EjecutarEnvioEstadoCuenta(Usuario, FechaI, FechaF)
- Else
- FechaI = pFechaI.ToDateTime()
- FechaF = pFechaF.ToDateTime()
-
- JsonRetorno = EjecutarEnvioEstadoCuenta(Usuario, FechaI, FechaF)
- End If
-
- End If
- End Sub
Private Function ValidaUsuarioSistema(CveEmpresa As Integer) As Usuario
Dim UsuarioActual As Usuario = Nothing
@@ -310,8 +302,7 @@ Public Class TareasProgramadas : Implements IHttpHandler
End If
ObjUsuarios.Dispose()
Return UsuarioActual
- End Function
-
+ End Function
Private Sub CreaObjetoEmpresa(ByRef UsuarioActual As Usuario)
Dim ObjEmpresa As New ClsSisEmpresas()
@@ -332,43 +323,54 @@ Public Class TareasProgramadas : Implements IHttpHandler
End Sub
- Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, FechaI As DateTime, FechaF As DateTime) As JObject
- Dim Facturas As New JArray()
- Dim DebeTimbrar As Boolean = True
+ Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, Optional pCveCliente As Integer = -1) As JObject
+ Dim ClientesSinEnviar As New JArray()
Dim Json As New JObject(
New JProperty("Empresa", UsuarioActual.Empresa.Empresa),
New JProperty("Usuario", UsuarioActual.Usuario),
- New JProperty("FechaI", FechaI.ToString("dd/MM/yyy HH:mm:ss")),
- New JProperty("FechaF", FechaF.ToString("dd/MM/yyy HH:mm:ss"))
+ New JProperty("Fecha", DateTime.Now.ToString("dd/MM/yyy HH:mm:ss"))
)
- Dim DTClientes As DataTable = Nothing
-
- Dim ObjCliente As New ClsClientes
- If ObjCliente.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1) Then
- If ObjCliente.DtResultados.Rows.Count > 0 Then
- DTClientes = ObjCliente.DtResultados.Copy()
- End If
- End If
- ObjCliente.Dispose()
+ Dim DTClientes As DataTable = Nothing
+
+ Using ObjCliente As New ClsClientes
+ If ObjCliente.GetClientes(pCveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1, Estatus:=1) Then
+ If ObjCliente.DtResultados.Rows.Count > 0 Then
+ DTClientes = ObjCliente.DtResultados.Copy()
+ End If
+ End If
+ End Using
If DTClientes IsNot Nothing Then
For Each RowCliente As DataRow In DTClientes.Rows
Dim CveCliente As Integer = RowCliente("CveCliente").ToString().ToEntero()
- Dim Correo As String = "jonathan.perez@adssistemas.mx" 'RowCliente("Correo").ToString()
+ Dim Correo As String = RowCliente("CobranzaCorreo").ToString()
Dim Cliente As New Modelos.ClienteModel(CveCliente, UsuarioActual.CveEmpresa)
- GenerarPDFCrystal(UsuarioActual, Correo, "-1", "-1", Cliente)
+ Dim Envio = EnviarEstadoCuenta(UsuarioActual, Correo, Cliente)
+
+ If Envio Then
+ Using ObjBitacora As New ClsOIEventos
+ ObjBitacora.AddEventoBitacora("Se envió correo con el estado de cuenta del cliente", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=Cliente.CveCliente)
+ End Using
+ Else
+ ClientesSinEnviar.Add(New JObject(
+ New JProperty("CveCliente", Cliente.CveCliente),
+ New JProperty("Cliente", Cliente.Nombre)
+ ))
+ End If
Next
DTClientes.Dispose()
End If
- Json.Add(New JProperty("Facturas", Facturas))
+ Json.Add(New JProperty("ClientesSinEnviar", ClientesSinEnviar))
Return Json
End Function
- Private Sub GenerarPDFCrystal(UsuarioActual As Usuario, Correo As String, FI As String, FF As String, Cliente As Modelos.ClienteModel)
+ Private Function EnviarEstadoCuenta(UsuarioActual As Usuario, Correo As String, Cliente As Modelos.ClienteModel) As Boolean
+ Dim Retorno As Boolean = True
+
Dim ArchivoPDF As Byte() = Nothing
Dim Formato As String = "PDF"
@@ -389,22 +391,34 @@ Public Class TareasProgramadas : Implements IHttpHandler
Dim ContaIng As Integer = 0
Dim ContaAnt As Integer = 0
Dim FechaCorte As Date = ("9999/01/01").ToDate
- Dim TipoDocto As String = "-1"
- Dim TipoDocto2 As String = "-1"
+
+ Dim TipoDocto2 As String = "'Ing','NC','Dev'"
Dim FechaVencimientoI As String = "-1"
Dim FechaVencimientoF As String = "-1"
- Dim dtt As DataTable = Nothing
-
- Dim ObjMovtos As New ClsMovimientos()
- If ObjMovtos.GetCxCClienteDetalle(Cliente.CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, CveClienteSucursal:=-1) Then
- DtCxCFact = ObjMovtos.DtResultados.FiltraParametros("", "TipoDocto").Copy
- 'cargo los anticipos NC
- DtCxCFact.Columns.Add("SaldoAnticipo", GetType(Decimal))
- If ObjMovtos.GetAnticiposNCIxCCliente(Cliente.CveCliente, -1, -1) Then
- dtt = ObjMovtos.DtResultados.FiltraParametros("SaldoVentaAnticipo = 0 AND ((Tipo = 'IxC' AND CveIE > 0) OR (Tipo = 'Ant' AND CveVenta > 0) OR (Tipo = 'NC' AND CveVenta > 0) OR (Tipo = 'Egs' AND CveVenta > 0) )")
- End If
- End If
- ObjMovtos.Dispose()
+ Dim FI As String = "-1"
+ Dim FF As String = "-1"
+ Dim dtt As DataTable = Nothing
+
+ Try
+ Using ObjMovtos As New ClsMovimientos()
+ If ObjMovtos.GetCxCClienteDetalle(Cliente.CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, CveClienteSucursal:=-1) Then
+ DtCxCFact = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "TipoDocto")
+ 'cargo los anticipos NC
+ DtCxCFact.Columns.Add("SaldoAnticipo", GetType(Decimal))
+ If ObjMovtos.GetAnticiposNCIxCCliente(Cliente.CveCliente, -1, -1) Then
+ dtt = ObjMovtos.DtResultados.FiltraParametros("Saldo > 0 AND SaldoVentaAnticipo = 0 AND ((Tipo = 'IxC' AND CveIE > 0) OR (Tipo = 'Ant' AND CveVenta > 0) OR (Tipo = 'NC' AND CveVenta > 0) OR (Tipo = 'Egs' AND CveVenta > 0) )")
+ End If
+ End If
+ End Using
+ Catch ex As Exception
+ Retorno = False
+ dtt = Nothing
+ OnError("Ocurrió un erro al obtener el CxC", ex)
+ End Try
+
+ If Not Retorno Then
+ Return Retorno
+ End If
Try
If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then
@@ -421,6 +435,9 @@ Public Class TareasProgramadas : Implements IHttpHandler
drr("CveMoneda") = drt("CveMoneda")
DtCxCFact.Rows.Add(drr)
Next
+ Else
+ Retorno = False
+ Return Retorno
End If
If DtCxCFact IsNot Nothing Then
@@ -495,7 +512,7 @@ Public Class TareasProgramadas : Implements IHttpHandler
Dim dr As DataRow = DtCxCFact2.Rows(0)
Dim lista = New List(Of CrystalParametro)
lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
- lista.Add(New CrystalParametro("TipoCuentas", ""))
+ lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo"))
lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre))
lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI)))
lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF)))
@@ -524,11 +541,10 @@ Public Class TareasProgramadas : Implements IHttpHandler
End If
Try
- Dim File As Byte()
If Archivo.Exists Then
- File = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
+ ArchivoPDF = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
Else
- File = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
+ ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
End If
Catch ex As Exception
@@ -537,7 +553,7 @@ Public Class TareasProgramadas : Implements IHttpHandler
Else
Dim lista = New List(Of CrystalParametro)
lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
- lista.Add(New CrystalParametro("TipoCuentas", "Todas"))
+ lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo"))
lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre))
lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI)))
lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF)))
@@ -580,14 +596,16 @@ Public Class TareasProgramadas : Implements IHttpHandler
Else
ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
End If
- End If
+ End If
Catch ex As Exception
+ OnError("Ocurrió un error al generar el pdf", ex)
ArchivoPDF = Nothing
End Try
- Try
- Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente se correo se anexa su estado actual de cartera en {1}.
+ If ArchivoPDF IsNot Nothing Then
+ Try
+ Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente del correo se anexa su estado actual de cartera en {1}.
Quedamos a sus ordenes para cualquier duda o aclaración con su agente de Ventas.
diff --git a/Nomina/Nomina2.aspx.cs b/Nomina/Nomina2.aspx.cs
index 64d84a8e7..8081ee8f7 100644
--- a/Nomina/Nomina2.aspx.cs
+++ b/Nomina/Nomina2.aspx.cs
@@ -551,7 +551,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
GvNominas.DataBind();
}
- try
+ if (dtPeriodo != null && dtPeriodo.Rows.Count > 0)
{
DateTime FechaInicio = (DateTime)dtPeriodo.Rows[0]["FechaInicio"];
@@ -596,11 +596,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
gvasistencia.Append("");
ltlGvAsistencia.Text = gvasistencia.ToString();
}
- catch (Exception)
- {
-
- throw;
- }
#endregion
UpDatos.Update();
@@ -845,7 +840,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
if (!dontsaveconcepto)//el usuario definira si desea actualizar o no el concepto en el periodo
{
- if (!objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, UsuarioActual.CveUsuario))
+ if (!objNomina.AddUPNom_NominasDetalles(objNomina.CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, Importe, ImporteGravado, ImporteExento, UsuarioActual.CveUsuario,true))
{
rollback = true;
}
@@ -1052,7 +1047,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
- frow = objper.DtResultados.FiltroPrimero("CveSistema =4");
+ frow = objper.DtResultados.FiltroPrimero("CveSistema =4");
TxtFonValor.Text = "";
DdlFonTipoAplicacion.SelectedValueExist("-1");
TxtFonDescripcion.Text = "";
@@ -2957,7 +2952,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
double valor = TxtValor.Text.ToDouble();
int vecesAplicar = TxtVecesAplicar.Text.ToEntero();
decimal montoLimite = TxtMontoLimite.Text.ToDecimal();
- string fechaInicioAplicacion = TxtFechaAplicacion.Text.ToDate().ToString("yyyy/MM/dd");
+ string fechaInicioAplicacion = TxtFechaAplicacion.Text.ToDate().ToString("yyyy/MM/dd");
bool estatus = ChkEstatus.Checked;
bool Continuar;
using (ClsNominas ObjMovt = new ClsNominas())
@@ -2983,7 +2978,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
double valor = TxtValor.Text.ToDouble();
int vecesAplicar = TxtVecesAplicar.Text.ToEntero();
decimal montoLimite = TxtMontoLimite.Text.ToDecimal();
- string fechaInicioAplicacion = TxtFechaAplicacion.Text.ToDate().ToString("yyyy/MM/dd");
+ string fechaInicioAplicacion = TxtFechaAplicacion.Text.ToDate().ToString("yyyy/MM/dd");
bool estatus = ChkEstatus.Checked;
bool Continuar;
using (ClsNominas ObjMovt = new ClsNominas())
@@ -3078,4 +3073,111 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
+
+ protected void LnkAutorizar_Click(object sender, EventArgs e)
+ {
+ autorizarNomina(-1);
+ }
+
+ private void autorizarNomina(int FiltroCvePersonal)
+ {
+
+ bool continuar = true;
+ DataTable dtr = dtempleados.FiltraParametros(string.Format("CvePersonal={0} OR {0}=-1", FiltroCvePersonal));
+ DataTable dtconp = null;
+ int CvePeriodoSeleccionado = DdlPeriodo.SelectedValue.ToEntero();//cambiar reparar
+ #region PropNomina
+ int CvePersonal = 0;
+ int CveNomina = 0;
+ int CveMetodoPago = 0;
+ double Total = 0;
+ int CveMoneda = 1;
+ #endregion
+ #region PropNominaDetalle
+ int CveConcepto=0;
+ decimal ImporteConcepto=0, ImporteGravadoConcepto=0, ImporteExentoConcepto = 0;
+ #endregion
+
+
+ using (ClsNominas objNomina = new ClsNominas())
+ {
+ objNomina.IniciaTransacSQL();
+ foreach (DataRow rtemp in dtr.Rows)
+ {
+ CveNomina = 0;
+ CvePersonal = rtemp["CvePersonal"].ToString().ToEntero();
+ CveMetodoPago = rtemp["CveMetodoPago"].ToString().ToEntero();
+ Total = 0;//cambiar reparar
+
+ if (continuar)
+ {
+ 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, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
+ "", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
+ {
+ CveNomina = objNomina.CveNomina;
+ }
+ else
+ {
+ continuar = false;
+ }
+ }
+ }
+ }
+ if (CveNomina == 0)
+ {
+ continuar = false;
+ }
+
+
+
+
+
+
+
+
+ if (continuar)
+ {
+ dtconp = dtempleadosConceptos.FiltraParametros(string.Format("CvePersonal={0}", CvePersonal));
+ foreach (DataRow rcon in dtconp.Rows)
+ {
+
+ CveConcepto =rcon["CveConcepto"].ToString().ToEntero();
+ ImporteConcepto =rcon["ImporteConcepto"].ToString().ToDecimal();
+ ImporteGravadoConcepto =rcon["ImporteGravadoConcepto"].ToString().ToDecimal();
+ ImporteExentoConcepto = ImporteConcepto -ImporteGravadoConcepto ;
+ if (continuar)
+ {
+
+ if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoSeleccionado, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, UsuarioActual.CveUsuario))
+ {
+ continuar = false;
+ }
+ }
+
+ }
+ }
+
+ }
+ if (continuar)
+ {
+ objNomina.Commit();
+ }
+ else
+ {
+ objNomina.RollBack();
+
+ }
+ }
+ dtr.Dispose();
+ dtconp.Dispose();
+ Alert("Termine");
+ }
}
\ No newline at end of file
diff --git a/Nomina/ReportePTU.aspx.vb b/Nomina/ReportePTU.aspx.vb
index 05259ef9d..7f67c9256 100644
--- a/Nomina/ReportePTU.aspx.vb
+++ b/Nomina/ReportePTU.aspx.vb
@@ -71,7 +71,7 @@ Partial Class Nomina_ReportePTU
Private Sub CargaPeriodos()
Dim ObjPeriodos As New ClsNominas()
- If ObjPeriodos.GetPeriodos(-1, UsuarioActual.CveEmpresa, DdlEjercicios.SelectedValue.ToEntero, -1, -1) Then
+ If ObjPeriodos.GetPeriodos(-1, UsuarioActual.CveEmpresa, DdlEjercicios.SelectedValue.ToEntero(), -1, -1) Then
dtPeriodos = ObjPeriodos.DtResultados.FiltraParametros("Estatus IN (0,1)")
End If
ObjPeriodos.Dispose()
@@ -86,7 +86,7 @@ Partial Class Nomina_ReportePTU
GVTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros($"Estatus = 'Activo' AND CveTipoPeriodo IN({listaCveTipoPeriodo.ToString()})")
GVTipoPeriodo.DataBind()
- If (Not IsNothing(dtPeriodos) AndAlso dtPeriodos.Rows.Count()) Then
+ If (Not IsNothing(dtPeriodos) AndAlso dtPeriodos.Rows.Count() > 0) Then
DdlPeriodo.DataSource = dtPeriodos.FiltraParametros("CveTipoPeriodo=6")
End If
@@ -97,6 +97,7 @@ Partial Class Nomina_ReportePTU
Protected Sub DdlPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs)
PnlTipoPeriodos.Visible = (DdlPeriodo.SelectedValue.ToEntero() <= 0)
+ UpModalAutorizar.Update()
End Sub
'Protected Sub DdlTipoPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs)
' CargaPeriodos()
diff --git a/RH/MiPerfil.aspx b/RH/MiPerfil.aspx
index 3967d9697..4736a3691 100644
--- a/RH/MiPerfil.aspx
+++ b/RH/MiPerfil.aspx
@@ -531,7 +531,7 @@
@@ -590,7 +590,7 @@
-
diff --git a/RH/MiPerfil.aspx.vb b/RH/MiPerfil.aspx.vb
index 37fea5560..8af718431 100644
--- a/RH/MiPerfil.aspx.vb
+++ b/RH/MiPerfil.aspx.vb
@@ -450,13 +450,22 @@ Partial Class RH_MiPerfil
Dim jefeCve As Integer = If(ObjPersonal.CvePersonalPadre = ObjPersonal.CvePersonal, "0", If(ObjPersonal.CvePersonalPadre.ToString = "0", "-1", ObjPersonal.CvePersonalPadre.ToString))
Dim expressionJefe As String = String.Format("CvePersonal = {0}", jefeCve)
- Dim resultad As DataRow() = DTOrganigrama.Select(expressionJefe)
- JefeInmediato = resultad(0).Item("NombreCompleto")
+ Dim resultad As DataRow = DTOrganigrama.FiltroPrimero(expressionJefe)
+ If (Not IsNothing(resultad)) Then
+ JefeInmediato = resultad.Item("NombreCompleto").ToString()
+ Else
+ JefeInmediato = ""
+ End If
Dim puestosAux As DataTable = GlobalDTRHPuestos(UsuarioActual.CveEmpresa)
Dim expressionPuesto As String = String.Format("CvePuesto = {0}", ObjPersonal.CvePuesto.ToString)
- Dim resultadoPuesto As DataRow() = puestosAux.Select(expressionPuesto)
- puestoProp = resultad(0).Item("Puesto")
+ Dim resultadoPuesto As DataRow = puestosAux.FiltroPrimero(expressionPuesto)
+
+ If (Not IsNothing(resultad)) Then
+ puestoProp = resultadoPuesto.Item("Puesto")
+ Else
+ puestoProp = ""
+ End If
If File.Exists(AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\RH\Personal\" & ObjPersonal.URL) Then
ImgPersonal.ImageUrl = $"/Empresas/{UsuarioActual.CveEmpresa}/RH/Personal/{ObjPersonal.URL}"
@@ -975,7 +984,7 @@ Partial Class RH_MiPerfil
'Dim Folio As Integer = GvRow.DataKey("Folio").ToEntero
'DescarSolicitudVacaciones(Folio)
- Dim RutaFormato As String = String.Format("{0}Formatos\RH_FormatoVacaciones.docx", UsuarioActual.Empresa.Ruta)
+ Dim RutaFormato As String = String.Format("{0}Formatos\PermisoSolicitud.docx", UsuarioActual.Empresa.Ruta)
Dim NombreEmpleado As String = String.Format("{0} {1} {2}", TxtAPaterno.Text, TxtAMaterno.Text, TxtNombres.Text)
Dim Codigo As String = TxtCodigo.Text
@@ -983,8 +992,9 @@ Partial Class RH_MiPerfil
Dim JefeInmediatoAux As String = JefeInmediato
Dim FechaInicio As String = GvRow.DataKey("FechaInicio").ToDateTime().ToString("dd/MM/yyyy")
Dim FechaFin As String = GvRow.DataKey("FechaFin").ToDateTime().ToString("dd/MM/yyyy")
- Dim diasPermiso As String = $"{(GvRow.DataKey("FechaInicio").ToDate() - GvRow.DataKey("FechaInicio").ToDate()).Days}"
- Dim MotivoPermiso As String = GvRow.DataKey("Descripcion")
+ Dim diasPermiso As String = $"{(GvRow.DataKey("FechaFin").ToDate() - GvRow.DataKey("FechaInicio").ToDate()).Days}"
+ Dim HorasPermiso As String = "" 'String.Format("{0}", ((GvRow.DataKey("FechaInicio").ToDateTime() - GvRow.DataKey("FechaFin").ToDateTime()).Hours))
+ Dim MotivoPermiso As String = String.Format("{0},{1}", GvRow.DataKey("Descripcion"), GvRow.DataKey("Motivo"))
If File.Exists(RutaFormato) Then
Dim objGemDocument As New clsGemBoxDocument(RutaFormato)
@@ -999,6 +1009,7 @@ Partial Class RH_MiPerfil
ListaTags.Add(New TagsDocumentos("{FechaInicio}", FechaInicio))
ListaTags.Add(New TagsDocumentos("{FechaFin}", FechaFin))
ListaTags.Add(New TagsDocumentos("{diasPermiso}", diasPermiso))
+ ListaTags.Add(New TagsDocumentos("{HorasPermiso}", HorasPermiso))
ListaTags.Add(New TagsDocumentos("{MotivoPermiso}", MotivoPermiso))
objGemDocument.SustituirTags(ListaTags)
@@ -1014,7 +1025,8 @@ Partial Class RH_MiPerfil
Response.AddHeader("content-disposition", "attachment; filename=" & CvePersonal & "_Solicituddepermiso_" & Now.ToString("yyyyMMddhhmmss") & ".pdf")
Response.BinaryWrite(bytesInStream)
Response.End()
-
+ Else
+ Alert("No se encontro el formato de Permisos", TipoMensaje.ToastAdventencia)
End If
End Sub
diff --git a/RH/Personal.aspx b/RH/Personal.aspx
index 11a069b50..f1960a02d 100644
--- a/RH/Personal.aspx
+++ b/RH/Personal.aspx
@@ -2330,7 +2330,7 @@
-
diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb
index ce9b21e4b..0f8fe9a8c 100644
--- a/RH/Personal.aspx.vb
+++ b/RH/Personal.aspx.vb
@@ -4542,53 +4542,52 @@ Partial Class RH_Personal
End Sub
Public Sub DownLoad_ClickSolicitudPermiso(sender As Object, e As EventArgs)
-
- Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
-
- 'Dim Folio As Integer = GvRow.DataKey("Folio").ToEntero
-
- 'DescarSolicitudVacaciones(Folio)
- Dim RutaFormato As String = String.Format("{0}Formatos\RH_FormatoVacaciones.docx", UsuarioActual.Empresa.Ruta)
-
- Dim NombreEmpleado As String = String.Format("{0} {1} {2}", TxtAPaterno.Text, TxtAMaterno.Text, TxtNombres.Text)
- Dim Codigo As String = TxtCodigo.Text
- Dim Departamento As String = DdlDepartamento.SelectedItem.Text
- Dim JefeInmediato As String = DdlSupervisorOrganigrama.SelectedItem.Text
- Dim FechaInicio As String = GvRow.DataKey("FechaInicio").ToDateTime().ToString("dd/MM/yyyy")
- Dim FechaFin As String = GvRow.DataKey("FechaFin").ToDateTime().ToString("dd/MM/yyyy")
- Dim diasPermiso As String = $"{(GvRow.DataKey("FechaInicio").ToDate() - GvRow.DataKey("FechaInicio").ToDate()).Days}"
- Dim MotivoPermiso As String = GvRow.DataKey("Descripcion")
- If File.Exists(RutaFormato) Then
-
- Dim objGemDocument As New clsGemBoxDocument(RutaFormato)
- Dim ListaTags As New List(Of TagsDocumentos)
-
- ListaTags = GetDatosTagsDocumentos()
-
- ListaTags.Add(New TagsDocumentos("{NombreEmpleado}", NombreEmpleado))
- ListaTags.Add(New TagsDocumentos("{Codigo}", Codigo))
- ListaTags.Add(New TagsDocumentos("{Departamento}", Departamento))
- ListaTags.Add(New TagsDocumentos("{JefeInmediato}", JefeInmediato))
- ListaTags.Add(New TagsDocumentos("{FechaInicio}", FechaInicio))
- ListaTags.Add(New TagsDocumentos("{FechaFin}", FechaFin))
- ListaTags.Add(New TagsDocumentos("{diasPermiso}", diasPermiso))
- ListaTags.Add(New TagsDocumentos("{MotivoPermiso}", MotivoPermiso))
-
- objGemDocument.SustituirTags(ListaTags)
-
- 'objGemDocument.GuardarStream()
- objGemDocument.GuardarStreamPDF()
- Dim bytesInStream As Byte() = objGemDocument.GetBytesDocumento()
- 'Dim bytesInStream As Byte() = objGemDocument.memoryStream.ToArray
- objGemDocument.Dispose()
-
- Response.Clear()
- Response.ContentType = "application/force-download"
- Response.AddHeader("content-disposition", "attachment; filename=" & CvePersonal & "_Solicituddepermiso_" & Now.ToString("yyyyMMddhhmmss") & ".pdf")
- Response.BinaryWrite(bytesInStream)
+ Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
+ 'Dim Folio As Integer = GvRow.DataKey("Folio").ToEntero
+ 'DescarSolicitudVacaciones(Folio)
+ Dim RutaFormato As String = String.Format("{0}Formatos\PermisoSolicitud.docx", UsuarioActual.Empresa.Ruta)
+
+ Dim NombreEmpleado As String = String.Format("{0} {1} {2}", TxtAPaterno.Text, TxtAMaterno.Text, TxtNombres.Text)
+ Dim Codigo As String = TxtCodigo.Text
+ Dim Departamento As String = DdlDepartamento.SelectedItem.Text
+ Dim JefeInmediato As String = DdlSupervisorOrganigrama.SelectedItem.Text
+ Dim FechaInicio As String = GvRow.DataKey("FechaInicio").ToDateTime().ToString("dd/MM/yyyy")
+ Dim FechaFin As String = GvRow.DataKey("FechaFin").ToDateTime().ToString("dd/MM/yyyy")
+ Dim diasPermiso As String = $"{(GvRow.DataKey("FechaFin").ToDate() - GvRow.DataKey("FechaInicio").ToDate()).Days}"
+ Dim HorasPermiso As String = "" 'String.Format("{0}", ((GvRow.DataKey("FechaInicio").ToDateTime() - GvRow.DataKey("FechaFin").ToDateTime()).Hours))
+ Dim MotivoPermiso As String = String.Format("{0},{1}", GvRow.DataKey("Descripcion"), GvRow.DataKey("Motivo"))
+ If File.Exists(RutaFormato) Then
+
+ Dim objGemDocument As New clsGemBoxDocument(RutaFormato)
+ Dim ListaTags As New List(Of TagsDocumentos)
+
+ ListaTags = GetDatosTagsDocumentos()
+
+ ListaTags.Add(New TagsDocumentos("{NombreEmpleado}", NombreEmpleado))
+ ListaTags.Add(New TagsDocumentos("{Codigo}", Codigo))
+ ListaTags.Add(New TagsDocumentos("{Departamento}", Departamento))
+ ListaTags.Add(New TagsDocumentos("{JefeInmediato}", JefeInmediato))
+ ListaTags.Add(New TagsDocumentos("{FechaInicio}", FechaInicio))
+ ListaTags.Add(New TagsDocumentos("{FechaFin}", FechaFin))
+ ListaTags.Add(New TagsDocumentos("{diasPermiso}", diasPermiso))
+ ListaTags.Add(New TagsDocumentos("{HorasPermiso}", HorasPermiso))
+ ListaTags.Add(New TagsDocumentos("{MotivoPermiso}", MotivoPermiso))
+
+ objGemDocument.SustituirTags(ListaTags)
+
+ 'objGemDocument.GuardarStream()
+ objGemDocument.GuardarStreamPDF()
+ Dim bytesInStream As Byte() = objGemDocument.GetBytesDocumento()
+ 'Dim bytesInStream As Byte() = objGemDocument.memoryStream.ToArray
+ objGemDocument.Dispose()
+
+ Response.Clear()
+ Response.ContentType = "application/force-download"
+ Response.AddHeader("content-disposition", "attachment; filename=" & CvePersonal & "_Solicituddepermiso_" & Now.ToString("yyyyMMddhhmmss") & ".pdf")
+ Response.BinaryWrite(bytesInStream)
Response.End()
Else
- Alert("No se encontro el Formato, favor de revisarlo con soporte tecnico.", TipoMensaje.MsgAdvertencia)
+ Alert("No se encontro el formato de Permisos", TipoMensaje.ToastAdventencia)
End If
End Sub
diff --git a/RH/RepUniformesResguardo.aspx b/RH/RepUniformesResguardo.aspx
index 3d84a60b2..f972b443e 100644
--- a/RH/RepUniformesResguardo.aspx
+++ b/RH/RepUniformesResguardo.aspx
@@ -124,7 +124,8 @@
-
+
+
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb
index ee2ac7def..af899849b 100644
--- a/Ventas/Clientes.aspx.vb
+++ b/Ventas/Clientes.aspx.vb
@@ -3902,7 +3902,7 @@ Partial Class Clientes
End If
Try
- Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente se correo se anexa su estado actual de cartera en {1}.
+ Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente del correo se anexa su estado actual de cartera en {1}.
Quedamos a sus ordenes para cualquier duda o aclaración con su agente de Ventas.
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 38873105e..70c15930b 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -5331,6 +5331,11 @@ Partial Class Ventas
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString)
End If
+ 'SI LA VENTA YA ESTA REGISTRADA NO DEBE HABILITAR ACCIONES
+ If CveVenta <= 0 Then
+ LnkRemisiones.Visible = If(UsuarioActual.TienePermisoProceso(199), True, False) : LnkOCs.Visible = True : LnkCotizaciones.Visible = True : LnkPedido2SinFacturar.Visible = True : InicializaAplicarNCMasiva()
+ End If
+
UPPVentas.Update()
UpEstatus.Update()
UPCondicionesPago.Update()