diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 500315bf5..9d7a712ec 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -3571,6 +3571,22 @@ Public Class ClsNominas
retorno = RunQuery("Ocurrió un error al eliminar las Solicitudes de nómina.")
Return retorno
End Function
+
+
+ Public Function SolicitudesCancelar(CveSolicitud As Integer, CveEmpresa As Integer, CveUsuario As Integer) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Gral_SAT_SolicitudesCancelar", CommandType.StoredProcedure)
+ addParameters("@CveSolicitud", SqlDbType.Int, CveSolicitud)
+ addParameters("@CveEmpresa", SqlDbType.Int, CveEmpresa)
+ addParameters("@CveUsuario", SqlDbType.Int, CveUsuario)
+
+ retorno = RunQuery("Ocurrió un error al cancelar la Solicitude.")
+
+ Return retorno
+ End Function
+
+
+
#End Region
#End Region
diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx
index 8af65aaa1..e53333212 100644
--- a/Compras/eFacturas.aspx
+++ b/Compras/eFacturas.aspx
@@ -1107,6 +1107,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb
index ce502c1e2..8a138cf63 100644
--- a/Compras/eFacturas.aspx.vb
+++ b/Compras/eFacturas.aspx.vb
@@ -781,6 +781,11 @@ Partial Class Compras_eFacturas
CargaGvBitacora()
CargaDatos()
MostrarSolcitudesSAT()
+
+ If UsuarioActual.CveRol = 1 Then
+ GVSolicitudesPendientes.Columns(8).Visible = True
+ End If
+
End If
removeasincevent()
End Sub
@@ -5033,6 +5038,26 @@ Partial Class Compras_eFacturas
RegistraScript("$('#DvmodalPersonalizar').modal('show');")
End Sub
+
+ Protected Sub LnkRemoveSolicitud_Click(sender As Object, e As EventArgs)
+
+ Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
+ Dim ProcesoOk As Boolean = False
+
+ Dim CveSolicitud = gvRow.DataKey("CveSolicitud").ToEntero
+ Dim Folio = gvRow.DataKey("Folio").ToEntero
+
+ Using nom As ClsNominas = New ClsNominas()
+ ProcesoOk = nom.SolicitudesCancelar(CveSolicitud, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario)
+ End Using
+
+ If ProcesoOk Then
+ Alert($"Solicitud {Folio} cancelada correctamente.")
+ cargasolicitudes()
+ End If
+
+
+ End Sub
End Class
@@ -5052,6 +5077,12 @@ Public Class GeneralesAPIeFacturas
Public Function VerificaSolicitudesNominas(CveEmpresa As Integer, CveTipoSolicitud As Integer, CveSolicitud As Integer) As Object
Return getData(Of Object)($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}/{CveSolicitud}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
End Function
+
+ Public Function CancelarSolicitud(CveEmpresa As Integer, CveSolicitud As Integer, CveUsuario As Integer) As Object
+ Return getData(Of Object)($"CancelarSolicitud/{CveEmpresa}/{CveSolicitud}/{CveUsuario}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
+ End Function
+
+
End Class
diff --git a/Nomina/RepPersonalDIM.aspx b/Nomina/RepPersonalDIM.aspx
index 182031f62..4b82ca5f0 100644
--- a/Nomina/RepPersonalDIM.aspx
+++ b/Nomina/RepPersonalDIM.aspx
@@ -1350,6 +1350,11 @@
+
+
+
+
+
diff --git a/Nomina/RepPersonalDIM.aspx.vb b/Nomina/RepPersonalDIM.aspx.vb
index 16d37c606..d697818ef 100644
--- a/Nomina/RepPersonalDIM.aspx.vb
+++ b/Nomina/RepPersonalDIM.aspx.vb
@@ -144,9 +144,9 @@ Partial Class Nomina_RepPersonalDIM
End Sub
Protected Sub LnkDescargaArchivo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles LnkDescargaArchivo.Click
- Dim tabla As DataTable = Dt_Datos
- Dim contenidoBytes As Byte() = Encoding.UTF8.GetBytes(ConvertirTablaATexto(tabla))
+
+ Dim contenidoBytes As Byte() = Encoding.UTF8.GetBytes(ConvertirGVATexto())
Using memoryStream As New MemoryStream(contenidoBytes)
Response.Clear()
@@ -159,39 +159,27 @@ Partial Class Nomina_RepPersonalDIM
End Sub
- Public Function ConvertirTablaATexto(ByVal DT As DataTable) As String
-
- Dim DTDatos As DataTable = DT.Copy()
-
- Dim columnasARemover As New List(Of DataColumn)()
-
-
- For Each columna As DataColumn In DTDatos.Columns
- If columna.ColumnName.Contains("CvePersonal") Then
- columnasARemover.Add(columna)
- End If
- Next
-
-
- For Each columna As DataColumn In columnasARemover
- DTDatos.Columns.Remove(columna)
- Next
-
- DTDatos.AcceptChanges()
+ Public Function ConvertirGVATexto() As String
Dim sb As New StringBuilder
- For Each fila As DataRow In DTDatos.Rows
- For i As Integer = 0 To DTDatos.Columns.Count - 1
- sb.Append(fila(i).ToString())
- If i < DTDatos.Columns.Count - 1 Then
- sb.Append("|")
- End If
- Next
- sb.AppendLine()
+ Dim countRows As Integer = 1
+ For Each GvRow As GridViewRow In GvDatos.Rows
+
+ If Not countRows = 1 Then
+ For Each cell As TableCell In GvRow.Cells
+ For Each control As Control In cell.Controls
+ If TypeOf control Is Label Then
+ Dim label As Label = DirectCast(control, Label)
+ sb.Append($"{label.Text.Trim.Replace("True", "1").Replace("False", "0")}|")
+ End If
+ Next
+ Next
+ sb.AppendLine()
+ End If
+ countRows = countRows + 1
Next
-
- Return sb.tostring
+ Return sb.ToString
End Function
@@ -330,22 +318,46 @@ Partial Class Nomina_RepPersonalDIM
' TotalRowHeader += 2
+
+ 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("A8:AB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(61, 74, 26), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AC8:AT9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AU8:AV9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(59, 131, 189), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AW8:DB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("DC8:DS9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 140, 64), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+
+ worksheet.Cells.GetSubrange("A8:AB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(218, 247, 166), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ worksheet.Cells.GetSubrange("AC8:AT9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ worksheet.Cells.GetSubrange("AU8:AV9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(59, 131, 189), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ worksheet.Cells.GetSubrange("AW8:DB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ worksheet.Cells.GetSubrange("DC8:DU9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 140, 64), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
+ worksheet.Cells("DC8").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 140, 64), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+
For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
worksheet.Rows(TotalRowHeader).Cells(i).Style.Font.Size = 12 * 20
worksheet.Rows(TotalRowHeader).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
worksheet.Rows(TotalRowHeader).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Bottom
- worksheet.Rows(TotalRowHeader).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
- worksheet.Rows(TotalRowHeader).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
+ 'worksheet.Rows(TotalRowHeader).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+ worksheet.Rows(TotalRowHeader).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(0, 0, 0)
worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.Font.Size = 12 * 20
worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Bottom
- worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
- worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
+ ' worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
+ worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(0, 0, 0)
If i > 0 Then
Try