diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 15bd17430..2a64841fe 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -10819,7 +10819,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Ventas/RepComisionesSMS.aspx".ToUpper(), 1347)
PaginaDict.Add("/Ventas/RepVencimientosCredito.aspx".ToUpper(), 146)
PaginaDict.Add("/Ventas/CatMotivosDevoluciones.aspx".ToUpper(), 786)
-
+ PaginaDict.Add("/Ventas/CatPSSubProyectosVendedores.aspx".ToUpper(), 787)
#End Region
#Region "Varios"
diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb
index 0673bb5c0..99efd2b31 100644
--- a/App_Code/ClsVentas.vb
+++ b/App_Code/ClsVentas.vb
@@ -7426,6 +7426,60 @@ Public Class ClsVentas
Return Retorno
End Function
+#Region "PRODUCTOS/SERVICIOS, SUBPROYECTOS Y VENDEDORES"
+
+ Public Function GetPSSubProyectosVendedores(CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_ProductosSubProyectosVendedoresGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .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 ps, subproyectos y vendedores.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+ Public Function AddPSSubProyectosVendedores(CvePS As Integer, CveSubProyecto As Integer, CveVendedor As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_ProductosSubProyectosVendedoresAdd")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al guardar el ps, subproyecto y vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+ Public Function RemovePSSubProyectosVendedores(CvePS As Integer, CveSubProyecto As Integer, CveVendedor As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Vta_ProductosSubProyectosVendedoresRemove")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CvePS", SqlDbType.Int).Value = CvePS
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al eliminar el ps, subproyecto y vendedor.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+
+#End Region
+
#Region "IDisposable Support"
diff --git a/Ventas/CatPSSubProyectosVendedores.aspx b/Ventas/CatPSSubProyectosVendedores.aspx
new file mode 100644
index 000000000..79eb37461
--- /dev/null
+++ b/Ventas/CatPSSubProyectosVendedores.aspx
@@ -0,0 +1,94 @@
+<%@ Page Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="True" CodeFile="CatPSSubProyectosVendedores.aspx.vb" Inherits="Ventas_CatPSSubProyectosVendedores" %>
+
+
+
+
+
+
+ Catalogo de Productos/Servicios, SubProyectos y Vendedores
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Ventas/CatPSSubProyectosVendedores.aspx.vb b/Ventas/CatPSSubProyectosVendedores.aspx.vb
new file mode 100644
index 000000000..ba9d7ffb6
--- /dev/null
+++ b/Ventas/CatPSSubProyectosVendedores.aspx.vb
@@ -0,0 +1,107 @@
+Option Explicit On
+Option Strict On
+
+Imports System.Data
+Imports Extensiones
+
+Partial Class Ventas_CatPSSubProyectosVendedores
+
+ Inherits ClsPaginas
+
+ Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
+ If Not IsPostBack Then
+ CargaDatos()
+ CargaCombos()
+ End If
+ End Sub
+
+ Protected Sub CargaDatos()
+ Dim ObjVentas As ClsVentas = New ClsVentas()
+
+ If ObjVentas.GetPSSubProyectosVendedores(UsuarioActual.CveEmpresa) Then
+ GvPSSubProyectosVendedores.DataSource = ObjVentas.DtResultados
+ GvPSSubProyectosVendedores.DataBind()
+ End If
+
+ ObjVentas.Dispose()
+ UpDatos.Update()
+ End Sub
+
+ Protected Sub CargaCombos()
+
+ 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.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
+ DdlPS.ddl.DataBind()
+ DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
+ End If
+
+ DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
+ DdlVendedor.DataBind()
+ DdlVendedor.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ DdlSubProyecto.DataSource = GlobalDTSubProyectos(UsuarioActual.CveEmpresa)
+ DdlSubProyecto.DataBind()
+ DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ UpModalAdd.Update()
+ End Sub
+
+
+ Protected Sub LimpiaRegistro()
+ DdlPS.SelectedValue = "-1"
+ DdlPS.SelectedText = ""
+ DdlVendedor.SelectedIndex = 0
+ DdlSubProyecto.SelectedIndex = 0
+ UpModalAdd.Update()
+ End Sub
+
+ Protected Sub LnkAgregar_Click(ByVal sender As Object, ByVal e As EventArgs)
+ RegistraScript("$('#DModalAdd').modal();")
+ LimpiaRegistro()
+ UpModalAdd.Update()
+ End Sub
+
+ Protected Sub BtnAdd_Click(ByVal sender As Object, ByVal e As EventArgs)
+ If DdlPS.SelectedValue = "" Then
+ Alert("Tiene que seleccionar un producto/servicio.")
+ Return
+ End If
+
+ If DdlVendedor.SelectedValue = "-1" Then
+ Alert("Tiene que seleccionar un vendedor.")
+ Return
+ End If
+
+ If DdlSubProyecto.SelectedValue = "-1" Then
+ Alert("Tiene que seleccionar un subproyecto.")
+ Return
+ End If
+
+ Dim ObjVentas As ClsVentas = New ClsVentas()
+ Dim Continuar As Boolean = ObjVentas.AddPSSubProyectosVendedores(DdlPS.SelectedValue.ToEntero(), DdlSubProyecto.SelectedValue.ToEntero(), DdlVendedor.SelectedValue.ToEntero())
+ ObjVentas.Dispose()
+
+ If Continuar Then
+ RegistraScript("$('#DModalAdd').modal('hide');")
+ LimpiaRegistro()
+ Alert("El registro se ha agregado")
+ CargaDatos()
+ End If
+ End Sub
+
+ Protected Sub LnkEliminar_Click(ByVal sender As Object, ByVal e As EventArgs)
+ Dim gvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
+ Dim ObjVentas As ClsVentas = New ClsVentas()
+ Dim Continuar As Boolean = ObjVentas.RemovePSSubProyectosVendedores(gvRow.DataKey("CvePS").ToEntero(), gvRow.DataKey("CveSubProyecto").ToEntero(), gvRow.DataKey("CveVendedor").ToEntero())
+ ObjVentas.Dispose()
+
+ If Continuar Then
+ CargaDatos()
+ Alert("El registro se ha eliminado")
+ End If
+ End Sub
+
+End Class