Option Strict On Option Explicit On Imports Extensiones Imports System.Data Imports Microsoft.Reporting.WebForms Partial Class RepReqXOC Inherits ClsPaginas Property DTDatos As DataTable Get If ViewState("DTDatos") Is Nothing Then Return New DataTable Else Return DirectCast(ViewState("DTDatos"), DataTable) End If End Get Set(value As DataTable) ViewState("DTDatos") = value End Set End Property Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then txtFechaI.Text = Now.AddDays(-10).ToShortDateString txtFechaF.Text = Now.ToShortDateString CargaProveedores() If UsuarioActual.Empresa.Funcionalidad(108) = "1" Then CargaClientes() CargaVendedores() UPFiltros.Update() Else Ddlcliente.Visible = False DdlVendedor.Visible = False Ddlcliente.Items.Insert(0, New ListItem("Todos", "-1")) DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1")) End If CargaDatos() End If End Sub #Region " CARGA COMBOS " Protected Sub CargaProveedores() ddlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) ddlProveedor.DataBind() ddlProveedor.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Protected Sub CargaClientes() clintesdiv1.Visible = True clintesdiv2.Visible = True ddlcliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) ddlcliente.DataBind() ddlcliente.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Private Sub CargaVendedores() DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) DdlVendedor.DataBind() DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1")) DdlVendedor.Visible = True LblVendedor.Visible = True UPFiltros.Update() End Sub #End Region #Region " CONSULTAR " Private Sub CargaDatos() Dim Folio As Integer = If(txtFolio.Text.ToEntero < 1, -1, txtFolio.Text.ToEntero) Dim OC As New ClsOC If OC.GetOrdenesCompraRepReqXOC(Folio, txtFechaI.Text, txtFechaF.Text, ddlProveedor.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, ddlcliente.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero) Then GvDatos.DataSource = OC.DtResultados DTDatos = OC.DtResultados lblCountRegistros.Text = "Registros: " & OC.DtResultados.Rows.Count.ToString Else DTDatos = Nothing lblCountRegistros.Text = "Registros: 0" GvDatos.DataSource = Nothing End If OC.Dispose() GvDatos.DataBind() UpDatos.Update() End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click CargaDatos() End Sub #End Region #Region "I M P R I M I R P D F/Excel" Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click GenerarPDF("Excel") End Sub Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click GenerarPDF() End Sub Private Sub GenerarPDF(Optional Formato As String = "PDF") Dim ObjTareas As New ClsOIEventos Dim params As New List(Of ReportParameter) Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) 'Dim Filtros As String = "Filtros: " 'params.Add(New ReportParameter("AgrupadoPor", Filtros)) 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", Now.ToDateTime.ToShortDateString)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF("Empresas\Grales\Formatos\RepReqXOC.rdlc", DTDatos, params, $"RepReqXOC_{Now.ToString("yyyyMMddmmss")}", Formato:=Formato) End Sub Private Sub GvDatos_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowCreated If e.Row.RowType = DataControlRowType.Header Then Dim HeaderGrid As GridView = DirectCast(sender, GridView) Dim HeaderGridRow As GridViewRow = New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert) Dim HeaderCellRequisicion As TableCell = New TableCell() HeaderCellRequisicion.Text = "Requisición" HeaderCellRequisicion.ColumnSpan = 3 HeaderCellRequisicion.Style.Value = "border-color: Gray;border-style: solid;border-right-color: #FFFFFF;;border-left-color: Gray;" HeaderGridRow.Cells.Add(HeaderCellRequisicion) Dim HeaderCellOC As TableCell = New TableCell() HeaderCellOC.Text = "OC" HeaderCellOC.ColumnSpan = 2 HeaderCellOC.Style.Value = "border-color: Gray;border-style: solid;border-right-color: #FFFFFF;" HeaderGridRow.Cells.Add(HeaderCellOC) Dim HeaderCellPS As TableCell = New TableCell() HeaderCellPS.Text = "Producto/Servicio" HeaderCellPS.Style.Value = "border-color: Gray;border-style: solid;border-right-color: #FFFFFF;" HeaderCellPS.ColumnSpan = 1 HeaderGridRow.Cells.Add(HeaderCellPS) Dim HeaderCellCantidad As TableCell = New TableCell() HeaderCellCantidad.Text = "Cantidad" HeaderCellCantidad.Style.Value = "border-color: Gray;border-style: solid;border-right-color: #FFFFFF;" HeaderCellCantidad.ColumnSpan = 3 HeaderGridRow.Cells.Add(HeaderCellCantidad) Dim HeaderCellImporte As TableCell = New TableCell() HeaderCellImporte.Text = "Importe" HeaderCellImporte.ColumnSpan = 3 HeaderGridRow.Cells.Add(HeaderCellImporte) HeaderGridRow.Style.Value = "border-top: 1px solid #ddd;text-align:center;font-weight:bold;background-color: Gray;color:#FFFFFF;" GvDatos.Controls(0).Controls.AddAt(0, HeaderGridRow) End If End Sub Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then e.Row.Cells(0).Text = $"{ e.Row.DataKey("REQFolio")}" If e.Row.DataKey("OCFolio").Length > 0 Then e.Row.Cells(3).Text = $"{ e.Row.DataKey("OCFolio")}" Else e.Row.Cells(3).Text = "-" End If End If End Sub #End Region End Class