Option Explicit On Option Strict On Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Imports System.Xml Partial Class Ventas_RepVentas Inherits ClsPaginas #Region "Propiedades" Private Property Opcion As String Get Return ViewState("Opcion").ToString End Get Set(value As String) ViewState("Opcion") = value End Set End Property Private Property Agrupador As String Get Return ViewState("Agrupador").ToString End Get Set(value As String) ViewState("Agrupador") = value End Set End Property Private Property CveProyecto As Integer Get Return ViewState("CveProyecto").ToString.ToEntero End Get Set(value As Integer) ViewState("CveProyecto") = value End Set End Property Private Property TipoCambio As Integer Get Return ViewState("TipoCambio").ToString.ToEntero End Get Set(value As Integer) ViewState("TipoCambio") = value End Set End Property Private Property TCEspecifico As Decimal Get Return ViewState("TCEspecifico").ToString.ToDecimal End Get Set(value As Decimal) ViewState("TCEspecifico") = value End Set End Property Private Property DtVentas As DataTable Get If ViewState("DtVentas") Is Nothing Then ViewState("DtVentas") = New DataTable End If Return DirectCast(ViewState("DtVentas"), DataTable) End Get Set(value As DataTable) ViewState("DtVentas") = value End Set End Property Private Property Personalizo As Integer Get Return ViewState("Personalizo").ToString.ToEntero End Get Set(value As Integer) ViewState("Personalizo") = value End Set End Property Public Property Primeracontsulta As Boolean Get If ViewState("Primeracontsulta") Is Nothing Then ViewState("Primeracontsulta") = True End If Return Boolean.Parse(ViewState("Primeracontsulta").ToString) End Get Set(value As Boolean) ViewState("Primeracontsulta") = 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 If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx") TipoCambio = 1 TCEspecifico = -1 Personalizo = 0 CargaCombos() ConfiguraEmpresa() 'MODALIDADES If Request("Op") IsNot Nothing AndAlso Request("Op").ToString <> "" Then Opcion = Request("Op").ToString Else Opcion = "-1" End If If UsuarioActual.CveEmpresa = 72 AndAlso UsuarioActual.CveUsuario.Contiene(100, 1614, 1517) Then liRepHP.Visible = True End If CargaGrupo() If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then DdlVendedor.SelectedValuesIfExistM(UsuarioActual.CveVendedor.ToString()) DdlVendedor.Attributes.Add("disabled", "disabled") DdlVendedor.Enabled = False End If If UsuarioActual.CveEmpresa.Contiene(13, 83) Then LnkDescargaCartaPorte.Visible = True End If If Opcion = "Cot" Then DdlTipoComprobante.SelectedValuesIfExistM(Opcion) DdlGrupo.SelectedValueExist("7") DdlTipoComprobante_SelectedIndexChanged(DdlTipoComprobante, EventArgs.Empty) DdlEstatus.ClearSelection() End If If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then LblServicioDomicilioFiltro.Visible = True DVServicioDomicilio.Visible = True DivLblDistr.Visible = True DivDistr.Visible = True 'Modalidad Cotizacion If Opcion = "Cot" Then DdlTipoComprobante.SelectedValuesIfExistM(Opcion) DdlGrupo.SelectedValueExist("7") DdlTipoComprobante_SelectedIndexChanged(DdlTipoComprobante, EventArgs.Empty) DdlEstatus.ClearSelection() End If End If If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then LblFacturaGlobal.Visible = True DivFacturaGlobal.Visible = True End If PrePersonalizacion() CargaPersonalizacion() If UsuarioActual.CveEmpresa = 199 Then LnkGeneraXLS1.Visible = True LnkGeneraXLS2.Visible = True End If End If End Sub #Region " CARGA COMBOS " Private Sub CargaGrupo() DdlGrupo.Items.Insert(0, New ListItem("Año", "1")) DdlGrupo.Items.Insert(1, New ListItem("Mes", "2")) DdlGrupo.Items.Insert(2, New ListItem("Año/Mes", "3")) DdlGrupo.Items.Insert(3, New ListItem("Fecha", "4")) DdlGrupo.Items.Insert(4, New ListItem("Cliente", "5")) DdlGrupo.Items.Insert(4, New ListItem(LblSubProyecto.Text, "6")) DdlGrupo.Items.Insert(5, New ListItem("Corte", "16")) DdlGrupo.Items.Insert(6, New ListItem("Vendedor", "7")) DdlGrupo.Items.Insert(7, New ListItem("Usuario", "8")) DdlGrupo.Items.Insert(8, New ListItem("Estatus", "9")) DdlGrupo.Items.Insert(9, New ListItem("% IVA", "10")) DdlGrupo.Items.Insert(10, New ListItem("Año Ejec.", "11")) DdlGrupo.Items.Insert(11, New ListItem("Mes Ejec.", "12")) DdlGrupo.Items.Insert(12, New ListItem("Año/Mes Ejec.", "13")) DdlGrupo.Items.Insert(13, New ListItem("Fecha Ejec.", "14")) DdlGrupo.Items.Insert(13, New ListItem("Tipo Cliente", "20")) DdlGrupo.Items.Insert(13, New ListItem("Vendedor/Cliente", "21")) DdlGrupo.Items.Insert(13, New ListItem("Giro", "22")) If UsuarioActual.Empresa.Funcionalidad(307) <> "" Then DdlGrupo.Items.Insert(10, New ListItem(UsuarioActual.Empresa.Funcionalidad(307), "23")) DdlGrupo.DataBind() DdlGrupo.SelectedValueExist("3") End Sub Private Sub ConfiguraEmpresa() ' If Not UsuarioActual.Empresa.MostrarRetIVA Then GvDatos.Columns(8).Visible = False If Not UsuarioActual.Empresa.MostrarRetISR Then GvDatos.Columns(9).Visible = False ChkIEPS.Checked = UsuarioActual.Empresa.Funcionalidad(713) = "1" 'empresa deduce IEPS End Sub Private Sub CargaCombos() CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto, VisualizacionReporte:=1) 'CargaClientes Dim EsWS As Boolean = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False) If EsWS Then DdlClientes.setEsWebService(True) Else DdlClientes.setEsWebService(False) DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1) DdlClientes.DataBind() DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1")) End If 'Vendedor DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)") 'vendedores y vendedores de piso DdlVendedor.DataBind() DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1")) DdlVendedor.Items.Insert(1, New ListItem("Sin Vendedor", "-2")) 'CargaUsuarios DdlUsuario.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) DdlUsuario.DataBind() 'CargaEstatus DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(" CveEstatusFactura NOT IN (1, 4, 5) ") DdlEstatus.DataBind() DdlEstatus.Items.Add(New ListItem("Canceladas", "4")) If UsuarioActual.Empresa.TipoFacturacion = "CFDi" Then DdlEstatus.SelectedIndex = 1 Else DdlEstatus.SelectedIndex = 0 End If 'Carga Clasificacion Cliente DdlClienteClasificacion.DataSource = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa) DdlClienteClasificacion.DataBind() DdlClienteClasificacion.Items.Insert(0, New ListItem("Todos", "-1")) DdlTipoRelacion.DataSource = GlobalDTVtaTiposRelacion DdlTipoRelacion.DataBind() DdlTipoRelacion.Items.Insert(0, New ListItem("Todos", "-1")) txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString txtFechaF.Text = NowADS().ToShortDateString End Sub #End Region #Region " CARGA DATOS " Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click CargaDatos() Personaliza() UPDatos.Update() 'XmlConf(UsuarioActual.CveUsuario, 9) End Sub Private Sub CargaDatos() Dim ObjVentas As New ClsVentas() Dim TipoComprobante As String = If(DdlTipoComprobante.GetSelectedValuesM = "", "-1", DdlTipoComprobante.GetSelectedValuesM) Dim Sucursales As String = If(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM) Dim Estatus As String = If(DdlEstatus.GetSelectedValuesM = "", "-1", DdlEstatus.GetSelectedValuesM) Dim Vendedores As String = If(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM) Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero) If TipoComprobante.Contiene("Rem") And Not Estatus.Contiene("11") Then Estatus = Estatus & ",11" End If If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDecimal Else TCEspecifico = -1 End If Dim FechaI, FechaF, FechaIEjec, FechaFEjec As Date FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim.ToDate, MinFecha) FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim.ToDate, MaxFecha) FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.Trim.ToDate, MinFecha) FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.Trim.ToDate, MaxFecha) Dim ModalidadContable As Boolean = Not ChkLecturaAdmin.Checked If ObjVentas.GetRepVentas(FechaI, FechaF, FechaIEjec, FechaFEjec, CveCliente, DdlSubProyectoEjecucion.SelectedValue.ToEntero, Vendedores, DdlUsuario.SelectedValue.ToEntero, Estatus, "-1", UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, TipoComprobante, DdlProyecto.SelectedValue.ToEntero, Sucursales, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, CveCondicionesPago:=DdlCondicionesPago.SelectedValue.ToEntero, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, ModalidadContable:=ModalidadContable, EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero, CveTipoRelacion:=DdlTipoRelacion.SelectedValue.ToEntero(), ServicioDomicilio:=DdlServicioDomicilio.SelectedValue.ToEntero, EsFacturaGlobal:=DdlFacturaGlobal.SelectedValue.ToEntero, EsFilial:=DdlFilial.SelectedValue.ToEntero) Then GvDatos.DataSource = ObjVentas.DtResultados DtVentas = ObjVentas.DtResultados Else GvDatos.DataSource = Nothing End If If DtVentas.SUMD("Descuento") <= 0 Then GvDatos.Columns(3).Visible = False ' se oculta descuentos, si está vac+io 'ChkDescuentos.Visible = False Else If Primeracontsulta Then GvDatos.Columns(3).Visible = True ChkDescuentos.Checked = True End If End If UPPersonalizar.Update() Agrupador = DdlGrupo.SelectedItem.Text CveProyecto = DdlProyecto.SelectedValue.ToEntero ObjVentas.Dispose() GvDatosDataBind() Primeracontsulta = False End Sub Private Sub GvDatosDataBind() GvDatos.DataSource = DtVentas GvDatos.DataBind() UPDatos.Update() End Sub #End Region #Region "SELECTED INDEX CHANGE" Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) CargaClientes() End Sub Private Sub CargaClientes() DdlClientes.ddl.Items.Clear() DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveClienteClasificacion = {DdlClienteClasificacion.SelectedValue.ToEntero} OR {DdlClienteClasificacion.SelectedValue.ToEntero} = -1") DdlClientes.DataBind() DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue) End Sub Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As EventArgs) DdlEstatus.Items.Clear() If DdlTipoComprobante.GetSelectedValuesM <> "" Then DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(String.Format("TipoDocto IN ({0}) OR ('Cot' IN ({0}) AND CveEstatusFactura = 2)", DdlTipoComprobante.GetSelectedValuesM(True).Replace("Ant", "Ing").Replace("Egs", "Ing"))) Else DdlEstatus.DataSource = GlobalDTEstatusFactura End If 'DdlEstatus.Items.Add(New ListItem("Todos", "-1")) DdlEstatus.DataBind() If DdlTipoComprobante.GetSelectedValuesM(True).Contains("Rem") Then For Each item As ListItem In DdlEstatus.Items If item.Value = "11" Then DdlEstatus.Items.Remove(item) DdlEstatus.Items.Insert(0, New ListItem("Registrada", "2")) Exit For End If Next End If End Sub Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged TipoCambio = RblTipoCambio.SelectedValue.ToEntero If TipoCambio = 3 Then LiEspecifico.Visible = True TCEspecifico = GlobalTipoCambio(NowADS()).ToDecimal TxtEspecifico.Text = TCEspecifico.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")) UPDatos.Update() End Sub #End Region #Region " GV DATOS - ROW DATABOUND " Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Dim Css As String = "Texto" ' CABECERA TOTAL If e.Row.DBCampo("Orden") = "" Then e.Row.CssClass = "Totales" e.Row.Cells(2).BackColor = Drawing.Color.Transparent e.Row.Cells(6).BackColor = Drawing.Color.Transparent End If If e.Row.DBCampo("GPO") = "Total Dólares" Then e.Row.CssClass = "Totales" End If ' PARA LIGA Dim FechaI, FechaF, FechaIEjec, FechaFEjec As String FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.Trim(), "-1") FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.Trim(), "-1") Dim CveMoneda As Integer = -1 If TipoCambio = 1 Then CveMoneda = e.Row.DBCampo("CveMoneda").ToString.ToEntero End If Dim CveSubProyecto As String = "-1", CveProyecto As String = "-1" If DdlGrupo.SelectedValue.ToEntero.Contiene(19) Then CveSubProyecto = e.Row.DBCampo("CveCentroCosto") CveProyecto = e.Row.DBCampo("CveCentroCostoProyecto") Else CveSubProyecto = e.Row.DBCampo("CveSubProyecto") CveProyecto = e.Row.DBCampo("CveProyecto") End If Dim FechaInicial As String = FechaI Dim FechaFinal As String = FechaF If Not e.Row.DBCampo("GPO").Contains("Total") Then Select Case DdlGrupo.SelectedValue.ToEntero() Case 2 ' MES Dim FechaIRef As DateTime = FechaI.ToDateTime() Dim FechaFRef As DateTime = FechaF.ToDateTime() If e.Row.DBCampo("Mes").ToEntero() > 0 Then Dim Anio As Integer = FechaFRef.Year Dim Mes As Integer = e.Row.DBCampo("Mes").ToEntero() Dim lastDayOfMonth As Integer = DateTime.DaysInMonth(Anio, Mes) Dim Dia As Integer = FechaFRef.Day If e.Row.DBCampo("Mes").ToEntero() <> FechaFRef.Month Then Dia = lastDayOfMonth End If If e.Row.DBCampo("Mes").ToEntero() <> FechaIRef.Month Then FechaInicial = New DateTime(Anio, Mes, 1).ToString("dd/MM/yyyy") End If Dim FechaFinalRef As New DateTime(Anio, Mes, Dia) 'ASIGNAR LA FECHA FINAL DEL GRUPO, SI ES MENOR A LA FECHA DEL FILTRO If FechaF <> "-1" Then If FechaFRef < FechaFinalRef Then FechaFinal = FechaFRef.ToString("dd/MM/yyyy") Else FechaFinal = FechaFinalRef.ToString("dd/MM/yyyy") End If Else FechaFinal = FechaFinalRef.ToString("dd/MM/yyyy") End If End If Case 3 ' AÑO/MES Dim FechaIRef As DateTime = FechaI.ToDateTime() Dim FechaFRef As DateTime = FechaF.ToDateTime() Dim separator As Char = "/".ToCharArray().FirstOrDefault() Dim AnioMes As String() = e.Row.DBCampo("AnioMes").Split(separator) Dim Anio As Integer = AnioMes(0).ToEntero() Dim Mes As Integer = AnioMes(1).ToEntero() If Anio > 0 AndAlso Mes > 0 Then Dim lastDayOfMonth As Integer = DateTime.DaysInMonth(Anio, Mes) Dim DiaFinal As Integer = FechaFRef.Day If Mes <> FechaFRef.Month Then DiaFinal = lastDayOfMonth End If 'VERIFICAR LA FECHA DE INICIO DEL MES DE CONSULTA If Mes <> FechaIRef.Month Then FechaInicial = New DateTime(Anio, Mes, 1).ToString("dd/MM/yyyy") Else 'SI ES EL MISMO MES DE FECHA DE INICIO TOMAR LA FECHA DE INICIO COMO REFERENCIA If Mes = FechaIRef.Month AndAlso Anio = FechaIRef.Year Then FechaInicial = FechaIRef.ToString("dd/MM/yyyy") End If End If Dim FechaFinalRef As New DateTime(Anio, Mes, DiaFinal) 'ASIGNAR LA FECHA FINAL DEL GRUPO, SI ES MENOR A LA FECHA DEL FILTRO If FechaF <> "-1" Then If FechaFRef < FechaFinalRef Then FechaFinal = FechaFRef.ToString("dd/MM/yyyy") Else FechaFinal = FechaFinalRef.ToString("dd/MM/yyyy") End If Else FechaFinal = FechaFinalRef.ToString("dd/MM/yyyy") End If End If Case 4 ' FECHA FechaInicial = e.Row.DBCampo("Fecha").ToDateTime().ToString("dd/MM/yyyy") FechaFinal = e.Row.DBCampo("Fecha").ToDateTime().ToString("dd/MM/yyyy") End Select End If 'LIGA A DETALLE Dim Liga As String = $"/Ventas/RepVentasDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&AnioEjec={e.Row.DBCampo("AnioEjec")}&MesEjec={e.Row.DBCampo("MesEjec")}&AnioMesEjec={e.Row.DBCampo("AnioMesEjec")}&FechaEjec={e.Row.DBCampo("FechaEjec")}&CveCliente={e.Row.DBCampo("CveCliente")}&CveVendedor={ e.Row.DBCampo("CveVendedor")}&CveUsuario={e.Row.DBCampo("CveUsuario")}&CveEstatusFactura={e.Row.DBCampo("CveEstatusFactura")}&FechaI={FechaInicial}&FechaF={FechaFinal}&FechaIEjec={FechaIEjec}&FechaFEjec={FechaFEjec}&IVA={e.Row.DBCampo("GPO_IVA")}&CveCorte={ e.Row.DBCampo("CveCorte")}&TipoDocto={ DdlTipoComprobante.GetSelectedValuesM}&CveSubProyectoEjecucion={e.Row.DBCampo("CveSubProyectoEjecucion")}&CveSubProyecto={CveSubProyecto}&CveProyecto={CveProyecto}&TipoCambio={TipoCambio}&TCEspecifico={TCEspecifico}&CveMoneda={CveMoneda}&CveClienteClasificacion={e.Row.DBCampo("CveClienteClasificacion")}&CveCondicionesPago={DdlCondicionesPago.SelectedValue}&TipoCliente={ If(DdlGrupo.SelectedValue.ToEntero = 20, e.Row.DBCampo("TipoCliente"), DdlTipoCliente.SelectedValue)}&ModalidadContable={If(ChkLecturaAdmin.Checked, 0, 1)}&CveTipoRelacion={DdlTipoRelacion.SelectedValue}&ServicioDomicilio={DdlServicioDomicilio.SelectedValue}&EsFacturaGlobal={DdlFacturaGlobal.SelectedValue}&EsFilial={e.Row.DBCampo("EsFilial")}" e.Row.FCLiteral("LtlGrupo").Text = "" & e.Row.FCLiteral("LtlGrupo").Text & "" e.Row.FCLiteral("LtlCantidad").Text = "" & e.Row.FCLiteral("LtlCantidad").Text & "" If DdlGrupo.SelectedValue.ToEntero > 16 AndAlso e.Row.DBCampo("Orden") = "2" AndAlso DdlGrupo.SelectedValue.ToEntero <> 20 Then e.Row.CssClass = "SubTotales" e.Row.Attributes.Add("style", "background:#CCCCCC !important") End If If DdlGrupo.SelectedValue.ToEntero = 21 Then If e.Row.DBCampo("GPO").Contains("Total") Then e.Row.CssClass = "Totales" e.Row.Cells(2).BackColor = Drawing.Color.Transparent e.Row.Cells(6).BackColor = Drawing.Color.Transparent Else If e.Row.DBCampo("CveCliente") = "" Then e.Row.CssClass = "SubTotales" e.Row.Cells(2).BackColor = Drawing.Color.Transparent e.Row.Cells(6).BackColor = Drawing.Color.Transparent End If End If End If If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then e.Row.FCLabel("LblCreditoPorcentaje").Visible = True e.Row.FCLabel("LblContadoPorcentaje").Visible = True End If End If End Sub #End Region #Region " PERSONALIZAR " Private Sub PrePersonalizacion() If UsuarioActual.Empresa.Funcionalidad(713) = "1" Then ChkIEPS.Visible = True End Sub Protected Sub LnkPErsonalizar_Click(sender As Object, e As EventArgs) ChkGuardarPersonalizacion.Checked = False RegistraScript("$('#DivPersonalizar').modal('show')") End Sub Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) If ChkGuardarPersonalizacion.Checked Then GuardaPersonalizacion() End If Personaliza() GvDatosDataBind() End Sub Private Sub GuardaPersonalizacion() Dim objUsuario As New ClsSisUsuarios Dim ListPersonalizada As New List(Of String) 'ChkCantidad.Checked = False 'ChkSubtotal.Checked = False 'ChkDescuentos.Checked = False 'ChkIVA.Checked = False 'ChkTotal.Checked = False If ChkCantidad.Checked Then ListPersonalizada.Add("Cantidad") End If If ChkSubtotal.Checked Then ListPersonalizada.Add("Subtotal") End If If ChkDescuentos.Checked Then ListPersonalizada.Add("Descuentos") End If If ChkIVA.Checked Then ListPersonalizada.Add("IVA") End If If ChkTotal.Checked Then ListPersonalizada.Add("Total") End If If ChkSubTotal2.Checked Then ListPersonalizada.Add("SubTotal2") End If If ChkIEPS.Checked Then ListPersonalizada.Add("IEPS") End If If ChkRetIVA.Checked Then ListPersonalizada.Add("RetIVA") End If If ChkRetISR.Checked Then ListPersonalizada.Add("RetISR") End If If ChkImpLoc.Checked Then ListPersonalizada.Add("ImpLoc") End If If ChkMinSub.Checked Then ListPersonalizada.Add("MinSub") End If If ChkAVGSub.Checked Then ListPersonalizada.Add("AVGSub") End If If ChkMaxSub.Checked Then ListPersonalizada.Add("MaxSub") End If If ChkMaxTot.Checked Then ListPersonalizada.Add("MaxTot") End If If ChkAvgTot.Checked Then ListPersonalizada.Add("AvgTot") End If If ChkMinTot.Checked Then ListPersonalizada.Add("MinTot") End If If CheckRefacturado.Checked Then ListPersonalizada.Add("CheckRefacturado") End If If ChkContado.Checked Then ListPersonalizada.Add("ChkContado") End If If ChkCredito.Checked Then ListPersonalizada.Add("ChkCredito") End If If ChkCantidad.Checked Then ListPersonalizada.Add("Cantidad") End If If objUsuario.AddUsuariosPersonalizaciones(UsuarioActual, "RepVentas.aspx", String.Join("|", ListPersonalizada)) Then 'Alert("Personalizacion guardada") End If objUsuario.Dispose() End Sub Private Sub CargaPersonalizacion() Dim strBasePersonalizacion As String = UsuarioActual.Personalizaciones("RepVentas.aspx") If strBasePersonalizacion.Trim.Length > 0 Then ChkCantidad.Checked = False ChkSubtotal.Checked = False ChkDescuentos.Checked = False ChkIVA.Checked = False ChkTotal.Checked = False ChkSubTotal2.Checked = False ChkIEPS.Checked = False ChkRetIVA.Checked = False ChkRetISR.Checked = False ChkImpLoc.Checked = False ChkMinSub.Checked = False ChkAVGSub.Checked = False ChkMaxSub.Checked = False ChkMaxTot.Checked = False ChkAvgTot.Checked = False ChkMinTot.Checked = False CheckRefacturado.Checked = False Dim Personalizaciones As String() = strBasePersonalizacion.Split("|"c) For Each personalizacion As String In Personalizaciones Select Case personalizacion Case "Cantidad" ChkCantidad.Checked = True Exit Select Case "Subtotal" ChkSubtotal.Checked = True Exit Select Case "Descuentos" ChkDescuentos.Checked = True Exit Select Case "IVA" ChkIVA.Checked = True Exit Select Case "Total" ChkTotal.Checked = True Exit Select Case "SubTotal2" ChkSubTotal2.Checked = True Exit Select Case "IEPS" ChkIEPS.Checked = True Exit Select Case "RetIVA" ChkRetIVA.Checked = True Exit Select Case "RetISR" ChkRetISR.Checked = True Exit Select Case "ImpLoc" ChkImpLoc.Checked = True Exit Select Case "MinSub" ChkMinSub.Checked = True Exit Select Case "AVGSub" ChkAVGSub.Checked = True Exit Select Case "MaxSub" ChkMaxSub.Checked = True Exit Select Case "MaxTot" ChkMaxTot.Checked = True Exit Select Case "AvgTot" ChkAvgTot.Checked = True Exit Select Case "MinTot" ChkMinTot.Checked = True Exit Select Case "CheckRefacturado" CheckRefacturado.Checked = True Exit Select Case "ChkContado" ChkContado.Checked = True Exit Select Case "ChkCredito" ChkCredito.Checked = True Exit Select Case Else Exit Select End Select Next Personaliza() Else PersonalizaDefault() End If UPPersonalizar.Update() End Sub Private Sub PersonalizaDefault() ChkCantidad.Checked = True 'ChkSubtotal.Checked = True If DtVentas.Rows.Count > 0 AndAlso DtVentas.SUMD("Descuento") > 0 Then ChkDescuentos.Checked = True End If ChkSubTotal2.Checked = True ChkIVA.Checked = True If UsuarioActual.Empresa.Funcionalidad(713) = "1" Then ChkIEPS.Checked = True 'ChkRetIVA.Checked = True 'ChkRetISR.Checked = True 'ChkImpLoc.Checked = True ChkTotal.Checked = True End Sub Private Sub Personaliza() GvDatos.Columns(1).Visible = ChkCantidad.Checked GvDatos.Columns(2).Visible = ChkSubtotal.Checked GvDatos.Columns(3).Visible = ChkDescuentos.Checked GvDatos.Columns(6).Visible = ChkIVA.Checked GvDatos.Columns(11).Visible = ChkTotal.Checked GvDatos.Columns(5).Visible = ChkSubTotal2.Checked GvDatos.Columns(7).Visible = ChkIEPS.Checked GvDatos.Columns(8).Visible = ChkRetIVA.Checked GvDatos.Columns(9).Visible = ChkRetISR.Checked GvDatos.Columns(10).Visible = ChkImpLoc.Checked GvDatos.Columns(12).Visible = ChkMaxSub.Checked GvDatos.Columns(13).Visible = ChkAVGSub.Checked GvDatos.Columns(14).Visible = ChkMinSub.Checked GvDatos.Columns(15).Visible = ChkMaxTot.Checked GvDatos.Columns(16).Visible = ChkAvgTot.Checked GvDatos.Columns(17).Visible = ChkMinTot.Checked GvDatos.Columns(18).Visible = CheckRefacturado.Checked GvDatos.Columns(19).Visible = ChkCredito.Checked GvDatos.Columns(20).Visible = ChkContado.Checked Personalizo = 1 If Personalizo = 1 Then ImgExcelPersonalizado.Visible = True Else ImgExcelPersonalizado.Visible = False End If UPDatos.Update() End Sub #End Region #Region " EXCEL " Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click 'GvDatos.ExportToExcel("ReporteVentas" & NowADS().ToShortDateString) GenerarPDF("Excel") End Sub #End Region #Region "PDF" Private Sub GenerarPDF(Optional Formato As String = "PDF") If DtVentas IsNot Nothing Then Dim StrFiltro As New StringBuilder StrFiltro.AppendFormat(" Agrupado por: {0}", DdlGrupo.SelectedItem.Text) Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepVentas.rdlc", UsuarioActual.Empresa.Ruta)) Dim ruta As String = "" If DdlTipoComprobante.GetSelectedText <> "" Then StrFiltro.AppendFormat(" Tipo Documento: {0}", DdlTipoComprobante.GetSelectedText) If txtFechaI.Text <> "" Then StrFiltro.AppendFormat(" Fecha Inicio : {0}", txtFechaI.Text.ToDate.ToShortDateString) If txtFechaF.Text <> "" Then StrFiltro.AppendFormat(" Fecha Fin : {0}", txtFechaF.Text.ToDate.ToShortDateString) If DdlProyecto.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proyecto: {0}", DdlProyecto.SelectedItem.Text) If DdlSubProyecto.GetSelectedText <> "" Then StrFiltro.AppendFormat(" SubProyecto: {0}", DdlSubProyecto.GetSelectedText) If DdlClientes.SelectedValue <> "" Then StrFiltro.AppendFormat(" Cliente: {0}", DdlClientes.SelectedText) If DdlVendedor.GetSelectedText <> "" Then StrFiltro.AppendFormat(" Vendedor: {0}", DdlVendedor.GetSelectedText) If DdlEstatus.GetSelectedText <> "" Then StrFiltro.AppendFormat(" Estatus: {0}", DdlEstatus.GetSelectedText) If DdlSubProyectoEjecucion.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proyecto Ejecución: {0}", DdlSubProyectoEjecucion.SelectedItem.Text) If TxtFechaIEjec.Text <> "" Then StrFiltro.AppendFormat(" Fecha I. Ejecución: {0}", TxtFechaIEjec.Text.ToDate.ToShortDateString) If TxtFechaFEjec.Text <> "" Then StrFiltro.AppendFormat(" Fecha I. Ejecución: {0}", TxtFechaFEjec.Text.ToDate.ToShortDateString) If DdlUsuario.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Usuario: {0}", DdlUsuario.SelectedItem.Text) If DdlClienteClasificacion.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Clasificación Cliente: {0}", DdlClienteClasificacion.SelectedItem.Text) If DdlCondicionesPago.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Condiciones Pago: {0}", DdlCondicionesPago.SelectedItem.Text) Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") Dim logouri As String = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) Dim dt As DataTable = DtVentas '.FiltraParametros("", "Orden") '.FiltraParametros("Total > 0", DistinctColumns:={"GPO", "Cantidad", "SubTotal", "Descuento", "Amortizacion", "IVA", "Total"}) Dim FechaI, FechaF As String FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text) FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text) 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("Filtros", StrFiltro.ToString)) params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) If Archivo.Exists Then ruta = UsuarioActual.Empresa.Ruta & "Formatos/RepVentas.rdlc" Else ruta = "Empresas/Grales/Formatos/RepVentas.rdlc" End If ImprimirPDF(ruta, dt, params, String.Format("ReporteVentas-{0}", NowADS().ToDateTime.ToShortDateString), Formato:=Formato) Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If End Sub Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click GenerarPDF() End Sub #End Region #Region "XML-CONFIGURACIÓN" Private Sub XmlConf(CveUsuario As Integer, CveModulo As Integer, Values As String(,)) Dim settings As New XmlWriterSettings() settings.Indent = True Dim Xmlwrt As XmlWriter = XmlWriter.Create(String.Format("{0}\Menu\ERP\{1}_Conf.xml", AppDomain.CurrentDomain.BaseDirectory, CveUsuario, settings)) With Xmlwrt .WriteStartDocument() .WriteComment("XML Configuración") .WriteStartElement(CveModulo.ToString()) Dim bound0 As Integer = Values.GetUpperBound(0) For i As Integer = 0 To bound0 AgregaNodo(Values(i, 0), Values(i, 1), Xmlwrt) Next .WriteEndElement() .WriteEndDocument() .Close() End With End Sub Private Sub AgregaNodo(Filtro As String, Valor As String, ByRef xml As XmlWriter) xml.WriteStartElement(Filtro) xml.WriteValue(Valor) xml.WriteEndElement() End Sub Private Sub GenerarXml() Dim values(,) As String = New String(,) { {"Tipo", DdlTipoComprobante.GetSelectedText}, {"Sucursal", DdlSubProyecto.Text.ToString()}, {"SucursalEjecuccion", DdlSubProyectoEjecucion.Text.ToString()}, {"Proyecto", DdlProyecto.Text.ToString()} } End Sub #End Region #Region "GRAFICA" Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs) If Not DtVentas IsNot Nothing AndAlso DtVentas.Rows.Count > 0 Then Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia) Exit Sub End If LblTituloGrafica.Text = $"Agrupado por: {Agrupador}" RegistraScript("$('#DivModalGrafica').modal('show')") CambioGrafica() End Sub Private Sub CambioGrafica() Dim Dt As New DataTable() Dt.Columns.Add("Texto") Dt.Columns.Add("Valor") Dt.Columns.Add("Color") Dt.Columns.Add("Moneda") Dim RowColorIndex As Integer = 0 For Each Dr As DataRow In DtVentas.Rows If Not Dr("Orden").ToString = "" Then Dim Row As DataRow = Nothing Row = Dt.NewRow() Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}" Select Case DdlVer.SelectedValue.ToEntero Case 1 Row("Valor") = Dr("Total").ToString.FormatoNumero Case 2 Row("Valor") = Dr("SubTotal").ToString.FormatoNumero Case 3 Row("Valor") = Dr("IVA").ToString.FormatoNumero End Select Row("Color") = Colors(RowColorIndex) Row("Moneda") = Dr("Moneda").ToString Dt.Rows.Add(Row) RowColorIndex += 1 If RowColorIndex >= Colors.Length Then RowColorIndex = 0 End If Next Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()} Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query) Select Case DdlGrafica.SelectedValue.ToEntero Case 1 RegistraScript($"CargaGraficaBarras({json});console.log({json})", "22") Case 2 RegistraScript($"CargaGraficaPastel({json})", "22") End Select UPModalProd.Update() End Sub Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs) CambioGrafica() End Sub Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs) CambioGrafica() End Sub #End Region Private Sub LnkRepHP_Click(sender As Object, e As EventArgs) Handles LnkRepHP.Click CalcularIntervaloRepHP() RegistraScript("$('#DivRepHP').modal('show');") End Sub Protected Sub RblIntervaloHP_SelectedIndexChanged(sender As Object, e As EventArgs) CalcularIntervaloRepHP() End Sub Private Sub CalcularIntervaloRepHP() Dim PrevMondayDate As Date = DateTime.Today.AddDays(-Weekday(Today.AddDays(-1), Microsoft.VisualBasic.FirstDayOfWeek.Monday)) Dim Sunday As DateTime = PrevMondayDate.AddDays(6) txtFechaIHP.Text = PrevMondayDate.ToString("dd/MM/yyyy") txtFechaFHP.Text = Sunday.ToString("dd/MM/yyyy") 'Select Case RblIntervaloHP.SelectedValue ' Case "1" ' SEMANAL ' Dim PrevMondayDate = DateTime.Today.AddDays(-Weekday(Today.AddDays(-1), Microsoft.VisualBasic.FirstDayOfWeek.Monday)) ' Dim Sunday As DateTime = PrevMondayDate.AddDays(6) ' txtFechaIHP.Text = PrevMondayDate.ToString("dd/MM/yyyy") ' txtFechaFHP.Text = Sunday.ToString("dd/MM/yyyy") ' Case "2" ' MENSUAL ' Dim FechaRef As DateTime = NowADS() ' Dim LastDayOfMonth = DateTime.DaysInMonth(FechaRef.Year, FechaRef.Month) ' txtFechaIHP.Text = $"01/{FechaRef.Month}/{FechaRef.Year}" ' txtFechaFHP.Text = $"{LastDayOfMonth}/{FechaRef.Month}/{FechaRef.Year}" 'End Select UpHP.Update() End Sub Protected Sub BtnGenerarRepHP_Click(sender As Object, e As EventArgs) Dim FechaI As DateTime = txtFechaIHP.Text.ToDate() Dim FechaF As DateTime = txtFechaFHP.Text.ToDate() Dim Rep As New ClsVentas Dim Str As New StringBuilder Str.AppendLine("Header Section,,,,,,,,,,,End Customer Identification ,,,,,,,,,,,,, Ship To Identification,,,,,,,,,,,,, Sold To Identification,,,,,,,,,,,,, Bill To Identification,,,,,,,,,,,,, Salesperson Detail,,,,,, Line Item Detail,,,,,,,,,,,,,,,,,,,,,,,,,,,, New FIELDS,,,,,,,,,,,,,,,,,,,,,,,,,, ") Str.AppendLine("Partner Purchase Price Currency Code, Exchange Rate, Reporter_id, Reported Partner Type, Reporter Company Name , Sell From Address line 1, Sell From Address line 2, Sell From City, Reported Partner State/Province, Sell from postal code, Sell from Country code,End User Customer Name,End User Company Tax ID,End User Address Line 1,End User Address Line 2,End User City,End User State/Province Code,End User Postal Code,End User Country Code,End User ID,End Customer Department,End Customer Contact Name,End Customer Contact Phone,End Customer County, Ship To Customer Name, Ship To Company Tax ID, Ship To Address Line 1, Ship To Address Line 2, Ship To City, Ship To State/Province Code, Ship To Postal Code, Ship To Country Code, Ship To Customer ID, Ship To Department, Ship To Contact Name, Ship To Contact Phone, Ship To County, Sold To Customer Name, Sold To Company Tax ID, Sold To Address Line 1, Sold To Address Line 2, Sold To City, Sold To State/Province Code, Sold To Postal Code, Sold To Country Code, Sold To Customer ID, Sold To Department, Sold To Contact Name, Sold To Contact Phone, Sold To County, Bill To Customer Name, Bill To Company Tax ID, Bill To Address Line 1 , Bill To Address Line 2, Bill To City, Bill To State/Province Code, Bill To Postal Code, Bill To Country Code, Bill To Customer ID, Bill To Agreement Number, Bill To Contact Name, Bill To Contact Phone, Bill To County, HP Representative Name, HP Sales Rep Email, Salesperson2 Name, Salesperson2 Unique Employee ID, Salesperson's Manager's Name,Salesperson's Manager Unique Employee ID,Quantity Qualifier,Product Quantity Shipped/Sold,Line Item ID,Partner Reported Product ID,Product Description,Date Type Qualifier,Channel Partner to Customer Transaction Date,Reseller’’s Product Number,Partner Purchase Price,Extended Price,Partner Sell Price,Extended Resale Price,Transaction Type,Rebate Tracking #,Partner Requested Rebate Amount,Extended Rebate Amount,Debit Number,Channel Partner to Customer Invoice ID,Reference Number,Customer to Channel Partner Purchase Order ID,Deal ID #1,Deal ID #2,Deal ID #3,Deal ID #4,Deal ID #5,Deal ID #6,Marketing Subprogram Code,Product Serial ID assigned by HP,Purchasing Source wholesaler indicator,Drop Ship Flag,Distributor's Invoice Number,Partner Internal transaction ID,Partner Comment,Deal Bundle ID #1,Deal Bundle ID #2,Deal Bundle ID #3,Deal Bundle ID #4,Deal Bundle ID #5,Deal Bundle ID #6,NMSO NAME,Sales Type,Purchase Agreement,Product Origin,Partner Reported CBN#,Partner Reference,Supplies Tracking ID (QR Code),Sell From Location ID (assigned by HP or Partner-assigned),Sell from name,Comment Deal ID #1,Comment Deal ID #2,Comment Deal ID #3,Comment Deal ID #4,Comment Deal ID #5,Comment Deal ID #6,Partner Sell Price Currency Code") If Rep.GetReporteHP(UsuarioActual.CveEmpresa, FechaI, FechaF) Then For Each dr As DataRow In Rep.DtResultados.Rows Str.AppendLine($"MXN,,AM30089,,""COMPUPROVEEDORES, S.A.DE C.V."",,,,,,,,,,,,,,,,,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,,,,,,,,,,,,,,,,,,,,,{dr("Cantidad")},,{dr("Codigo")},,,{dr("Fecha")},,,,{dr("PU")},,,,,,,{dr("SerieFolio")},,,,,,,,,,{dr("Serie")},,,,,,,,,,,,,,,{dr("Proveedor")},,,,,,,,,,,,MXN") Next End If Rep.Dispose() 'GenerarPDF una salida Response.Clear() Response.ContentType = "text/csv" Response.AppendHeader("Content-Disposition", $"attachment; filename=ReporteHP_{FechaI.ToString("dd_MM_yyyy")} a {FechaF.ToString("dd_MM_yyyy")}.csv") Response.Write(Str.ToString) Context.Response.End() End Sub Protected Sub LnkDescargaCartaPorte_Click(sender As Object, e As EventArgs) Dim ObjVentas As New ClsVentas Dim DTDataos As New DataTable Dim CveSubProyectos As String = If(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM) If ObjVentas.GetListadoCartaPorteRep(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, CveSubProyectos, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then DTDataos = ObjVentas.DtResultados End If ObjVentas.Dispose() DTDataos.ExportToExcel("RepCartasPorte") End Sub Protected Sub ImgExcelPersonalizado_Click(sender As Object, e As EventArgs) Handles ImgExcelPersonalizado.Click 'GvVsh.Visible = True 'GvVsh.ExportToExcel("DetalleVentas_" & NowADS().ToShortDateString) 'GvVsh.Visible = False GvDatos.ExportToExcel("Ventas_" & NowADS().ToShortDateString & ".xls") 'GvDatos.ExportToExcelG("DetalleVentas_" & NowADS().ToShortDateString & ".xlsx") End Sub Protected Sub LnkGeneraXLS1_Click(sender As Object, e As EventArgs) RepVentasBioSistemas(1) End Sub Protected Sub LnkGeneraXLS2_Click(sender As Object, e As EventArgs) RepVentasBioSistemas(2) End Sub Private Sub RepVentasBioSistemas(OpcionReporte As Integer) Dim ObjVentas As New ClsVentas Dim DTResultados As New DataTable If ObjVentas.GetRepVentasBiosistemas(UsuarioActual.CveEmpresa, OpcionReporte) Then DTResultados = ObjVentas.DtResultados End If Dim NombreReporte As String = "Reporte 1" Dim TituloReporte As String = "Reporte 1" DTResultados.TableName = "Reporte1" If OpcionReporte = 2 Then NombreReporte = "Reporte 2" TituloReporte = "Reporte1 2" DTResultados.TableName = "Reporte2" End If DTResultados.ExportToExcelG(NombreReporte, TituloReporte, UsuarioActual, "") End Sub End Class