Option Explicit On Option Strict On Imports System.Data Imports System.IO Imports Extensiones Imports Microsoft.Reporting.WebForms 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 Return DirectCast(ViewState("DtDatos"), DataTable) End Get Set(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 Private Property TipoCambio As Integer Get Return ViewState("TipoCambio").ToString.ToEntero End Get Set(value As Integer) ViewState("TipoCambio") = value End Set End Property Private Property TCEspecifico As Decimal Get Return ViewState("TCEspecifico").ToString.ToDecimal End Get Set(value As Decimal) ViewState("TCEspecifico") = value End Set End Property Private Property Tipo As Integer Get Return ViewState("Tipo").ToString.ToEntero End Get Set(value As Integer) ViewState("Tipo") = value End Set End Property Private Property EsDistribuidor As Integer Get Return ViewState("EsDistribuidor").ToString.ToEntero End Get Set(value As Integer) ViewState("EsDistribuidor") = 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 #Region "CARGAS" Private Sub CargaCombos() Dim CveCliente, CveVendedor, CveUsuario, CveSubProyecto, CveEstatus, CveResponsable, CveAgrupador, CveBanco, CveCuenta, CveClienteSucursal, CveMoneda, CveClienteClasificacion As Integer Dim FechaI, FechaF, TipoDocto, TipoCambio, FechaAplicadoI, FechaAplicadoF, FechaRegistroIEI, FechaRegistroIEF As String 'Carga Clientes If (UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1") Then DdlClientes.setEsWebService(True) DdlClientes.Attributes.Add("data-metodo", "getcliente") DdlClientes.SelectedText = "Todos" DdlClientes.SelectedValue = "-1" Else DdlClientes.setEsWebService(False) DdlClientes.ddl.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) DdlClientes.ddl.DataBind() DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1")) End If 'Carga SubProyectos DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1) DdlSubProyecto.DataBind() 'Carga Vendedor DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) DdlVendedor.DataBind() DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor) If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) DdlVendedor.Attributes.Add("disabled", "disabled") DdlVendedor.Enabled = False End If DdlVendedor.Items.Insert(0, New ListItem("Sin Vendedor", "-2")) 'Carga Usuarios DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlUsuario.DataBind() 'Carga Responsable DdlResponsable.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) DdlResponsable.DataBind() 'Carga Bancos' DdlBanco.DataSource = GlobalDTBancos().FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") DdlBanco.Items.Insert(0, New ListItem("Todos", "-1")) DdlBanco.DataBind() 'Carga Monedas' DdlMoneda.DataSource = GlobalDTMonedas DdlMoneda.Items.Insert(0, New ListItem("Todos", "-1")) DdlMoneda.DataBind() DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones().FiltraParametros("Tipo = 'Ing' and Estatus = True ") DdlTipoTransaccion.DataBind() DdlTipoTransaccion.Items.Insert(0, New ListItem("Todos", "-1")) '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 FechaAplicadoI = If(Request("FechaAplicadoI") IsNot Nothing AndAlso Request("FechaAplicadoI").ToString <> "01/01/1900", Request("FechaAplicadoI").ToString, "-1").ToString FechaAplicadoF = If(Request("FechaAplicadoF") IsNot Nothing AndAlso Request("FechaAplicadoF").ToString <> "01/01/9999", Request("FechaAplicadoF").ToString, "-1").ToString FechaRegistroIEI = If(Request("FechaRegistroIEI") IsNot Nothing AndAlso Request("FechaRegistroIEI").ToString <> "01/01/1900", Request("FechaRegistroIEI").ToString, "-1").ToString FechaRegistroIEF = If(Request("FechaRegistroIEF") IsNot Nothing AndAlso Request("FechaRegistroIEF").ToString <> "01/01/9999", Request("FechaRegistroIEF").ToString, "-1").ToString If FechaAplicadoF <> "-1" Then TxtFechaAplicadoF.Text = FechaAplicadoF End If If FechaAplicadoI <> "-1" Then TxtFechaAplicadoI.Text = FechaAplicadoI End If If FechaRegistroIEF <> "-1" Then TxtFechaRegistroIEF.Text = FechaRegistroIEF End If If FechaRegistroIEI <> "-1" Then TxtFechaRegistroIEI.Text = FechaRegistroIEI End If TipoDocto = IfNull(Request("TipoDocto"), "-1").ToString CveClienteSucursal = IfNull(Request("CveClienteSucursal"), "-1").ToString.ToEntero CveSubProyecto = IfNull(Request("CveSubProyecto"), "-1").ToString.ToEntero CveVendedor = IfNull(Request("Vendedor"), "-1").ToString.ToEntero CveCliente = IfNull(Request("CveCliente"), "-1").ToString.ToEntero CveUsuario = IfNull(Request("CveUsuario"), "-1").ToString.ToEntero CveEstatus = IfNull(Request("CveEstatusFactura"), "-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 TipoCambio = IfNull(Request("TipoCambio"), "-1").ToString TxtEspecifico.Text = IfNull(Request("TCEspecifico"), "").ToString CveMoneda = IfNull(Request("CveMoneda"), "-1").ToString.ToEntero CveClienteClasificacion = IfNull(Request("CveClienteClasificacion"), "-1").ToString.ToEntero Tipo = IfNull(Request("Tipo"), "-1").ToString.ToEntero EsDistribuidor = IfNull(Request("EsDistribuidor"), "-1").ToString.ToEntero 'Carga Clasificacion Cliente' Dim ObjCliente As New ClsClientes If ObjCliente.GetClienteClasificacion(UsuarioActual.CveEmpresa) Then DdlClienteClasificacion.DataSource = ObjCliente.DtResultados End If Dim Entro As Boolean = False If CveClienteSucursal > 0 Then DivLblClientes.Visible = True DivDdlClientes.Visible = True If ObjCliente.GetSucursales(CveCliente) Then If ObjCliente.DtResultados.Rows.Count > 0 Then DdlClienteSucursal.DataSource = ObjCliente.DtResultados Entro = True End If End If End If ObjCliente.Dispose() If Entro Then DdlClienteSucursal.DataBind() DdlClienteSucursal.Items.Insert(0, New ListItem("Todas", "-1")) End If DdlClienteClasificacion.DataBind() DdlClienteClasificacion.Items.Insert(0, New ListItem("Todas", "-1")) DdlVendedor.SelectedValueExist(CveVendedor) DdlSubProyecto.SelectedValueExist(CveSubProyecto) If CveCliente > 0 Then DdlClientes.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("NombreComercial", "") DdlClientes.SelectedValue = CveCliente.ToString End If DdlUsuario.SelectedValueExist(CveUsuario) DdlResponsable.SelectedValueExist(CveResponsable) DdlGrupo.SelectedValueExist(CveAgrupador) DdlEstatusCliente.SelectedValueExist(CveEstatus) DdlTipoDocto.SelectedValueExist(TipoDocto) DdlBanco.SelectedValueExist(CveBanco) DdlCuentaBancaria.SelectedValueExist(CveCuenta) RblTipoCambio.SelectedValue = TipoCambio DdlMoneda.SelectedValueExist(If(TipoCambio.ToEntero > 1, -1, CveMoneda)) DdlClienteClasificacion.SelectedValueExist(CveClienteClasificacion) DdlClienteSucursal.SelectedValueExist(CveClienteSucursal) DdlDistribuidor.SelectedValueExist(EsDistribuidor) DdlTipoTransaccion.SelectedValueExist(IfNull(Request("CveTipoTransaccion"), "-1").ToString.ToEntero) DdlCondicionesPago.SelectedValueExist(IfNull(Request("CveCondicionesPago"), "-1").ToString.ToEntero) If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then lblEsDistribuidor.Visible = True divEsDistribuidor.Visible = True End If End Sub Public Sub CargaDatos() If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDecimal Else TCEspecifico = -1 End If Dim FechaAplicadoI As Date = If(IsDate(TxtFechaAplicadoI.Text), TxtFechaAplicadoI.Text.ToDate, MinFecha) Dim FechaAplicadoF As Date = If(IsDate(TxtFechaAplicadoF.Text), TxtFechaAplicadoF.Text.ToDate, MaxFecha) Dim FechaRegistroIEI As Date = If(IsDate(TxtFechaRegistroIEI.Text), TxtFechaRegistroIEI.Text.ToDate, MinFecha) Dim FechaRegistroIEF As Date = If(IsDate(TxtFechaRegistroIEF.Text), TxtFechaRegistroIEF.Text.ToDate, MaxFecha) Dim ObjMovtos As New ClsMovimientos() If ObjMovtos.GetRepRecuperacionDetalle(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, DdlClientes.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlClienteSucursal.SelectedValue.ToEntero, -1, Iva.ToString, DdlGrupo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlResponsable.SelectedValue.ToEntero, DdlTipoDocto.SelectedValue, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveBanco:=DdlBanco.SelectedValue.ToEntero, CveCuenta:=DdlCuentaBancaria.SelectedValue.ToEntero, Grupo:=Grupo, TipoCambio:=RblTipoCambio.SelectedValue.ToEntero, TCEspecifico:=TCEspecifico, CveMoneda:=DdlMoneda.SelectedValue.ToEntero, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, Tipo:=Tipo, EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero(), FechaAplicadoI:=FechaAplicadoI, FechaAplicadoF:=FechaAplicadoF, FechaRegistroIEI:=FechaRegistroIEI, FechaRegistroIEF:=FechaRegistroIEF, CveTipoTransaccion:=DdlTipoTransaccion.SelectedValue.ToEntero, CveCondicionesPago:=DdlCondicionesPago.SelectedValue.ToEntero) 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 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 #End Region #Region "GRIDVIEW" 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(6).Text = "Total Pesos" e.Row.CssClass = "Totales" e.Row.Cells(2).Text = "" e.Row.Cells(8).Text = "" ElseIf e.Row.DBCampo("SubProyecto") = "" And e.Row.DBCampo("CveMoneda") = "2" Then e.Row.Cells(6).Text = "Total Dólares" e.Row.CssClass = "Totales" e.Row.Cells(2).Text = "" e.Row.Cells(8).Text = "" ElseIf e.Row.DBCampo("CveVenta") = "" Then e.Row.CssClass = "SubTotales" e.Row.Cells(2).Text = "" e.Row.Cells(8).Text = "" End If End If End Sub #End Region #Region "SELECTED INDEX CHANGE" Protected Sub DdlBanco_SelectedIndexChanged(sender As Object, e As EventArgs) CargaCuentas() End Sub #End Region #Region "IMPRESIONES" 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) If DtDatos IsNot Nothing Then 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 DdlVendedor.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Vendedor: {0}", DdlVendedor.SelectedItem.Text) If DdlClientes.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Cliente: {0}", DdlClientes.SelectedText) 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 DdlTipoDocto.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Tipo Docto: {0}", DdlTipoDocto.SelectedItem.Text) If DdlEstatusCliente.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Estatus Cliente: {0}", DdlEstatusCliente.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 DdlClienteSucursal.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Cliente Sucursal: {0}", DdlClienteSucursal.SelectedItem.Text) Dim RutaPDF As String Dim Ruta As String = UsuarioActual.Empresa.Ruta '$"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{UsuarioActual.CveEmpresa}\" 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 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", $"file://{Imagen.FullName}")) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF(RutaPDF, DtDatos, params, String.Format("ReporteRecuperacionDetalle-{0}", Now.ToDateTime.ToShortDateString), Formato) Else Alert("No hay datos consultados.", TipoMensaje.MsgAdvertencia) End If End Sub #End Region Protected Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) If RblTipoCambio.SelectedValue.ToEntero = 3 Then LiEspecifico.Visible = True Else LiEspecifico.Visible = False End If End Sub End Class