From ca8a75bf1ca065c5fd60d81e374f5adbd823ca16 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 20 Jul 2021 10:10:29 -0700 Subject: [PATCH] Validaciones y correciones en punto de venta --- Ventas/PV.aspx.vb | 70 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 63 insertions(+), 7 deletions(-) diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index b6305efd8..db90d09e2 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -584,7 +584,7 @@ Partial Class PV 'Estimaciones Private Property CveContrato As Integer Get - Return ViewState("CveContrato").ToString.ToEntero + Return If(IsNothing(ViewState("CveContrato")), -1, ViewState("CveContrato").ToString.ToEntero) End Get Set(value As Integer) @@ -1181,7 +1181,10 @@ Partial Class PV 'CARGA VENTA If Request("CveVenta") IsNot Nothing Then ViewState("CveVenta") = Request("CveVenta").ToString().ToEntero() + SetPermisos() CargaVenta() + Else + SetPermisos() End If @@ -1198,7 +1201,7 @@ Partial Class PV End If If UsuarioActual.CveVendedor > 0 Then - If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString) + If CveVenta <= 0 AndAlso Not DdlVendedor.SelectedValue.ToEntero > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString) If DdlVendedor.SelectedValue.ToEntero > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then DdlVendedor.Enabled = False End If @@ -1268,6 +1271,49 @@ Partial Class PV End If End Sub + Private Sub SetPermisos() + If CveVenta <= 0 Then + 'Puede cotizar + If Not UsuarioActual.TienePermisoProceso(59) Then + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Cot")) + End If + + 'Puede Hacer NC + If Not UsuarioActual.TienePermisoProceso(175) Then + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Egs")) + End If + + 'Puede Hacer Devolución + If Not UsuarioActual.TienePermisoProceso(264) Then + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Dev")) + End If + + 'Puede facturar + If Not UsuarioActual.TienePermisoProceso(60) Then + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ing")) + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Ant")) + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Egs")) + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Dev")) + End If + + 'Puede remisionar + If Not UsuarioActual.TienePermisoProceso(199) Then + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Rem")) + End If + + 'Puede hacer pedido + If Me.CveVenta <= 0 Then + If Not UsuarioActual.TienePermisoProceso(177) Then + If DdlTipoComprobante.Items.FindByValue("Pd2") IsNot Nothing Then + DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Pd2")) + End If + End If + End If + + ConfiguraTipoDocto() + End If + End Sub + Private Sub CargaMarcasFiltro() Using ObjMarcas As New ClsProductosServicios @@ -2856,12 +2902,22 @@ Partial Class PV Dim CveVendedorActual = DdlVendedor.SelectedValue DdlVendedor.Items.Clear() - If UsuarioActual.Empresa.Funcionalidad(302) = "1" AndAlso DdlSubProyectoDatos.SelectedValue.ToEntero > 0 Then - DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyectoDatos.SelectedValue)).FiltraParametros("VendedorTipo = 1") - Else - DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros("VendedorTipo = 1") + + Dim DtVendedores As DataTable = Nothing + + Dim ObjVendedores As New ClsVtaVendedores + If ObjVendedores.GetVendedores(UsuarioActual.CveEmpresa) Then DtVendedores = ObjVendedores.DtResultados.Copy + ObjVendedores.Dispose() + + If DtVendedores IsNot Nothing Then + If UsuarioActual.Empresa.Funcionalidad(302) = "1" AndAlso DdlSubProyectoDatos.SelectedValue.ToEntero > 0 Then + DdlVendedor.DataSource = DtVendedores.FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyectoDatos.SelectedValue)).FiltraParametros("VendedorTipo IN(1,4)") + Else + DdlVendedor.DataSource = DtVendedores.FiltraParametros("VendedorTipo IN(1,4)") + End If End If + DdlVendedor.SelectedValue = "0" DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar", "0")) DdlVendedor.DataBind() @@ -2874,7 +2930,7 @@ Partial Class PV 'SELECCIONA VENDEDOR DEL USUARIO CUANDO SEA VENTA NUEVA Y SIN CLIENTE If UsuarioActual.CveVendedor > 0 Then - If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) + If CveVenta <= 0 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then DdlVendedor.Enabled = False End If