Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -325,7 +325,7 @@ Public Class ClsInventarios
|
||||
End Function
|
||||
Public Function GetRepAlmacenes(FechaInicio As String, FechaFin As String, CveEmpresa As Integer, CveTipoAlmacen As String, Contabilizable As Integer, Inventariable As Integer,
|
||||
Optional SoloMovimientosContables As Boolean = False, Optional Almacenes As String = "-1", Optional CveSubProyecto As Integer = -1,
|
||||
Optional CveUsuarioConsulta As Integer = -1) As Boolean
|
||||
Optional CveUsuarioConsulta As Integer = -1, Optional Gpo As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_Inv_AlmacenesRepGet")
|
||||
|
||||
@@ -340,6 +340,7 @@ Public Class ClsInventarios
|
||||
.Add("@Almacenes", SqlDbType.VarChar).Value = Almacenes
|
||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
|
||||
.Add("@Gpo", SqlDbType.Int).Value = Gpo
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
Imports System.Data
|
||||
Imports System.Data.SqlClient
|
||||
Imports Microsoft.VisualBasic
|
||||
Imports Telerik.Web.UI.ImageEditor
|
||||
|
||||
Public Class ClsOP
|
||||
Implements IDisposable
|
||||
@@ -112,7 +113,55 @@ Public Class ClsOP
|
||||
|
||||
Public Function GetProductosOP(CveOP As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OP_ProductosGET")
|
||||
DataAdapter("PA_OP_ProductosGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveOP", SqlDbType.Int).Value = CveOP
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener los productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetProductosMO(CveOP As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OP_ProductosMOGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveOP", SqlDbType.Int).Value = CveOP
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener los productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetProductosMP(CveOP As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OP_ProductosMPGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveOP", SqlDbType.Int).Value = CveOP
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener los productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetProductosCI(CveOP As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OP_ProductosCIGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveOP", SqlDbType.Int).Value = CveOP
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
@@ -359,7 +408,7 @@ Public Class ClsOP
|
||||
|
||||
|
||||
#Region "O R D E N E S D E P R O D U C C I O N"
|
||||
Public Function GetReportesOP(CveOP As Integer, CveCliente As Integer, CveSubProyecto As Integer, CvePS As Integer, CveEstatus As Integer, Asignado As Integer, FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer) As Boolean
|
||||
Public Function GetReportesOP(CveOP As Integer, CveCliente As Integer, CveSubProyecto As Integer, CvePS As Integer, CveEstatus As Integer, Asignado As Integer, FechaI As Date, FechaF As Date, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OP_OrdendeProduccionGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
@@ -369,8 +418,8 @@ Public Class ClsOP
|
||||
.Add("@CvePS", SqlDbType.Int).Value = CvePS
|
||||
.Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus
|
||||
.Add("@Asignado", SqlDbType.Int).Value = Asignado
|
||||
.Add("@FechaI", SqlDbType.Date).Value = FechaInicio
|
||||
.Add("@FechaF", SqlDbType.Date).Value = FechaFin
|
||||
.Add("@FechaI", SqlDbType.Date).Value = FechaI
|
||||
.Add("@FechaF", SqlDbType.Date).Value = FechaF
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
Try
|
||||
@@ -382,6 +431,75 @@ Public Class ClsOP
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetOP(CveOP As Integer, CveCliente As Integer, CveSubProyecto As Integer, CvePS As Integer, CveEstatus As Integer, Asignado As Integer, FechaI As Date, FechaF As Date, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OP_OrdendeProduccionGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveOP", SqlDbType.Int).Value = CveOP
|
||||
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
|
||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||
.Add("@CvePS", SqlDbType.Int).Value = CvePS
|
||||
.Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus
|
||||
.Add("@Asignado", SqlDbType.Int).Value = Asignado
|
||||
.Add("@FechaI", SqlDbType.Date).Value = FechaI
|
||||
.Add("@FechaF", SqlDbType.Date).Value = FechaF
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al obtener los productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetEstatusOP(CveEmpresa As Integer, Optional CveEstatusOP As Integer = -1, Optional TipoEstatus As Integer = -1, Optional Estatus As Integer = -1) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
DataAdapter("PA_OP_EstatusOPGet")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveEstatusOP", SqlDbType.Int).Value = CveEstatusOP
|
||||
.Add("@TipoEstatus", SqlDbType.Int).Value = TipoEstatus
|
||||
.Add("@Estatus", SqlDbType.Int).Value = Estatus
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As SqlException
|
||||
OnError("Ocurrió un error al consultar los Estatus de Factura.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function UpdateOP(CveOP As Integer, Descripcion As String, CveCliente As Integer, CvePS As Integer, CveSubProyecto As Integer, Cantidad As Integer, Fecha As Date, CveEmpresa As Integer, CveUsuario As Integer) As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
DataAdapter("PA_OP_OrdendeProduccionUp")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveOP", SqlDbType.Int).Value = CveOP
|
||||
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
|
||||
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
|
||||
.Add("@CvePS", SqlDbType.Int).Value = CvePS
|
||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||
.Add("@Cantidad", SqlDbType.Int).Value = Cantidad
|
||||
.Add("@Fecha", SqlDbType.Date).Value = Fecha
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al guardar la orden de producción.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
#Region "IDisposable Support"
|
||||
' IDisposable
|
||||
|
||||
@@ -403,6 +403,33 @@ Public Class ClsPaginas
|
||||
Application("GlobalDTEstatus") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#Region "ordenes de producción"
|
||||
Property GlobalDTOPEstatus(CveEmpresa As Integer, Optional Estatus As Integer = -1) As DataTable
|
||||
Get
|
||||
Dim AppNombre As String = $"GlobalDTOPEstatus-{CveEmpresa}"
|
||||
If HttpContext.Current.Application(AppNombre) Is Nothing Then
|
||||
Using ObjOP As New ClsOP
|
||||
If ObjOP.GetEstatusOP(CveEmpresa) Then Application(AppNombre) = ObjOP.DtResultados
|
||||
End Using
|
||||
End If
|
||||
Dim filtros As New List(Of String)
|
||||
If Estatus <> -1 Then filtros.Add($"Estatus = {Estatus}")
|
||||
|
||||
If filtros.Count > 0 Then
|
||||
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), String.Join(" AND ", filtros), "", DataViewRowState.CurrentRows)
|
||||
GlobalDTOPEstatus = Dv.ToTable
|
||||
Dv.Dispose()
|
||||
Else
|
||||
GlobalDTOPEstatus = DirectCast(HttpContext.Current.Application(AppNombre), DataTable)
|
||||
End If
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
Dim AppNombre As String = $"GlobalDTOPEstatus-{CveEmpresa}"
|
||||
Application(AppNombre) = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
Property DtFacturaDefault() As DataTable
|
||||
Get
|
||||
DtFacturaDefault = DirectCast(Application("DtFacturaDefault"), DataTable)
|
||||
@@ -9908,6 +9935,7 @@ Public Class ClsPaginas
|
||||
PaginaDict.Add("/OI/ConvocatoriaDetalle.aspx".ToUpper(), 908)
|
||||
PaginaDict.Add("/OI/RepReuniones.aspx".ToUpper(), 908)
|
||||
PaginaDict.Add("/AdSistemasTeam/ProcedimientosAlmacenados.aspx".ToUpper(), -1)
|
||||
|
||||
PaginaDict.Add("/OS/CatOrdenesServiciosCaracteristicas.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/OS/CatOSCaracteristicasOpciones.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/OS/CatSubTiposOrdenesServicios.aspx".ToUpper(), -1)
|
||||
@@ -11141,6 +11169,8 @@ Public Class ClsPaginas
|
||||
#Region "Ordenes de Produccion"
|
||||
PaginaDict.Add("/OP/CatConfiguracionProducto.aspx".ToUpper(), 790)
|
||||
PaginaDict.Add("/OP/RepOS.aspx".ToUpper(), 791)
|
||||
PaginaDict.Add("/OP/OP.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/OP/RepOP.aspx".ToUpper(), -1)
|
||||
#End Region
|
||||
'Antes de aquí.
|
||||
|
||||
|
||||
@@ -348,7 +348,7 @@ table.adssigscroll {
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
|
||||
<asp:UpdatePanel ID="UpDatos" runat="server">
|
||||
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="divContainerads">
|
||||
|
||||
@@ -161,6 +161,9 @@ Partial Class Inventarios_KardexAlmacenHorizontal
|
||||
|
||||
End Sub
|
||||
Private Sub CargarKardex(CvePS As Integer)
|
||||
'GvDatos.Columns.Clear()
|
||||
'GvDatos.AutoGenerateColumns = True
|
||||
|
||||
Dim dt As New DataTable
|
||||
Dim ObjMovimientos As New ClsInventarios
|
||||
Dim FechaI As String = "-1" ' If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1")
|
||||
@@ -202,13 +205,16 @@ Partial Class Inventarios_KardexAlmacenHorizontal
|
||||
GvDatos.DataSource = dt
|
||||
Else
|
||||
Alert("La búsqueda no contiene resultados.", TipoMensaje.MsgAdvertencia)
|
||||
GvDatos.Columns.Clear()
|
||||
dt = Nothing
|
||||
GvDatos.DataSource = dt
|
||||
GvDatos.DataBind()
|
||||
UpDatos.Update()
|
||||
|
||||
Exit Sub
|
||||
End If
|
||||
Else
|
||||
ObjMovimientos.Dispose()
|
||||
Alert("Ocurrió un error al consultar el Kardex.", TipoMensaje.MsgError)
|
||||
UpDatos.Update()
|
||||
Exit Sub
|
||||
End If
|
||||
GvDatos.DataBind()
|
||||
@@ -232,6 +238,7 @@ Partial Class Inventarios_KardexAlmacenHorizontal
|
||||
|
||||
Next
|
||||
|
||||
UpDatos.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
||||
|
||||
@@ -140,17 +140,35 @@
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="col-md-1 truncate v-center" style="text-align: right!important">Tipo Almacen:</div>
|
||||
<div class="col-md-2 v-center">
|
||||
<div class="col-md-1 v-center">
|
||||
<asp:ListBox ID="DdlTipoAlmacen" SelectionMode="Multiple" CssClass="form-control ddlFiltros input-sm select2me Widthall" DataTextField="TipoAlmacen" DataValueField="CveTipoAlmacen" Style="width: 100%;" runat="server"></asp:ListBox>
|
||||
</div>
|
||||
<div class="col-md-1 truncate" style="text-align: right!important">Aplica Almacen</div>
|
||||
<div class="col-md-2">
|
||||
<div class="col-md-1">
|
||||
<asp:DropDownList ID="DdlAplicaInventario" runat="server" CssClass="input-small input-sm select2me" Width="100%">
|
||||
<asp:ListItem Text="Todos" Value="-1" Selected="True"> </asp:ListItem>
|
||||
<asp:ListItem Text="Inventariable" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="No Inventariable" Value="0"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-md-1 truncate" style="text-align: right!important">Grupo:</div>
|
||||
<div class="col-md-1">
|
||||
<asp:DropDownList ID="DdlGrupo" runat="server" CssClass="input-small input-sm select2me" Width="100%">
|
||||
<asp:ListItem Text="Almacen" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="Clasificación" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -159,11 +177,12 @@
|
||||
|
||||
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GVAlmacen" runat="server" AutoGenerateColumns="False" data-sort="true" EmptyDataText="No se encontraron Almacenes" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
|
||||
<asp:GridView ID="GVAlmacen" runat="server" AutoGenerateColumns="False" data-sort="true" EmptyDataText="No se encontraron Almacenes" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None"
|
||||
DataKeyNames="Gpo,CveAlmacen,CveClasificacion" >
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Almacén">
|
||||
<ItemTemplate>
|
||||
<asp:HyperLink ID="HyperLink1" Target="_blank" NavigateUrl='<%# String.Format("/Inventarios/RepEntradasSalidas.aspx?CveAlmacen={0}&FechaInicio={1:d}&FechaCorte={2:d}&Tipo=-1", Eval("CveAlmacen").ToString, Eval("FechaInicio"), Eval("FechaFin"))%>' runat="server"><%# Eval("Almacen") %></asp:HyperLink>
|
||||
<%--<asp:HyperLink ID="HyperLink1" Target="_blank" NavigateUrl='<%# String.Format("/Inventarios/RepEntradasSalidas.aspx?CveAlmacen={0}&FechaInicio={1:d}&FechaCorte={2:d}&Tipo=-1", Eval("CveAlmacen").ToString, Eval("FechaInicio"), Eval("FechaFin"))%>' runat="server"><%# Eval("Almacen") %></asp:HyperLink>--%>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Tipo Almacén">
|
||||
|
||||
@@ -54,7 +54,7 @@ Partial Class Inventarios_RepAlmacen
|
||||
Dim CveSubProyecto As Integer = DdlSucursal.SelectedValue.ToEntero()
|
||||
|
||||
If objInv.GetRepAlmacenes(FechaI, FechaF, UsuarioActual.CveEmpresa, TipoAlmacen, DdlModalidadFiltro.SelectedValue.ToEntero, DdlAplicaInventario.SelectedValue.ToEntero,
|
||||
Almacenes:=Almacenes, CveSubProyecto:=CveSubProyecto, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
|
||||
Almacenes:=Almacenes, CveSubProyecto:=CveSubProyecto, CveUsuarioConsulta:=UsuarioActual.CveUsuario, Gpo:=DdlGrupo.SelectedValue.ToEntero) Then
|
||||
GVAlmacen.DataSource = objInv.DtResultados
|
||||
TmpDT = objInv.DtResultados
|
||||
End If
|
||||
@@ -103,12 +103,28 @@ Partial Class Inventarios_RepAlmacen
|
||||
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
|
||||
GenerarPDF()
|
||||
End Sub
|
||||
Private Sub GVAlmacen_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVAlmacen.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
If e.Row.FCLabel("LtlAlmacen").Text = "" Then
|
||||
Private Sub GVAlmacen_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVAlmacen.RowDataBound
|
||||
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
'If e.Row.FCLabel("LtlAlmacen").Text = "" Then
|
||||
' e.Row.CssClass = "Totales"
|
||||
'End If
|
||||
|
||||
If e.Row.Cells(0).Text = "" Then
|
||||
e.Row.CssClass = "Totales"
|
||||
End If
|
||||
|
||||
If e.Row.DataKey("CveAlmacen").ToEntero > 0 Then
|
||||
Dim Liga As String = $"./RepEntradasSalidas.aspx?CveAlmacen={e.Row.DataKey("CveAlmacen").ToEntero}&FechaInicio={1:d}&FechaCorte={2:d}&Tipo=-1"
|
||||
e.Row.Cells(0).Text = $"<a href='{Liga}' target='_blank' >{e.Row.DataKey("Gpo")}</a>"
|
||||
|
||||
<asp:HyperLink ID = "HyperLink1" Target="_blank" NavigateUrl='<%# String.Format("/Inventarios/RepEntradasSalidas.aspx?CveAlmacen={0}&FechaInicio={1:d}&FechaCorte={2:d}&Tipo=-1", Eval("CveAlmacen").ToString, Eval("FechaInicio"), Eval("FechaFin"))%>' runat="server"><%# Eval("Almacen") %></asp:HyperLink>-
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
@@ -169,4 +185,6 @@ Partial Class Inventarios_RepAlmacen
|
||||
#End Region
|
||||
Public Overrides Sub VerifyRenderingInServerForm(control As Control)
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
253
OP/OP.aspx
Normal file
253
OP/OP.aspx
Normal file
@@ -0,0 +1,253 @@
|
||||
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="OP.aspx.vb" Inherits="OP_OP" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
<style>
|
||||
.op-container {
|
||||
max-width: 1400px;
|
||||
margin: 20px auto;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.op-header {
|
||||
text-align: left;
|
||||
border-bottom: 2px solid #e0e0e0;
|
||||
padding-bottom: 15px;
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.op-title {
|
||||
font-size: 24px;
|
||||
color: #2c3e50;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.op-section {
|
||||
margin-bottom: 25px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.op-field {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.op-label {
|
||||
font-weight: bold;
|
||||
color: #7f8c8d;
|
||||
margin-bottom: 5px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.op-input {
|
||||
width: 100%;
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
.op-date-section {
|
||||
margin-top: 30px;
|
||||
padding-top: 15px;
|
||||
border-top: 1px solid #eee;
|
||||
}
|
||||
|
||||
.op-status {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-weight: bold;
|
||||
background-color: #CCC;
|
||||
padding: 5px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.box {
|
||||
background-color: #EEE;
|
||||
margin-bottom: 10px;
|
||||
padding: 10px;
|
||||
}
|
||||
</style>
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
Orden de Producción
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
||||
<!-- Aquí se muestra la información de la OP -->
|
||||
<asp:UpdatePanel ID="UpOP" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="op-container">
|
||||
<!-- Encabezado -->
|
||||
<div class="op-header">
|
||||
<h3 class="op-title">Orden de producción #<asp:Label ID="LblCveOP" runat="server"></asp:Label></h3>
|
||||
<div class="op-status">
|
||||
<label>Estatus:</label>
|
||||
<asp:TextBox ID="TxtEstatus" runat="server" CssClass="form-control" Width="150px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVEstatus" runat="server"
|
||||
ControlToValidate="TxtEstatus"
|
||||
Display="Dynamic"
|
||||
ErrorMessage="Estatus requerido"
|
||||
CssClass="text-danger"
|
||||
ValidationGroup="GrpGuardar" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-section">
|
||||
<div class="form-group">
|
||||
<label>Cliente</label>
|
||||
<ADS:Dropdownlost ID="DdlClientes" runat="server"
|
||||
CssClassDdl="form-control" DataTextField="NombreComercial"
|
||||
data-metodo="getcliente"
|
||||
DataValueField="CveCliente" Enabled="false" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Centro de Costo -->
|
||||
<div class="form-section">
|
||||
|
||||
<div class="form-group">
|
||||
<asp:Label ID="LblProyecto" runat="server" class="col-md-1">
|
||||
<span class="filtro-texto">Proyecto:</span>
|
||||
</asp:Label>
|
||||
<div runat="server" id="DivProyecto" class="col-md-2">
|
||||
<asp:DropDownList ID="DdlProyecto" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Style="width: 100%;"></asp:DropDownList>
|
||||
</div>
|
||||
<asp:Label ID="LblSubProyecto" runat="server" class="col-md-1">
|
||||
<span class="filtro-texto">Subproyecto:</span>
|
||||
</asp:Label>
|
||||
<div runat="server" id="DivSubProyecto" class="col-md-2">
|
||||
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Style="width: 100%;"></asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Descripción -->
|
||||
<div class="form-group">
|
||||
<label>Descripción</label>
|
||||
<asp:TextBox ID="TxtDescripcion" runat="server"
|
||||
CssClass="form-control"
|
||||
TextMode="MultiLine"
|
||||
Rows="2" />
|
||||
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server"
|
||||
ControlToValidate="TxtDescripcion"
|
||||
ErrorMessage="Descripción requerida"
|
||||
Display="Dynamic"
|
||||
CssClass="text-danger"
|
||||
ValidationGroup="GrpGuardar" />
|
||||
</div>
|
||||
|
||||
<!-- Fecha -->
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
<label class="mb-0">Fecha</label>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="Txtfecha" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="Txtfecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="Txtfecha" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="Txtfecha" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="Txtfecha" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Producto -->
|
||||
<div class="form-group">
|
||||
<label class="col-md-2">Producto:</label>
|
||||
<div class="col-md-4">
|
||||
<ADS:Dropdownlost ID="DdlPS" runat="server"
|
||||
CssClassDdl="form-control" DataTextField="PSCodigo"
|
||||
DataValueField="CvePS" Enabled="false" />
|
||||
</div>
|
||||
<asp:Button ID="BtnAgregarProducto" runat="server" Text="Agregar Producto"
|
||||
CssClass="btn btn-primary" ValidationGroup="GrpAgregarProducto" />
|
||||
<asp:Button ID="BtnEliminarProducto" runat="server" Text="Eliminar Producto"
|
||||
CssClass="btn-eliminar" OnClick="BtnEliminarProducto_Click" />
|
||||
</div>
|
||||
|
||||
<!-- GridViews -->
|
||||
<asp:UpdatePanel ID="UpGvDatosOP" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-12 box">
|
||||
<div class="section-title">Productos</div>
|
||||
<asp:GridView ID="GvProductos" runat="server" AutoGenerateColumns="False"
|
||||
CssClass="table table-striped table-hover" GridLines="None" Width="100%">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="PSCodigo" HeaderText="Producto" />
|
||||
<asp:BoundField DataField="UnidadMedida" HeaderText="UM" />
|
||||
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 box">
|
||||
<div class="section-title">Materia prima</div>
|
||||
<asp:GridView ID="GvMateriaPrima" runat="server" AutoGenerateColumns="False"
|
||||
CssClass="table table-striped table-hover" GridLines="None" Width="100%">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="producto" HeaderText="Producto" />
|
||||
<asp:BoundField DataField="UnidadMedida" HeaderText="UM" />
|
||||
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" DataFormatString="{0:#,##0.####}" ItemStyle-HorizontalAlign="Right" />
|
||||
<asp:BoundField DataField="Surtido" HeaderText="Surtido" ItemStyle-HorizontalAlign="Right"/>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 box">
|
||||
<div class="section-title">Mano de obra</div>
|
||||
<asp:GridView ID="GvManoObra" runat="server" AutoGenerateColumns="False"
|
||||
CssClass="table table-striped table-hover" GridLines="None" Width="100%">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Puesto" HeaderText="Puesto" />
|
||||
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 box">
|
||||
<div class="section-title">Costo indirecto</div>
|
||||
<asp:GridView ID="GvCostosIndirectos" runat="server" AutoGenerateColumns="False"
|
||||
CssClass="table table-striped table-hover" GridLines="None" Width="100%">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="producto" HeaderText="Producto" />
|
||||
<asp:BoundField DataField="Cantidad" HeaderText="Costo" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<!-- Botón para Guardar la OP -->
|
||||
<div class="form-group" style="margin-top: 20px;">
|
||||
<asp:Button ID="BtnGuardarOP" runat="server" Text="Guardar Orden de Producción"
|
||||
CssClass="btn btn-success" OnClick="BtnGuardarOP_Click"
|
||||
ValidationGroup="GrpGuardar" />
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
|
||||
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
</asp:Content>
|
||||
|
||||
407
OP/OP.aspx.vb
Normal file
407
OP/OP.aspx.vb
Normal file
@@ -0,0 +1,407 @@
|
||||
Imports System.Data
|
||||
Imports System.Drawing
|
||||
Imports DocumentFormat.OpenXml.Drawing.Diagrams
|
||||
Imports System.IO
|
||||
Imports Extensiones
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports Org.BouncyCastle.Asn1.Utilities
|
||||
Partial Class OP_OP
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region "Propiedades"
|
||||
Private Property CveOP As Integer
|
||||
Get
|
||||
Return ViewState("CveOP").ToString.ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveOP") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property DtPS As DataTable
|
||||
Get
|
||||
Return DirectCast(ViewState("DtPS"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtPS") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property DtMP As DataTable
|
||||
Get
|
||||
Return DirectCast(ViewState("DtMP"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtMP") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property DtMO As DataTable
|
||||
Get
|
||||
Return DirectCast(ViewState("DtMO"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtMO") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property DtCI As DataTable
|
||||
Get
|
||||
Return DirectCast(ViewState("DtCI"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtCI") = 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
|
||||
CveOP = If(Request("CveOP") <> "", Request("CveOP").ToString.ToEntero, "-1".ToEntero)
|
||||
CreaPS()
|
||||
SetValues()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CreaPS()
|
||||
DtPS = New DataTable()
|
||||
DtPS.Columns.Add("Tipo", GetType(String)) ' Producto, MP, MO, CI
|
||||
DtPS.Columns.Add("Clave", GetType(Integer))
|
||||
DtPS.Columns.Add("PSCodigo", GetType(String))
|
||||
DtPS.Columns.Add("UnidadMedida", GetType(String))
|
||||
DtPS.Columns.Add("Cantidad", GetType(Decimal))
|
||||
DtPS.Columns.Add("Surtido", GetType(Decimal))
|
||||
DtPS.Columns.Add("Costo", GetType(Decimal))
|
||||
|
||||
DtMP = New DataTable()
|
||||
DtMP.Columns.Add("Tipo", GetType(String)) ' Producto, MP, MO, CI
|
||||
DtMP.Columns.Add("Clave", GetType(Integer))
|
||||
DtMP.Columns.Add("Producto", GetType(String))
|
||||
DtMP.Columns.Add("UnidadMedida", GetType(String))
|
||||
DtMP.Columns.Add("Cantidad", GetType(Decimal))
|
||||
DtMP.Columns.Add("Surtido", GetType(Decimal))
|
||||
|
||||
DtMO = New DataTable()
|
||||
DtMO.Columns.Add("Tipo", GetType(String)) ' Producto, MP, MO, CI
|
||||
DtMO.Columns.Add("Clave", GetType(Integer))
|
||||
DtMO.Columns.Add("Puesto", GetType(String))
|
||||
DtMO.Columns.Add("Cantidad", GetType(Decimal))
|
||||
|
||||
DtCI = New DataTable()
|
||||
DtCI.Columns.Add("Tipo", GetType(String)) ' Producto, MP, MO, CI
|
||||
DtCI.Columns.Add("Clave", GetType(Integer))
|
||||
DtCI.Columns.Add("Producto", GetType(String))
|
||||
DtCI.Columns.Add("Cantidad", GetType(Decimal))
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub SetValues()
|
||||
|
||||
CargarClientes()
|
||||
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto, VisualizacionReporte:=1)
|
||||
CargarProductos()
|
||||
|
||||
If CveOP = -1 Then
|
||||
' Modo registro: mostrar dropdowns y ocultar los TextBox
|
||||
DdlClientes.Enabled = True
|
||||
DdlProyecto.Enabled = True
|
||||
DdlSubProyecto.Enabled = True
|
||||
DdlPS.Enabled = True
|
||||
|
||||
Else
|
||||
DdlClientes.Enabled = False
|
||||
DdlProyecto.Enabled = False
|
||||
DdlSubProyecto.Enabled = False
|
||||
DdlPS.Enabled = False
|
||||
CargaDatos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDatos()
|
||||
If CveOP > 0 Then
|
||||
Dim ObjOP As New ClsOP()
|
||||
If ObjOP.GetOP(CveOP, -1, -1, -1, -1, -1, MinFecha, MaxFecha, UsuarioActual.CveEmpresa) Then
|
||||
Dim DTOP As DataTable = ObjOP.DtResultados
|
||||
If DTOP.Rows.Count > 0 Then
|
||||
Dim dr As DataRow = DTOP.Rows(0)
|
||||
LblCveOP.Text = CveOP.ToString
|
||||
DdlClientes.txtText.Value = dr("Cliente").ToString
|
||||
DdlClientes.txtValue.Value = dr("CveCliente").ToString
|
||||
TxtEstatus.Text = dr("Estatus").ToString
|
||||
DdlSubProyecto.SelectedValue = dr("CveSubProyecto").ToString
|
||||
DdlPS.txtText.Value = dr("Producto").ToString
|
||||
DdlPS.txtValue.Value = dr("CvePS").ToString
|
||||
Txtfecha.Text = dr("Fecha").ToString
|
||||
TxtDescripcion.Text = dr("Descripcion").ToString
|
||||
End If
|
||||
End If
|
||||
ObjOP.Dispose()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargarClientes()
|
||||
Dim EsWS As Boolean = 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("Seleccione Cliente", "-1"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargarProductos()
|
||||
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
|
||||
DdlPS.SelectedText = ""
|
||||
DdlPS.SelectedValue = "-1"
|
||||
Else
|
||||
DdlPS.ddl.Items.Clear()
|
||||
DdlPS.ddl.DataBind()
|
||||
DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnAgregarProducto_Click(sender As Object, e As EventArgs) Handles BtnAgregarProducto.Click
|
||||
If DdlPS.SelectedValue = "-1" Then Exit Sub
|
||||
|
||||
Dim newRow As DataRow = DtPS.NewRow()
|
||||
Dim CvePS As Integer = DdlPS.SelectedValue.ToEntero
|
||||
Dim DrPS As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
|
||||
|
||||
newRow("Tipo") = "Producto"
|
||||
newRow("Clave") = CvePS
|
||||
newRow("PSCodigo") = DrPS("PSCodigo")
|
||||
newRow("UnidadMedida") = DrPS("UnidadMedida")
|
||||
newRow("Cantidad") = 1
|
||||
newRow("Surtido") = 0
|
||||
newRow("Costo") = 0
|
||||
DtPS.Rows.Add(newRow)
|
||||
'consultas GetMPReceta, GetMOReceta, GetCIReceta
|
||||
|
||||
|
||||
Dim CveUM As Integer = DrPS("CveUnidadMedida").ToString.ToEntero
|
||||
|
||||
Dim ObjMP As New ClsOP()
|
||||
If ObjMP.GetMPReceta(CvePS, CveUM, UsuarioActual.CveEmpresa) Then
|
||||
For Each drMP As DataRow In ObjMP.DtResultados.Rows
|
||||
Dim rowMP As DataRow = DtMP.NewRow()
|
||||
rowMP("Tipo") = "MP"
|
||||
rowMP("Clave") = CvePS
|
||||
rowMP("Producto") = drMP("productoMateriaPrima").ToString()
|
||||
rowMP("UnidadMedida") = drMP("UnidadMedidaMateriaPrima").ToString()
|
||||
rowMP("Cantidad") = drMP("Cantidad").ToString().ToDecimal()
|
||||
rowMP("Surtido") = 0
|
||||
DtMP.Rows.Add(rowMP)
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
Dim ObjMO As New ClsOP()
|
||||
If ObjMO.GetMOReceta(CvePS, CveUM, UsuarioActual.CveEmpresa) Then
|
||||
For Each drMO As DataRow In ObjMO.DtResultados.Rows
|
||||
Dim rowMO As DataRow = DtMO.NewRow()
|
||||
rowMO("Tipo") = "MO"
|
||||
rowMO("Clave") = CvePS
|
||||
rowMO("Puesto") = drMO("Puesto").ToString()
|
||||
rowMO("Cantidad") = drMO("Cantidad").ToString().ToDecimal()
|
||||
DtMO.Rows.Add(rowMO)
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
Dim ObjCI As New ClsOP()
|
||||
If ObjCI.GetCIReceta(CvePS, CveUM, UsuarioActual.CveEmpresa) Then
|
||||
For Each drCI As DataRow In ObjCI.DtResultados.Rows
|
||||
Dim rowCI As DataRow = DtCI.NewRow()
|
||||
rowCI("Tipo") = "CI"
|
||||
rowCI("Clave") = CvePS
|
||||
rowCI("Producto") = drCI("productoMateriaPrima").ToString()
|
||||
rowCI("Cantidad") = drCI("Cantidad").ToString().ToDecimal()
|
||||
DtCI.Rows.Add(rowCI)
|
||||
Next
|
||||
End If
|
||||
|
||||
ActualizarGrids()
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnEliminarProducto_Click(sender As Object, e As EventArgs)
|
||||
If DdlPS.SelectedValue = "-1" Then
|
||||
Alert("Seleccione un producto del listado.", TipoMensaje.MsgAdvertencia)
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim CveProducto As Integer = DdlPS.SelectedValue.ToEntero()
|
||||
|
||||
Dim filasProducto As DataRow() = DtPS.Select($"Clave = {CveProducto}")
|
||||
If filasProducto.Length > 0 Then
|
||||
DtPS.Rows.Remove(filasProducto(0))
|
||||
End If
|
||||
|
||||
EliminarDatosRelacionados(CveProducto)
|
||||
|
||||
ActualizarGrids()
|
||||
End Sub
|
||||
|
||||
Private Sub EliminarDatosRelacionados(CveProducto As Integer)
|
||||
Dim filasMP As DataRow() = DtMP.Select($"Clave = {CveProducto}")
|
||||
For Each fila As DataRow In filasMP
|
||||
DtMP.Rows.Remove(fila)
|
||||
Next
|
||||
|
||||
Dim filasMO As DataRow() = DtMO.Select($"Clave = {CveProducto}")
|
||||
For Each fila As DataRow In filasMO
|
||||
DtMO.Rows.Remove(fila)
|
||||
Next
|
||||
|
||||
Dim filasCI As DataRow() = DtCI.Select($"Clave = {CveProducto}")
|
||||
For Each fila As DataRow In filasCI
|
||||
DtCI.Rows.Remove(fila)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Protected Sub BtnGuardarOP_Click(sender As Object, e As EventArgs)
|
||||
' Validar campos obligatorios
|
||||
If DdlClientes.SelectedValue = "-1" Then
|
||||
Alert("Seleccione un cliente.", TipoMensaje.MsgAdvertencia)
|
||||
Return
|
||||
End If
|
||||
|
||||
If DtPS.Rows.Count = 0 Then
|
||||
Alert("Agregue al menos un producto.", TipoMensaje.MsgAdvertencia)
|
||||
Return
|
||||
End If
|
||||
|
||||
' Iniciar transacción
|
||||
Dim clsOP As New ClsOP()
|
||||
clsOP.IniciaTransacSQL()
|
||||
|
||||
Try
|
||||
' Insertar/Actualizar cabecera de la OP usando UpdateOP
|
||||
Dim CveOP As Integer = Me.CveOP ' Si es nuevo, CveOP = -1
|
||||
Dim Success As Boolean = clsOP.UpdateOP(
|
||||
CveOP:=CveOP,
|
||||
Descripcion:=TxtDescripcion.Text,
|
||||
CveCliente:=DdlClientes.SelectedValue.ToEntero(),
|
||||
CvePS:=DdlPS.SelectedValue.ToEntero(),
|
||||
CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero(),
|
||||
Cantidad:=1, ' Ajustar según lógica de negocio
|
||||
Fecha:=Convert.ToDateTime(Txtfecha.Text),
|
||||
CveEmpresa:=UsuarioActual.CveEmpresa,
|
||||
CveUsuario:=UsuarioActual.CveUsuario
|
||||
)
|
||||
|
||||
If Not Success Then
|
||||
Throw New Exception("Error al guardar la cabecera de la OP.")
|
||||
End If
|
||||
|
||||
' Obtener el CveOP generado (asumiendo que se actualiza en la propiedad)
|
||||
If Me.CveOP = -1 Then
|
||||
' Si es nuevo, recuperar el CveOP de la base de datos
|
||||
' (Requiere que el SP PA_OP_OrdendeProduccionUp devuelva el ID)
|
||||
' Esto depende de la implementación del SP.
|
||||
' Ejemplo hipotético:
|
||||
clsOP.GetOP(-1, DdlClientes.SelectedValue.ToEntero(), DdlSubProyecto.SelectedValue.ToEntero(), -1, -1, -1, MinFecha, MaxFecha, UsuarioActual.CveEmpresa)
|
||||
If clsOP.DtResultados.Rows.Count > 0 Then
|
||||
Me.CveOP = clsOP.DtResultados.Rows(0)("CveOP").ToString.ToEntero()
|
||||
End If
|
||||
End If
|
||||
|
||||
' Insertar detalles de Productos, MP, MO, CI
|
||||
For Each drProducto As DataRow In DtPS.Rows
|
||||
Dim CvePS As Integer = drProducto("Clave").ToString().ToEntero()
|
||||
|
||||
' Insertar Materia Prima relacionada
|
||||
For Each drMP As DataRow In DtMP.Select($"Clave = {CvePS}")
|
||||
clsOP.AddMP(
|
||||
Cantidad:=drMP("Cantidad").ToString().ToDecimal(),
|
||||
CvePS:=CvePS,
|
||||
CvePSMateriaPrima:=drMP("CvePSMateriaPrima").ToString().ToEntero(),
|
||||
CveUM:=drMP("CveUM").ToString().ToEntero(),
|
||||
CveUMMateriaPrima:=drMP("CveUMMateriaPrima").ToString().ToEntero()
|
||||
)
|
||||
Next
|
||||
|
||||
' Insertar Mano de Obra relacionada
|
||||
For Each drMO As DataRow In DtMO.Select($"Clave = {CvePS}")
|
||||
clsOP.AddMO(
|
||||
Cantidad:=drMO("Cantidad").ToString().ToDecimal(),
|
||||
CvePS:=CvePS,
|
||||
CvePuesto:=drMO("CvePuesto").ToString().ToEntero(),
|
||||
CveUM:=drMO("CveUM").ToString().ToEntero()
|
||||
)
|
||||
Next
|
||||
|
||||
' Insertar Costos Indirectos relacionados
|
||||
For Each drCI As DataRow In DtCI.Select($"Clave = {CvePS}")
|
||||
clsOP.AddCI(
|
||||
Cantidad:=drCI("Cantidad").ToString().ToDecimal(),
|
||||
CvePS:=CvePS,
|
||||
CvePSMateriaPrima:=drCI("CvePSMateriaPrima").ToString().ToEntero(),
|
||||
CveUM:=drCI("CveUM").ToString().ToEntero(),
|
||||
CveUMMateriaPrima:=drCI("CveUMMateriaPrima").ToString().ToEntero()
|
||||
)
|
||||
Next
|
||||
Next
|
||||
|
||||
' Commit si todo es exitoso
|
||||
clsOP.Commit()
|
||||
Alert("Orden de Producción guardada correctamente.", TipoMensaje.MsgInformacion)
|
||||
Response.Redirect($"OP.aspx?CveOP={Me.CveOP}") ' Redirigir a la OP guardada
|
||||
|
||||
Catch ex As Exception
|
||||
' Rollback en caso de error
|
||||
clsOP.RollBack()
|
||||
Alert($"Error al guardar: {ex.Message}", TipoMensaje.MsgError)
|
||||
Finally
|
||||
clsOP.Dispose()
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub ActualizarGrids()
|
||||
Dim dtProductosFiltrados As DataTable = DtPS.Clone() ' Clona la estructura
|
||||
Dim rowsProductos As DataRow() = DtPS.Select("Tipo = 'Producto'")
|
||||
If rowsProductos.Length > 0 Then
|
||||
dtProductosFiltrados = rowsProductos.CopyToDataTable()
|
||||
End If
|
||||
GvProductos.DataSource = dtProductosFiltrados
|
||||
GvProductos.DataBind()
|
||||
|
||||
Dim dtMPFiltrados As DataTable = DtMP.Clone()
|
||||
Dim rowsMP As DataRow() = DtMP.Select("Tipo = 'MP'")
|
||||
If rowsMP.Length > 0 Then
|
||||
dtMPFiltrados = rowsMP.CopyToDataTable()
|
||||
End If
|
||||
GvMateriaPrima.DataSource = dtMPFiltrados
|
||||
GvMateriaPrima.DataBind()
|
||||
|
||||
Dim dtMOFiltrados As DataTable = DtMO.Clone()
|
||||
Dim rowsMO As DataRow() = DtMO.Select("Tipo = 'MO'")
|
||||
If rowsMO.Length > 0 Then
|
||||
dtMOFiltrados = rowsMO.CopyToDataTable()
|
||||
End If
|
||||
GvManoObra.DataSource = dtMOFiltrados
|
||||
GvManoObra.DataBind()
|
||||
|
||||
Dim dtCIFiltrados As DataTable = DtCI.Clone()
|
||||
Dim rowsCI As DataRow() = DtCI.Select("Tipo = 'CI'")
|
||||
If rowsCI.Length > 0 Then
|
||||
dtCIFiltrados = rowsCI.CopyToDataTable()
|
||||
End If
|
||||
GvCostosIndirectos.DataSource = dtCIFiltrados
|
||||
GvCostosIndirectos.DataBind()
|
||||
|
||||
UpGvDatosOP.Update()
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
216
OP/RepOP.aspx
Normal file
216
OP/RepOP.aspx
Normal file
@@ -0,0 +1,216 @@
|
||||
<%@ Page Title="Orden de Produccion" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepOP.aspx.vb" Inherits="OP_RepOP" %>
|
||||
|
||||
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
<style>
|
||||
table > tbody > .SubTotales, table > tbody > .SubTotales:hover, table > tbody > .SubTotales:nth-of-type(odd) {
|
||||
background: #CCCCCC !important;
|
||||
}
|
||||
|
||||
table > tbody > .SubTotalesB, table > tbody > .SubTotalesB:hover, table > tbody > .SubTotalesB:nth-of-type(odd) {
|
||||
background: #DDD !important;
|
||||
}
|
||||
|
||||
.SegundoNivel, .SegundoNivel:hover {
|
||||
background-color: rgba(172, 195, 222, 0.65) !important;
|
||||
}
|
||||
|
||||
.select2 .select2-selection__rendered {
|
||||
line-height: 1;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
.select2 .select2-selection--multiple {
|
||||
box-sizing: border-box;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
min-height: 20px;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
|
||||
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.select2-selection__rendered {
|
||||
margin-top: 0px;
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
.select2-selection {
|
||||
margin-top: 0px;
|
||||
height: 31px;
|
||||
background-color: rgba(255,255,255,0.9) !important;
|
||||
border: 1px solid #ced4da !important;
|
||||
}
|
||||
|
||||
.select2-container--default.select2-container--focus .select2-selection--multiple {
|
||||
border: none;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
|
||||
#chartdiv {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
/* Ajustar posición del botón "Consultar" */
|
||||
.portlet-title .tools {
|
||||
margin-top: -1px !important;
|
||||
}
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="HA" runat="Server">
|
||||
<asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Inline" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="btn-group pull-right btn-separete">
|
||||
<%-- <asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-fit-height btnopaco" />--%>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
|
||||
<li>
|
||||
<asp:HyperLink ID="HLAgregarOrdenOP" NavigateUrl="OP.aspx?CveOP=-1" runat="server"> <i class="fa fa-plus"></i>Agregar Orden de Producción</asp:HyperLink>
|
||||
</li>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
|
||||
Orden de Producción
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
|
||||
<div class="portlet-title portlet-filterT smalltitle">
|
||||
<div class="tools">
|
||||
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
|
||||
<a href="javascript:;" class="expand"></a>
|
||||
</div>
|
||||
|
||||
<div class="titlefiltros caption">
|
||||
<div class="row">
|
||||
<label class="col-md-1 ">Cliente:</label>
|
||||
<div class="col-md-2">
|
||||
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width: 100%;"></ADS:Dropdownlost>
|
||||
</div>
|
||||
|
||||
<asp:Label ID="LblProyecto" runat="server" class="col-md-1">
|
||||
<span class="filtro-texto">Proyecto:</span>
|
||||
</asp:Label>
|
||||
<div runat="server" id="DivProyecto" class="col-md-2">
|
||||
<asp:DropDownList ID="DdlProyecto" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Style="width: 100%;"></asp:DropDownList>
|
||||
</div>
|
||||
<asp:Label ID="LblSubProyecto" runat="server" class="col-md-1">
|
||||
<span class="filtro-texto">Subproyecto:</span>
|
||||
</asp:Label>
|
||||
<div runat="server" id="DivSubProyecto" class="col-md-2">
|
||||
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Style="width: 100%;"></asp:DropDownList>
|
||||
</div>
|
||||
|
||||
<label class="col-md-1 ">Estatus:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlEstatusOP" runat="server" AppendDataBoundItems="true" DataTextField="EstatusOP" DataValueField="CveEstatusOP" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Style="width: 100%;">
|
||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="portlet-body" style="display: none">
|
||||
<div class="row">
|
||||
<label class="col-md-1 truncate">Productos Servicios:</label>
|
||||
<div class="col-md-2">
|
||||
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:100%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||
</div>
|
||||
|
||||
<div class="col-md-1">
|
||||
<label class="mb-0">Fecha Inicio:</label>
|
||||
<!-- Usa etiqueta <label> -->
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<label class="mb-0">Fecha Fin:</label>
|
||||
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvDatos" runat="server" DataKeysNames="CveOP" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados" ToolTip="Listado de Ventas"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" Style="text-align: center;" GridLines="None" Width="99%">
|
||||
<Columns>
|
||||
<asp:HyperLinkField DataNavigateUrlFormatString="/OP/OP.aspx?CveOP={0}" DataNavigateUrlFields="CveOP" ControlStyle-CssClass="Texto" DataTextField="Folio" HeaderText="Folio"
|
||||
ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
|
||||
|
||||
|
||||
<asp:BoundField DataField="Cliente" HeaderText="Cliente"
|
||||
ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left" />
|
||||
|
||||
<asp:BoundField DataField="Descripcion" HeaderText="Descripción"
|
||||
ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Left" />
|
||||
|
||||
|
||||
<asp:BoundField DataField="Fecha" HeaderText="Fecha"
|
||||
DataFormatString="{0:dd/MM/yyyy}"
|
||||
ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Center" />
|
||||
|
||||
|
||||
<asp:BoundField DataField="Estatus" HeaderText="Estatus"
|
||||
ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left" />
|
||||
|
||||
|
||||
<asp:BoundField DataField="AsignadoA" HeaderText="Asignado"
|
||||
ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left" />
|
||||
</Columns>
|
||||
<RowStyle CssClass="Texto" />
|
||||
<HeaderStyle CssClass="Titulos" />
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
|
||||
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
|
||||
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
|
||||
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
|
||||
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
|
||||
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
|
||||
</asp:Content>
|
||||
161
OP/RepOP.aspx.vb
Normal file
161
OP/RepOP.aspx.vb
Normal file
@@ -0,0 +1,161 @@
|
||||
Option Explicit On
|
||||
Option Strict On
|
||||
|
||||
Imports System.Data
|
||||
Imports Extensiones
|
||||
Imports Ionic.Zlib
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
|
||||
Partial Class OP_RepOP
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region "PROPIEDADES"
|
||||
|
||||
Private Property DtOp As DataTable
|
||||
Get
|
||||
Return DirectCast(ViewState("DtOp"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtOp") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property Agrupador As String
|
||||
Get
|
||||
Return ViewState("Agrupador").ToString
|
||||
End Get
|
||||
|
||||
Set(value As String)
|
||||
ViewState("Agrupador") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property TCEspecifico As Double
|
||||
Get
|
||||
Return ViewState("TCEspecifico").ToString.ToDouble
|
||||
End Get
|
||||
|
||||
Set(value As Double)
|
||||
ViewState("TCEspecifico") = 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
|
||||
|
||||
#End Region
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx")
|
||||
'CargarMarcas()
|
||||
SetValues()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
#Region " CARGA DATOS INICIALES "
|
||||
Private Sub SetValues()
|
||||
'Carga Productos
|
||||
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
|
||||
DdlPS.SelectedText = ""
|
||||
DdlPS.SelectedValue = "-1"
|
||||
Else
|
||||
DdlPS.ddl.Items.Clear()
|
||||
DdlPS.ddl.DataBind()
|
||||
DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
|
||||
End If
|
||||
|
||||
'CargaEstatus
|
||||
DdlEstatusOP.DataSource = GlobalDTOPEstatus(UsuarioActual.CveEmpresa)
|
||||
DdlEstatusOP.DataBind()
|
||||
DdlEstatusOP.Items.Add(New ListItem("Canceladas", "4"))
|
||||
DdlEstatusOP.SelectedValue = "-1"
|
||||
|
||||
|
||||
'Carga Clasificacion del cliente
|
||||
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto, VisualizacionReporte:=1)
|
||||
|
||||
Dim EsWS As Boolean = 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
|
||||
|
||||
DdlEstatusOP.DataSource = GlobalDTOPEstatus(UsuarioActual.CveEmpresa)
|
||||
DdlEstatusOP.DataBind()
|
||||
|
||||
txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString
|
||||
txtFechaF.Text = NowADS().ToShortDateString
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(339) Then
|
||||
GvDatos.Columns(3).Visible = False
|
||||
GvDatos.Columns(4).Visible = False
|
||||
GvDatos.Columns(5).Visible = False
|
||||
GvDatos.Columns(6).Visible = False
|
||||
End If
|
||||
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
|
||||
#Region " CARGA DATOS "
|
||||
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
|
||||
CargaDatos()
|
||||
UPDatos.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDatos()
|
||||
Dim FechaI, FechaF As Date
|
||||
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha)
|
||||
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha)
|
||||
Dim CveCliente As Integer = If(DdlClientes.SelectedValue.ToEntero > 0, DdlClientes.SelectedValue.ToEntero, -1)
|
||||
|
||||
Dim ObjOP As New ClsOP()
|
||||
If ObjOP.GetReportesOP(-1, DdlClientes.SelectedValue.ToEntero,
|
||||
DdlSubProyecto.SelectedValue.ToEntero,
|
||||
DdlPS.SelectedValue.ToEntero,
|
||||
DdlEstatusOP.SelectedValue.ToEntero,
|
||||
-1,
|
||||
FechaI, FechaF,
|
||||
UsuarioActual.CveEmpresa) Then
|
||||
GvDatos.DataSource = ObjOP.DtResultados
|
||||
DtOp = ObjOP.DtResultados
|
||||
|
||||
Else
|
||||
GvDatos.DataSource = Nothing
|
||||
End If
|
||||
ObjOP.Dispose()
|
||||
GvDatos.DataBind()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Gv Datos"
|
||||
Protected Sub GvDatos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
'Verificar si el DataKey existe
|
||||
If e.Row.DataItem IsNot Nothing AndAlso GvDatos.DataKeys.Count > e.Row.RowIndex Then
|
||||
Dim CveOP As Integer = GvDatos.DataKeys(e.Row.RowIndex).Value.ToString().ToEntero()
|
||||
Dim Liga As String = $"/OP/OP.aspx?CveOP={CveOP}"
|
||||
|
||||
'Acceder al control solo si existe
|
||||
Dim hl As HyperLink = TryCast(e.Row.FindControl("HlAgregarOrdenOP"), HyperLink)
|
||||
If hl IsNot Nothing Then
|
||||
hl.NavigateUrl = Liga
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
End Class
|
||||
@@ -1,317 +1,317 @@
|
||||
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RolesDetalle.aspx.vb" Inherits="Sistemas_RolesDetalle" %>
|
||||
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RolesDetalle.aspx.vb" Inherits="Sistemas_RolesDetalle" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
Rol:
|
||||
<asp:Label runat="server" Text="Rol" ID="LblRol"></asp:Label>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
Rol:
|
||||
<asp:Label runat="server" Text="Rol" ID="LblRol"></asp:Label>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
||||
|
||||
<asp:UpdatePanel UpdateMode="Conditional" runat="server" ID="UpDatos">
|
||||
<ContentTemplate>
|
||||
<ajax:TabContainer runat="server" ID="TabsRoles">
|
||||
<asp:UpdatePanel UpdateMode="Conditional" runat="server" ID="UpDatos">
|
||||
<ContentTemplate>
|
||||
<ajax:TabContainer runat="server" ID="TabsRoles">
|
||||
|
||||
<ajax:TabPanel ID="TabPanel1" runat="server" HeaderText="Rol">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UpTabGeneral" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="portlet light xspadding bordered ">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">General</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
<ajax:TabPanel ID="TabPanel1" runat="server" HeaderText="Rol">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UpTabGeneral" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="portlet light xspadding bordered ">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">General</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlModulo" runat="server" Width="50%" CssClass="select2me form-control" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Modulo" DataValueField="CveModulo" ValidationGroup="GrpObligatorio"></asp:DropDownList>
|
||||
<label for="<%= DdlModulo.ClientID.ToString()%>">Modulo Rol:</label>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtRol" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVRol" runat="server" ControlToValidate="TxtRol" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>'Nombre del Rol''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<%-- <ajax:ValidatorCalloutExtender ID="VCEEmpresa" runat="server" HighlightCssClass="vco" TargetControlID="RFVRol" Width="300px"></ajax:ValidatorCalloutExtender>--%>
|
||||
<label for="<%= TxtRol.ClientID.ToString()%>">Nombre Rol:</label>
|
||||
</div>
|
||||
<div class="row" id="DivManual" runat="server" visible="false">
|
||||
<div class="col-md-3">
|
||||
<label>Manual del rol:</label>
|
||||
<div>
|
||||
<asp:LinkButton ID="BtnAdjuntar" runat="server" Visible="false" Text="<i class='fa-upload fa' style=' color: white;'></i> Adjuntar" data-toggle="modal" data-target="#ModalAdjuntar" CssClass="btn myventasbutton btn-primary" />
|
||||
<br />
|
||||
<asp:LinkButton ID="BtnArchivoAdjunto" runat="server" Visible="false" Text="" Font-Size="14px" />
|
||||
|
||||
<asp:LinkButton ID="BtnReemplazarAdjunto" runat="server" Visible="false" AlternateText="Reemplazar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-sm blue" Text="<i class='fa-upload fa' style=' color: white;'></i>" data-toggle="modal" data-target="#ModalAdjuntar" />
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:DropDownList ID="DdlModulo" runat="server" Width="50%" CssClass="select2me form-control" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Modulo" DataValueField="CveModulo" ValidationGroup="GrpObligatorio"></asp:DropDownList>
|
||||
<label for="<%= DdlModulo.ClientID.ToString()%>">Modulo Rol:</label>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtRol" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVRol" runat="server" ControlToValidate="TxtRol" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>'Nombre del Rol''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<%-- <ajax:ValidatorCalloutExtender ID="VCEEmpresa" runat="server" HighlightCssClass="vco" TargetControlID="RFVRol" Width="300px"></ajax:ValidatorCalloutExtender>--%>
|
||||
<label for="<%= TxtRol.ClientID.ToString()%>">Nombre Rol:</label>
|
||||
</div>
|
||||
<div class="row" id="DivManual" runat="server" visible="false">
|
||||
<div class="col-md-3">
|
||||
<label>Manual del rol:</label>
|
||||
<div>
|
||||
<asp:LinkButton ID="BtnAdjuntar" runat="server" Visible="false" Text="<i class='fa-upload fa' style=' color: white;'></i> Adjuntar" data-toggle="modal" data-target="#ModalAdjuntar" CssClass="btn myventasbutton btn-primary" />
|
||||
<br />
|
||||
<asp:LinkButton ID="BtnArchivoAdjunto" runat="server" Visible="false" Text="" Font-Size="14px" />
|
||||
|
||||
<asp:LinkButton ID="BtnReemplazarAdjunto" runat="server" Visible="false" AlternateText="Reemplazar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-sm blue" Text="<i class='fa-upload fa' style=' color: white;'></i>" data-toggle="modal" data-target="#ModalAdjuntar" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright" id="LblFechaAlta" runat="server">
|
||||
<label for="<%= TxtFecha.ClientID.ToString()%>">Fecha Alta:</label>
|
||||
<asp:Label ID="TxtFecha" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright" id="LblUsuarioAlta" runat="server">
|
||||
<label for="<%= TxtUsuarioAlta.ClientID.ToString()%>">Usuario Alta:</label>
|
||||
<asp:Label ID="TxtUsuarioAlta" runat="server"></asp:Label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright" id="LblFechaAlta" runat="server">
|
||||
<label for="<%= TxtFecha.ClientID.ToString()%>">Fecha Alta:</label>
|
||||
<asp:Label ID="TxtFecha" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright" id="LblUsuarioAlta" runat="server">
|
||||
<label for="<%= TxtUsuarioAlta.ClientID.ToString()%>">Usuario Alta:</label>
|
||||
<asp:Label ID="TxtUsuarioAlta" runat="server"></asp:Label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
|
||||
<ajax:TabPanel ID="TabPanelPermisos" runat="server" HeaderText="Acceso a Módulos">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UPPAltaRep" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row" align="right">
|
||||
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPermisos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPermisos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvPermisos" runat="server" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="CveRol,CveModulo" GridLines="None">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Padres" HeaderText="Módulo Padre">
|
||||
<ControlStyle Width="175px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="Modulo" HeaderText="Módulo">
|
||||
<ControlStyle Width="175px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate><span title="Permitir">P</span></HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="ChkP"></asp:CheckBox>
|
||||
</ItemTemplate>
|
||||
<ControlStyle Width="25px" />
|
||||
<ItemStyle HorizontalAlign="Center"></ItemStyle>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
|
||||
</asp:GridView>
|
||||
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
|
||||
<ajax:TabPanel ID="TabPanelPermisos" runat="server" HeaderText="Acceso a Módulos">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UPPAltaRep" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row" align="right">
|
||||
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPermisos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPermisos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvPermisos" runat="server" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="CveRol,CveModulo" GridLines="None">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Padres" HeaderText="Módulo Padre">
|
||||
<ControlStyle Width="175px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="Modulo" HeaderText="Módulo">
|
||||
<ControlStyle Width="175px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate><span title="Permitir">P</span></HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="ChkP"></asp:CheckBox>
|
||||
</ItemTemplate>
|
||||
<ControlStyle Width="25px" />
|
||||
<ItemStyle HorizontalAlign="Center"></ItemStyle>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
|
||||
</asp:GridView>
|
||||
|
||||
|
||||
<ajax:TabPanel ID="TabPanelProcesos" runat="server" HeaderText="Permiso en Módulos">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UPPAltaProcesos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
|
||||
<div class="row" align="right">
|
||||
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProcesos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProcesos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvProcesos" runat="server" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="CveRol,CveModulo,CveProceso" GridLines="None">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Modulo" HeaderText="Módulo">
|
||||
<ControlStyle Width="150px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="Descripcion" HeaderText="Proceso">
|
||||
<ControlStyle Width="250px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate><span title="Permitir">P</span></HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="ChkP"></asp:CheckBox>
|
||||
</ItemTemplate>
|
||||
<ControlStyle Width="25px" />
|
||||
<ItemStyle HorizontalAlign="Center"></ItemStyle>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
|
||||
</asp:GridView>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
|
||||
<ajax:TabPanel ID="TabPanelProcesos" runat="server" HeaderText="Permiso en Módulos">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UPPAltaProcesos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
|
||||
<div class="row" align="right">
|
||||
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProcesos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvProcesos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GvProcesos" runat="server" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="CveRol,CveModulo,CveProceso" GridLines="None">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Modulo" HeaderText="Módulo">
|
||||
<ControlStyle Width="150px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="Descripcion" HeaderText="Proceso">
|
||||
<ControlStyle Width="250px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate><span title="Permitir">P</span></HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="ChkP"></asp:CheckBox>
|
||||
</ItemTemplate>
|
||||
<ControlStyle Width="25px" />
|
||||
<ItemStyle HorizontalAlign="Center"></ItemStyle>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
|
||||
</asp:GridView>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ajax:TabPanel ID="TabPanelIndicadores" runat="server" HeaderText="Indicadores">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UpIndicadores" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="portlet light xspadding bordered ">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Indicadores</span>
|
||||
<ajax:TabPanel ID="TabPanelIndicadores" runat="server" HeaderText="Indicadores">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UpIndicadores" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="portlet light xspadding bordered ">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Indicadores</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
<div class="row ">
|
||||
<div class="col-md-12">
|
||||
<input type="text" id="TxtBusquedaIndicador" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaIndicador','{0}')", GvIndicadores.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaIndicador','{0}')", GvIndicadores.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tools">
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
<div class="row ">
|
||||
<div class="col-md-12">
|
||||
<input type="text" id="TxtBusquedaIndicador" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaIndicador','{0}')", GvIndicadores.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaIndicador','{0}')", GvIndicadores.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
<div class="portlet-body">
|
||||
<asp:GridView ID="GvIndicadores" DataKeyNames="CveIndicador, CveRol" data-sort="true" CssClass="table table-striped table-hover Widthall ScrollAD" DataKey="CveIndicador" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no se Indicadores" runat="server">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Indicador" HeaderText="Indicador" />
|
||||
|
||||
<asp:TemplateField HeaderText="Aplica" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="chkIndicador" Checked="false" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
|
||||
<ajax:TabPanel ID="TabPanelUsuarios" runat="server" HeaderText="Usuarios">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UpUsuarios" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
<div class="portlet light xspadding bordered ">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Usuarios</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
<div class="row ">
|
||||
<div class="col-md-12">
|
||||
<input type="text" id="TxtBusquedaUsuario" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaUsuario','{0}')", GvUsurios.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaUsuario','{0}')", GvUsurios.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tools">
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<asp:GridView ID="GvIndicadores" DataKeyNames="CveIndicador, CveRol" data-sort="true" CssClass="table table-striped table-hover Widthall ScrollAD" DataKey="CveIndicador" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no se Indicadores" runat="server">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Indicador" HeaderText="Indicador" />
|
||||
|
||||
<asp:TemplateField HeaderText="Aplica" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="chkIndicador" Checked="false" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
|
||||
<ajax:TabPanel ID="TabPanelUsuarios" runat="server" HeaderText="Usuarios">
|
||||
<ContentTemplate>
|
||||
<asp:UpdatePanel ID="UpUsuarios" UpdateMode="Conditional" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
<div class="portlet light xspadding bordered ">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Usuarios</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
<div class="row ">
|
||||
<div class="col-md-12">
|
||||
<input type="text" id="TxtBusquedaUsuario" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaUsuario','{0}')", GvUsurios.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
|
||||
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaUsuario','{0}')", GvUsurios.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tools">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tools">
|
||||
<div class="portlet-body">
|
||||
<asp:GridView ID="GvUsurios" DataKeyNames="CveUsuario" data-sort="true" CssClass="table table-striped table-hover Widthall ScrollAD"
|
||||
DataKey="CveUsuario" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no se usuarios" runat="server">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Usuario" HeaderText="Usuario" />
|
||||
<asp:BoundField DataField="Nombre" HeaderText="Nombre" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<asp:GridView ID="GvUsurios" DataKeyNames="CveUsuario" data-sort="true" CssClass="table table-striped table-hover Widthall ScrollAD"
|
||||
DataKey="CveUsuario" AutoGenerateColumns="false" GridLines="None" EmptyDataText="Aun no se usuarios" runat="server">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Usuario" HeaderText="Usuario" />
|
||||
<asp:BoundField DataField="Nombre" HeaderText="Nombre" />
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
|
||||
|
||||
</ajax:TabContainer>
|
||||
<br />
|
||||
</ajax:TabContainer>
|
||||
<br />
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<asp:Button runat="server" ID="BtnGuardar" Text="Guardar" CssClass="btn btn-primary" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<asp:Button runat="server" ID="BtnGuardar" Text="Guardar" CssClass="btn btn-primary" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<%--MODAL ADJUNTAR--%>
|
||||
<div id="ModalAdjuntar" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">Adjuntar</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:TextBox ID="txtAdjuntar" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
|
||||
<%--MODAL ADJUNTAR--%>
|
||||
<div id="ModalAdjuntar" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">Adjuntar</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:TextBox ID="txtAdjuntar" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="btnGuardarAdjunto" runat="server" Text="Guardar" CssClass="btn btn-primary" OnClick="btnGuardarAdjunto_Click" />
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="btnGuardarAdjunto" runat="server" Text="Guardar" CssClass="btn btn-primary" OnClick="btnGuardarAdjunto_Click" />
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
</asp:Content>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
</asp:Content>
|
||||
|
||||
|
||||
@@ -236,7 +236,8 @@
|
||||
<ContentTemplate>
|
||||
<div style="min-height: 250px; overflow-x: scroll">
|
||||
<asp:GridView ID="GvE" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados"
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" DataKeyNames="CveCliente,CveVendedor,CveSubProyecto,CvePS,CveUnidadMedida,Cantidad,PU,CveVentaDetalle,GastosEnvio" data-sort="true" GridLines="None" Width="99%">
|
||||
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" DataKeyNames="CveCliente,CveVendedor,CveSubProyecto,CvePS,CveUnidadMedida,Cantidad,PU,CveVentaDetalle,GastosEnvio,CveVenta,SerieFolio" data-sort="true" GridLines="None" Width="99%"
|
||||
OnRowDataBound="GvE_RowDataBound">
|
||||
<Columns>
|
||||
<asp:BoundField HeaderText="Cliente" DataField="NombreComercial" ItemStyle-Width="30%" />
|
||||
<asp:BoundField HeaderText="SerieFolio" DataField="SerieFolio" ItemStyle-Width="10%" />
|
||||
|
||||
@@ -150,6 +150,11 @@ Partial Class Ventas_RepPedidosSTF
|
||||
|
||||
If e.Row.DBCampo("TipoRenglon") = "1" Then e.Row.CssClass = "SubTotales"
|
||||
|
||||
If UsuarioActual.TienePermisoPagina(6) Then
|
||||
e.Row.Cells(1).Text = $"<a href='./Ventas.aspx?CveVenta={e.Row.DataKey("CveVenta")}' target='_blank' class ='Texto' >{e.Row.DataKey("SerieFolio")}</a>"
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
|
||||
@@ -444,4 +449,16 @@ Partial Class Ventas_RepPedidosSTF
|
||||
UpBodyHorariosPedidos.Update()
|
||||
RegistraScript("$('#divHorariosPedidos').modal({ backdrop: 'static', keyboard: false});")
|
||||
End Sub
|
||||
|
||||
Protected Sub GvE_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
If UsuarioActual.TienePermisoPagina(6) Then
|
||||
e.Row.Cells(1).Text = $"<a href='./Ventas.aspx?CveVenta={e.Row.DataKey("CveVenta")}' target='_blank' class ='Texto' >{e.Row.DataKey("SerieFolio")}</a>"
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
@@ -9028,13 +9028,13 @@
|
||||
|
||||
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpDvModalTipoVenta" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-content">
|
||||
<div class="modal-content" style="width:650px;">
|
||||
<div class="modal-header ">
|
||||
<h4 class="modal-title">
|
||||
<asp:Label ID="LblDvModalTipoVentaTitulo" runat="server">Tipo de Venta</asp:Label>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body" style="min-height: 233.45px">
|
||||
<div class="modal-body" style="min-height: 250px">
|
||||
|
||||
<%--Tipo Venta--%>
|
||||
<div class="row" runat="server" visible="True" id="DvModalTipoVentaPasoTipo">
|
||||
@@ -9126,7 +9126,7 @@
|
||||
<div class="row" runat="server" id="DVGvPSProced" visible="false">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<asp:CheckBox ID="ChkVerTodosPS" runat="server" Text="Ver Todos" AutoPostBack="true" OnCheckedChanged="ChkVerTodosPS_CheckedChanged" />
|
||||
<asp:CheckBox ID="ChkVerTodosPS" runat="server" Text="Ver Todos los productos" AutoPostBack="true" OnCheckedChanged="ChkVerTodosPS_CheckedChanged" />
|
||||
</div>
|
||||
<div class="col-md-4" style="text-align: right">
|
||||
<input type="text" id="TxtBus" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBus','{0}')", GvPSProced.ClientID) %>" style="display: inline-block; width: 150px;" />
|
||||
@@ -9144,7 +9144,7 @@
|
||||
<ajax:FilteredTextBoxExtender ID="FilTxtCantidad" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="Cantidad" HeaderText="Cant." DataFormatString="{0:#,###.##}" ItemStyle-Width="30px">
|
||||
<asp:BoundField DataField="Cantidad" HeaderText="Exist." DataFormatString="{0:#,###.##}" ItemStyle-Width="30px">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="CodigoPS" HeaderText="Producto">
|
||||
|
||||
@@ -40167,38 +40167,27 @@ Partial Class Ventas
|
||||
Protected Sub LnkDvModalTipoVentaCancelar_Click(sender As Object, e As EventArgs)
|
||||
|
||||
LnkDvModalTipoVentaAceptar.Visible = False
|
||||
|
||||
DvModalTipoVentaPasoTipo.Visible = True
|
||||
DvModalTipoVentaClientesucursal.Visible = False
|
||||
DvModalTipoVentaCliente.Visible = False
|
||||
DvModalTipoVentaPasoRequiereOS.Visible = False
|
||||
DvModalTipoVentaPasoMedicoProcedimiento.Visible = False
|
||||
|
||||
ChkRequiereTecnicoModal.Enabled = True
|
||||
|
||||
|
||||
DdlClienteSucursal.SelectedValueExist(-1)
|
||||
|
||||
DvModalRequiereOSFecha.Visible = False
|
||||
ChkRequiereTecnicoModal.Checked = False
|
||||
|
||||
RBLTipoVenta.SelectedValue = Nothing
|
||||
|
||||
DdlMedicoModal.SelectedValueExist(-1)
|
||||
DdlProcedimientoModal.SelectedValueExist(-1)
|
||||
|
||||
GvPSProced.DataSource = Nothing
|
||||
GvPSProced.DataBind()
|
||||
DVGvPSProced.Visible = False
|
||||
|
||||
|
||||
LblDvModalTipoVentaTitulo.Text = "Tipo de Venta"
|
||||
|
||||
UpDvModalTipoVenta.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Protected Sub LnkDvModalTipoVentaAceptar_Click(sender As Object, e As EventArgs)
|
||||
|
||||
If RBLTipoVenta.SelectedValue = "2" Then 'pago directo
|
||||
|
||||
Reference in New Issue
Block a user