Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class Inventarios_KardexAlmacen Inherits ClsPaginas Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then TxtFechaI.Text = Now.AddMonths(-1).ToShortDateString TxtFechaF.Text = Now.ToShortDateString CargaCombos() ddlAlmacen.Items.Insert(0, New ListItem("Todos", "-1")) 'If Not UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 13, 66) Then ' GvDatos.Columns(6).Visible = True ' SerieLote ' GvDatos.Columns(7).Visible = True ' FCaducidad 'End If If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero) ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1") CargaPermisos() End If End Sub Private Function isWithFamily() As Boolean Return (UsuarioActual.CveEmpresa = 66) End Function Private Sub CargaCombos() CargaFuncionalidad105() CargaPS() ddlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) ddlAlmacen.DataBind() If IfNull(Request("CveAlmacen"), "-1").ToString.ToEntero > 0 Then ddlAlmacen.SelectedValueExist(Request("CveAlmacen").ToString) CargaClasificaciones() End Sub Private Sub CargaClasificaciones() Dim CveClasificacion = If(Request("CveClasificacion") IsNot Nothing, Request("CveClasificacion").ToString, "-1") If isWithFamily() Then DdlClasificacion.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion") Else Dim ObjClasificaciones As New ClsClasificaciones If UsuarioActual.Empresa.UsaAC Then If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then DdlClasificacion.DataSource = ObjClasificaciones.DtResultados DdlClasificacion.DataBind() End If Else If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then DdlClasificacion.DataSource = ObjClasificaciones.DtResultados DdlClasificacion.DataBind() End If End If ObjClasificaciones.Dispose() End If DdlClasificacion.DataBind() DdlClasificacion.SelectedValueExist(CveClasificacion) End Sub Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged CargaPS() End Sub Private Sub CargaPS() If Not ddlProducto2.UsaWebService Then Dim Filtro = If(DdlClasificacion.SelectedValue >= 0, String.Format("CveClasificacion={0} And CveTipoPS=2", DdlClasificacion.SelectedValue), "CveTipoPS=2") ddlProducto2.ddl.Items.Clear() ddlProducto2.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa).FiltraParametros(Filtro, "PSCodigo") ddlProducto2.DataBind() ddlProducto2.ddl.Items.Insert(0, New ListItem(" Seleccione ", "-1")) End If End Sub Private Sub CargaFuncionalidad105() ddlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") If ddlProducto2.UsaWebService Then ddlProducto2.ddlWS.Attributes.Add("data-Estatus", "-1") ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios") ddlProducto2.ddlWS.Attributes.Add("data-idClasificacion", DdlClasificacion.ClientID) DdlClasificacion.AutoPostBack = False Else ddlProducto2.ddl.Items.Add(New ListItem("Seleccione", "-1")) ddlProducto2.ddl.Items.Add(New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2")) End If End Sub Protected Sub ddlProducto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlProducto2.selectedindexchange DdlUnidadMedida.Items.Clear() DdlUnidadMedida.DataSource = GlobalDTProductosServiciosEquivalencias(ddlProducto2.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) DdlUnidadMedida.DataBind() DdlUnidadMedida.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click Dim CveProducto As Integer = ddlProducto2.SelectedValue.ToEntero If CveProducto > 0 Then CargarKardex(CveProducto) Else Alert("Seleccione un producto.", TipoMensaje.MsgAdvertencia) End If End Sub Private Function CargarKardex(CvePS As Integer) As DataTable Dim dt As DataTable = Nothing Dim ObjMovimientos As New ClsInventarios Dim FechaI As String = If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1") Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1") Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero If ObjMovimientos.GetKardexAlmacen(CvePS, FechaI, FechaF, CveAlmacen, DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then dt = ObjMovimientos.DtResultados GvDatos.DataSource = ObjMovimientos.DtResultados End If ObjMovimientos.Dispose() GvDatos.DataBind() Return dt End Function Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then Dim Liga As String = String.Format($"/Inventarios/Kardex.aspx?CvePS={ddlProducto2.SelectedValue.ToEntero}&CveAlmacen={e.Row.DataKey("CveAlmacen")}&CveUM={DdlUnidadMedida.SelectedValue.ToEntero}&FechaI={TxtFechaI.Text}&FechaF={TxtFechaF.Text}") e.Row.FCHyperLink("HplAlmacen").NavigateUrl = Liga If e.Row.RowIndex = 0 Then e.Row.CssClass = "Titulos" End If End If End Sub Private Sub CargaPermisos() If Not UsuarioActual.TienePermisoProceso(201) Then 'PERMISO PARA VER IMPORTES GvDatos.Columns(5).Visible = False GvDatos.Columns(6).Visible = False GvDatos.Columns(7).Visible = False GvDatos.Columns(8).Visible = False tdImportes.Visible = False End If End Sub Private Sub ImgImprimirExcel_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click GenerarPDF("Excel") End Sub Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click GenerarPDF() End Sub Private Sub GenerarPDF(Optional Formato As String = "PDF") Dim Movimientos As New ClsInventarios Dim CvePS As Integer = ddlProducto2.SelectedValue.ToEntero Dim FechaI As String = If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1") Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1") Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero Dim Almacen = If(ddlAlmacen.SelectedValue = "-1", "", $" Almacén: {ddlAlmacen.SelectedItem.Text}") Dim UM = If(DdlUnidadMedida.SelectedValue = "-1", "", $" Unidad de Medida: {DdlUnidadMedida.SelectedItem.Text}") Dim FechaIn As String = If(TxtFechaI.Text = "", "", $" Fecha Inicio: {TxtFechaI.Text}") Dim FechaFn As String = If(TxtFechaF.Text = "", "", $" Fecha Fin: {TxtFechaF.Text}") Dim EntradaSalida As String = "" If Movimientos.GetKardexAlmacen(CvePS, FechaI, FechaF, CveAlmacen, DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then 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 dt As DataTable = Movimientos.DtResultados 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("Producto", ddlProducto2.SelectedText)) params.Add(New ReportParameter("AgrupadoPor", $"Agrupado Por: {EntradaSalida}{Almacen}{UM}{FechaIn}{FechaFn}")) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) Else params.Add(New ReportParameter("LogoPath", "")) End If ImprimirPDF("Empresas/Grales/Formatos/RepKardexAlmacen.rdlc", dt, params, "ReporteKardex", Formato) Else Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia) End If End Sub End Class