diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 2b8c9e0fc..d4ab195da 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -9016,8 +9016,15 @@ Partial Class Ventas End If - If UsuarioActual.CveEmpresa = 189 AndAlso Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then - GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False + If UsuarioActual.CveEmpresa = 189 Then + Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=TmpDT.Rows(e.NewEditIndex)("CvePS").ToString().ToEntero()).FiltroPrimero("") + + If CBool(DrPS("PrecioLibre")) Then + GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = True + Else + GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False + End If + End If End Sub @@ -9072,6 +9079,7 @@ Partial Class Ventas Dim DatarowPS As DataRow = Nothing DatarowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=TmpDT.Rows(e.RowIndex)("CvePS").ToString().ToEntero()).FiltroPrimero("") ' Estado = -1 + Dim PrecioLibre As Boolean = False If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then If DdlTipoComprobante.SelectedValue = "Cot" Then If PU < DatarowPS("PrecioMinimo").ToString().ToDecimal() Then @@ -9080,6 +9088,8 @@ Partial Class Ventas End If End If + PrecioLibre = CBool(DatarowPS("PrecioLibre")) + If DdlTipoComprobante.SelectedValue = "Ant" Then Dim PSCodigoSAT As String = DatarowPS("SATClavePS").ToString If PSCodigoSAT <> "84111506" Then @@ -9248,35 +9258,39 @@ Partial Class Ventas 'NO DEJA REGISTRAR MENOS AL PRECIO MINIMO Dim MensajeCosto As New StringBuilder Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201) - If Not EsValido Then - MensajeCosto.AppendFormat("El Producto {0}. No se puede vender a un precio menor de su Costo
", DatarowPS("PS").ToString()) - If TienePermisoImportes Then - MensajeCosto.AppendFormat("El costo del producto es: ${0:#,###.00}
", Costo) - MensajeCosto.AppendFormat("El rango menor aceptado es: {0:#,###.00}% ${1}
", PorcentajeMinimoCostoEmpresa, CostoMenor) - MensajeCosto.AppendFormat("El precio indicado es: ${0:#,###.00} ({1}% de ganancia)
", PU.FormatoNumero, (If(Costo > 0, ((PU - Costo) * 100) / Costo, 0)).FormatoNumero) + + If Not PrecioLibre Then + If Not EsValido Then + MensajeCosto.AppendFormat("El Producto {0}. No se puede vender a un precio menor de su Costo
", DatarowPS("PS").ToString()) + If TienePermisoImportes Then + MensajeCosto.AppendFormat("El costo del producto es: ${0:#,###.00}
", Costo) + MensajeCosto.AppendFormat("El rango menor aceptado es: {0:#,###.00}% ${1}
", PorcentajeMinimoCostoEmpresa, CostoMenor) + MensajeCosto.AppendFormat("El precio indicado es: ${0:#,###.00} ({1}% de ganancia)
", PU.FormatoNumero, (If(Costo > 0, ((PU - Costo) * 100) / Costo, 0)).FormatoNumero) + End If + + + Alert(String.Format(MensajeCosto.ToString()), TipoMensaje.MsgAdvertencia) + MensajeCosto.Clear() + e.Cancel = True + Exit Sub End If - - Alert(String.Format(MensajeCosto.ToString()), TipoMensaje.MsgAdvertencia) - MensajeCosto.Clear() - e.Cancel = True - Exit Sub - End If - - 'NO DEJA REGISTRAR MAS AL PRECIO MAXIMO - If Not EsValidoMayor Then - MensajeCosto.AppendFormat("El Producto {0}. No se puede vender a un precio mayor de su rango aceptado
", HdnPS.Value) - If TienePermisoImportes Then - MensajeCosto.AppendFormat("El costo del producto es: ${0:#,###.00}
", Costo) - MensajeCosto.AppendFormat("El rango mayor aceptado es: {0}% ${1:#,###.00}
", UsuarioActual.Empresa.Funcionalidad(133).ToEntero(), CostoMayor) - MensajeCosto.AppendFormat("El precio indicado es: ${0:#,###.00} ({1}% de ganancia)
", PU.FormatoNumero, (If(Costo > 0, ((PU - Costo) * 100) / Costo, 0)).FormatoNumero) + 'NO DEJA REGISTRAR MAS AL PRECIO MAXIMO + If Not EsValidoMayor Then + MensajeCosto.AppendFormat("El Producto {0}. No se puede vender a un precio mayor de su rango aceptado
", HdnPS.Value) + If TienePermisoImportes Then + MensajeCosto.AppendFormat("El costo del producto es: ${0:#,###.00}
", Costo) + MensajeCosto.AppendFormat("El rango mayor aceptado es: {0}% ${1:#,###.00}
", UsuarioActual.Empresa.Funcionalidad(133).ToEntero(), CostoMayor) + MensajeCosto.AppendFormat("El precio indicado es: ${0:#,###.00} ({1}% de ganancia)
", PU.FormatoNumero, (If(Costo > 0, ((PU - Costo) * 100) / Costo, 0)).FormatoNumero) + End If + Alert(MensajeCosto.ToString(), TipoMensaje.MsgAdvertencia) + MensajeCosto.Clear() + e.Cancel = True + Exit Sub End If - Alert(MensajeCosto.ToString(), TipoMensaje.MsgAdvertencia) - MensajeCosto.Clear() - e.Cancel = True - Exit Sub End If + End If End If End If @@ -18381,7 +18395,10 @@ Partial Class Ventas tPrecioSugerido = 0 PrecioSugerido = 0 - Alert("No se encontro una lista de precios permitida en la sucursal actual", TipoMensaje.MsgAdvertencia) + If Not CBool(drPS("PrecioLibre")) Then + Alert("No se encontro una lista de precios permitida en la sucursal actual", TipoMensaje.MsgAdvertencia) + End If + End If Else ObjPrecioSugerido.CvePrecioLista = -1 @@ -18389,7 +18406,10 @@ Partial Class Ventas tPrecioSugerido = 0 PrecioSugerido = 0 - Alert("No se encontraron listas de precio disponibles", TipoMensaje.MsgAdvertencia) + If Not CBool(drPS("PrecioLibre")) Then + Alert("No se encontraron listas de precio disponibles", TipoMensaje.MsgAdvertencia) + End If + End If End If @@ -18410,11 +18430,10 @@ Partial Class Ventas tPrecioSugerido = 0 PrecioSugerido = 0 - TxtPrecio.Enabled = True + TxtPrecio.Enabled = CBool(drPS("PrecioLibre")) Else - TxtPrecio.Enabled = False + TxtPrecio.Enabled = CBool(drPS("PrecioLibre")) End If - End If If PrecioSugerido <= 0 Then PrecioSugerido = tPrecioSugerido @@ -19439,6 +19458,8 @@ Partial Class Ventas Return False End If + Dim PrecioLibre As Boolean = False + If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then Dim DatarowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("") If DatarowPS IsNot Nothing Then @@ -19457,6 +19478,8 @@ Partial Class Ventas End If End If + PrecioLibre = CBool(DatarowPS("PrecioLibre")) + End If End If @@ -19675,30 +19698,33 @@ Partial Class Ventas End If 'NO DEJA REGISTRAR MENOS AL PRECIO MINIMO - Dim MensajeCosto As New StringBuilder - Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201) - If Not EsValido Then - MensajeCosto.AppendFormat("El Producto {0}-{1}. No se puede vender a un precio menor de su Costo
", HdnCodigoPS.Value, HdnPS.Value) - If TienePermisoImportes Then - MensajeCosto.AppendFormat("El costo del producto es: ${0:#,###.00}
", Costo) - MensajeCosto.AppendFormat("El rango menor aceptado es: {0}% ${1:#,###.00}
", PorcentajeMinimoCostoEmpresa, CostoMenor) - MensajeCosto.AppendFormat("El precio indicado es: ${0:#,###.00} ({1}% de ganancia)
", PU.FormatoNumero, (If(Costo > 0, ((PU - Costo) * 100) / Costo, 0)).FormatoNumero) + If Not PrecioLibre Then + Dim MensajeCosto As New StringBuilder + Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201) + + If Not EsValido Then + MensajeCosto.AppendFormat("El Producto {0}-{1}. No se puede vender a un precio menor de su Costo
", HdnCodigoPS.Value, HdnPS.Value) + If TienePermisoImportes Then + MensajeCosto.AppendFormat("El costo del producto es: ${0:#,###.00}
", Costo) + MensajeCosto.AppendFormat("El rango menor aceptado es: {0}% ${1:#,###.00}
", PorcentajeMinimoCostoEmpresa, CostoMenor) + MensajeCosto.AppendFormat("El precio indicado es: ${0:#,###.00} ({1}% de ganancia)
", PU.FormatoNumero, (If(Costo > 0, ((PU - Costo) * 100) / Costo, 0)).FormatoNumero) + End If + + Alert(String.Format(MensajeCosto.ToString()), TipoMensaje.MsgAdvertencia) + Return False End If - Alert(String.Format(MensajeCosto.ToString()), TipoMensaje.MsgAdvertencia) - Return False - End If - - 'NO DEJA REGISTRAR MAS AL PRECIO MAXIMO - If Not EsValidoMayor Then - MensajeCosto.AppendFormat("El Producto {0}. No se puede vender a un precio mayor de su rango aceptado
", HdnPS.Value) - If TienePermisoImportes Then - MensajeCosto.AppendFormat("El costo del producto es: ${0:#,###.00}
", Costo) - MensajeCosto.AppendFormat("El rango mayor aceptado es: {0}% ${1:#,###.00}
", UsuarioActual.Empresa.Funcionalidad(133).ToEntero(), CostoMayor) - MensajeCosto.AppendFormat("El precio indicado es: ${0:#,###.00} ({1}% de ganancia)
", PU.FormatoNumero, (If(Costo > 0, ((PU - Costo) * 100) / Costo, 0)).FormatoNumero) + 'NO DEJA REGISTRAR MAS AL PRECIO MAXIMO + If Not EsValidoMayor Then + MensajeCosto.AppendFormat("El Producto {0}. No se puede vender a un precio mayor de su rango aceptado
", HdnPS.Value) + If TienePermisoImportes Then + MensajeCosto.AppendFormat("El costo del producto es: ${0:#,###.00}
", Costo) + MensajeCosto.AppendFormat("El rango mayor aceptado es: {0}% ${1:#,###.00}
", UsuarioActual.Empresa.Funcionalidad(133).ToEntero(), CostoMayor) + MensajeCosto.AppendFormat("El precio indicado es: ${0:#,###.00} ({1}% de ganancia)
", PU.FormatoNumero, (If(Costo > 0, ((PU - Costo) * 100) / Costo, 0)).FormatoNumero) + End If + Alert(MensajeCosto.ToString(), TipoMensaje.MsgAdvertencia) + Return False End If - Alert(MensajeCosto.ToString(), TipoMensaje.MsgAdvertencia) - Return False End If End If @@ -19977,9 +20003,14 @@ Partial Class Ventas End If Else - 'sino es la seleccionada se recalcula de nuevo - CargaPrecioLista(DdlPS.SelectedValue.ToEntero) - Exit Sub + + Dim PermiteEdicion = UsuarioActual.CveEmpresa = 189 AndAlso TxtPrecio.Enabled + If Not PermiteEdicion Then + 'sino es la seleccionada se recalcula de nuevo + CargaPrecioLista(DdlPS.SelectedValue.ToEntero) + Exit Sub + End If + End If Else If Me.CvePrecioLista > 0 Then