Files
SIG/Compras/RepProductosServicios.aspx.vb
rrene 1c14bceea9 -- cambio de GlobalDTSubProyectos
- cambio en GlobalDTUsuarios
2024-08-01 05:46:28 -07:00

516 lines
24 KiB
VB.net

Option Explicit On
Option Strict On
Imports Extensiones
Imports System.Data
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RepProductosServicios
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtDatos As DataTable
Get
DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDatos") = 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()
End If
End Sub
#Region "CARGAS"
Private Sub SetValues()
'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(-1, 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 = "Todos"
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(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 Tipo Centro de Costo
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto, VisualizacionReporte:=1)
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
lblCultivo.Visible = True
DivCultivo.Visible = True
Else
lblCultivo.Visible = False
DivCultivo.Visible = False
DdlSubProyecto.AutoPostBack = False
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"))
If UsuarioActual.Empresa.Funcionalidad(307) <> "" Then DdlGrupo.Items.Insert(10, New ListItem(UsuarioActual.Empresa.Funcionalidad(307), "1"))
'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
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = 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
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 ObjCompras.GetRepProductosServicios(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, TipoCambio, TCEspecifico:=TCEspecifico, TipoGasto:=TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario,
TipoDocto:=DdlTipoDocto.SelectedValue, Deducible:=DdlDeducible.SelectedValue.ToEntero, CveCultivo:=Cultivo) Then
DtDatos = ObjCompras.DtResultados
GvDatos.DataSource = DtDatos
Else
DtDatos = Nothing
GvDatos.DataSource = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
#End Region
#Region "CONSULTAR"
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
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 DdlGrupo.SelectedValue.ToEntero < 13 Or DdlGrupo.SelectedValue.ToEntero = 15 Then
If e.Row.DBCampo("GpoID") = "1" Then
e.Row.Cells(0).Text = e.Row.DBCampo("Moneda")
e.Row.CssClass = "Totales"
End If
ElseIf DdlGrupo.SelectedValue.ToEntero = 13 Then
If e.Row.DBCampo("Familia") = "" Then
e.Row.CssClass = "Totales"
ElseIf e.Row.DBCampo("SubFamilia") = "" Then
e.Row.CssClass = "SubTotales2"
ElseIf e.Row.DBCampo("PS") = "" Then
e.Row.CssClass = "SubTotales3"
End If
ElseIf DdlGrupo.SelectedValue.ToEntero = 14 Then
If e.Row.DBCampo("SubFamilia") = "" Then
e.Row.CssClass = "Totales"
ElseIf e.Row.DBCampo("AF") = "" Then
e.Row.CssClass = "SubTotales2"
End If
End If
Dim FechaI = txtFechaI.Text, FechaF = txtFechaF.Text
If DdlGrupo.SelectedValue = "6" Then ' cuando es Año
'-1/01
If e.Row.DBCampo("Anio") = "-1" Then
FechaI = "-1"
FechaF = "-1"
Else
FechaI = $"01/01/{e.Row.DBCampo("Anio")}"
FechaF = $"01/12/{e.Row.DBCampo("Anio")}".ToDate.LastDayOfMonth.ToShortDateString
End If
End If
If DdlGrupo.SelectedValue = "8" Then ' cuando es Año/Mes
If e.Row.DBCampo("AnioMes") = "-1" Then
FechaI = "-1"
FechaF = "-1"
Else
FechaI = $"{e.Row.DBCampo("AnioMes")}/01".ToDate.ToShortDateString
FechaF = $"{e.Row.DBCampo("AnioMes")}/01".ToDate.LastDayOfMonth.ToShortDateString
End If
End If
Dim Liga = String.Format("/Compras/RepProductosServiciosDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveProveedor={5}&CveUsuario={6}&CveEstatusFactura={7}&FechaI={8}&FechaF={9}&CveProyecto={10}&CveSubProyecto={11}&CveCategoria={12}&CveClasificacion={13}&CvePS={14}&CveFamilia={15}&CveSubFamilia={16}&CveTipoAF={17}&CveSubTipoAF={18}&CveAF={19}&CveMoneda={20}&CveTipoGasto={21}&TipoCambio={22}&TCEspecifico={23}&Deducible={24}&CveCultivo={25}",
DdlGrupo.SelectedValue, e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveUsuario"),
e.Row.DBCampo("CveEstatusFactura"), FechaI, FechaF, e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveCategoria"), e.Row.DBCampo("CveClasificacion"),
e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveFamilia"), e.Row.DBCampo("CveSubFamilia"), e.Row.DBCampo("CveTipoAF"), e.Row.DBCampo("CveSubTipoAF"), e.Row.DBCampo("CveAF"), e.Row.DBCampo("CveMoneda"),
DdlTipoGasto.GetSelectedValuesM, e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"), DdlDeducible.SelectedValue.ToEntero, e.Row.DBCampo("CveCultivo"))
If Not e.Row.DBCampo("GpoID") = "1" Then
e.Row.Cells(0).Text = String.Format("<a class=""Texto"" target=""_blank"" href=""{0}"">{1}</a>", Liga, If(e.Row.DBCampo("GpoID") = "1", e.Row.DBCampo("Moneda"), e.Row.DBCampo("GPO")))
End If
e.Row.Cells(1).Text = String.Format("<a class=""Texto"" target=""_blank"" href=""{0}"">{1}</a>", Liga, e.Row.DBCampo("Cantidad").FormatoNumero)
'Si son igual a cero se limpia el campo
If e.Row.DBCampo("SubTotal").ToDouble = 0 Then e.Row.Cells(2).Text = ""
If e.Row.DBCampo("Descuento").ToDouble = 0 Then e.Row.Cells(3).Text = ""
If e.Row.DBCampo("IVA").ToDouble = 0 Then e.Row.Cells(4).Text = ""
If e.Row.DBCampo("Total").ToDouble = 0 Then e.Row.Cells(5).Text = ""
If e.Row.DBCampo("MAX_SubTotal").ToDouble = 0 Then e.Row.Cells(6).Text = ""
If e.Row.DBCampo("AVG_SubTotal").ToDouble = 0 Then e.Row.Cells(7).Text = ""
If e.Row.DBCampo("MIN_SubTotal").ToDouble = 0 Then e.Row.Cells(8).Text = ""
If e.Row.DBCampo("MAX_Total").ToDouble = 0 Then e.Row.Cells(9).Text = ""
If e.Row.DBCampo("AVG_Total").ToDouble = 0 Then e.Row.Cells(10).Text = ""
If e.Row.DBCampo("MIN_Total").ToDouble = 0 Then e.Row.Cells(11).Text = ""
End If
End Sub
#End Region
#Region "PERSONALIZAR"
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
'If ChkMaxTot.Checked Then
' GvDatos.Columns(14).Visible = True
'Else
' GvDatos.Columns(14).Visible = False
'End If
UPDatos.Update()
End Sub
#End Region
#Region " SELECTED INDEX CHANGED"
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue, AplicaTodos:="Todos")
End Sub
Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubProyecto.SelectedIndexChanged
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
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("Sin Asignar", "-2"))
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(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveTipoActivoFijo IN ({0})", DdlTipoAF.GetSelectedValuesM(True)))
DdlSubTipoAF.DataBind()
Else
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa)
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("Todos", "-1"))
End Sub
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
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 "IMPRESION"
Private Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
GeneraPDF("Excel")
'GvDatos.ExportToExcel("ReporteProductosServicios" & NowADS().ToShortDateString)
End Sub
Protected Sub GeneraPDF(Optional Formato As String = "PDF")
Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedor.SelectedText}")
Dim FechaInicio = If(txtFechaI.Text = "", "", $"&emsp;<b>Fecha Inicio:</b>&nbsp;{txtFechaI.Text}")
Dim FechaFin = If(txtFechaF.Text = "", "", $"&emsp;<b>Fecha Fin:</b>&nbsp;{txtFechaF.Text}")
Dim Grupo = If(DdlGrupo.SelectedValue = "-1", "", $"&emsp;<b>Agrupado por:</b>&nbsp;{DdlGrupo.SelectedItem.Text}")
Dim TipoGasto = If(DdlTipoGasto.GetSelectedText = "", "", $"&emsp;<b>Tipo Gasto:</b>&nbsp;{DdlTipoGasto.GetSelectedText}")
Dim Categoria = If(DdlCategoria.GetSelectedText = "", "", $"&emsp;<b>Categoria:</b>&nbsp;{DdlCategoria.GetSelectedText}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b>&nbsp;{DdlClasificacion.SelectedItem.Text}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S.:</b>&nbsp;{DdlPS.SelectedText}")
Dim Proyecto = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>Proyecto:</b>&nbsp;{DdlSubProyecto.GetSelectedText}")
Dim Estatus = If(DdlEstatus.SelectedValue = "-1", "", $"&emsp;<b>Estatus:</b>&nbsp;{DdlEstatus.SelectedItem.Text}")
Dim Usuario = If(DdlUsuario.SelectedValue = "-1", "", $"&emsp;<b>Usuario:</b>&nbsp;{DdlUsuario.SelectedItem.Text}")
Dim TipoAF = If(DdlTipoAF.GetSelectedText = "", "", $"&emsp;<b>Tipo AF:</b>&nbsp;{DdlTipoAF.GetSelectedText}")
Dim SubTipoAF = If(DdlSubTipoAF.GetSelectedText = "", "", $"&emsp;<b>SubTipo AF:</b>&nbsp;{DdlSubTipoAF.GetSelectedText}")
Dim AF = If(DdlAF.SelectedValue = "-1", "", $"&emsp;<b>Activo Fijo:</b>&nbsp;{DdlAF.SelectedItem.Text}")
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("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", NowADS().ToString()))
params.Add(New ReportParameter("Filtros", $"{Grupo}{Proveedor}{FechaInicio}{FechaFin}{TipoGasto}{Categoria}{Clasificacion}{PS}{Proyecto}{Estatus}{Usuario}{TipoAF}{SubTipoAF}{AF}"))
'params.Add(New ReportParameter("Proveedor", DdlProveedor.SelectedItem.Text))
'params.Add(New ReportParameter("FechaInicio", txtFechaI.Text))
'params.Add(New ReportParameter("FechaFin", txtFechaF.Text))
'params.Add(New ReportParameter("Grupo", DdlGrupo.SelectedItem.Text))
'params.Add(New ReportParameter("TipoGasto", IIf(DdlTipoGasto.GetSelectedText = "", "Todos", DdlTipoGasto.GetSelectedText).ToString())) 'DdlTipoGasto.SelectedItem.Text))
'params.Add(New ReportParameter("Categoria", IIf(DdlCategoria.GetSelectedText = "", "Todas", DdlCategoria.GetSelectedText).ToString()))
'params.Add(New ReportParameter("Clasificacion", DdlClasificacion.SelectedItem.Text))
'params.Add(New ReportParameter("PS", IIf(DdlPS.SelectedText = "", "Todos", DdlPS.SelectedText).ToString()))
'params.Add(New ReportParameter("Proyecto", IIf(DdlProyecto.Visible, DdlProyecto.SelectedItem.Text, IIf(DdlSubProyecto.GetSelectedText = "", "Todos", DdlSubProyecto.GetSelectedText)).ToString()))
'params.Add(New ReportParameter("Estatus", DdlEstatus.SelectedItem.Text))
'params.Add(New ReportParameter("Usuario", DdlUsuario.SelectedItem.Text))
'params.Add(New ReportParameter("TipoAF", IIf(DdlTipoAF.GetSelectedText = "", "Todos", DdlTipoAF.GetSelectedText).ToString()))
'params.Add(New ReportParameter("SubTipoAF", IIf(DdlSubTipoAF.GetSelectedText = "", "Todos", DdlSubTipoAF.GetSelectedText).ToString()))
'params.Add(New ReportParameter("AF", IIf(DdlAF.SelectedItem.Text = "", "Todos", DdlAF.SelectedItem.Text).ToString()))
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosCompras.rdlc", DtDatos, params, "Reporte de Productos Servicios", Formato)
End Sub
Protected Sub ImgPDF_Click(sender As Object, e As EventArgs)
GeneraPDF()
End Sub
#End Region
#Region "TIPO CAMBIO"
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 "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("GpoID").ToString = "1" 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})", "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