Line Loop – Ejemplos – Revisar líneas con precio cero.

Anuncio
Line Loop – Ejemplos – Revisar líneas con precio cero.
Resumen
Modulo
Nivel
Requerimientos
Funciones universales.
Avanzado.
B1UP 3.6.0.0 o superior.
Escenario.
El cliente desea que al agregar o actualizar una orden de venta, se revisen las líneas para asegurarnos que
ninguna de ellas tiene precio 0.
Configuración necesaria.
Para este ejemplo crearemos Funciones universales y también utilizaremos configuración B1 validación.
Configuración B1 Validación
La validación simplemente reaccionará cuando se agregue o actualice un documento como se muestra en la
imagen superior, además de invocar a la función universal de la validación.
Función universal.
Aquí configuramos la función. El Uid que utilizaremos será el 38 ya que es el número correspondiente al
detalle de líneas del documento. Ya que buscamos líneas que contengan precio 0 utilizaremos una condición
de SQL para validarlo.
IF($[$38.14.NUMBER]) = 0
BEGIN
SELECT 'ES_CERO' FOR BROWSE
END
Si el precio es cero la condición de SQL regresará un valor y regresará el valor de la línea en la que lo encontró
(utilizamos una función especial llamada $[LINENUM] para identificar la línea) y aparecerá de acuerdo a las
líneas en las que encuentre el error.
El resultado final es que no deseamos que el usuario pueda Crear/Actualizar si es que encontramos líneas con
este error, por lo cual utilizamos la condición “Ejecutar si no está vacío”. En ese caso se lanzará la función
universal con el mensaje correspondiente (UF_195).
NOTA: Puede incluir en el mensaje el resultado del Line Loop incluyendo la función $[LLRESULT.STRING] .
Uso de la funcionalidad.
Para este ejemplo tenemos una orden de venta en la cual 2 de las 4 líneas no tienen precio definido.
Por lo cual obtendremos el siguiente mensaje de error al querer guardar.
Descargar