diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb
index 03880cf97..57b5d06c1 100644
--- a/App_Code/ClsInventarios.vb
+++ b/App_Code/ClsInventarios.vb
@@ -5490,7 +5490,7 @@ Public Class ClsInventarios
End Try
Return Retorno
End Function
- Public Function AddCamiones(Placa As String, Especificacion As String, CveEmpresa As Integer, Optional ConfigCartaPorte As String = "", Optional Anio As Integer = 0, Optional TipoPermisoSCT As String = "", Optional NumPermisoSCT As String = "", Optional NombreAseguradora As String = "", Optional NumPolizaSeguro As String = "") As Boolean
+ Public Function AddCamiones(Placa As String, Especificacion As String, CveEmpresa As Integer, ConfigCartaPorte As String, Anio As Integer, TipoPermisoSCT As String, NumPermisoSCT As String, NombreAseguradora As String, NumPolizaSeguro As String, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_CamionesAdd")
With SqlAdapter.SelectCommand.Parameters
@@ -5503,6 +5503,7 @@ Public Class ClsInventarios
.Add("@NombreAseguradora", SqlDbType.VarChar).Value = NombreAseguradora
.Add("@NumPolizaSeguro", SqlDbType.VarChar).Value = NumPolizaSeguro
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
@@ -5512,11 +5513,12 @@ Public Class ClsInventarios
End Try
Return Retorno
End Function
- Public Function RemoveCamiones(CveCamion As Integer) As Boolean
+ Public Function RemoveCamiones(CveCamion As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_CamionesRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCamion", SqlDbType.Int).Value = CveCamion
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
@@ -5526,7 +5528,7 @@ Public Class ClsInventarios
End Try
Return Retorno
End Function
- Public Function UpdateCamiones(CveCamion As Integer, Placa As String, Especificacion As String, Optional ConfigCartaPorte As String = "", Optional Anio As Integer = 0, Optional TipoPermisoSCT As String = "", Optional NumPermisoSCT As String = "", Optional NombreAseguradora As String = "", Optional NumPolizaSeguro As String = "") As Boolean
+ Public Function UpdateCamiones(CveCamion As Integer, Placa As String, Especificacion As String, ConfigCartaPorte As String, Anio As Integer, TipoPermisoSCT As String, NumPermisoSCT As String, NombreAseguradora As String, NumPolizaSeguro As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_CamionesUpdate")
With SqlAdapter.SelectCommand.Parameters
@@ -5539,6 +5541,8 @@ Public Class ClsInventarios
.Add("@NumPermisoSCT", SqlDbType.VarChar).Value = NumPermisoSCT
.Add("@NombreAseguradora", SqlDbType.VarChar).Value = NombreAseguradora
.Add("@NumPolizaSeguro", SqlDbType.VarChar).Value = NumPolizaSeguro
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 555f3d41d..463bc6529 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -4812,6 +4812,9 @@ Public Class ClsPaginas
PaginaDict.Add("/Inventarios/RecepcionDevolucion.aspx".ToUpper(), 696)
PaginaDict.Add("/Inventarios/RepExistenciaLote.aspx".ToUpper(), 109)
+ PaginaDict.Add("/Inventarios/CatUnidades.aspx".ToUpper(), 2056)
+
+
#End Region
#Region "MF"
diff --git a/Inventarios/CatUnidades.aspx b/Inventarios/CatUnidades.aspx
new file mode 100644
index 000000000..ee2be878c
--- /dev/null
+++ b/Inventarios/CatUnidades.aspx
@@ -0,0 +1,163 @@
+<%@ Page Title="Catálogo de Unidades" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatUnidades.aspx.vb" Inherits="Inventarios_CatUnidades" %>
+
+<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
+
+
+
+
+
+
+
+
+ Catálogo de Unidades
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Inventarios/CatUnidades.aspx.vb b/Inventarios/CatUnidades.aspx.vb
new file mode 100644
index 000000000..50c0f88ac
--- /dev/null
+++ b/Inventarios/CatUnidades.aspx.vb
@@ -0,0 +1,167 @@
+Imports Extensiones
+Partial Class Inventarios_CatUnidades
+ Inherits ClsPaginas
+
+ Private Property CveCamion As Integer
+ Get
+
+ If ViewState("CveCamion") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("CveCamion").ToString().ToEntero()
+ End If
+ End Get
+ Set(ByVal value As Integer)
+ ViewState("CveCamion") = value
+ End Set
+ End Property
+
+ Private Sub Catalogos_CatPtoSubFunsion_Load(sender As Object, e As EventArgs) Handles Me.Load
+ If Not Page.IsPostBack Then
+ CargaCombos()
+ CargaDatos()
+ End If
+ End Sub
+
+ Public Sub CargaDatos()
+
+
+ Dim ObjInventarios As New ClsInventarios
+
+ If ObjInventarios.GetCamiones(-1, UsuarioActual.CveEmpresa) Then
+ GvDatos.DataSource = ObjInventarios.DtResultados
+ Else
+ GvDatos.DataSource = Nothing
+ End If
+
+ ObjInventarios.Dispose()
+ GvDatos.DataBind()
+ UpDatos.Update()
+
+
+ End Sub
+
+ Private Sub CargaCombos()
+
+ Using ObjGral As New ClsGenerales
+ If ObjGral.GetCartaPorteConfigAutoTransportes() Then
+ DdlConfigAuto.DataSource = ObjGral.DtResultados
+ End If
+ End Using
+
+ DdlConfigAuto.DataBind()
+
+ UpModalUnidades.Update()
+
+ End Sub
+
+
+ Protected Sub LnkAgregarUnidad_Click(sender As Object, e As EventArgs)
+
+ CveCamion = -1
+
+ BtnAgregarCamion.Text = "Agregar"
+
+ TxtPlacaNuevo.Text = ""
+ TxtEspecificacionNuevo.Text = ""
+ TxtEspecificacionNuevo.Text = ""
+ DdlConfigAuto.SelectedValueExist(-1)
+
+ TxtAnio.Text = ""
+ TxtTipoPermisoSCT.Text = ""
+ TxtNumermisoSCT.Text = ""
+ TxtNombreAseguradora.Text = ""
+ TxtNumPolizaSeguro.Text = ""
+
+ LtlTituloModal.Text = "Agregar Unidad"
+
+ UpModalUnidades.Update()
+ RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarUnidad"))
+ End Sub
+
+ Protected Sub LnkEditar_Click(sender As Object, e As EventArgs)
+
+ BtnAgregarCamion.Text = "Actualizar"
+ Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
+
+ CveCamion = GvRow.DataKey("CveCamion").ToEntero()
+
+
+ TxtPlacaNuevo.Text = GvRow.DataKey("Placa")
+ TxtEspecificacionNuevo.Text = GvRow.DataKey("Especificacion")
+
+ DdlConfigAuto.SelectedValueExist(GvRow.DataKey("ConfigCartaPorte"))
+
+ TxtAnio.Text = GvRow.DataKey("Anio")
+ TxtTipoPermisoSCT.Text = GvRow.DataKey("TipoPermisoSCT")
+ TxtNumermisoSCT.Text = GvRow.DataKey("NumPermisoSCT")
+ TxtNombreAseguradora.Text = GvRow.DataKey("NombreAseguradora")
+ TxtNumPolizaSeguro.Text = GvRow.DataKey("NumPolizaSeguro")
+
+ LtlTituloModal.Text = "Actualizar Unidad"
+
+ UpModalUnidades.Update()
+
+ RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarUnidad"))
+ End Sub
+
+ Protected Sub LnkEliminar_Click(sender As Object, e As EventArgs)
+
+ Dim ErrorAlElimiar As Boolean = False
+
+ Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
+
+ Dim CveCamionEliminar = GvRow.DataKey("CveCamion").ToEntero()
+
+ Dim ObjInventarios As New ClsInventarios
+
+ If (ObjInventarios.RemoveCamiones(CveCamionEliminar, UsuarioActual.CveEmpresa)) Then
+
+ UpDatos.Update()
+ RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarUnidad"))
+ Alert("Unidad Eliminada Correctamente")
+ Else
+ ErrorAlElimiar = True
+ End If
+
+ ObjInventarios.Dispose()
+
+ If Not ErrorAlElimiar Then
+ CargaDatos()
+ End If
+
+ End Sub
+
+ Protected Sub BtnAgregarCamion_Click(sender As Object, e As EventArgs)
+
+ Dim ErrorPrceso As Boolean = False
+
+ Dim ObjInventarios As New ClsInventarios
+
+ If CveCamion <= 0 Then
+ If ObjInventarios.AddCamiones(TxtPlacaNuevo.Text, TxtEspecificacionNuevo.Text, UsuarioActual.CveEmpresa, DdlConfigAuto.SelectedValue, TxtAnio.Text.ToEntero(), TxtTipoPermisoSCT.Text, TxtNumermisoSCT.Text, TxtNombreAseguradora.Text, TxtNumPolizaSeguro.Text, UsuarioActual.CveUsuario) Then
+ Alert("Unidad agregada correctamente")
+ Else
+ ErrorPrceso = True
+ End If
+ Else
+ If ObjInventarios.UpdateCamiones(CveCamion, TxtPlacaNuevo.Text, TxtEspecificacionNuevo.Text, DdlConfigAuto.SelectedValue, TxtAnio.Text.ToEntero(), TxtTipoPermisoSCT.Text, TxtNumermisoSCT.Text, TxtNombreAseguradora.Text, TxtNumPolizaSeguro.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
+ Alert("Unidad actualizada correctamente")
+ Else
+ ErrorPrceso = True
+ End If
+ End If
+
+
+ If Not ErrorPrceso Then
+ CargaDatos()
+ End If
+
+ UpDatos.Update()
+
+ RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarUnidad"))
+
+ End Sub
+
+
+End Class
diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb
index 2fb2b064c..f30f86748 100644
--- a/Inventarios/TraspasoAlmacen.aspx.vb
+++ b/Inventarios/TraspasoAlmacen.aspx.vb
@@ -3278,7 +3278,7 @@ Partial Class Inventarios_TraspasoAlmacen
End Sub
Public Sub BtnAgregarCamion_Click(sender As Object, e As EventArgs) Handles BtnAgregarCamion.Click
Dim ObjInventarios As New ClsInventarios
- If ObjInventarios.AddCamiones(TxtPlacaNuevo.Text, TxtEspecificacionNuevo.Text, ConfigCartaPorte:=DdlConfigAuto.SelectedValue, Anio:=TxtAnio.Text.ToEntero(), TipoPermisoSCT:=TxtTipoPermisoSCT.Text, NumPermisoSCT:=TxtNumermisoSCT.Text, NombreAseguradora:=TxtNombreAseguradora.Text, NumPolizaSeguro:=TxtNumPolizaSeguro.Text, CveEmpresa:=UsuarioActual.CveEmpresa) Then
+ If ObjInventarios.AddCamiones(TxtPlacaNuevo.Text, TxtEspecificacionNuevo.Text, ConfigCartaPorte:=DdlConfigAuto.SelectedValue, Anio:=TxtAnio.Text.ToEntero(), TipoPermisoSCT:=TxtTipoPermisoSCT.Text, NumPermisoSCT:=TxtNumermisoSCT.Text, NombreAseguradora:=TxtNombreAseguradora.Text, NumPolizaSeguro:=TxtNumPolizaSeguro.Text, CveEmpresa:=UsuarioActual.CveEmpresa, CveUsuario:=UsuarioActual.CveUsuario) Then
RegistraScript("$('#DivAgregarNuevoCamion').modal('hide');")
CargarCamiones()
LimpiarAgregarCamion()
diff --git a/Ventas/RepComisionesServec.aspx b/Ventas/RepComisionesServec.aspx
index 86fcd5566..7a78e2c55 100644
--- a/Ventas/RepComisionesServec.aspx
+++ b/Ventas/RepComisionesServec.aspx
@@ -10,6 +10,18 @@
+
+
+
+
+ Generar Excel
+
+
+
+
+
+
+
@@ -23,20 +35,23 @@
-
-
+
+
+
-
-
-
+
+
+
+
-
-
+
+
+
@@ -50,7 +65,8 @@
-
+
+
@@ -65,6 +81,7 @@
+
diff --git a/Ventas/RepComisionesServec.aspx.vb b/Ventas/RepComisionesServec.aspx.vb
index 594a94faa..92a427978 100644
--- a/Ventas/RepComisionesServec.aspx.vb
+++ b/Ventas/RepComisionesServec.aspx.vb
@@ -3,6 +3,8 @@ Option Strict On
Imports Extensiones
Imports System.Data
+Imports System.IO
+Imports GemBox.Spreadsheet
Partial Class Ventas_RepComisionesServec
Inherits ClsPaginas
@@ -35,17 +37,31 @@ Partial Class Ventas_RepComisionesServec
End Sub
Private Sub CargaDatos()
+
+ LnkExportar.Visible = False
+
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetRepComisionesServec(DdlVendedor.SelectedValue.ToEntero, FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
GvDatos.DataSource = ObjVentas.DtResultados
+
+ If ObjVentas.DtResultados.Rows.Count > 0 Then
+ LnkExportar.Visible = True
+ End If
+
Else
GvDatos.DataSource = Nothing
- End If
+ End If
+
ObjVentas.Dispose()
GvDatos.DataBind()
+
+
+ UpAcciones.Update()
+ UPDatos.Update()
+
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
@@ -60,4 +76,118 @@ Partial Class Ventas_RepComisionesServec
e.Row.FCHyperLink("HLVendedor").NavigateUrl = String.Format("/Ventas/RepComisionesServecDetalle.aspx?CveVendedor={0}&CveSubProyecto={1}&FechaI={2:dd/MM/yyy}&FechaF={3:dd/MM/yyy}", e.Row.DBCampo("CveVendedor"), DdlSubProyecto.SelectedValue, If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha), If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha))
End If
End Sub
+
+ Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
+ End Sub
+
+
+ Protected Sub LnkExportar_Click(sender As Object, e As EventArgs)
+
+ Dim StrFiltro As New StringBuilder
+
+ StrFiltro.AppendFormat(" Vendedor: {0}, ", DdlVendedor.SelectedItem.Text)
+ StrFiltro.AppendFormat(" Sucursal: {0}, ", DdlSubProyecto.SelectedItem.Text)
+ StrFiltro.AppendFormat(" Fecha Inicio: {0}, ", txtFechaI.Text)
+ StrFiltro.AppendFormat(" Fecha Fin: {0}", txtFechaF.Text)
+
+ ExportToExcelG(GvDatos, $"ReporteComisiones{Now.ToString("yyyyMMddhhmmss")}.xlsx", "", UsuarioActual, StrFiltro.ToString, 100, 200)
+ End Sub
+
+
+ Public Sub ExportToExcelG(Gv As GridView, NombreArchivoXLSx As String, Optional Titulo As String = "Reporte", Optional Usuario As Usuario = Nothing, Optional Filtros As String = "", Optional AlturaImagen As Double = 100, Optional AnchoImagen As Double = 100)
+ Dim sw As New StringWriter()
+ Dim htw As New HtmlTextWriter(sw)
+
+ Gv.RenderControl(htw)
+ GemBox.Spreadsheet.SpreadsheetInfo.SetLicense("ESWN-4QFD-26JF-1SZ8")
+
+ Dim excel As GemBox.Spreadsheet.ExcelFile
+ Dim options = GemBox.Spreadsheet.LoadOptions.HtmlDefault
+
+ Using htmlStream = New MemoryStream(options.Encoding.GetBytes(sw.ToString()))
+ excel = GemBox.Spreadsheet.ExcelFile.Load(htmlStream, options)
+ If Usuario IsNot Nothing Then
+ Dim TotalRowHeader As Integer = 8
+ Dim TotalRowFooter As Integer = 2
+
+ Dim worksheet = excel.Worksheets(0)
+
+ worksheet.Columns("A").Width = 15000
+
+ worksheet.Columns("B").Width = 7500
+ worksheet.Columns("C").Width = 5000
+ worksheet.Columns("D").Width = 5000
+ worksheet.Columns("E").Width = 5000
+
+ 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 RangoFiltros = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex)
+ RangoFiltros.Merged = True
+ RangoFiltros.Value = Filtros
+ RangoFiltros.Style.Font.Size = 15 * 20
+ RangoFiltros.Style.Font.Name = "Calibri Light"
+ RangoFiltros.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
+ RangoFiltros.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
+
+ For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
+ worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20
+ worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
+ worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
+ worksheet.Rows(8).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(8).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 = Gv.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(3).Value = "Fecha Impresión"
+ worksheet.Rows(IndexEndTable + 1).Cells(3).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
+ End If
+
+ End Using
+ htw.Dispose()
+
+ excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx")
+
+ End Sub
+
End Class
diff --git a/Ventas/RepComisionesServecDetalle.aspx b/Ventas/RepComisionesServecDetalle.aspx
index a46f8fd72..7cb92daef 100644
--- a/Ventas/RepComisionesServecDetalle.aspx
+++ b/Ventas/RepComisionesServecDetalle.aspx
@@ -10,6 +10,18 @@
+
+
+
+
+ Generar Excel
+
+
+
+
+
+
+
@@ -23,20 +35,21 @@
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
@@ -50,7 +63,7 @@
-
+
diff --git a/Ventas/RepComisionesServecDetalle.aspx.vb b/Ventas/RepComisionesServecDetalle.aspx.vb
index 9ba00bafd..c4b69ae2e 100644
--- a/Ventas/RepComisionesServecDetalle.aspx.vb
+++ b/Ventas/RepComisionesServecDetalle.aspx.vb
@@ -3,6 +3,8 @@ Option Strict On
Imports Extensiones
Imports System.Data
+Imports System.IO
+Imports GemBox.Spreadsheet
Partial Class Ventas_RepComisionesServecDetalle
Inherits ClsPaginas
@@ -53,12 +55,22 @@ Partial Class Ventas_RepComisionesServecDetalle
End Sub
Private Sub CargaDatos()
+
+ LnkExportar.Visible = False
+
+
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetRepComisionesServecDetalle(DdlVendedor.SelectedValue.ToEntero, FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
GvDatos.DataSource = ObjVentas.DtResultados
+
+
+ If ObjVentas.DtResultados.Rows.Count > 0 Then
+ LnkExportar.Visible = True
+ End If
+
Else
GvDatos.DataSource = Nothing
End If
@@ -82,4 +94,126 @@ Partial Class Ventas_RepComisionesServecDetalle
End If
End Sub
+
+
+
+
+ Protected Sub LnkExportar_Click(sender As Object, e As EventArgs)
+
+ Dim StrFiltro As New StringBuilder
+
+ StrFiltro.AppendFormat(" Vendedor: {0}, ", DdlVendedor.SelectedItem.Text)
+ StrFiltro.AppendFormat(" Sucursal: {0}, ", DdlSubProyecto.SelectedItem.Text)
+ StrFiltro.AppendFormat(" Fecha Inicio: {0}, ", txtFechaI.Text)
+ StrFiltro.AppendFormat(" Fecha Fin: {0}", txtFechaF.Text)
+
+ ExportToExcelG(GvDatos, $"ReporteComisiones{Now.ToString("yyyyMMddhhmmss")}.xlsx", "", UsuarioActual, StrFiltro.ToString, 100, 200)
+ End Sub
+
+
+ Public Sub ExportToExcelG(Gv As GridView, NombreArchivoXLSx As String, Optional Titulo As String = "Reporte", Optional Usuario As Usuario = Nothing, Optional Filtros As String = "", Optional AlturaImagen As Double = 100, Optional AnchoImagen As Double = 100)
+ Dim sw As New StringWriter()
+ Dim htw As New HtmlTextWriter(sw)
+
+ Gv.RenderControl(htw)
+ GemBox.Spreadsheet.SpreadsheetInfo.SetLicense("ESWN-4QFD-26JF-1SZ8")
+
+ Dim excel As GemBox.Spreadsheet.ExcelFile
+ Dim options = GemBox.Spreadsheet.LoadOptions.HtmlDefault
+
+ Using htmlStream = New MemoryStream(options.Encoding.GetBytes(sw.ToString()))
+ excel = GemBox.Spreadsheet.ExcelFile.Load(htmlStream, options)
+ If Usuario IsNot Nothing Then
+ Dim TotalRowHeader As Integer = 8
+ Dim TotalRowFooter As Integer = 2
+
+ Dim worksheet = excel.Worksheets(0)
+
+ worksheet.Columns("A").Width = 7000
+ worksheet.Columns("B").Width = 3500
+ worksheet.Columns("C").Width = 3500
+ worksheet.Columns("D").Width = 3500
+ worksheet.Columns("E").Width = 3500
+ worksheet.Columns("F").Width = 3500
+ worksheet.Columns("G").Width = 3500
+ worksheet.Columns("H").Width = 3500
+ worksheet.Columns("I").Width = 3500
+ worksheet.Columns("J").Width = 3500
+ worksheet.Columns("K").Width = 3500
+
+ 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 RangoFiltros = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex)
+ RangoFiltros.Merged = True
+ RangoFiltros.Value = Filtros
+ RangoFiltros.Style.Font.Size = 15 * 20
+ RangoFiltros.Style.Font.Name = "Calibri Light"
+ RangoFiltros.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
+ RangoFiltros.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
+
+ For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
+ worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20
+ worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
+ worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
+ worksheet.Rows(8).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(8).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 = Gv.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(8).Value = "Fecha Impresión"
+ worksheet.Rows(IndexEndTable + 1).Cells(8).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
+ End If
+
+ End Using
+ htw.Dispose()
+
+ excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx")
+
+ End Sub
+
+
+ Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
+ End Sub
+
End Class