Option Explicit On Option Strict On Imports System.Data Imports Microsoft.Reporting.WebForms Imports Extensiones Partial Class RepRemisionesDetalle Inherits ClsPaginas Private Shared missing As Object = System.Reflection.Missing.Value #Region "PROPIEDADES" Private Property CveVenta As Integer Get Return ViewState("CveVenta").ToString.ToEntero End Get Set(value As Integer) ViewState("CveVenta") = value End Set End Property Private Property FechaI As String Get Return ViewState("FechaI").ToString End Get Set(value As String) ViewState("FechaI") = value End Set End Property Private Property FechaF As String Get Return ViewState("FechaF").ToString End Get Set(value As String) ViewState("FechaF") = value End Set End Property Private Property FechaV As String Get Return ViewState("FechaV").ToString End Get Set(value As String) ViewState("FechaV") = value End Set End Property Private Property CveCliente As Integer Get Return ViewState("CveCliente").ToString.ToEntero End Get Set(value As Integer) ViewState("CveCliente") = value End Set End Property Private Property CveContrato As Integer Get Return ViewState("CveContrato").ToString.ToEntero End Get Set(value As Integer) ViewState("CveContrato") = value End Set End Property Private Property CveSubProyecto As String Get Return ViewState("CveSubProyecto").ToString End Get Set(value As String) ViewState("CveSubProyecto") = 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 DtVentas As DataTable Get Return DirectCast(ViewState("DtVentas"), DataTable) End Get Set(value As DataTable) ViewState("DtVentas") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then CargaCombos() If Request("CveVenta") IsNot Nothing AndAlso IsNumeric(Request("CveVenta")) AndAlso Request("CveVenta").ToEntero > 0 Then CveVenta = Request("CveVenta").ToEntero Else CveVenta = -1 End If If Request("FechaI") IsNot Nothing AndAlso Request("FechaI").ToString.Length = 10 AndAlso Request("FechaI").ToDate > "01/01/1000".ToDate Then FechaI = Request("FechaI").ToString txtFechaI.Text = FechaI Else FechaI = "-1" End If If Request("FechaF") IsNot Nothing AndAlso Request("FechaF").ToString.Length = 10 AndAlso Request("FechaF").ToDate > "01/01/1000".ToDate Then FechaF = Request("FechaF").ToString txtFechaF.Text = FechaF Else FechaF = "-1" End If If Request("FechaV") IsNot Nothing AndAlso Request("FechaV").ToString.Length = 10 AndAlso Request("FechaV").ToDate > "01/01/1000".ToDate Then FechaV = Request("FechaV").ToString TxtFechaVencimiento.Text = FechaV Else FechaV = "-1" End If If Request("CveCliente") IsNot Nothing AndAlso IsNumeric(Request("CveCliente")) AndAlso Request("CveCliente").ToEntero > 0 Then CveCliente = Request("CveCliente").ToEntero Dim Cliente = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("NombreComercial", $"CveCliente ={CveCliente}") If Cliente <> "" Then DdlClientes.SelectedValue = CveCliente.ToString DdlClientes.SelectedText = Cliente End If Else CveCliente = -1 End If If Request("CveContrato") IsNot Nothing AndAlso IsNumeric(Request("CveContrato")) AndAlso Request("CveContrato").ToEntero > 0 Then CveContrato = Request("CveContrato").ToEntero DdlContrato.SelectedValueExist(CveContrato) Else CveContrato = -1 End If If Request("CveSubProyecto") IsNot Nothing Then CveSubProyecto = Request("CveSubProyecto").ToString DdlSubProyectos.SelectedValuesIfExistM(CveSubProyecto) Else CveSubProyecto = "-1" End If If Request("CveMoneda") IsNot Nothing AndAlso IsNumeric(Request("CveMoneda")) AndAlso Request("CveMoneda").ToEntero > 0 Then CveMoneda = Request("CveMoneda").ToEntero Else CveMoneda = -1 End If CargaDatos() 'OrdenaDatos() End If End Sub #Region " C A R G A - D A T O S " Public Sub CargaDatos() Dim ObjVentas As New ClsVentas FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") FechaV = If(IsDate(TxtFechaVencimiento.Text.Trim()), TxtFechaVencimiento.Text.Trim(), "-1") CveCliente = If(DdlClientes.SelectedValue.ToEntero > 0, DdlClientes.SelectedValue.ToEntero, -1) CveContrato = If(DdlContrato.SelectedValue.ToEntero > 0, DdlContrato.SelectedValue.ToEntero, -1) CveSubProyecto = IIf(DdlSubProyectos.GetSelectedValuesM = "", "-1", DdlSubProyectos.GetSelectedValuesM).ToString If ObjVentas.GetRepRemisionesSinFacturarDetalle(FechaI, FechaF, FechaV, CveCliente, CveContrato, CveVenta, UsuarioActual.CveEmpresa, CveSubProyecto, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then If CveMoneda = 1 Or CveMoneda = 2 Then DtVentas = ObjVentas.DtResultados.FiltraParametros($"CveMoneda = {CveMoneda}") Else DtVentas = ObjVentas.DtResultados End If GvDatos.DataSource = DtVentas GvDatos.DataBind() UPDatos.Update() End If ObjVentas.Dispose() End Sub Public Sub CargaCombos() CargaCliente() CargaContrato() CargaSucursales() End Sub Private Sub CargaCliente() 'CargaClientes Dim EsWS = 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 End Sub Private Sub CargaContrato() Dim ObjContratos As New ClsContratos DdlContrato.Items.Clear() If ObjContratos.GetContratos(-1, UsuarioActual.CveEmpresa, DdlClientes.SelectedValue.ToEntero, -1, -1) Then If ObjContratos.DtResultados.Rows.Count > 0 Then DdlContrato.DataSource = ObjContratos.DtResultados DdlContrato.DataBind() End If End If ObjContratos.Dispose() DdlContrato.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Private Sub CargaSucursales() DdlSubProyectos.DataSource() = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyectos.DataBind() 'DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1")) End Sub #End Region #Region "O R D E N A M I E N T O" Private Sub OrdenaDatos() If (GvDatos.Rows.Count > 0) Then GvDatos.UseAccessibleHeader = True GvDatos.HeaderRow.TableSection = TableRowSection.TableHeader RegistraScript("OrdenarGV();") End If End Sub #End Region #Region "G V - D A T O S " 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.DBCampo("FechaVencimiento").ToDate < Now Then ' e.Row.Cells(2).CssClass = "danger" e.Row.Cells(2).ForeColor = Drawing.Color.Red End If End If End Sub #End Region #Region "CARGA COMBOS FILTRO" #End Region #Region "PDF" Private Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click If DtVentas IsNot Nothing Then Dim StrFiltro As New StringBuilder If DdlSubProyectos.GetSelectedText <> "" Then StrFiltro.AppendFormat(" Sucursal: {0}", DdlSubProyectos.GetSelectedText) If DdlClientes.SelectedValue.ToEntero > 0 Then StrFiltro.AppendFormat(" Cliente: {0}", DdlClientes.SelectedText) If DdlContrato.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Contrato: {0}", DdlContrato.SelectedItem.Text) 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 TxtFechaVencimiento.Text <> "" Then StrFiltro.AppendFormat(" Fecha Vencimiento al: {0}", txtFechaI.Text.ToDate.ToShortDateString) 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 FechaI = "", FechaF = "" 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", Now.ToDateTime.ToShortDateString)) params.Add(New ReportParameter("Filtros", StrFiltro.ToString)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF("Empresas/Grales/Formatos/RepRemisionesDetalle.rdlc", DtVentas, params, String.Format("ReporteRemisionesDetalle-{0}", Now.ToDateTime.ToShortDateString)) Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If End Sub #End Region Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click End Sub Private Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click GvDatos.ExportToExcel("Reporte de Remisiones por Facturar Detalle" & Now.ToShortDateString) End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CargaDatos() End Sub End Class