diff --git a/Inventarios/RepAnomalias.aspx b/Inventarios/RepAnomalias.aspx
index 8df406ec9..d28d09550 100644
--- a/Inventarios/RepAnomalias.aspx
+++ b/Inventarios/RepAnomalias.aspx
@@ -268,7 +268,8 @@
-
+
+
@@ -325,7 +326,8 @@
-
+
+
@@ -375,7 +377,8 @@
-
+
+
@@ -474,7 +477,8 @@
-
+
+
diff --git a/Inventarios/RepAnomalias.aspx.vb b/Inventarios/RepAnomalias.aspx.vb
index f6a8fe83f..861028c31 100644
--- a/Inventarios/RepAnomalias.aspx.vb
+++ b/Inventarios/RepAnomalias.aspx.vb
@@ -1,11 +1,13 @@
Imports System.Data
+Imports System.IO
Imports Extensiones
+Imports GemBox.Spreadsheet
Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_RepAnomalias
- Inherits ClsPaginas
-
-
+ Inherits ClsPaginas
+
+
#Region "Propiedades"
Public Property CveInventarioFisico As Integer
Get
@@ -57,10 +59,10 @@ Partial Class Inventarios_RepAnomalias
Set(value As Boolean)
ViewState("CreandoNuevoInventario") = value
End Set
- End Property
-
+ End Property
+
#End Region
-
+
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
@@ -73,12 +75,12 @@ Partial Class Inventarios_RepAnomalias
End If
End If
- End Sub
-
-
-
+ End Sub
+
+
+
#Region " CARGA DATOS "
-
+
Private Sub CargaDatos(CveInventarioFisico As Integer)
Dim Inventario As New ClsInventarios
Dim dt As DataTable = Nothing
@@ -272,15 +274,15 @@ Partial Class Inventarios_RepAnomalias
DVGrupos.Visible = True
If DdlGPO.SelectedValue.ToEntero = 2 Then
- GvGrupos.Columns(4).Visible = False
GvGrupos.Columns(5).Visible = False
GvGrupos.Columns(6).Visible = False
GvGrupos.Columns(7).Visible = False
+ GvGrupos.Columns(8).Visible = False
Else
- GvGrupos.Columns(4).Visible = True
GvGrupos.Columns(5).Visible = True
GvGrupos.Columns(6).Visible = True
GvGrupos.Columns(7).Visible = True
+ GvGrupos.Columns(8).Visible = True
End If
If DdlGPO.SelectedValue.ToEntero = 2 Then
@@ -327,10 +329,10 @@ Partial Class Inventarios_RepAnomalias
UPAcciones.Update()
- End Sub
+ End Sub
#End Region
-
-
+
+
#Region " FINALIZAR "
Protected Sub btnFin_Click(sender As Object, e As EventArgs) Handles btnFin.Click
Dim Inventarios As New ClsInventarios
@@ -351,11 +353,11 @@ Partial Class Inventarios_RepAnomalias
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
CargaDatos(CveInventarioFisico)
- End Sub
-
+ End Sub
+
#End Region
-
-
+
+
Protected Sub GVF_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvF.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
@@ -393,16 +395,16 @@ Partial Class Inventarios_RepAnomalias
End If
End If
- End Sub
-
+ End Sub
+
#Region " IMPRIMIR "
- 'Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
- ' GvF.ExportToExcel("IF_Faltantes_" & Now.ToShortDateString())
- 'End Sub
- 'Protected Sub LnkExportaSobrantes_Click(sender As Object, e As EventArgs) Handles LnkExportaSobrantes.Click
- ' GvS.ExportToExcel("IF_Sobrantes_" & Now.ToShortDateString())
- 'End Sub
-
+ 'Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
+ ' GvF.ExportToExcel("IF_Faltantes_" & Now.ToShortDateString())
+ 'End Sub
+ 'Protected Sub LnkExportaSobrantes_Click(sender As Object, e As EventArgs) Handles LnkExportaSobrantes.Click
+ ' GvS.ExportToExcel("IF_Sobrantes_" & Now.ToShortDateString())
+ 'End Sub
+
Private Sub LnkPDF_Click(sender As Object, e As EventArgs) Handles LnkPDF.Click
ImprimirbytesPDF(Imprimir, Formato:="PDF")
End Sub
@@ -466,10 +468,27 @@ Partial Class Inventarios_RepAnomalias
For Each GvRow As GridViewRow In GvTemp.Rows
GvRow.BackColor = Drawing.ColorTranslator.FromHtml("white")
- Next
-
- 'GvF.ExportToExcel("Reporte de Inventario Fisico - Productos que Faltan " & Now.ToShortDateString)
- GvTemp.ExportToExcel("Reporte de Inventario Fisico - Productos que Faltan " & Now.ToShortDateString)
+ Next
+
+ Dim SbFiltros As New StringBuilder()
+ SbFiltros.AppendFormat("Almacenes: {0}|", LblAlmacenes.Text)
+ SbFiltros.AppendFormat("Fecha Inicio: {0} Fecha Fin: {1}|", lbFechaI.Text, lbFechaF.Text)
+
+ SbFiltros.AppendFormat("Clasificaciones: {0}|", LblClasif.Text)
+ SbFiltros.AppendFormat("Clasificaciones Excluidas: {0}|", LblClasificacionesExcluidas.Text)
+
+ SbFiltros.AppendFormat("Productos: {0}|", LblProductos.Text)
+ SbFiltros.AppendFormat("Productos Excluidos: {0}|", LblProductosExcluidos.Text)
+
+ SbFiltros.AppendFormat("Proveedores: {0}|", LblProveedores.Text)
+ SbFiltros.AppendFormat("SubProyecto: {0}|", lbSubProyecto.Text)
+
+ SbFiltros.AppendFormat("Estatus: {0}|", lbEstatus.Text)
+
+ 'GvF.ExportToExcel("Reporte de Inventario Fisico - Productos que Faltan " & Now.ToShortDateString)
+
+ ExportarExcelGembox(GvTemp, "Reporte de Inventario Fisico - Productos que Faltan " & Now.ToShortDateString, UsuarioActual, "Reporte de Inventario Fisico - Productos que Faltan", DatosFiltros:=SbFiltros.ToString())
+
End Sub
@@ -478,10 +497,27 @@ Partial Class Inventarios_RepAnomalias
For Each GvRow As GridViewRow In GvTemp.Rows
GvRow.BackColor = Drawing.ColorTranslator.FromHtml("white")
- Next
+ Next
+
+ Dim SbFiltros As New StringBuilder()
+ SbFiltros.AppendFormat("Almacenes: {0}|", LblAlmacenes.Text)
+ SbFiltros.AppendFormat("Fecha Inicio: {0} Fecha Fin: {1}|", lbFechaI.Text, lbFechaF.Text)
+
+ SbFiltros.AppendFormat("Clasificaciones: {0}|", LblClasif.Text)
+ SbFiltros.AppendFormat("Clasificaciones Excluidas: {0}|", LblClasificacionesExcluidas.Text)
+
+ SbFiltros.AppendFormat("Productos: {0}|", LblProductos.Text)
+ SbFiltros.AppendFormat("Productos Excluidos: {0}|", LblProductosExcluidos.Text)
+
+ SbFiltros.AppendFormat("Proveedores: {0}|", LblProveedores.Text)
+ SbFiltros.AppendFormat("SubProyecto: {0}|", lbSubProyecto.Text)
+
+ SbFiltros.AppendFormat("Estatus: {0}|", lbEstatus.Text)
+
+ 'GvF.ExportToExcel("Reporte de Inventario Fisico - Productos que Faltan " & Now.ToShortDateString)
+
+ ExportarExcelGembox(GvTemp, "Reporte de Inventario Fisico - Productos que Sobran " & Now.ToShortDateString, UsuarioActual, "Reporte de Inventario Fisico - Productos que Sobran", DatosFiltros:=SbFiltros.ToString())
- 'GvS.ExportToExcel("Reporte de Inventario Fisico - Productos que Sobran " & Now.ToShortDateString)
- GvTemp.ExportToExcel("Reporte de Inventario Fisico - Productos que Sobran " & Now.ToShortDateString)
End Sub
@@ -490,28 +526,62 @@ Partial Class Inventarios_RepAnomalias
For Each GvRow As GridViewRow In GvTemp.Rows
GvRow.BackColor = Drawing.ColorTranslator.FromHtml("white")
- Next
- 'GvC.ExportToExcel("Reporte de Inventario Fisico - Productos Coincidentes " & Now.ToShortDateString)
- GvTemp.ExportToExcel("Reporte de Inventario Fisico - Productos Coincidentes " & Now.ToShortDateString)
+ Next
+
+ Dim SbFiltros As New StringBuilder()
+ SbFiltros.AppendFormat("Almacenes: {0}|", LblAlmacenes.Text)
+ SbFiltros.AppendFormat("Fecha Inicio: {0} Fecha Fin: {1}|", lbFechaI.Text, lbFechaF.Text)
+
+ SbFiltros.AppendFormat("Clasificaciones: {0}|", LblClasif.Text)
+ SbFiltros.AppendFormat("Clasificaciones Excluidas: {0}|", LblClasificacionesExcluidas.Text)
+
+ SbFiltros.AppendFormat("Productos: {0}|", LblProductos.Text)
+ SbFiltros.AppendFormat("Productos Excluidos: {0}|", LblProductosExcluidos.Text)
+
+ SbFiltros.AppendFormat("Proveedores: {0}|", LblProveedores.Text)
+ SbFiltros.AppendFormat("SubProyecto: {0}|", lbSubProyecto.Text)
+
+ SbFiltros.AppendFormat("Estatus: {0}|", lbEstatus.Text)
+
+ ExportarExcelGembox(GvTemp, "Reporte de Inventario Fisico - Productos Coincidentes " & Now.ToShortDateString, UsuarioActual, "Reporte de Inventario Fisico - Productos Coincidentes", DatosFiltros:=SbFiltros.ToString())
+
End Sub
Private Sub LnkDescarExcelGrupos_Click(sender As Object, e As EventArgs) Handles LnkDescarExcelGrupos.Click
- Dim Filtros As String = "Almacenes:aASDSAF|Clasificaciones:sdfasf|Fecha:12/12/2323"
- GvGrupos.ExportToExcelGembox("Reporte de Inventario Fisico" & Now.ToShortDateString, UsuarioActual, "Inventario:" & lbTitulo.Text, "", DatosFiltros:=Filtros)
+ 'Dim Filtros As String = "Almacenes:aASDSAF|Clasificaciones:sdfasf|Fecha:12/12/2323"
+ 'GvGrupos.ExportToExcelGembox("Reporte de Inventario Fisico" & Now.ToShortDateString, UsuarioActual, "Inventario:" & lbTitulo.Text, "", DatosFiltros:=Filtros)
+
+ Dim SbFiltros As New StringBuilder()
+ SbFiltros.AppendFormat("Almacenes: {0}|", LblAlmacenes.Text)
+ SbFiltros.AppendFormat("Fecha Inicio: {0} Fecha Fin: {1}|", lbFechaI.Text, lbFechaF.Text)
+
+ SbFiltros.AppendFormat("Clasificaciones: {0}|", LblClasif.Text)
+ SbFiltros.AppendFormat("Clasificaciones Excluidas: {0}|", LblClasificacionesExcluidas.Text)
+
+ SbFiltros.AppendFormat("Productos: {0}|", LblProductos.Text)
+ SbFiltros.AppendFormat("Productos Excluidos: {0}|", LblProductosExcluidos.Text)
+
+ SbFiltros.AppendFormat("Proveedores: {0}|", LblProveedores.Text)
+ SbFiltros.AppendFormat("SubProyecto: {0}|", lbSubProyecto.Text)
+
+ SbFiltros.AppendFormat("Estatus: {0}|", lbEstatus.Text)
+
+ ExportarExcelGembox(GvGrupos, "Reporte de Inventario Fisico" & Now.ToShortDateString, UsuarioActual, "Reporte de Inventario Fisico", DatosFiltros:=SbFiltros.ToString())
+
End Sub
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
- End Sub
-
+ End Sub
+
#End Region
-
+
Private Sub BanderaSerieLoteCad(Gv As GridView, resultado As DataTable)
If resultado IsNot Nothing Then
- Gv.Columns(5).Visible = resultado.MAX("CveSeccionAlmacen").ToEntero > 0
- Gv.Columns(6).Visible = resultado.MAX("Serie") <> ""
- Gv.Columns(7).Visible = resultado.MAX("Lote") <> ""
- Gv.Columns(8).Visible = resultado.MAX("FechaCaducidad").ToDate > MinFecha
+ Gv.Columns(6).Visible = resultado.MAX("CveSeccionAlmacen").ToEntero > 0
+ Gv.Columns(7).Visible = resultado.MAX("Serie") <> ""
+ Gv.Columns(8).Visible = resultado.MAX("Lote") <> ""
+ Gv.Columns(9).Visible = resultado.MAX("FechaCaducidad").ToDate > MinFecha
End If
End Sub
@@ -710,5 +780,162 @@ Partial Class Inventarios_RepAnomalias
End If
+ End Sub
+
+
+ Public Sub ExportarExcelGembox(GridView As GridView, NombreArchivoXLSx As String, Usuario As Usuario, Titulo As String, Optional DatoTituloExtra As String = "", Optional DatosFiltros As String = "", Optional AnchoImagen As Integer = 100, Optional AlturaImagen As Integer = 100)
+
+ Dim sw1 As New StringWriter()
+ Dim htw1 As New HtmlTextWriter(sw1)
+ GridView.RenderControl(htw1)
+
+ Dim options = GemBox.Spreadsheet.LoadOptions.HtmlDefault
+
+ Dim htmlStream1 = New MemoryStream(options.Encoding.GetBytes(sw1.ToString()))
+
+ htmlStream1.Position = 0
+ Dim sr1 As New StreamReader(htmlStream1)
+ Dim myStr1 = sr1.ReadToEnd()
+ sr1.Dispose()
+ htmlStream1.Dispose()
+ sw1.Dispose()
+
+ Dim HtmlCompleto As String = myStr1
+
+ HtmlCompleto = Regex.Replace(HtmlCompleto, "\<[\/]*a[^\>]*\>", "")
+
+ Dim htmlStream5 = New MemoryStream(options.Encoding.GetBytes(HtmlCompleto))
+
+ GemBox.Spreadsheet.SpreadsheetInfo.SetLicense(SerialGemBoxSpreadsheet)
+
+ Dim excel As GemBox.Spreadsheet.ExcelFile
+
+ excel = GemBox.Spreadsheet.ExcelFile.Load(htmlStream5, options)
+
+ If Usuario IsNot Nothing Then
+
+ Dim TotalRowHeader As Integer = 6
+ Dim TotalRowFooter As Integer = 2
+
+
+ Dim worksheet = excel.Worksheets(0)
+ worksheet.Rows.InsertEmpty(0, TotalRowHeader)
+ Dim celdasConTexto = worksheet.GetUsedCellRange(True)
+ celdasConTexto.Style.Font.Name = "Calibri Light"
+
+ Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex)
+ RangoNombreEmpresa.Merged = True
+ RangoNombreEmpresa.Value = Usuario.Empresa.Empresa
+ RangoNombreEmpresa.Style.Font.Size = 18 * 20
+ RangoNombreEmpresa.Style.Font.Name = "Calibri Light"
+ RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
+ RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
+
+
+ Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex)
+ RangoTitulo.Merged = True
+ RangoTitulo.Value = Titulo
+ RangoTitulo.Style.Font.Size = 20 * 20
+ RangoTitulo.Style.Font.Name = "Calibri Light"
+ RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
+ RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
+
+ If DatoTituloExtra.Length > 0 Then
+ Dim RangoDatoTituloExtra = worksheet.Cells.GetSubrangeAbsolute(TotalRowHeader, celdasConTexto.FirstColumnIndex, TotalRowHeader, celdasConTexto.LastColumnIndex)
+ RangoDatoTituloExtra.Merged = True
+ RangoDatoTituloExtra.Value = DatoTituloExtra
+ RangoDatoTituloExtra.Style.Font.Size = 20 * 20
+ RangoDatoTituloExtra.Style.Font.Name = "Calibri Light"
+ RangoDatoTituloExtra.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
+ RangoDatoTituloExtra.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
+
+ End If
+
+ If DatosFiltros.Length > 0 Then
+
+ Dim Arreglo As String() = DatosFiltros.Split("|"c)
+ worksheet.Rows.InsertEmpty(TotalRowHeader, Arreglo.Count)
+ For Each TextoFiltro As String In Arreglo
+
+ Dim RangoDatosFiltro = worksheet.Cells.GetSubrangeAbsolute(TotalRowHeader, celdasConTexto.FirstColumnIndex, TotalRowHeader, celdasConTexto.LastColumnIndex)
+
+ RangoDatosFiltro.Merged = True
+ RangoDatosFiltro.Style.WrapText = True
+ RangoDatosFiltro.Value = TextoFiltro
+ RangoDatosFiltro.Style.Font.Size = 12 * 20
+ RangoDatosFiltro.Style.Font.Name = "Calibri Light"
+ RangoDatosFiltro.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
+ RangoDatosFiltro.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
+
+ TotalRowHeader += 1
+ Next
+ End If
+
+ 'TotalRowHeader += 2
+
+ 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.Center
+ worksheet.Rows(TotalRowHeader).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
+
+ 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)
+
+ If i > 0 Then
+ Try
+ worksheet.Columns(i).AutoFit(1)
+ Catch ex As Exception
+ End Try
+ End If
+
+ Next
+
+ Dim IndexEndTable As Integer = GridView.Rows.Count + TotalRowHeader + TotalRowFooter
+
+ worksheet.Rows(IndexEndTable).Cells(0).Value = "Usuario Imprimió"
+ worksheet.Rows(IndexEndTable + 1).Cells(0).Value = Usuario.Nombre
+
+ worksheet.Rows(IndexEndTable).Cells(2).Value = "Fecha Impresión"
+ worksheet.Rows(IndexEndTable + 1).Cells(2).Value = DateTime.Now.ToString("dd/MM/yyyy")
+
+ Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", Usuario.Empresa.Ruta))
+
+ If Imagen.Exists Then
+ Dim Ruta As String = String.Format("{0}/Logo.png", Usuario.Empresa.Ruta)
+ Using sr As New StreamReader(Ruta)
+ Dim ms As New MemoryStream()
+ sr.BaseStream.CopyTo(ms)
+ worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel)
+ End Using
+ End If
+
+
+ For I = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
+
+ If I > 0 Then
+
+ 'If 1 = 1 Then
+ ' worksheet.Columns(I + 1).Style.NumberFormat = "#,##0.00"
+ 'Else
+ ' worksheet.Columns(I + 1).Style.NumberFormat = "#,##"
+ 'End If
+
+ worksheet.Columns(I + 1).Style.NumberFormat = "@"
+
+ Try
+ worksheet.Columns(I).AutoFit(1)
+ Catch ex As Exception
+ End Try
+
+ End If
+ Next
+
+ End If
+
+ excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx")
+
+
End Sub
+
End Class