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