Option Explicit On Option Strict On Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Imports System.IO Partial Class Ventas_RepRecuperacionDetalle Inherits ClsPaginas #Region "Propiedades" Public Property Iva() As String Get Return ViewState("IVA").ToString End Get Set(value As String) ViewState("IVA") = value End Set End Property 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 Public Property Grupo() As String Get Return ViewState("Grupo").ToString End Get Set(value As String) ViewState("Grupo") = 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 CargaCombos() CargaDatos() End If End Sub Private Sub CargaCombos() Dim CveProveedor, CveUsuario, CveSubProyecto, CveResponsable, CveAgrupador, CveBanco, CveCuenta, CveProveedorSucursal As Integer Dim FechaI, FechaF As String 'CARGA PROVEEDORES DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) DdlProveedores.DataBind() 'CargaSubProyectos DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyecto.DataBind() 'CargaUsuarios DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlUsuario.DataBind() 'CargaResponsable DdlResponsable.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) DdlResponsable.DataBind() 'CargaBancos' DdlBanco.DataSource = GlobalDTBancos().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") DdlBanco.Items.Insert(0, New ListItem("Todos", "-1")) DdlBanco.DataBind() txtFechaI.Text = $"01/{Now.Month}/{Now.Year}" txtFechaF.Text = Now.ToShortDateString 'Cargamos las fechas FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString If FechaF <> "-1" Then txtFechaF.Text = FechaF End If If FechaI <> "-1" Then txtFechaI.Text = FechaI End If CveProveedorSucursal = IfNull(Request("CveProveedorSucursal"), "-1").ToString.ToEntero CveSubProyecto = IfNull(Request("CveSubProyecto"), "-1").ToString.ToEntero CveProveedor = IfNull(Request("CveProveedor"), "-1").ToString.ToEntero CveUsuario = IfNull(Request("CveUsuario"), "-1").ToString.ToEntero CveResponsable = IfNull(Request("CveUsuarioResponsable"), "-1").ToString.ToEntero CveAgrupador = IfNull(Request("GPO"), "-1").ToString.ToEntero CveBanco = IfNull(Request("CveBanco"), "-1").ToString.ToEntero CargaCuentas() CveCuenta = IfNull(Request("CveCuenta"), "-1").ToString.ToEntero Iva = IfNull(Request("IVA"), "-1").ToString Grupo = IfNull(Request("Grupo"), "-1").ToString DdlSubProyecto.SelectedValueExist(CveSubProyecto) DdlProveedores.SelectedValueExist(CveProveedor) DdlUsuario.SelectedValueExist(CveUsuario) DdlResponsable.SelectedValueExist(CveResponsable) DdlGrupo.SelectedValueExist(CveAgrupador) DdlBanco.SelectedValueExist(CveBanco) DdlCuentaBancaria.SelectedValueExist(CveCuenta) If CveProveedorSucursal > 0 Then DivProveedores.Visible = True Dim ObjProveedores As New ClsCompProveedores If ObjProveedores.GetSucursales(CveProveedor, UsuarioActual.CveEmpresa) Then If ObjProveedores.DtResultados.Rows.Count > 0 Then DdlProveedorSucursal.DataSource = ObjProveedores.DtResultados End If End If ObjProveedores.Dispose() DdlProveedorSucursal.DataBind() DdlProveedorSucursal.Items.Insert(0, New ListItem("Todas", "-1")) DdlProveedorSucursal.SelectedValueExist(CveProveedorSucursal) End If End Sub Public Sub CargaDatos() Dim ObjMovtos As New ClsMovimientos() If ObjMovtos.GetRepCobradoDetalle(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, DdlProveedores.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlProveedorSucursal.SelectedValue.ToEntero, Iva.ToString, DdlGrupo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlResponsable.SelectedValue.ToEntero, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveBanco:=DdlBanco.SelectedValue.ToEntero, CveCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero, Grupo:=Grupo) Then GvDatos.DataSource = ObjMovtos.DtResultados DtDatos = ObjMovtos.DtResultados Else GvDatos.DataSource = Nothing End If ObjMovtos.Dispose() GvDatos.DataBind() UPDatos.Update() End Sub Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click CargaDatos() End Sub Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("SubProyecto") = "" And e.Row.DBCampo("CveMoneda") = "1" Then e.Row.Cells(4).Text = "Total Pesos" e.Row.Cells(3).Text = "" e.Row.CssClass = "Totales" ElseIf e.Row.DBCampo("SubProyecto") = "" And e.Row.DBCampo("CveMoneda") = "2" Then e.Row.Cells(4).Text = "Total Dólares" e.Row.CssClass = "Totales" e.Row.Cells(3).Text = "" ElseIf e.Row.DBCampo("CveCompra") = "" Then e.Row.CssClass = "SubTotales" End If End If End Sub Protected Sub DdlBanco_SelectedIndexChanged(sender As Object, e As EventArgs) CargaCuentas() End Sub Public Sub CargaCuentas() DdlCuentaBancaria.Items.Clear() If DdlBanco.SelectedValue.ToEntero > 0 Then DdlCuentaBancaria.DataSource = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros($"CveBanco = {DdlBanco.SelectedValue.ToEntero}") End If DdlCuentaBancaria.Items.Insert(0, New ListItem("Todos", "-1")) DdlCuentaBancaria.DataBind() End Sub Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Imprimir("PDF") End Sub Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Imprimir("EXCEL") End Sub Public Sub Imprimir(Formato As String) Dim StrFiltro As New StringBuilder 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 DdlSubProyecto.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Sucursal: {0}", DdlSubProyecto.SelectedItem.Text) If DdlGrupo.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Grupo: {0}", DdlGrupo.SelectedItem.Text) If DdlProveedores.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proveedor: {0}", DdlProveedores.SelectedItem.Text) If DdlUsuario.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Registro: {0}", DdlUsuario.SelectedItem.Text) If DdlResponsable.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Responsable: {0}", DdlResponsable.SelectedItem.Text) If DdlEstatusProveedor.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Estatus Proveedor: {0}", DdlEstatusProveedor.SelectedItem.Text) If DdlBanco.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Banco: {0}", DdlBanco.SelectedItem.Text) If DdlCuentaBancaria.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Cuenta Bancaria: {0}", DdlCuentaBancaria.SelectedItem.Text) If DdlProveedorSucursal.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Proveedor Sucursal: {0}", DdlProveedorSucursal.SelectedItem.Text) Dim RutaPDF As String Dim Ruta As String = UsuarioActual.Empresa.Ruta RutaPDF = $"{Ruta}\Formatos\RepRecuperacionDetalle.rdlc" If Not File.Exists(RutaPDF) Then RutaPDF = "Empresas/Grales/Formatos/RepRecuperacionDetalle.rdlc" End If 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 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", 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(RutaPDF, DtDatos, params, "RepRecuperacionDetalle" & Now.ToString("yyyyMMddhhmmss"), Formato) End Sub End Class