Option Explicit On Option Strict On Imports Microsoft.Reporting.WebForms Imports Extensiones Imports System.Data Partial Class Compras_RepProductosServiciosDetalle Inherits ClsPaginas #Region "PROPIEDADES" Private Property DtDatos As DataTable Get Return CType(ViewState("DtDatos"), DataTable) End Get Set(value As DataTable) ViewState("DtDatos") = value End Set End Property Private Property CveMoneda As Integer Get Return ViewState("CveMoneda").ToString.ToEntero End Get Set(value As Integer) ViewState("CveMoneda") = 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 TCEspecifico As Double Get Return ViewState("TCEspecifico").ToString.ToDouble End Get Set(value As Double) ViewState("TCEspecifico") = 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 #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") SetValues() InicializaValores() End If End Sub #Region "CARGAS" Private Sub InicializaValores() Dim Grupo, Proyecto, SubProyecto, Categoria, Clasificacion, PS, Proveedor, Estatus, Usuario, Familia, SubFamilia, TipoActivoFijo, SubTipoActivoFijo, ActivoFijo, TipoGasto, CveCultivo As String Dim Anio, Mes, AnioMes, Fecha, FechaI, FechaF, TipoDocto, Deducible As String Grupo = If(Request("GPO") IsNot Nothing AndAlso Request("GPO").ToEntero() > 0, Request("GPO").ToEntero(), -1).ToString Proyecto = If(Request("CveProyecto") IsNot Nothing AndAlso Request("CveProyecto").ToEntero() > 0, Request("CveProyecto").ToEntero(), -1).ToString 'PARAMETROS DE LISTBOXS SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto") <> "", Request("CveSubProyecto"), "-1").ToString SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() = -2, "-2", SubProyecto) CveCultivo = If(Request("CveCultivo") IsNot Nothing AndAlso Request("CveCultivo") <> "", Request("CveCultivo"), "-1").ToString TipoGasto = If(Request("CveTipoGasto") IsNot Nothing AndAlso Request("CveTipoGasto") <> "", Request("CveTipoGasto"), "-1").ToString Categoria = If(Request("CveCategoria") IsNot Nothing AndAlso Request("CveCategoria") <> "", Request("CveCategoria"), "-1").ToString TipoActivoFijo = If(Request("CveTipoAF") IsNot Nothing AndAlso Request("CveTipoAF") <> "", Request("CveTipoAF"), "-1").ToString SubTipoActivoFijo = If(Request("CveSubTipoAF") IsNot Nothing AndAlso Request("CveSubTipoAF") <> "", Request("CveSubTipoAF"), "-1").ToString 'END PARAMETROS DE LISTBOXS 'SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() > 0, Request("CveSubProyecto").ToEntero(), -1).ToString 'SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() = -2, "-2", SubProyecto) 'Categoria = If(Request("CveCategoria") IsNot Nothing AndAlso Request("CveCategoria").ToEntero() > 0, Request("CveCategoria").ToEntero(), -1).ToString 'TipoActivoFijo = If(Request("CveTipoAF") IsNot Nothing AndAlso Request("CveTipoAF").ToEntero() > 0, Request("CveTipoAF").ToEntero(), -1).ToString 'SubTipoActivoFijo = If(Request("CveSubTipoAF") IsNot Nothing AndAlso Request("CveSubTipoAF").ToEntero() > 0, Request("CveSubTipoAF").ToEntero(), -1).ToString 'TipoGasto = If(Request("CveTipoGasto") IsNot Nothing AndAlso Request("CveTipoGasto").ToEntero > 0, Request("CveTipoGasto").ToEntero(), -1).ToString Clasificacion = If(Request("CveClasificacion") IsNot Nothing AndAlso Request("CveClasificacion").ToEntero() > 0, Request("CveClasificacion").ToEntero(), -1).ToString PS = If(Request("CvePS") IsNot Nothing AndAlso Request("CvePS").ToEntero() > 0, Request("CvePS").ToEntero(), -1).ToString Proveedor = If(Request("CveProveedor") IsNot Nothing AndAlso Request("CveProveedor").ToEntero() > 0, Request("CveProveedor").ToEntero(), -1).ToString Estatus = If(Request("CveEstatusFactura") IsNot Nothing AndAlso Request("CveEstatusFactura").ToEntero() > 0, Request("CveEstatusFactura").ToEntero(), -1).ToString Usuario = If(Request("CveUsuario") IsNot Nothing AndAlso Request("CveUsuario").ToEntero() > 0, Request("CveUsuario").ToEntero(), -1).ToString Familia = If(Request("CveFamilia") IsNot Nothing AndAlso Request("CveFamilia").ToEntero() > -3, Request("CveFamilia").ToEntero(), -1).ToString SubFamilia = If(Request("CveSubFamilia") IsNot Nothing AndAlso Request("CveSubFamilia").ToEntero() > -3, Request("CveSubFamilia").ToEntero(), -1).ToString ActivoFijo = If(Request("CveAF") IsNot Nothing AndAlso Request("CveAF").ToEntero() > 0, Request("CveAF").ToEntero(), -1).ToString CveMoneda = If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToEntero() > 0, Request("CveMoneda").ToEntero(), -1).ToString.ToEntero TipoDocto = If(Request("TipoDocto") IsNot Nothing, Request("TipoDocto").ToString, "-1").ToString Deducible = If(Request("Deducible") IsNot Nothing, Request("Deducible").ToString, "-1").ToString Anio = If(Request("Anio") IsNot Nothing, Request("Anio").ToString, "-1").ToString Mes = If(Request("Mes") IsNot Nothing, Request("Mes").ToString, "-1").ToString 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 TCEspecifico = If(Request("TCEspecifico") IsNot Nothing AndAlso Request("TCEspecifico").ToDouble() > 0, Request("TCEspecifico").ToDouble, -1).ToString.ToDouble RblTipoCambio.SelectedValue = If(Request("TipoCambio") IsNot Nothing AndAlso Request("TipoCambio").ToEntero() > 0, Request("TipoCambio").ToEntero(), 1).ToString If RblTipoCambio.SelectedValue.ToEntero > 1 Then CveMoneda = -1 TipoCambio = RblTipoCambio.SelectedValue.ToEntero txtFechaI.Text = If(Anio <> "-1", String.Format("01/01/{0}", Anio), txtFechaI.Text) txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text) txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text) If CveCultivo.ToEntero() > 0 AndAlso FechaI = "-1" AndAlso Anio = "-1" AndAlso Mes = "-1" AndAlso AnioMes = "-1" Then txtFechaI.Text = "01/01/1900" End If If Fecha <> "-1" Then txtFechaI.Text = Fecha txtFechaF.Text = Fecha Else If FechaI <> "-1" Then txtFechaI.Text = FechaI End If If FechaF <> "-1" Then txtFechaF.Text = FechaF End If End If DdlProyecto.SelectedValueExist(Proyecto) 'CARGA LISTBOXs DdlSubProyecto.SelectedValuesIfExistM(SubProyecto) DdlTipoGasto.SelectedValuesIfExistM(TipoGasto) DdlCategoria.SelectedValuesIfExistM(Categoria) DdlTipoAF.SelectedValuesIfExistM(TipoActivoFijo) DdlSubTipoAF.SelectedValuesIfExistM(SubTipoActivoFijo) If SubProyecto <> "" Then CargaCultivo() DdlCultivo.SelectedValuesIfExistM(CveCultivo) 'END CARGA LISTBOXs 'DdlCategoria.SelectedValueExist(Categoria) DdlClasificacion.SelectedValueExist(Clasificacion) If PS.ToEntero > 1 Then DdlPS.SelectedValue = PS DdlPS.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=PS.ToEntero).FiltroPrimeroValor("PSCodigo") End If 'DdlSubProyecto.SelectedValueExist(SubProyecto) DdlFamilia.SelectedValueExist(Familia) DdlSubFamilia.SelectedValueExist(SubFamilia) If Proveedor.ToEntero > 0 Then Dim Dr As DataRow = GlobalDTCompProveedores(UsuarioActual.CveEmpresa, Proveedor.ToEntero).FiltroPrimero("") If Dr IsNot Nothing Then DdlProveedor.SelectedText = Dr("RazonSocial").ToString DdlProveedor.SelectedValue = Proveedor End If Else DdlProveedor.SelectedText = "Todos" End If DdlTipoDocto.SelectedValueExist(TipoDocto) DdlDeducible.SelectedValueExist(Deducible) DdlEstatus.SelectedValueExist(Estatus) DdlUsuario.SelectedValueExist(Usuario) 'DdlTipoAF.SelectedValueExist(TipoActivoFijo) 'DdlTipoGasto.SelectedValueExist(TipoGasto) 'DdlSubTipoAF.SelectedValueExist(SubTipoActivoFijo) DdlSubTipoAF_SelectedIndexChanged(DdlSubTipoAF, New EventArgs) DdlAF.SelectedValueExist(ActivoFijo) DdlGrupo.SelectedValueExist(Grupo) CargaDatos(Proyecto.ToEntero, SubProyecto, Categoria, Clasificacion.ToEntero, PS.ToEntero, Proveedor.ToEntero, Usuario.ToEntero, Estatus.ToEntero, Grupo.ToEntero, Familia.ToEntero, SubFamilia.ToEntero, TipoActivoFijo, SubTipoActivoFijo, ActivoFijo.ToEntero, TipoGasto, CveCultivo) End Sub Private Sub SetValues() 'Carga Tipo Centro de Costo CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto) 'Carga Tipos de Gasto DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) DdlTipoGasto.DataBind() 'Cargo Categorias DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa) DdlCategoria.DataBind() 'Cargo Clasificaciones DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) DdlClasificacion.DataBind() 'CargaProveedor DdlProveedor.setEsWebService(True) DdlProveedor.Attributes.Add("data-metodo", "getproveedores") DdlProveedor.SelectedText = "Todos" DdlProveedor.SelectedValue = "-1" 'CargaUsuarios DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlUsuario.DataBind() 'CargaEstatus DdlEstatus.DataSource = GlobalDTCompEstatusFactura DdlEstatus.DataBind() 'Carga Productos DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) DdlPS.SelectedText = "" DdlPS.SelectedValue = "-1" Else DdlPS.ddl.Items.Clear() DdlPS.ddl.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa) DdlPS.ddl.DataBind() DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) End If 'Carga Tipos AF DdlTipoAF.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa) DdlTipoAF.DataBind() 'Carga SubTipos AF DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa) DdlSubTipoAF.DataBind() 'Carga Grupos CargaGrupo() 'CARGA COSTOS If UsuarioActual.CveEmpresa = 66 Then Dim NumItems As Integer = DdlGrupo.Items.Count 'COSTOS PROYECTO DdlGrupo.Items.Insert(NumItems, New ListItem("Costos", "13")) RowCostos.Visible = True 'Carga Familias DdlFamilia.DataSource = GlobalDTFamilias(66) DdlFamilia.DataBind() 'Carga SubFamilias DdlSubFamilia.DataSource = GlobalDTSubFamilias(66) DdlSubFamilia.DataBind() 'COSTOS AF DdlGrupo.Items.Insert(NumItems + 1, New ListItem("Costos por Activo Fijo", "14")) 'Carga AF 'DdlAF.DataSource = GlobalDTActivoFijos().FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)) 'DdlAF.DataBind() End If RowActivoFijo.Visible = True 'Carga Fechas txtFechaI.Text = FirstDayOfMonth(NowADS().AddMonths(-5)).ToShortDateString txtFechaF.Text = NowADS().ToShortDateString TipoCambio = 1 TCEspecifico = 0 End Sub Private Sub CargaGrupo() DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3")) DdlGrupo.Items.Insert(1, New ListItem("Clasificación", "4")) DdlGrupo.Items.Insert(2, New ListItem("Productos-Servicios", "5")) DdlGrupo.Items.Insert(3, New ListItem("Año", "6")) DdlGrupo.Items.Insert(4, New ListItem("Mes", "7")) DdlGrupo.Items.Insert(5, New ListItem("Año/Mes", "8")) DdlGrupo.Items.Insert(6, New ListItem("Fecha", "9")) DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10")) DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11")) DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12")) 'Agrega el grupo si es una empresa Agricola If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then DdlGrupo.Items.Insert(9, New ListItem("Cultivo", "15")) End If DdlGrupo.DataBind() DdlGrupo.SelectedValueExist("8") End Sub Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click CargaDatos() End Sub Private Sub CargaDatos() Dim ObjCompras As New ClsCompras() Dim FechaI As Date = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha) Dim FechaF As Date = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha) TCEspecifico = If(TxtEspecifico.Text.Trim = "", -1, TxtEspecifico.Text.ToEntero) Dim TipoGasto As String = IIf(DdlTipoGasto.GetSelectedValuesM = "", "-1", DdlTipoGasto.GetSelectedValuesM).ToString Dim Categoria As String = IIf(DdlCategoria.GetSelectedValuesM = "", "-1", DdlCategoria.GetSelectedValuesM).ToString Dim SubProyectos As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString Dim Cultivo As String = IIf(DdlCultivo.GetSelectedValuesM = "", "-1", DdlCultivo.GetSelectedValuesM).ToString Dim TipoAF As String = IIf(DdlTipoAF.GetSelectedValuesM = "", "-1", DdlTipoAF.GetSelectedValuesM).ToString Dim SubTipoAF As String = IIf(DdlSubTipoAF.GetSelectedValuesM = "", "-1", DdlSubTipoAF.GetSelectedValuesM).ToString If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1 If ObjCompras.GetRepProductosServiciosDetalle(DdlProyecto.SelectedValue.ToEntero, SubProyectos, Categoria, DdlClasificacion.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero, FechaI, FechaF, DdlProveedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlFamilia.SelectedValue.ToEntero, DdlSubFamilia.SelectedValue.ToEntero, TipoAF, SubTipoAF, DdlAF.SelectedValue.ToEntero, CveMoneda, TipoCambio, TCEspecifico:=TCEspecifico, TipoGasto:=TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=DdlTipoDocto.SelectedValue, Deducible:=DdlDeducible.SelectedValue.ToEntero, CveCultivo:=Cultivo) Then DtDatos = ObjCompras.DtResultados Else DtDatos = Nothing End If ObjCompras.Dispose() GvDatos.DataSource = DtDatos GvDatos.DataBind() UPDatos.Update() Agrupador = DdlGrupo.SelectedItem.Text End Sub Private Sub CargaDatos(Proyecto As Integer, SubProyecto As String, Categoria As String, Clasificacion As Integer, PS As Integer, Proveedor As Integer, Usuario As Integer, Estatus As Integer, Grupo As Integer, Familia As Integer, SubFamilia As Integer, TipoActivoFijo As String, SubTipoActivoFijo As String, ActivoFijo As Integer, TipoGasto As String, CveCultivo As String) Dim ObjCompras As New ClsCompras() Dim FechaI As Date = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha) Dim FechaF As Date = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha) If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1 If ObjCompras.GetRepProductosServiciosDetalle(Proyecto, SubProyecto, Categoria, Clasificacion, PS, FechaI, FechaF, Proveedor, Usuario, Estatus, UsuarioActual.CveEmpresa, Grupo, Familia, SubFamilia, TipoActivoFijo, SubTipoActivoFijo, ActivoFijo, CveMoneda, TipoCambio, TCEspecifico:=TCEspecifico, TipoGasto:=TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=DdlTipoDocto.SelectedValue, Deducible:=DdlDeducible.SelectedValue.ToEntero, CveCultivo:=CveCultivo) Then DtDatos = ObjCompras.DtResultados Else DtDatos = Nothing End If ObjCompras.Dispose() GvDatos.DataSource = DtDatos GvDatos.DataBind() UPDatos.Update() Agrupador = DdlGrupo.SelectedItem.Text End Sub Private Sub CargaCultivo() DdlCultivo.Items.Clear() If DdlSubProyecto.GetSelectedValuesM(True) <> "" Then DdlCultivo.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveSubProyecto IN ({0})", DdlSubProyecto.GetSelectedValuesM(True))) DdlCultivo.DataBind() Else DdlCultivo.DataSource = Nothing DdlCultivo.DataBind() End If End Sub #End Region #Region "SELECT INDEX CHANGED" Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue) End Sub Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubProyecto.SelectedIndexChanged CargaCultivo() End Sub 'Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCategoria.SelectedIndexChanged ' CargaClasificaciones(DdlCategoria.SelectedValue.ToEntero) 'End Sub 'Private Sub CargaClasificaciones(CveCategoria As Integer) ' DdlClasificacion.Items.Clear() ' If DdlCategoria.SelectedValue <> "-1" Then ' DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveCategoria:=CveCategoria) ' DdlClasificacion.DataBind() ' End If ' DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1")) 'End Sub Protected Sub DdlFamilia_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlFamilia.SelectedIndexChanged DdlSubFamilia.Items.Clear() If DdlFamilia.SelectedValue <> "-1" Then DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa, DdlFamilia.SelectedValue.ToEntero) DdlSubFamilia.DataBind() Else DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa) DdlSubFamilia.DataBind() End If DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1")) End Sub Protected Sub DdlTipoAF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoAF.SelectedIndexChanged DdlSubTipoAF.Items.Clear() If DdlTipoAF.GetSelectedValuesM <> "" Then DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(66).FiltraParametros(String.Format("CveTipoActivoFijo IN ({0})", DdlTipoAF.GetSelectedValuesM(True))) DdlSubTipoAF.DataBind() Else DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(66) DdlSubTipoAF.DataBind() End If 'DdlSubTipoAF.Items.Insert(0, New ListItem("Todas", "-1")) End Sub Protected Sub DdlSubTipoAF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubTipoAF.SelectedIndexChanged DdlAF.Items.Clear() If DdlSubTipoAF.GetSelectedValuesM <> "" Then DdlAF.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa, -1).FiltraParametros(String.Format("CveSubTipoActivoFijo IN ({0})", DdlSubTipoAF.GetSelectedValuesM(True))) DdlAF.DataBind() 'Else ' DdlAF.DataSource = GlobalDTSubTipoActivoFijo(66) ' DdlAF.DataBind() End If DdlAF.Items.Insert(0, New ListItem("Todas", "-1")) End Sub Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) If DdlPS.UsaWebService Then DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) DdlPS.SelectedText = "Todos" DdlPS.SelectedValue = "-1" Else DdlPS.ddl.Items.Clear() DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, DdlClasificacion.SelectedValue.ToEntero) DdlPS.ddl.DataBind() DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1")) End If 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 Not e.Row.DBCampo("CveCompra").ToEntero > 0 Then If e.Row.DBCampo("GPO") = "" Then e.Row.Cells(2).Text = e.Row.DBCampo("Moneda").ToString e.Row.CssClass = "Totales" Else e.Row.Cells(2).Text = e.Row.DBCampo("GPO").ToString e.Row.CssClass = "SubTotales" End If End If End If End Sub #End Region #Region "TIPO DE CAMBIO" Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged TipoCambio = RblTipoCambio.SelectedValue.ToEntero 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")) UPDatos.Update() End Sub #End Region #Region " IMPRESION - NUEVO " Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click GenerarPDF("EXCEL") End Sub Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click GenerarPDF() End Sub Private Sub GenerarPDF(Optional Formato As String = "PDF") Dim FechaI As Date = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha) Dim FechaF As Date = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha) If txtFechaI.Text = "" Then FechaI = "-1".ToDate If txtFechaF.Text = "" Then FechaF = "-1".ToDate Dim Grupo As String = If(DdlGrupo.SelectedValue = "-1", "", $" Grupo: {DdlGrupo.SelectedItem.Text}") Dim Proyecto As String = If(DdlProyecto.SelectedValue = "-1", "", $" Proyecto: {DdlProyecto.SelectedItem.Text}") 'Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $" SubProyecto: {DdlSubProyecto.SelectedItem.Text}") 'Dim Categoria = If(DdlCategoria.SelectedValue = "-1", "", $" Categoria: {DdlCategoria.SelectedItem.Text}") Dim Clasificacion As String = If(DdlClasificacion.SelectedValue = "-1", "", $" Clasificación: {DdlClasificacion.SelectedItem.Text}") Dim PS As String = If(DdlPS.SelectedValue = "-1", "", $" P.S: {DdlPS.SelectedText}") Dim Proveedor As String = If(DdlProveedor.SelectedValue = "-1", "", $" Proveedor: {DdlProveedor.SelectedText}") Dim Estatus As String = If(DdlEstatus.SelectedValue = "-1", "", $" Estatus: {DdlEstatus.SelectedItem.Text}") 'Dim TipoAF = If(DdlTipoAF.SelectedValue = "-1", "", $" Tipo AF: {DdlTipoAF.SelectedItem.Text}") Dim FechaIn As String = $" Fecha Inicio: {txtFechaI.Text}" Dim FechaFn As String = $" Fecha Fin: {txtFechaF.Text}" If txtFechaI.Text = "" Then FechaIn = "" If txtFechaF.Text = "" Then FechaFn = "" 'PARAMETROS EN LISTBOXs Dim SubProyecto As String = If(DdlSubProyecto.GetSelectedText = "", "", $" SubProyecto: {DdlSubProyecto.GetSelectedText}") Dim Categoria As String = If(DdlCategoria.GetSelectedText = "", "", $" Categoria: {DdlCategoria.GetSelectedText}") Dim TipoGasto As String = If(DdlTipoGasto.GetSelectedText = "", "", $" Tipo Gasto: {DdlTipoGasto.GetSelectedText}") Dim TipoAF As String = If(DdlTipoAF.GetSelectedText = "", "", $" Tipo AF: {DdlTipoAF.GetSelectedText}") Dim SubTipoAF As String = If(DdlSubTipoAF.GetSelectedText = "", "", $" SubTipo AF: {DdlSubTipoAF.GetSelectedText}") If DtDatos.Rows.Count > 0 Then Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png") 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("AgrupoPor", $"{Grupo}{Proyecto}{TipoGasto}{SubProyecto}{Categoria}{Clasificacion}{PS}{Proveedor}{Estatus}{TipoAF}{SubTipoAF}{FechaIn}{FechaFn}")) params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", ""))) ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosDetalleCompra.rdlc", DtDatos, params, "ReportePSDetalle", Formato) Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If End Sub #End Region #Region "GRAFICA" Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs) If Not DtDatos IsNot Nothing AndAlso DtDatos.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 DtDatos.Rows If Not Dr("CveCompra").ToString.ToEntero > 0 Then Dim Row As DataRow = Nothing Row = Dt.NewRow() Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").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("Cantidad").ToString.FormatoNumero End Select Row("Color") = Colors(RowColorIndex) Row("Moneda") = GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("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})", "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 End Class