Filtro por numero de serie en el kardex

This commit is contained in:
Raul Pimienta
2019-11-22 00:46:51 -07:00
parent 496de04a26
commit e84aba6082
3 changed files with 5239 additions and 5198 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -141,7 +141,7 @@
<div class="titlefiltros caption "> <div class="titlefiltros caption ">
<div class="row" style="padding-top: 10px; position: relative;"> <div class="row" style="padding-top: 10px; position: relative;">
<asp:Label runat="server" ID="LblPS" CssClass="col-md-1 truncate" style="max-width: 80px;">Producto:</asp:Label> <asp:Label runat="server" ID="LblPS" CssClass="col-md-1 truncate" Style="max-width: 80px;">Producto:</asp:Label>
<div class="col-md-2 " style="min-width: 250px; max-width: 300px;"> <div class="col-md-2 " style="min-width: 250px; max-width: 300px;">
<ADS:Dropdownlost ID="ddlProducto2" runat="server" AutoPostBack="False" DataTextField="PSCodigo" IncluyeTodos="false" DataValueField="CvePS" CssClassDdl="select2me" CssStyle="width: 250px; "></ADS:Dropdownlost> <ADS:Dropdownlost ID="ddlProducto2" runat="server" AutoPostBack="False" DataTextField="PSCodigo" IncluyeTodos="false" DataValueField="CvePS" CssClassDdl="select2me" CssStyle="width: 250px; "></ADS:Dropdownlost>
</div> </div>
@@ -181,37 +181,49 @@
<asp:CheckBox ID="ChkAgruparAlmacen" CssClass="md-checksd" runat="server" Text="Agrupar Almacenes" Checked="False" Visible="false" /> <asp:CheckBox ID="ChkAgruparAlmacen" CssClass="md-checksd" runat="server" Text="Agrupar Almacenes" Checked="False" Visible="false" />
</div> </div>
</div>
</div>
</div>
<div class="portlet-body" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row">
<label class="col-md-1 truncate">Clasificación:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" CssClass="select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 250px !important;">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Unidad Medida:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlUnidadMedida" runat="server" CssClass="select2me " Style="width: 200px !important;" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">
<asp:CheckBox ID="cbEntrada" CssClass="md-checksd" runat="server" Text="Entrada" Checked="True" />
</div>
<div class="col-md-1">
<asp:CheckBox ID="cbSalida" CssClass="md-checksd" runat="server" Text="Salida" Checked="True" />
</div>
<div class="col-md-2">
<button type="button" class="btn btn-default" data-toggle="modal" data-target="#ModalTiposAlmacen">Filtrar tipos almacén</button>
</div>
<div id="DivSerie" runat="server" visible="false">
<label class="col-md-1 truncate" style="max-width: 80px;">Serie:</label>
<div class="col-md-1 ">
<asp:TextBox ID="TxtSerie" CssClass="form-control input-sm" runat="server" Width="90px" />
</div> </div>
</div> </div>
</div>
<div class="portlet-body" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row">
<label class="col-md-1 truncate">Clasificación:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" CssClass="select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 250px !important;">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Unidad Medida:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlUnidadMedida" runat="server" CssClass="select2me " Style="width: 200px !important;" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">
<asp:CheckBox ID="cbEntrada" CssClass="md-checksd" runat="server" Text="Entrada" Checked="True" />
</div>
<div class="col-md-1">
<asp:CheckBox ID="cbSalida" CssClass="md-checksd" runat="server" Text="Salida" Checked="True" />
</div>
<div class="col-md-2">
<button type="button" class="btn btn-default" data-toggle="modal" data-target="#ModalTiposAlmacen">Filtrar tipos almacén</button>
</div>
</div>
</div> </div>
</div> </div>
</div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
@@ -307,8 +319,13 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-12 text-right"> <div class="col-md-12">
<asp:Literal ID="LtIndicador_Mensaje" Text="" runat="server" /> <div class="col-md-6 text-left">
<asp:Literal ID="LtIndicador_MensajeSerie" Text="" runat="server" />
</div>
<div class="col-md-6 text-right">
<asp:Literal ID="LtIndicador_Mensaje" Text="" runat="server" />
</div>
</div> </div>
</div> </div>
</ContentTemplate> </ContentTemplate>
@@ -408,6 +425,7 @@
<AlternatingRowStyle CssClass="TextoAlterno" /> <AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView> </asp:GridView>
</div> </div>
</ContentTemplate> </ContentTemplate>
<Triggers> <Triggers>
<asp:AsyncPostBackTrigger ControlID="btConsultar" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="btConsultar" EventName="Click" />
@@ -454,7 +472,7 @@
</div> </div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
</asp:Content> </asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content> </asp:Content>

