diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index fd14b2e9a..0813ad5c8 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -6247,13 +6247,14 @@ Public Class ClsInventarios Return Retorno End Function - Public Function UpdatePedidoDetalleCantidad(CveVentaDetalle As Integer, Cantidad As Decimal) As Boolean + Public Function UpdatePedidoDetalleCantidad(CveVentaDetalle As Integer, Cantidad As Decimal, Optional Opcion As Integer = 1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasDetalleCantidadUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle .Add("@Cantidad", SqlDbType.Money).Value = Cantidad + .Add("@Opcion", SqlDbType.Int).Value = Opcion End With Try 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/Inventarios/RepNotasSinAlmacen.aspx b/Inventarios/RepNotasSinAlmacen.aspx index e6270a0dd..bbe1ffb73 100644 --- a/Inventarios/RepNotasSinAlmacen.aspx +++ b/Inventarios/RepNotasSinAlmacen.aspx @@ -170,23 +170,30 @@ DataKeyNames="EsDevolucionVenta" data-sort="true" EmptyDataText="No se encontraron resultados." AutoGenerateColumns="False" > + <%--0--%> - - - <%-- --%> - + <%--1--%> + - + <%--2--%> + <%--3--%> + <%--4--%> + <%--5--%> + <%--6--%> + <%--7--%> + <%--8--%> + + <%--9--%> diff --git a/Inventarios/RepNotasSinAlmacen.aspx.vb b/Inventarios/RepNotasSinAlmacen.aspx.vb index bf204bdb0..e7d5a7c78 100644 --- a/Inventarios/RepNotasSinAlmacen.aspx.vb +++ b/Inventarios/RepNotasSinAlmacen.aspx.vb @@ -88,6 +88,7 @@ Partial Class RepNotasSinAlmacen GvVentas.Columns(6).Visible = True GvVentas.Columns(7).Visible = True GvVentas.Columns(8).Visible = True + GvVentas.Columns(9).Visible = True TxtFechaF.Text = NowADS.AddDays(3).ToShortDateString GvVentas.Columns(4).Visible = False diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index 0268359a0..14029ca24 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -7,6 +7,11 @@ Imports System.Data Imports System.Data.SqlClient Imports System.Diagnostics Imports System.ServiceModel.Security +Imports RVCFDI.RVLTimbrado +Imports Microsoft.Owin.Security.Provider +Imports Telerik.Web.UI + + Partial Class OS_OrdenesServicios Inherits ClsPaginas @@ -3139,6 +3144,37 @@ Partial Class OS_OrdenesServicios ProcesoOK = False End If + + Dim DT_Ventas_Detalles As DataTable = DTSolicitudDev.FiltraParametros("", "", {"CantidadPedido", "CvePS", "CveVentaDetalle"}) + DT_Ventas_Detalles.Columns.Add("CantidadUsada", GetType(Decimal)) + DT_Ventas_Detalles.AcceptChanges() + + For Each dRow As DataRow In DT_Ventas_Detalles.Rows + + For Each gvRow As GridViewRow In GvMU.Rows + + Dim CantidadUsada As Decimal = gvRow.FCTextBox("TxtUtilizado").Text.ToDecimal + + If dRow("CvePS").ToString.ToDecimal = gvRow.DataKey("CvePS").ToDecimal AndAlso CantidadUsada > 0 Then + + dRow("CantidadUsada") = dRow("CantidadUsada").ToString.ToDecimal + CantidadUsada + + End If + Next + + Next + + For Each dRow As DataRow In DT_Ventas_Detalles.Rows + Dim CantidadUsada As Decimal = dRow("CantidadUsada").ToString.ToDecimal + If dRow("CantidadUsada").ToString.ToDecimal < dRow("CantidadPedido").ToString.ToDecimal Then + If Not ObjInventario.UpdatePedidoDetalleCantidad(dRow("CveVentaDetalle").ToString.ToEntero, CantidadUsada, 2) Then + ProcesoOK = False + Exit For + End If + End If + Next + + Else If ProcesoOK Then Dim AplicaDevolucion As Boolean = False @@ -3424,6 +3460,44 @@ Partial Class OS_OrdenesServicios Dim CveMoneda As Integer = -1 Dim tCveVendedor As Integer = -1 + + Dim CountDetalles As Integer = 0 + Dim PuEnCero As Boolean = False + + For Each GvRow As GridViewRow In GvMU.Rows + + Dim CantidadRegistro As Decimal = GvRow.FCTextBox("TxtUtilizado").Text.ToDecimal + Dim PU As Decimal = GvRow.DataKey("PU").ToDecimal + Dim CodigoPS As String = GvRow.DataKey("CodigoPS") + + If CantidadRegistro > 0 Then + If PU > 0 Then + CountDetalles = CountDetalles + 1 + Else + Alert($"Prodcuto {CodigoPS} con precio unitario en cero.", TipoMensaje.MsgAdvertencia) + PuEnCero = True + End If + End If + + Next + + If PuEnCero Then + Respuesta.CveVenta = -1 + Respuesta.SerieFolio = "" + Respuesta.dtdetalle = New DataTable + Return Respuesta + End If + + If CountDetalles = 0 Then + Respuesta.CveVenta = -1 + Respuesta.SerieFolio = "" + Respuesta.dtdetalle = New DataTable + Alert("Remision sin detalles.", TipoMensaje.MsgAdvertencia) + Return Respuesta + End If + + + If ObjVentas.GetVenta(CvePedido, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Copy().Rows(0) CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero 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 + + + + + + + + +
  • + Agregar
  • +
    +
    +
    + + + +
    + " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + + 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