Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Imports GemBox.Spreadsheet
Imports System.IO
Partial Class RepCxCDetalle
Inherits ClsPaginas
'pRivate ReadOnly Property ColumnasVisibles As
#Region "PROPIEDADES"
Public Property Anio() As Integer
Get
Return ViewState("Anio").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Anio") = value
End Set
End Property
Public Property Mes() As Integer
Get
Return ViewState("Mes").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Mes") = value
End Set
End Property
Public Property AnioMes() As String
Get
Return ViewState("AnioMes").ToString
End Get
Set(value As String)
ViewState("AnioMes") = value
End Set
End Property
Public Property Fecha() As String
Get
Return ViewState("Fecha").ToString
End Get
Set(value As String)
ViewState("Fecha") = value
End Set
End Property
Public Property FechaVI() As String
Get
Return ViewState("FechaVInicio").ToString
End Get
Set(value As String)
ViewState("FechaVInicio") = value
End Set
End Property
Public Property FechaVF() As String
Get
Return ViewState("FechaVFin").ToString
End Get
Set(value As String)
ViewState("FechaVFin") = value
End Set
End Property
Public Property FechaI() As String
Get
Return ViewState("FechaInicio").ToString
End Get
Set(value As String)
ViewState("FechaInicio") = value
End Set
End Property
Public Property FechaF() As String
Get
Return ViewState("FechaFin").ToString
End Get
Set(value As String)
ViewState("FechaFin") = value
End Set
End Property
Public Property FechaCorte() As String
Get
Return ViewState("FechaCorte").ToString
End Get
Set(value As String)
ViewState("FechaCorte") = value
End Set
End Property
Public Property Iva() As String
Get
Return ViewState("IVA").ToString
End Get
Set(value As String)
ViewState("IVA") = value
End Set
End Property
Public Property Agrupador() As Integer
Get
Return ViewState("Agrupador").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Agrupador") = value
End Set
End Property
Public Property Opcion() As String
Get
Return ViewState("Opcion").ToString
End Get
Set(value As String)
ViewState("Opcion") = value
End Set
End Property
Public Property TipoDocto() As String
Get
Return ViewState("TipoDocto").ToString
End Get
Set(value As String)
ViewState("TipoDocto") = value
End Set
End Property
Public Property TipoCambio() As Integer
Get
Return ViewState("TipoCambio").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("TipoCambio") = value
End Set
End Property
Public Property TCEspecifico() As Double
Get
Return ViewState("TCEspecifico").ToString.ToDouble
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Public Property SePersonalizo() As Integer
Get
Return ViewState("SePersonalizo").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("SePersonalizo") = value
End Set
End Property
Private Property CveClienteSucursal As Integer
Get
If ViewState("CveClienteSucursal") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("CveClienteSucursal"), Integer)
End If
End Get
Set(value As Integer)
ViewState("CveClienteSucursal") = value
End Set
End Property
Private Property CveCobranzaEstatus As Integer
Get
If ViewState("CveCobranzaEstatus") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("CveCobranzaEstatus"), Integer)
End If
End Get
Set(value As Integer)
ViewState("CveCobranzaEstatus") = value
End Set
End Property
Private Property LimiteCredito As Decimal
Get
If ViewState("LimiteCredito") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("LimiteCredito"), Decimal)
End If
End Get
Set(value As Decimal)
ViewState("LimiteCredito") = value
End Set
End Property
Private Property TipoCliente As Integer
Get
If ViewState("TipoCliente") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("TipoCliente"), Integer)
End If
End Get
Set(value As Integer)
ViewState("TipoCliente") = value
End Set
End Property
Private Property CveMoneda As Integer
Get
If ViewState("CveMoneda") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("CveMoneda"), Integer)
End If
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
Private Property EstatusCliente As Integer
Get
If ViewState("EstatusCliente") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("EstatusCliente"), Integer)
End If
End Get
Set(value As Integer)
ViewState("EstatusCliente") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
ViewState("Opcion") = IfNull(Request("Op"), "-1")
CargaCombos()
If Request("Op") IsNot Nothing Then
CargaDatos()
End If
If UsuarioActual.CveEmpresa = 7 Then
ChkCuentaContableReferencia.Visible = True
End If
CargaAsignarCobranza()
TxtFechaCobranza.Text = NowADS().ToShortDateString
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
DVCartera.Visible = True
End If
End If
End Sub
#Region "CARGAS"
Private Sub CargaCombos()
Dim CveCliente, CveVendedor, CveUsuario, CveSubProyecto,
CveEstatus, CveResponsable, CveAgrupador, CveClienteClasificacion As Integer
txtFechaF.Text = NowADS().LastDayOfMonth.ToShortDateString
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlClientesWS.setEsWebService(True)
Else
DdlClientesWS.setEsWebService(False)
CargaClientes()
End If
'CargaSubProyectos
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
'CargaUsuarios
DdlUsuario.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlUsuario.DataBind()
'CargaResponsable
DdlResponsable.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlResponsable.DataBind()
'Tipo Docto
DdlTipoDocto.Items.Add(New ListItem("Ing X Comp", "IxC"))
'Carga Cobranza Estatus
DdlCobranzaEstatusFiltro.DataSource = GlobalDTVtaCobranzaEstatus(UsuarioActual.CveEmpresa)
DdlCobranzaEstatusFiltro.DataBind()
DdlCobranzaEstatusFiltro.Items.Insert(0, New ListItem("Todos", "-1"))
'Carga Clasificacion Cliente
DdlClienteClasificacion.DataSource = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa)
DdlClienteClasificacion.DataBind()
DdlClienteClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
'Cargamos las fechas
Anio = If(Request("Anio") IsNot Nothing, Request("Anio").ToString, "-1").ToString.ToEntero
Mes = If(Request("Mes") IsNot Nothing, Request("Mes").ToString, "-1").ToString.ToEntero
AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString
Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString
FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString
FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString
FechaVI = If(Request("FechaVI") IsNot Nothing, Request("FechaVI").ToString, "-1").ToString
FechaVF = If(Request("FechaVF") IsNot Nothing, Request("FechaVF").ToString, "-1").ToString
FechaCorte = IfNull(Request("FechaCorte"), NowADS().ToDate.ToString).ToString
CveCobranzaEstatus = If(Request("CveCobranzaEstatus") IsNot Nothing, Request("CveCobranzaEstatus").ToString, "-1").ToString.ToEntero
CveClienteClasificacion = If(Request("CveClienteClasificacion") IsNot Nothing, Request("CveClienteClasificacion").ToString, "-1").ToString.ToEntero
LimiteCredito = If(Request("LimiteCredito") IsNot Nothing, Request("LimiteCredito").ToString, "-1").ToString.ToDecimal
TipoCliente = If(Request("TipoCliente") IsNot Nothing, Request("TipoCliente").ToString, "-1").ToString.ToEntero
CveMoneda = If(Request("CveMoneda") IsNot Nothing, Request("CveMoneda").ToString, "-1").ToString.ToEntero
EstatusCliente = If(Request("EstatusCliente") IsNot Nothing, Request("EstatusCliente").ToString, "-1").ToString.ToEntero
DdlTipoCliente.SelectedValueExist(TipoCliente)
DdlEstatusCliente.SelectedValueExist(EstatusCliente)
If FechaF <> "-1" Then
txtFechaF.Text = FechaF
End If
If FechaI <> "-1" Then
txtFechaI.Text = FechaI
End If
If FechaVF <> "-1" Then
txtFechaVF.Text = FechaVF
End If
If FechaVI <> "-1" Then
txtFechaVI.Text = FechaVI
End If
If Fecha <> "-1" Then
txtFechaI.Text = Fecha
txtFechaF.Text = Fecha
End If
txtCorteA.Text = $"31/12/{NowADS().Year}"
txtFechaI.Text = If(Anio <> -1, String.Format("01/01/{0}", Anio), txtFechaI.Text)
txtFechaI.Text = If(Mes <> -1, txtFechaI.Text, txtFechaI.Text)
txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text)
If Request("FechaCorte") <> "-1" AndAlso IsDate(Request("FechaCorte")) Then txtCorteA.Text = Request("FechaCorte")
If Anio <> -1 Then
txtFechaF.Text = String.Format("31/12/{0}", Anio)
ElseIf Mes <> -1 Then
'txtFechaF.Text = txtFechaI.Text.ToDate.LastDayOfMonth.ToShortDateString
ElseIf AnioMes <> "-1" Then
txtFechaF.Text = txtFechaI.Text.ToDate.LastDayOfMonth.ToShortDateString
End If
TipoCambio = IfNull(Request("TipoCambio"), -1).ToString.ToEntero
TCEspecifico = IfNull(Request("TCEspecifico"), -1).ToString.ToDouble
TipoDocto = IfNull(Request("TipoDocto"), "-1").ToString
CveClienteSucursal = IfNull(Request("CveClienteSucursal"), "-1").ToString.ToEntero
CveSubProyecto = IfNull(Request("CveSubProyecto"), "-1").ToString.ToEntero
CveVendedor = IfNull(Request("Vendedor"), "-1").ToString.ToEntero
CveCliente = IfNull(Request("CveCliente"), "-1").ToString.ToEntero
CveUsuario = IfNull(Request("CveUsuario"), "-1").ToString.ToEntero
CveEstatus = IfNull(Request("CveEstatusFactura"), "-1").ToString.ToEntero
CveResponsable = IfNull(Request("CveUsuarioResponsable"), "-1").ToString.ToEntero
CveAgrupador = IfNull(Request("GPO"), "-1").ToString.ToEntero
Iva = IfNull(Request("IVA"), "-1").ToString
DdlSubProyecto.SelectedValueExist(CveSubProyecto)
If Request("AplicaAnticiposPagados") IsNot Nothing Then
ChkAnticipos.Checked = If(Request("AplicaAnticiposPagados").ToEntero = 1, True, False)
End If
DdlClienteClasificacion.SelectedValueExist(CveClienteClasificacion)
CargaClientes()
If CveCliente > 0 Then
DdlClientesWS.SelectedValue = CveCliente.ToString
'DdlClientesWS.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("NombreComercial", $"CveCliente = {CveCliente}")
End If
'DdlClientes.SelectedValueExist(CveCliente)
DdlUsuario.SelectedValueExist(CveUsuario)
DdlResponsable.SelectedValueExist(CveResponsable)
DdlGrupo.SelectedValueExist(CveAgrupador)
'Carga Vendedor
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)")
DdlVendedor.DataBind()
DdlVendedor.SelectedValueExist(CveVendedor)
If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
DdlVendedor.Attributes.Add("disabled", "disabled")
DdlVendedor.Enabled = False
End If
'Nuevos
DdlTipoDocto.SelectedValuesIfExistM(TipoDocto)
RblTipoCambio.SelectedValue = CType(TipoCambio, String)
'13/04/2018 - Carga filtro estatus cobranza
DdlCobranzaEstatusFiltro.SelectedValueExist(CveCobranzaEstatus.ToString)
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
If TCEspecifico <> -1 Then
LiEspecifico.Visible = True
TxtEspecifico.Text = TCEspecifico.ToString
Else
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(NowADS())
TxtEspecifico.Text = TipoCambio.ToString
End If
End If
If CveClienteSucursal > 0 Then
DdlClientesWS.Attributes.Add("style", "!important width: 60%;")
DdlClienteSucursal.Visible = True
DivClientes.Attributes.Remove("class")
DivClientes.Attributes.Add("class", "col-md-4")
Dim ObjCliente As New ClsClientes
If ObjCliente.GetSucursales(CveCliente) Then
If ObjCliente.DtResultados.Rows.Count > 0 Then
DdlClienteSucursal.DataSource = ObjCliente.DtResultados
End If
End If
ObjCliente.Dispose()
DdlClienteSucursal.DataBind()
DdlClienteSucursal.Items.Insert(0, New ListItem("Todas", "-1"))
DdlClienteSucursal.SelectedValueExist(CveClienteSucursal)
Else
DdlClientesWS.Attributes.Add("style", "!important width: 100%;")
End If
If UsuarioActual.CveEmpresa.Contiene(72, 80, 146, 119) Then ChkAnticipos.Visible = True
DdlTieneLineaAdicional.SelectedValueExist(If(Request("TieneLineaAdicional") IsNot Nothing, Request("TieneLineaAdicional").ToString, "-1").ToString)
If UsuarioActual.CveEmpresa = 119 Then
divLineaAdicional1.Visible = True
divLineaAdicional2.Visible = True
trEnquebranto.Visible = True
End If
If UsuarioActual.CveEmpresa = 13 Then
CargaContratos()
End If
DdlContrato.SelectedValueExist(If(Request("CveContrato") IsNot Nothing, Request("CveContrato").ToString, "-1").ToString)
DdlAseguradora.SelectedValueExist(If(Request("Aseguradora") IsNot Nothing, Request("Aseguradora").ToString, "-1").ToString)
End Sub
Private Sub CargaContratos()
Dim ObjContratos As New ClsContratos
If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, CveCliente:=-1) Then
DdlContrato.DataSource = ObjContratos.DtResultados
End If
divContrato.Visible = True
divContrato1.Visible = True
ObjContratos.Dispose()
DdlContrato.DataBind()
End Sub
Private Function CargaDatos() As DataSet
Dim DSRespuesta As New DataSet
Dim DTaDAtos As New DataTable
Dim DTCartera As New DataTable
Dim ObjMovtos As New ClsMovimientos()
Dim FechaI, FechaF As Date
Dim FechaVI, FechaVF As String
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim.ToDate, MinFecha)
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim.ToDate, MaxFecha)
FechaVI = If(IsDate(txtFechaVI.Text.Trim()), txtFechaVI.Text.Trim(), "-1")
FechaVF = If(IsDate(txtFechaVF.Text.Trim()), txtFechaVF.Text.Trim(), "-1")
'FechaI, FechaF, -1, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero
Dim CveCliente As Integer = If(DdlClientesWS.SelectedValue.ToEntero > 0, DdlClientesWS.SelectedValue.ToEntero, -1)
If ObjMovtos.GetCxCDetalle(FechaI, FechaF, CveCliente, DdlSubProyecto.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero,
Anio, Mes, AnioMes, Fecha, CveClienteSucursal, Opcion, -1,
Iva.ToString, DdlGrupo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlResponsable.SelectedValue.ToEntero,
RblTipoCambio.SelectedValue.ToEntero, TCEspecifico, If(DdlTipoDocto.GetSelectedValuesM = "", "-1", DdlTipoDocto.GetSelectedValuesM), FechaVI, FechaVF,
FechaCorte:=txtCorteA.Text.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveCobranzaEstatus:=DdlCobranzaEstatusFiltro.SelectedValue.ToEntero,
CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, LimiteCredito:=LimiteCredito, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero,
CveMoneda:=CveMoneda, EstatusCliente:=DdlEstatusCliente.SelectedValue.ToEntero, TieneLineaAdicional:=DdlTieneLineaAdicional.SelectedValue.ToEntero(),
CveContrato:=DdlContrato.SelectedValue.ToEntero, Aseguradora:=DdlAseguradora.SelectedValue.ToEntero) Then
GvDatos.DataSource = ObjMovtos.DSResultados.Tables(0)
'DTaDAtos = ObjMovtos.DSResultados.Tables(0)
'DTaDAtos.TableName = "DTaDAtos"
DSRespuesta.Tables.Add(ObjMovtos.DSResultados.Tables(0).Copy)
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
GvCartera.DataSource = ObjMovtos.DSResultados.Tables(1)
DSRespuesta.Tables.Add(ObjMovtos.DSResultados.Tables(1).Copy)
End If
Else
GvDatos.DataSource = Nothing
End If
ObjMovtos.Dispose()
GvDatos.DataBind()
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
GvCartera.DataBind()
End If
UPDatos.Update()
UpCartera.Update()
Return DSRespuesta
End Function
Private Sub ConfiguraEmpresa()
'Dim ObjEmpresa As New ClsEmpresas()
'If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
If Not UsuarioActual.Empresa.MostrarRetIVA Then GvDatos.Columns(7).Visible = False
If Not UsuarioActual.Empresa.MostrarRetISR Then GvDatos.Columns(8).Visible = False
'End If
'ObjEmpresa.Dispose()
End Sub
#End Region
#Region "CONSULTAR"
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
ConfiguraEmpresa()
UPDatos.Update()
End Sub
#End Region
#Region "GRIDVIEW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
e.Row.Cells(1).Width = Unit.Pixel(70)
e.Row.Cells(2).Width = Unit.Pixel(75)
End If
e.Row.FCHyperLink("HlFolio").Text = e.Row.DBCampo("SerieFolio")
If e.Row.DBCampo("CveVenta").ToEntero() > 0 Then
If e.Row.DBCampo("TipoDocto") = "IxC" Then
e.Row.FCHyperLink("HlFolio").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveVenta"))
Else
e.Row.FCHyperLink("HlFolio").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DBCampo("CveVenta"))
End If
End If
If e.Row.DBCampo("SubProyecto") = "" And e.Row.DBCampo("CveMoneda") = "1" Then
e.Row.Cells(11).Text = "Total Pesos"
e.Row.CssClass = "Totales"
e.Row.FCCheckBox("ChkCobranza").Visible = False
e.Row.Cells(39).Text = ""
e.Row.Cells(21).Text = ""
e.Row.Cells(28).Text = ""
ElseIf e.Row.DBCampo("SubProyecto") = "" And e.Row.DBCampo("CveMoneda") = "2" Then
e.Row.Cells(12).Text = "Total Dólares"
e.Row.CssClass = "Totales"
e.Row.FCCheckBox("ChkCobranza").Visible = False
e.Row.Cells(39).Text = ""
e.Row.Cells(21).Text = ""
e.Row.Cells(28).Text = ""
ElseIf e.Row.DBCampo("CveVenta") = "" Then
e.Row.CssClass = "SubTotales"
e.Row.FCCheckBox("ChkCobranza").Visible = False
e.Row.Cells(39).Text = ""
e.Row.Cells(21).Text = ""
e.Row.Cells(28).Text = ""
End If
End If
End Sub
#End Region
#Region "PERSONALIZAR COLUMNAS"
Protected Sub BtnPersonalizar_Click(sender As Object, e As EventArgs) Handles BtnPersonalizar.Click
ActivaColumna(1, ChkFecha.Checked)
ActivaColumna(2, ChkFolio.Checked)
ActivaColumna(3, ChkSubTotal.Checked)
ActivaColumna(4, ChkDescuento.Checked)
ActivaColumna(5, ChkAmortizacion.Checked)
ActivaColumna(6, ChkIVA.Checked)
ActivaColumna(7, ChkRetIVA.Checked)
ActivaColumna(8, ChkRetISR.Checked)
ActivaColumna(9, ChkTotal.Checked)
'ActivaColumna(10, ChkSaldo.Checked) siemprevisible
ActivaColumna(11, ChkMoneda.Checked)
ActivaColumna(12, ChkSucursal.Checked)
'ActivaColumna(12, ChkCuentaContableReferencia.Checked)
'ActivaColumna(13, ChkVencimiento.Checked) ' fecha vencimiento siempre visible
'ActivaColumna(14, ChkUsuario.Checked) 'dias vencimiento siempre visible
ActivaColumna(15, ChkCodigo.Checked)
ActivaColumna(16, ChkCliente.Checked)
ActivaColumna(17, ChkSucursalCliente.Checked)
ActivaColumna(18, ChkVendedor.Checked)
ActivaColumna(19, ChlMotivoDescuento.Checked)
ActivaColumna(20, ChkEstatusFactura.Checked)
ActivaColumna(21, ChkSeTimbro.Checked)
ActivaColumna(22, ChkCuentaContableReferencia.Checked)
ActivaColumna(23, ChkCuentaContable.Checked)
ActivaColumna(24, ChkUsuario.Checked)
ActivaColumna(25, ChkMotivoCancelacion.Checked)
ActivaColumna(26, ChkObservaciones.Checked)
ActivaColumna(27, ChkSucursalEjecucion.Checked)
ActivaColumna(28, ChkTelefono.Checked)
ActivaColumna(29, ChkMail.Checked)
ActivaColumna(30, ChkLimiteCredito.Checked)
ActivaColumna(31, ChkSucursalCobranza.Checked)
'chk ActivaColumna(32, ChkSucursalCobranza.Checked)
ActivaColumna(33, ChkEstatusCobranza.Checked)
ActivaColumna(34, ChkTurnoCobranza.Checked)
ActivaColumna(35, ChkObsCobranza.Checked)
ActivaColumna(36, ChkFechaCobranza.Checked)
ActivaColumna(37, ChkHorario.Checked)
ActivaColumna(38, ChkDiasPago.Checked)
ActivaColumna(39, ChkSeEnvioMail.Checked)
ActivaColumna(40, ChkEstatusCliente.Checked)
ActivaColumna(41, ChkIEPS.Checked)
ActivaColumna(42, ChkDiasTranscurridos.Checked)
ActivaColumna(43, ChkTC.Checked)
ActivaColumna(44, ChkFechaEjecucion.Checked)
ActivaColumna(45, ChkMostrarLineaAdicional.Checked)
ActivaColumna(46, ChkMostrarDescripcionVenta.Checked)
ActivaColumna(47, ChkMetodoPago.Checked)
ActivaColumna(48, ChkFormaPago.Checked)
ActivaColumna(49, ChkContrato.Checked)
ActivaColumna(50, ChkSubTotalPend.Checked)
ActivaColumna(51, ChkIVAPend.Checked)
ActivaColumna(52, ChkIEPSPend.Checked)
ActivaColumna(53, ChkEnQuebranto.Checked)
ActivaColumna(54, ChkEnDemanda.Checked)
ActivaColumna(55, ChkRegistroFirmas.Checked)
ActivaColumna(56, ChkDireccionCliente.Checked)
If SePersonalizo = 1 Then
ImgExcelPersonalizado.Visible = True
Else
ImgExcelPersonalizado.Visible = False
End If
CargaDatos()
RegistraScript("$('#DivPersonalizar').modal('hide');")
End Sub
Private Sub ActivaColumna(Indice As Integer, Activo As Boolean)
If GvDatos.Columns(Indice).Visible <> Activo Then
GvDatos.Columns(Indice).Visible = Activo
SePersonalizo = 1
End If
End Sub
#End Region
#Region "IMPRESIONES"
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
GenerarImpresion("EXCEL")
End Sub
Private Sub ImgExcelPersonalizado_Click(sender As Object, e As EventArgs) Handles ImgExcelPersonalizado.Click
Dim Cliente As String = If(DdlClientesWS.SelectedValue = "-1", "", $" Cliente: {DdlClientesWS.SelectedText}")
Dim Sucursal As String = If(DdlSubProyecto.SelectedValue = "-1", "", $" Sucursal: {DdlSubProyecto.SelectedItem.Text}")
Dim Grupo As String = $" Agrupado Por: {DdlGrupo.SelectedItem.Text}" 'If(DdlGrupo.SelectedValue = "3", "", $" Agrupado Por: {DdlGrupo.SelectedItem.Text}")
Dim TipoDocto As String = If(DdlTipoDocto.GetSelectedText = "", "", $" Documentos: {DdlTipoDocto.GetSelectedText}")
Dim Vendedor As String = If(DdlVendedor.SelectedValue = "-1", "", $" Vendedor: {DdlVendedor.SelectedItem.Text}")
Dim FechaIn As String = If(txtFechaI.Text = "", "", $" Fecha Inicio Docto: {txtFechaI.Text}")
Dim FechaFn As String = If(txtFechaF.Text = "", "", $" Fecha Fin Docto: {txtFechaF.Text}")
Dim FVI As String = If(txtFechaVI.Text = "", "", $" Fecha Venc. Inic.: {txtFechaVI.Text}")
Dim FVF As String = If(txtFechaVF.Text = "", "", $" Fecha Venc. Final: ;{txtFechaVF.Text}")
Dim Registro As String = If(DdlUsuario.SelectedValue = "-1", "", $" Registró: ;{DdlUsuario.SelectedItem.Text}")
Dim Responsable As String = If(DdlResponsable.SelectedValue = "-1", "", $" Responsable: ;{DdlResponsable.SelectedItem.Text}")
Dim EstatusCob As String = If(DdlCobranzaEstatusFiltro.SelectedValue = "-1", "", $"status Cobranza: ;{DdlCobranzaEstatusFiltro.SelectedItem.Text}")
Dim CorteA As String = If(txtCorteA.Text = "31/12/2019", "", $"Corte A {txtCorteA.Text}")
Dim ClasificacionCli As String = If(DdlClienteClasificacion.SelectedValue = "-1", "", $" Clasificación Cliente: {DdlClienteClasificacion.SelectedItem.Text}")
Dim Filtro As String = $"{Cliente}{Sucursal}{Grupo}{Vendedor}{FechaIn}{FechaFn}{Registro}{Responsable}{TipoDocto}{EstatusCob}{FVI}{FVF}{ClasificacionCli}{CorteA}"
GvDatos.ExportToExcelGembox("ReporteCxCDetalle", UsuarioActual, "REPORTE DE CUENTAS POR COBRAR DEL CLIENTE CON DETALLE", DatoTituloExtra:=$"", DatosFiltros:=Filtro)
'GvDatos.ExportToExcelG("ReporteCxCDetalle", "REPORTE DE CUENTAS POR COBRAR DEL CLIENTE CON DETALLE", UsuarioActual, Filtro)
'SpreadsheetInfo.SetLicense(SerialGemBoxSpreadsheet())
'Dim ef As ExcelFile = New ExcelFile
'Dim ws As ExcelWorksheet = ef.Worksheets.Add("DataTable to Sheet")
'Dim dt As DataTable = New DataTable
'Dim response As HttpResponse = Me.Response
''Recorrer columnas
'For index = 0 To GvDatos.Columns.Count - 1
' If GvDatos.Columns(index).Visible Then
' dt.Columns.Add(GvDatos.Columns(index).HeaderText)
' End If
'Next
''Recorrer filas
'For Each fila As GridViewRow In GvDatos.Rows
' Dim dr As DataRow = dt.NewRow()
' For index = 0 To GvDatos.Columns.Count - 1
' If GvDatos.Columns(index).Visible Then
' If TypeOf GvDatos.Columns(index) Is TemplateField Then
' If GvDatos.Columns(index).HeaderText = "Folio" Then
' dr(GvDatos.Columns(index).HeaderText) = fila.FCHyperLink("HlFolio").Text.Replace(" ", "")
' End If
' ElseIf TypeOf GvDatos.Columns(index) Is HyperLinkField Then
' dr(GvDatos.Columns(index).HeaderText) = DirectCast(fila.Cells(index).Controls(0), HyperLink).Text.Replace(" ", "")
' Else
' dr(GvDatos.Columns(index).HeaderText) = fila.Cells(index).Text.Replace(" ", "")
' End If
' End If
' Next
' dt.Rows.Add(dr)
'Next
'' Insert DataTable into an Excel worksheet.
'ws.InsertDataTable(dt,
' New InsertDataTableOptions() With
' {
' .ColumnHeaders = True,
' .StartRow = 1
' })
'ef.Save(response, "RepCxC.xlsx")
End Sub
Private Sub GenerarImpresion(Optional TipoImpresion As String = "PDF")
'Dim ObjMovtos As New ClsMovimientos()
Dim FechaI As String = txtFechaI.Text
Dim FechaF As String = txtFechaF.Text
If txtFechaI.Text = "" Then FechaI = "-1"
If txtFechaF.Text = "" Then FechaF = "-1"
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
Dim Cliente As String = If(DdlClientesWS.SelectedValue = "-1", "", $" Cliente: {DdlClientesWS.SelectedText}")
Dim Sucursal As String = If(DdlSubProyecto.SelectedValue = "-1", "", $" Sucursal: {DdlSubProyecto.SelectedItem.Text}")
Dim Grupo As String = $" Agrupado Por: {DdlGrupo.SelectedItem.Text}" 'If(DdlGrupo.SelectedValue = "3", "", $" Agrupado Por: {DdlGrupo.SelectedItem.Text}")
Dim TipoDocto As String = If(DdlTipoDocto.GetSelectedText = "", "", $" Documentos: {DdlTipoDocto.GetSelectedText}")
Dim Vendedor As String = If(DdlVendedor.SelectedValue = "-1", "", $" Vendedor: {DdlVendedor.SelectedItem.Text}")
Dim FechaIn As String = If(txtFechaI.Text = "", "", $" Fecha Inicio Docto: {txtFechaI.Text}")
Dim FechaFn As String = If(txtFechaF.Text = "", "", $" Fecha Fin Docto: {txtFechaF.Text}")
Dim FVI As String = If(txtFechaVI.Text = "", "", $" Fecha Venc. Inic.: {txtFechaVI.Text}")
Dim FVF As String = If(txtFechaVF.Text = "", "", $" Fecha Venc. Final: {txtFechaVF.Text}")
Dim Registro As String = If(DdlUsuario.SelectedValue = "-1", "", $" Registró: {DdlUsuario.SelectedItem.Text}")
Dim Responsable As String = If(DdlResponsable.SelectedValue = "-1", "", $" Responsable: {DdlResponsable.SelectedItem.Text}")
Dim EstatusCob As String = If(DdlCobranzaEstatusFiltro.SelectedValue = "-1", "", $" Estatus Cobranza: {DdlCobranzaEstatusFiltro.SelectedItem.Text}")
Dim CorteA As String = If(txtCorteA.Text = "31/12/2019", "", $" Corte A: {txtCorteA.Text}")
Dim ClasificacionCli As String = If(DdlClienteClasificacion.SelectedValue = "-1", "", $" Clasificación Cliente: {DdlClienteClasificacion.SelectedItem.Text}")
Dim TituloReporte As String = "REPORTE DE CUENTAS POR COBRAR DEL CLIENTE CON DETALLE"
'If UsuarioActual.CveEmpresa = 72 Then
' TituloReporte = "Antigüedad de Saldos de Clientes"
'End If
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
Dim logouri As String = ""
If Imagen.Exists Then
logouri = String.Format("file://{0}", Imagen.FullName)
End If
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
params.Add(New ReportParameter("AgrupadoPor", $"{Cliente}{Sucursal}{Grupo}{Vendedor}{FechaIn}{FechaFn}{Registro}{Responsable}{TipoDocto}{EstatusCob}{FVI}{FVF}{ClasificacionCli}{CorteA}"))
params.Add(New ReportParameter("TituloReporte", TituloReporte))
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
Dim lrds As New List(Of ReportDataSource)
Dim DSDatos As DataSet = CargaDatos()
Dim dtt1 As DataTable = Nothing
Dim dtt2 As DataTable = Nothing
If DSDatos IsNot Nothing AndAlso DSDatos.Tables.Count >= 1 Then
dtt1 = DSDatos.Tables(0)
If DSDatos.Tables.Count >= 2 Then dtt2 = DSDatos.Tables(1)
End If
Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = dtt1}
lrds.Add(rds)
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
Dim rdsCartera As New ReportDataSource With {.Name = "DSCartera", .Value = dtt2}
lrds.Add(rdsCartera)
Else
Dim DTCartera As New DataTable
DTCartera.Columns.Add("Rango")
DTCartera.Columns.Add("Saldo", GetType(Decimal))
DTCartera.Columns.Add("Porcentaje", GetType(Decimal))
DTCartera.Columns.Add("Objetivo", GetType(Decimal))
Dim rdsCartera As New ReportDataSource With {.Name = "DSCartera", .Value = DTCartera}
lrds.Add(rdsCartera)
End If
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepCxCDetalle.rdlc", UsuarioActual.Empresa.Ruta))
If Archivo.Exists Then
ImprimirPDF(String.Format("{0}Formatos/RepCxCDetalle.rdlc", UsuarioActual.Empresa.Ruta), lrds, params, "ReporteCxCDetalle", TipoImpresion)
Else
ImprimirPDF("Empresas/Grales/Formatos/RepCxCDetalle.rdlc", lrds, params, "ReporteCxCDetalle", TipoImpresion)
End If
End Sub
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarImpresion("PDF")
End Sub
#End Region
#Region "TIPO DE CAMBIO"
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(NowADS())
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
Private Sub BtnTipoCambio_Click(sender As Object, e As EventArgs) Handles BtnTipoCambio.Click
CargaDatos()
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio"))
End Sub
#End Region
#Region "C O B R A N Z A "
Private Sub CargaAsignarCobranza()
Dim ObjVentas As New ClsVentas
DdlUsuarioCobranza.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlUsuarioCobranza.DataBind()
DdlUsuarioCobranza.Items.Insert(0, New ListItem("Sin Cobrador", "-1"))
DdlCobranzaEstatus.DataSource = GlobalDTVtaCobranzaEstatus(UsuarioActual.CveEmpresa)
DdlCobranzaEstatus.DataBind()
DdlCobranzaEstatus.Items.Insert(0, New ListItem("Sin Estatus", "-1"))
If ObjVentas.GetCobranzaTurnoEstatus(-1, UsuarioActual.CveEmpresa) Then
DdlTurnoCobranza.DataSource = ObjVentas.DtResultados
DdlTurnoCobranza.DataBind()
DdlTurnoCobranza.Items.Insert(0, New ListItem("Sin Turno", "-1"))
End If
ObjVentas.Dispose()
End Sub
Private Sub LkbHabilitarCobranza_Click(sender As Object, e As EventArgs) Handles LkbHabilitarCobranza.Click
GvDatos.Columns(32).Visible = True ' chk aplica
GvDatos.Columns(33).Visible = True : ChkEstatusCobranza.Checked = True
GvDatos.Columns(35).Visible = True : ChkObsCobranza.Checked = True
GvDatos.Columns(36).Visible = True : ChkFechaCobranza.Checked = True
GvDatos.Columns(37).Visible = True : ChkHorario.Checked = True
DivCobranza.Visible = True
CargaDatos()
UPPersonalizar.Update()
UpCobranza.Update()
End Sub
Private Sub BtnAsignaCobranza_Click(sender As Object, e As EventArgs) Handles BtnAsignaCobranza.Click
Dim time As DateTime
Dim TieneError As Boolean = False
Dim ObjVentas As New ClsVentas
ObjVentas.IniciaTransacSQL()
Try
For Each row As GridViewRow In GvDatos.Rows
Dim TipoDocto As String = row.DataKey("TipoDocto")
If row.FCCheckBox("ChkCobranza").Checked AndAlso TipoDocto <> "IxC" Then
time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtFechaCobranza.Text, TimeSelector.Hour, TimeSelector.Minute, TimeSelector.AmPm))
If Not ObjVentas.UpdateAsignaVentaCobranza(row.DataKey("CveVenta").ToEntero, DdlCobranzaEstatus.SelectedValue.ToEntero, DdlUsuarioCobranza.SelectedValue.ToEntero, DdlTurnoCobranza.SelectedValue.ToEntero, TxtObservacionCobranza.Text.Trim, time) Then
TieneError = True
End If
End If
Next
Catch ex As Exception
OnError("Ocurrió un error al actualizar", ex)
TieneError = True
End Try
If Not TieneError Then
ObjVentas.Commit()
Alert("Se asigno exitosamente datos de cobranza a la venta", TipoMensaje.MsgInformacion)
Else
ObjVentas.RollBack()
Alert("Hubo un error al asignar datos de cobranza", TipoMensaje.MsgInformacion)
End If
ObjVentas.Dispose()
CargaDatos()
End Sub
#End Region
#Region "SELECTED INDEX CHANGE"
Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaClientes()
End Sub
Private Sub CargaClientes()
If Not UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlClientesWS.ddl.Items.Clear()
DdlClientesWS.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveClienteClasificacion = {DdlClienteClasificacion.SelectedValue.ToEntero} OR {DdlClienteClasificacion.SelectedValue.ToEntero} = -1")
DdlClientesWS.DataBind()
DdlClientesWS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
End Sub
Private Sub GvCartera_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvCartera.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DataKey("Rango") = "Total" Then
e.Row.Font.Bold = True
End If
End If
End Sub
#End Region
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
End Sub
Public Sub ExportToExcelGembox(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, Optional DTExtra As DataTable = Nothing)
Dim sw1 As New StringWriter()
Dim htw1 As New HtmlTextWriter(sw1)
GridView.RenderControl(htw1)
Dim options As HtmlLoadOptions = GemBox.Spreadsheet.LoadOptions.HtmlDefault
Dim htmlStream1 As New MemoryStream(options.Encoding.GetBytes(sw1.ToString()))
htmlStream1.Position = 0
Dim sr1 As New StreamReader(htmlStream1)
Dim myStr1 As String = sr1.ReadToEnd()
sr1.Dispose()
htmlStream1.Dispose()
sw1.Dispose()
Dim HtmlCompleto As String = myStr1
HtmlCompleto = Regex.Replace(HtmlCompleto, "\<[\/]*a[^\>]*\>", "")
Dim htmlStream5 As 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 As ExcelWorksheet = excel.Worksheets(0)
worksheet.Rows.InsertEmpty(0, TotalRowHeader)
Dim celdasConTexto As CellRange = worksheet.GetUsedCellRange(True)
If celdasConTexto Is Nothing Then Exit Sub 'No se recuperaron datos, salir de sin guardar porque soltará error
celdasConTexto.Style.Font.Name = "Calibri Light"
Dim RangoNombreEmpresa As CellRange = 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 As CellRange = 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 As CellRange = 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 RangoDatoTituloExtra As CellRange = worksheet.Cells.GetSubrangeAbsolute(TotalRowHeader, celdasConTexto.FirstColumnIndex, TotalRowHeader, celdasConTexto.LastColumnIndex)
RangoDatoTituloExtra.Merged = True
RangoDatoTituloExtra.Value = TextoFiltro
RangoDatoTituloExtra.Style.Font.Size = 12 * 20
RangoDatoTituloExtra.Style.Font.Name = "Calibri Light"
RangoDatoTituloExtra.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
RangoDatoTituloExtra.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
TotalRowHeader += 1
Next
End If
' TotalRowHeader += 2
For i As Integer = 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(1).Value = "Usuario Imprimió"
worksheet.Rows(IndexEndTable + 1).Cells(1).Value = Usuario.Nombre
worksheet.Rows(IndexEndTable).Cells(3).Value = "Fecha Impresión"
worksheet.Rows(IndexEndTable + 1).Cells(3).Value = NowADS().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 As Integer = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex - 2
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
Try
worksheet.Columns(I).AutoFit(1)
Catch ex As Exception
End Try
End If
Next
If DTExtra IsNot Nothing Then
Dim NombreTabla As String = ""
If DTExtra.TableName IsNot Nothing Then
NombreTabla = DTExtra.TableName
End If
If NombreTabla.Trim = "" Then
NombreTabla = "hoja2"
End If
'excel.Worksheets.Add(NombreTabla)
Dim workbookDTExtra As New ExcelFile
Dim worksheetDTExtra As ExcelWorksheet = workbookDTExtra.Worksheets.Add(NombreTabla)
worksheetDTExtra.InsertDataTable(DTExtra,
New InsertDataTableOptions() With
{
.ColumnHeaders = True,
.StartRow = 0
})
Dim columnCount As Integer = worksheetDTExtra.CalculateMaxUsedColumns()
For i As Integer = 0 To columnCount - 1
worksheetDTExtra.Columns(i).AutoFit(1, worksheetDTExtra.Rows(1), worksheetDTExtra.Rows(worksheetDTExtra.Rows.Count - 1))
worksheetDTExtra.Cells(0, i).Style.FillPattern.SetSolid(Drawing.ColorTranslator.FromHtml("#4b77be"))
worksheetDTExtra.Cells(0, i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
Next
excel.Worksheets.AddCopy(NombreTabla, worksheetDTExtra)
excel.Worksheets(0).Name = Titulo
End If
Dim indexRow As Integer = 8
For indexRow = 8 To worksheet.Rows.Count - 4
If worksheet.Cells(indexRow, 0).Value.ToString.Trim = "" Then
worksheet.Cells.GetSubrangeRelative(indexRow, 0, celdasConTexto.LastColumnIndex + 1, 1).Style.FillPattern.SetSolid(Drawing.ColorTranslator.FromHtml("#c0c0c0"))
End If
Next
End If
excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx")
End Sub
End Class