View File

@@ -1,378 +1,402 @@
Option Strict On Option Strict On
Option Explicit On Option Explicit On
Imports System.Data Imports System.Data
Imports Extensiones Imports Extensiones
Imports Microsoft.Reporting.WebForms Imports Microsoft.Reporting.WebForms
Partial Class Inventarios_Kardex Partial Class Inventarios_Kardex
Inherits ClsPaginas Inherits ClsPaginas
#Region "P R O P I E D A D E S" #Region "P R O P I E D A D E S"
'Public Property DtKardex As DataTable 'Public Property DtKardex As DataTable
' Get ' Get
' Return CType(ViewState("DtKardex"), DataTable) ' Return CType(ViewState("DtKardex"), DataTable)
' End Get ' End Get
' Set(value As DataTable) ' Set(value As DataTable)
' ViewState("DtKardex") = value ' ViewState("DtKardex") = value
' End Set ' End Set
'End Property 'End Property
Private Property CveMovimiento() As Integer Private Property CveMovimiento() As Integer
Get Get
Return If(IsNothing(ViewState("CveMovimiento")), -1, CInt(ViewState("CveMovimiento"))) Return If(IsNothing(ViewState("CveMovimiento")), -1, CInt(ViewState("CveMovimiento")))
End Get End Get
Set Set
ViewState("CveMovimiento") = Value ViewState("CveMovimiento") = Value
End Set End Set
End Property End Property
#End Region #End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then If Not IsPostBack Then
TxtFechaI.Text = Now.AddMonths(-1).ToShortDateString TxtFechaI.Text = Now.AddMonths(-1).ToShortDateString
TxtFechaF.Text = Now.ToShortDateString TxtFechaF.Text = Now.ToShortDateString
CargaCombos() CargaCombos()
ddlAlmacen.Items.Insert(0, New ListItem("Todos", "-1")) ddlAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
If Not UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 13, 66) Then If Not UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 13, 66) Then
GvM.Columns(6).Visible = True ' SerieLote GvM.Columns(6).Visible = True ' SerieLote
GvM.Columns(7).Visible = True ' FCaducidad GvM.Columns(7).Visible = True ' FCaducidad
End If End If
If UsuarioActual.TienePermisoProceso(258) Then GvM.Columns(1).Visible = True If UsuarioActual.TienePermisoProceso(258) Then GvM.Columns(1).Visible = True
ddlAlmacen.SelectedValue = If(Request("CveAlmacen") IsNot Nothing, Request("CveAlmacen").ToString, "-1") ddlAlmacen.SelectedValue = If(Request("CveAlmacen") IsNot Nothing, Request("CveAlmacen").ToString, "-1")
If Request("FechaI") IsNot Nothing AndAlso Request("FechaI") <> "-1" Then TxtFechaI.Text = Request("FechaI").ToString If Request("FechaI") IsNot Nothing AndAlso Request("FechaI") <> "-1" Then TxtFechaI.Text = Request("FechaI").ToString
If Request("FechaF") IsNot Nothing AndAlso Request("FechaF") <> "-1" Then TxtFechaF.Text = Request("FechaF").ToString If Request("FechaF") IsNot Nothing AndAlso Request("FechaF") <> "-1" Then TxtFechaF.Text = Request("FechaF").ToString
If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero) 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") ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1")
If Request("CvePS") IsNot Nothing And Request("CvePS") <> "-1" Then If Request("CvePS") IsNot Nothing And Request("CvePS") <> "-1" Then
ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1") ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1")
ddlProducto_SelectedIndexChanged(ddlProducto2, EventArgs.Empty) ddlProducto_SelectedIndexChanged(ddlProducto2, EventArgs.Empty)
End If End If
CargaPermisos() CargaPermisos()
If UsuarioActual.CveUsuario = 100 Then If UsuarioActual.CveUsuario = 100 Then
LblPS.ToolTip = ddlProducto2.SelectedValue LblPS.ToolTip = ddlProducto2.SelectedValue
End If End If
End If End If
End Sub End Sub
#Region " INICIALIZA VALORES " #Region " INICIALIZA VALORES "
Private Sub CargaPermisos() Private Sub CargaPermisos()
Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201) Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201)
GvM.Columns(11).Visible = TienePermisoImportes ' costo GvM.Columns(11).Visible = TienePermisoImportes ' costo
GvM.Columns(12).Visible = TienePermisoImportes ' importe GvM.Columns(12).Visible = TienePermisoImportes ' importe
GvM.Columns(14).Visible = TienePermisoImportes ' valor GvM.Columns(14).Visible = TienePermisoImportes ' valor
End Sub End Sub
Private Function isWithFamily() As Boolean Private Function isWithFamily() As Boolean
Return (UsuarioActual.CveEmpresa = 66) Return (UsuarioActual.CveEmpresa = 66)
End Function End Function
Private Sub CargaCombos() Private Sub CargaCombos()
CargaFuncionalidad105() CargaFuncionalidad105()
CargaPS() CargaPS()
ddlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) ddlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1)
ddlAlmacen.DataBind() ddlAlmacen.DataBind()
If IfNull(Request("CveAlmacen"), "-1").ToString.ToEntero > 0 Then ddlAlmacen.SelectedValueExist(Request("CveAlmacen").ToString) If IfNull(Request("CveAlmacen"), "-1").ToString.ToEntero > 0 Then ddlAlmacen.SelectedValueExist(Request("CveAlmacen").ToString)
CargaClasificaciones() CargaClasificaciones()
CBLTiposAlmacen.DataSource = GlobalDTTipoAlmacen(-1) CBLTiposAlmacen.DataSource = GlobalDTTipoAlmacen(-1)
CBLTiposAlmacen.DataBind() CBLTiposAlmacen.DataBind()
For Each item As ListItem In CBLTiposAlmacen.Items For Each item As ListItem In CBLTiposAlmacen.Items
If item.Text = "Entrega Adelantado" Then If item.Text = "Entrega Adelantado" Then
item.Selected = False item.Selected = False
Else Else
item.Selected = True item.Selected = True
End If End If
Next Next
End Sub End Sub
Private Sub CargaFuncionalidad105() Private Sub CargaFuncionalidad105()
ddlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") ddlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If ddlProducto2.UsaWebService Then If ddlProducto2.UsaWebService Then
ddlProducto2.ddlWS.Attributes.Add("data-Estatus", "-1") ddlProducto2.ddlWS.Attributes.Add("data-Estatus", "-1")
ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios") ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios")
ddlProducto2.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) ddlProducto2.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
'DdlClasificacion.AutoPostBack = False 'DdlClasificacion.AutoPostBack = False
Else Else
ddlProducto2.ddl.Items.Add(New ListItem("Seleccione", "-1")) ddlProducto2.ddl.Items.Add(New ListItem("Seleccione", "-1"))
ddlProducto2.ddl.Items.Add(New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2")) ddlProducto2.ddl.Items.Add(New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2"))
End If End If
End Sub End Sub
Private Sub CargaClasificaciones() Private Sub CargaClasificaciones()
Dim CveClasificacion = If(Request("CveClasificacion") IsNot Nothing, Request("CveClasificacion").ToString, "-1") Dim CveClasificacion = If(Request("CveClasificacion") IsNot Nothing, Request("CveClasificacion").ToString, "-1")
If isWithFamily() Then If isWithFamily() Then
DdlClasificacion.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion") DdlClasificacion.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
Else Else
Dim ObjClasificaciones As New ClsClasificaciones Dim ObjClasificaciones As New ClsClasificaciones
If UsuarioActual.Empresa.UsaAC Then If UsuarioActual.Empresa.UsaAC Then
If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then
DdlClasificacion.DataSource = ObjClasificaciones.DtResultados DdlClasificacion.DataSource = ObjClasificaciones.DtResultados
' DdlClasificacion.DataBind() ' DdlClasificacion.DataBind()
End If End If
Else Else
If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then
DdlClasificacion.DataSource = ObjClasificaciones.DtResultados DdlClasificacion.DataSource = ObjClasificaciones.DtResultados
' DdlClasificacion.DataBind() ' DdlClasificacion.DataBind()
End If End If
End If End If
ObjClasificaciones.Dispose() ObjClasificaciones.Dispose()
End If End If
'DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", "Clasificacion") 'DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", "Clasificacion")
DdlClasificacion.DataBind() DdlClasificacion.DataBind()
DdlClasificacion.SelectedValueExist(CveClasificacion) DdlClasificacion.SelectedValueExist(CveClasificacion)
End Sub End Sub
#End Region #End Region
#Region " CARGA PS " #Region " CARGA PS "
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged
CargaPS() CargaPS()
End Sub End Sub
Private Sub CargaPS() Private Sub CargaPS()
If Not ddlProducto2.UsaWebService Then If Not ddlProducto2.UsaWebService Then
Dim Filtro = If(DdlClasificacion.SelectedValue.ToEntero > 0, String.Format("CveClasificacion={0} And CveTipoPS=2", DdlClasificacion.SelectedValue), "CveTipoPS=2") Dim Filtro = If(DdlClasificacion.SelectedValue.ToEntero > 0, String.Format("CveClasificacion={0} And CveTipoPS=2", DdlClasificacion.SelectedValue), "CveTipoPS=2")
ddlProducto2.ddl.Items.Clear() ddlProducto2.ddl.Items.Clear()
ddlProducto2.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa).FiltraParametros(Filtro, "PSCodigo") ddlProducto2.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa).FiltraParametros(Filtro, "PSCodigo")
ddlProducto2.DataBind() ddlProducto2.DataBind()
ddlProducto2.ddl.Items.Insert(0, New ListItem(" Seleccione ", "-1")) ddlProducto2.ddl.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
Else Else
ddlProducto2.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) ddlProducto2.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
ddlProducto2.SelectedText = "" ddlProducto2.SelectedText = ""
ddlProducto2.SelectedValue = "-1" ddlProducto2.SelectedValue = "-1"
End If End If
End Sub End Sub
Protected Sub ddlProducto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlProducto2.selectedindexchange Protected Sub ddlProducto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlProducto2.selectedindexchange
DdlUnidadMedida.Items.Clear() DdlUnidadMedida.Items.Clear()
DdlUnidadMedida.DataSource = GlobalDTProductosServiciosEquivalencias(ddlProducto2.SelectedValue.ToEntero, -1) DdlUnidadMedida.DataSource = GlobalDTProductosServiciosEquivalencias(ddlProducto2.SelectedValue.ToEntero, -1)
DdlUnidadMedida.DataBind() DdlUnidadMedida.DataBind()
DdlUnidadMedida.Items.Insert(0, New ListItem("Todos", "-1")) DdlUnidadMedida.Items.Insert(0, New ListItem("Todos", "-1"))
If UsuarioActual.CveUsuario = 100 Then If UsuarioActual.CveUsuario = 100 Then
LblPS.ToolTip = ddlProducto2.SelectedValue LblPS.ToolTip = ddlProducto2.SelectedValue
End If End If
End Sub
#End Region TxtSerie.Text = ""
If ddlProducto2.SelectedValue.ToEntero > 0 Then
#Region " CARGA DATOS " Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, ddlProducto2.SelectedValue.ToEntero).FiltroPrimero("")
Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click If Dr IsNot Nothing Then
CargaDatos() If Dr("Inv_CveMetodoInventario").ToString.ToEntero = 5 Then
End Sub DivSerie.Visible = True
Else
Private Sub CargaDatos() DivSerie.Visible = False
Dim CveProducto As Integer = ddlProducto2.SelectedValue.ToEntero End If
End If
If CveProducto > 0 Then End If
Dim DtTemp = CargarKardex(CveProducto)
If DtTemp IsNot Nothing Then End Sub
'CARGA INDICADORES #End Region
If UsuarioActual.TienePermisoProceso(201) Then
DivIndicadores.Visible = True #Region " CARGA DATOS "
Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click
Dim Dr = DtTemp.FiltroUltimo("") CargaDatos()
Dim TC = If(GlobalTipoCambio(Now) > 0, GlobalTipoCambio(Now), 1) End Sub
LtIndicador_Existencia.Text = Dr("Existencias").ToString.FormatoNumero() Private Sub CargaDatos()
Dim CveProducto As Integer = ddlProducto2.SelectedValue.ToEntero
LtIndicador_ValorPesos.Text = Dr("ValorInventario").ToString.FormatoNumero()
LtIndicador_ValorDolares.Text = (Dr("ValorInventario").ToString.ToDouble / TC).FormatoNumero() If CveProducto > 0 Then
Dim DtTemp = CargarKardex(CveProducto)
Dim CostoPromedio = If(Dr("Existencias").ToString.ToDouble > 0, Dr("ValorInventario").ToString.ToDouble / Dr("Existencias").ToString.ToDouble, 0) If DtTemp IsNot Nothing Then
LtIndicador_CPPesos.Text = CostoPromedio.FormatoNumero() 'CARGA INDICADORES
LtIndicador_CPDolares.Text = (CostoPromedio / TC).FormatoNumero() If UsuarioActual.TienePermisoProceso(201) Then
DivIndicadores.Visible = True
LtIndicador_UCPesos.Text = Dr("UltimoCosto").ToString.FormatoNumero()
LtIndicador_UCDolares.Text = Dr("UltimoCostoUSD").ToString.FormatoNumero() Dim Dr = DtTemp.FiltroUltimo("")
Dim TC = If(GlobalTipoCambio(Now) > 0, GlobalTipoCambio(Now), 1)
LtIndicador_Mensaje.Text = $"* Importes calculados con el tipo de cambio del dia <b> $ {TC.FormatoNumero(4)} </b>"
LtIndicador_Existencia.Text = Dr("Existencias").ToString.FormatoNumero()
UpIndicadores.Update()
LtIndicador_ValorPesos.Text = Dr("ValorInventario").ToString.FormatoNumero()
GvM.Attributes.Add("data-heighterror", "430") LtIndicador_ValorDolares.Text = (Dr("ValorInventario").ToString.ToDouble / TC).FormatoNumero()
Else
GvM.Attributes.Add("data-heighterror", "270") Dim CostoPromedio = If(Dr("Existencias").ToString.ToDouble > 0, Dr("ValorInventario").ToString.ToDouble / Dr("Existencias").ToString.ToDouble, 0)
End If LtIndicador_CPPesos.Text = CostoPromedio.FormatoNumero()
GvM.DataSource = DtTemp LtIndicador_CPDolares.Text = (CostoPromedio / TC).FormatoNumero()
GvM.DataBind()
End If LtIndicador_UCPesos.Text = Dr("UltimoCosto").ToString.FormatoNumero()
Else LtIndicador_UCDolares.Text = Dr("UltimoCostoUSD").ToString.FormatoNumero()
Alert("Seleccione un producto.", TipoMensaje.MsgAdvertencia)
End If LtIndicador_Mensaje.Text = $"* Importes calculados con el tipo de cambio del dia <b> $ {TC.FormatoNumero(4)} </b>"
End Sub
If TxtSerie.Text <> "" Then
Private Function CargarKardex(CvePS As Integer) As DataTable LtIndicador_MensajeSerie.Text = $"* Existencia y costos calculada por numero de serie: <b> {TxtSerie.Text} </b>"
Dim dt As DataTable = Nothing Else
LtIndicador_MensajeSerie.Text = ""
Dim Entrada As Boolean = cbEntrada.Checked End If
Dim Salida As Boolean = cbSalida.Checked
UpIndicadores.Update()
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") GvM.Attributes.Add("data-heighterror", "430")
Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero Else
If CvePS > 0 Then ddlProducto2.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("PSCodigo", "") GvM.Attributes.Add("data-heighterror", "270")
End If
Dim CveTiposAlmacen = "" GvM.DataSource = DtTemp
For Each item As ListItem In CBLTiposAlmacen.Items GvM.DataBind()
CveTiposAlmacen += If(item.Selected, $"{item.Value},", "") End If
Next Else
Alert("Seleccione un producto.", TipoMensaje.MsgAdvertencia)
Dim ObjInventarios As New ClsInventarios End If
If ObjInventarios.GetKardex(Entrada, Salida, CvePS, FechaI, FechaF, CveAlmacen, CveTiposAlmacen.Substring(0, CveTiposAlmacen.Length - 1), DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, ChkAgruparAlmacen.Checked) Then End Sub
dt = ObjInventarios.DtResultados.Copy
End If Private Function CargarKardex(CvePS As Integer) As DataTable
ObjInventarios.Dispose() Dim dt As DataTable = Nothing
Return dt Dim Entrada As Boolean = cbEntrada.Checked
End Function Dim Salida As Boolean = cbSalida.Checked
Protected Sub gvMovimientos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvM.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then 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")
e.Row.Cells(0).ToolTip = e.Row.DBCampo("FechaMovto") Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero
If CvePS > 0 Then ddlProducto2.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("PSCodigo", "")
If UsuarioActual.TienePermisoProceso(201) Then 'PERMISO PARA VER IMPORTES
If e.Row.DBCampo("CveCompra") <> "" Then Dim CveTiposAlmacen = ""
e.Row.FCHyperLink("hlFolioD").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DBCampo("CveCompra")) For Each item As ListItem In CBLTiposAlmacen.Items
ElseIf e.Row.DBCampo("CveVenta") <> "" Then CveTiposAlmacen += If(item.Selected, $"{item.Value},", "")
e.Row.FCHyperLink("hlFolioD").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DBCampo("CveVenta")) Next
ElseIf e.Row.DBCampo("CveOrdenCompra") <> "" Then
e.Row.FCHyperLink("hlFolioD").NavigateUrl = String.Format("/OC/OC.aspx?OC={0}", e.Row.DBCampo("CveOrdenCompra")) Dim Serie As String = If(TxtSerie.Text <> "", TxtSerie.Text, "-1")
End If
End If Dim ObjInventarios As New ClsInventarios
If ObjInventarios.GetKardex(Entrada, Salida, CvePS, FechaI, FechaF, CveAlmacen, CveTiposAlmacen.Substring(0, CveTiposAlmacen.Length - 1), DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, ChkAgruparAlmacen.Checked, Serie) Then
If GvM.Columns(1).Visible Then dt = ObjInventarios.DtResultados.Copy
If Not e.Row.DBCampo("CveMovimiento").ToEntero > 0 Then End If
e.Row.Cells(1).Text = "" ObjInventarios.Dispose()
End If
End If Return dt
End Function
If e.Row.DBCampo("Concepto").Contains("TOTAL GENERAL") Then Protected Sub gvMovimientos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvM.RowDataBound
e.Row.CssClass = "Totales" If e.Row.RowType = DataControlRowType.DataRow Then
ElseIf e.Row.DBCampo("Concepto").Contains("SALDO INICIAL") Then
e.Row.CssClass = "SubTotales" e.Row.Cells(0).ToolTip = e.Row.DBCampo("FechaMovto")
End If
If UsuarioActual.TienePermisoProceso(201) Then 'PERMISO PARA VER IMPORTES
End If If e.Row.DBCampo("CveCompra") <> "" Then
End Sub e.Row.FCHyperLink("hlFolioD").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DBCampo("CveCompra"))
#End Region ElseIf e.Row.DBCampo("CveVenta") <> "" Then
e.Row.FCHyperLink("hlFolioD").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DBCampo("CveVenta"))
#Region " IMPRIMIR " ElseIf e.Row.DBCampo("CveOrdenCompra") <> "" Then
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click e.Row.FCHyperLink("hlFolioD").NavigateUrl = String.Format("/OC/OC.aspx?OC={0}", e.Row.DBCampo("CveOrdenCompra"))
'Imprimir("Excel") End If
GenerarPDF("Excel") End If
End Sub
Private Sub Imprimir(Optional reporte As String = "PDF") If GvM.Columns(1).Visible Then
If Not e.Row.DBCampo("CveMovimiento").ToEntero > 0 Then
Dim DtKardex As DataTable = Nothing e.Row.Cells(1).Text = ""
DtKardex = CargarKardex(ddlProducto2.SelectedValue.ToEntero) End If
If (Not IsNothing(DtKardex)) Then End If
Dim params As New List(Of ReportParameter)
If IO.File.Exists(String.Format("{0}/Formatos/Kardex.rdlc", UsuarioActual.Empresa.Ruta)) Then If e.Row.DBCampo("Concepto").Contains("TOTAL GENERAL") Then
ImprimirPDF(String.Format("Empresas/{0}/Formatos/Kardex.rdlc", UsuarioActual.CveEmpresa), DtKardex, params, "ReporteKardex", reporte) e.Row.CssClass = "Totales"
Else ElseIf e.Row.DBCampo("Concepto").Contains("SALDO INICIAL") Then
ImprimirPDF("Empresas/Grales/Formatos/Kardex.rdlc", DtKardex, params, "Reporte Kardex", reporte) e.Row.CssClass = "SubTotales"
End If End If
DtKardex.Dispose()
End If End If
End Sub
End Sub #End Region
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarPDF() #Region " IMPRIMIR "
End Sub Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
Private Sub GenerarPDF(Optional Formato As String = "PDF") 'Imprimir("Excel")
Dim Movimientos As New ClsInventarios GenerarPDF("Excel")
Dim CvePS As Integer = ddlProducto2.SelectedValue.ToEntero End Sub
Dim Entrada As Boolean = cbEntrada.Checked Private Sub Imprimir(Optional reporte As String = "PDF")
Dim Salida As Boolean = cbSalida.Checked
Dim DtKardex As DataTable = Nothing
Dim FechaI As String = If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1") DtKardex = CargarKardex(ddlProducto2.SelectedValue.ToEntero)
Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1") If (Not IsNothing(DtKardex)) Then
Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero Dim params As New List(Of ReportParameter)
If IO.File.Exists(String.Format("{0}/Formatos/Kardex.rdlc", UsuarioActual.Empresa.Ruta)) Then
ImprimirPDF(String.Format("Empresas/{0}/Formatos/Kardex.rdlc", UsuarioActual.CveEmpresa), DtKardex, params, "ReporteKardex", reporte)
Dim Almacen = If(ddlAlmacen.SelectedValue = "-1", "", $"&emsp;<b>Almacén:</b>&nbsp;{ddlAlmacen.SelectedItem.Text}") Else
Dim UM = If(DdlUnidadMedida.SelectedValue = "-1", "", $"&emsp;<b>Unidad de Medida:</b>&nbsp;{DdlUnidadMedida.SelectedItem.Text}") ImprimirPDF("Empresas/Grales/Formatos/Kardex.rdlc", DtKardex, params, "Reporte Kardex", reporte)
Dim FechaIn As String = If(TxtFechaI.Text = "", "", $"&emsp;<b>Fecha Inicio:</b>&nbsp;{TxtFechaI.Text}") End If
Dim FechaFn As String = If(TxtFechaF.Text = "", "", $"&emsp;<b>Fecha Fin:</b>&nbsp;{TxtFechaF.Text}") DtKardex.Dispose()
Dim EntradaSalida As String = "" End If
If cbEntrada.Checked And cbSalida.Checked Then End Sub
EntradaSalida = "Entradas y Salidas" Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
ElseIf cbEntrada.Checked And cbSalida.Checked = False Then GenerarPDF()
EntradaSalida = "Solo Entradas" End Sub
ElseIf cbEntrada.Checked = False And cbSalida.Checked Then Private Sub GenerarPDF(Optional Formato As String = "PDF")
EntradaSalida = "Solo Salidas" Dim Movimientos As New ClsInventarios
End If Dim CvePS As Integer = ddlProducto2.SelectedValue.ToEntero
Dim Entrada As Boolean = cbEntrada.Checked
Dim Salida As Boolean = cbSalida.Checked
If Movimientos.GetKardex(Entrada, Salida, CvePS, FechaI, FechaF, CveAlmacen, "1", DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, ChkAgruparAlmacen.Checked) Then
Dim FechaI As String = If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1")
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) Dim CveAlmacen As Integer = ddlAlmacen.SelectedValue.ToEntero
Dim dt As DataTable = Movimientos.DtResultados
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) Dim Almacen = If(ddlAlmacen.SelectedValue = "-1", "", $"&emsp;<b>Almacén:</b>&nbsp;{ddlAlmacen.SelectedItem.Text}")
params.Add(New ReportParameter("FechaInicio", FechaI)) Dim UM = If(DdlUnidadMedida.SelectedValue = "-1", "", $"&emsp;<b>Unidad de Medida:</b>&nbsp;{DdlUnidadMedida.SelectedItem.Text}")
params.Add(New ReportParameter("FechaFin", FechaF)) Dim FechaIn As String = If(TxtFechaI.Text = "", "", $"&emsp;<b>Fecha Inicio:</b>&nbsp;{TxtFechaI.Text}")
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) Dim FechaFn As String = If(TxtFechaF.Text = "", "", $"&emsp;<b>Fecha Fin:</b>&nbsp;{TxtFechaF.Text}")
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString)) Dim EntradaSalida As String = ""
params.Add(New ReportParameter("Producto", ddlProducto2.SelectedText))
params.Add(New ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b>&nbsp;{EntradaSalida}{Almacen}{UM}{FechaIn}{FechaFn}")) If cbEntrada.Checked And cbSalida.Checked Then
EntradaSalida = "&emsp;Entradas y Salidas"
If Imagen.Exists Then ElseIf cbEntrada.Checked And cbSalida.Checked = False Then
params.Add(New ReportParameter("LogoPath", logouri)) EntradaSalida = "&emsp;Solo Entradas"
Else ElseIf cbEntrada.Checked = False And cbSalida.Checked Then
params.Add(New ReportParameter("LogoPath", "")) EntradaSalida = "&emsp;Solo Salidas"
End If End If
ImprimirPDF("Empresas/Grales/Formatos/RepKardex.rdlc", dt, params, "ReporteKardex", Formato)
Else Dim Serie As String = If(TxtSerie.Text <> "", TxtSerie.Text, "-1")
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If Dim SerieAgrupado As String = If(TxtSerie.Text = "", "", $"<b>Existencia y costos calculada por numero de serie:</b>&nbsp;{TxtSerie.Text} ")
End Sub If Movimientos.GetKardex(Entrada, Salida, CvePS, FechaI, FechaF, CveAlmacen, "1", DdlUnidadMedida.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, ChkAgruparAlmacen.Checked, Serie) Then
#End Region
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
#Region "EDITAR FECHA" 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
Protected Sub LnkEditarFecha_Click(sender As Object, e As EventArgs) Dim params As New List(Of ReportParameter)
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
CveMovimiento = gvRow.DataKey("CveMovimiento").ToEntero params.Add(New ReportParameter("FechaInicio", FechaI))
TxtFecha.Text = gvRow.DataKey("FechaMovto").ToDateTime.ToString("yyyy-MM-ddTHH:mm") params.Add(New ReportParameter("FechaFin", FechaF))
RegistraScript("$('#DModalEditarFecha').modal()") params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
UpModalEditarFecha.Update() params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
End Sub params.Add(New ReportParameter("Producto", ddlProducto2.SelectedText))
params.Add(New ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b>&nbsp;{SerieAgrupado}{EntradaSalida}{Almacen}{UM}{FechaIn}{FechaFn}"))
Protected Sub BtnEditarFecha_Click(sender As Object, e As EventArgs) If Imagen.Exists Then
Dim ObjMov As New ClsMovimientos params.Add(New ReportParameter("LogoPath", logouri))
If ObjMov.UpdateMovimientoFecha(TxtFecha.Text.ToDateTime, CveMovimiento) Then Else
Alert("Actualizada correctamente a : " + TxtFecha.Text.ToDateTime.ToString("yyyy-MM-dd HH:mm")) params.Add(New ReportParameter("LogoPath", ""))
RegistraScript("$('#DModalEditarFecha').modal('hide')") End If
CargaDatos() ImprimirPDF("Empresas/Grales/Formatos/RepKardex.rdlc", dt, params, "ReporteKardex", Formato)
UPDatos.Update() Else
End If Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
ObjMov.Dispose() End If
End Sub
End Sub
#End Region #End Region
#Region "EDITAR FECHA"
End Class
Protected Sub LnkEditarFecha_Click(sender As Object, e As EventArgs)
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
CveMovimiento = gvRow.DataKey("CveMovimiento").ToEntero
TxtFecha.Text = gvRow.DataKey("FechaMovto").ToDateTime.ToString("yyyy-MM-ddTHH:mm")
RegistraScript("$('#DModalEditarFecha').modal()")
UpModalEditarFecha.Update()
End Sub
Protected Sub BtnEditarFecha_Click(sender As Object, e As EventArgs)
Dim ObjMov As New ClsMovimientos
If ObjMov.UpdateMovimientoFecha(TxtFecha.Text.ToDateTime, CveMovimiento) Then
Alert("Actualizada correctamente a : " + TxtFecha.Text.ToDateTime.ToString("yyyy-MM-dd HH:mm"))
RegistraScript("$('#DModalEditarFecha').modal('hide')")
CargaDatos()
UPDatos.Update()
End If
ObjMov.Dispose()
End Sub
#End Region
End Class