# ¿Cómo agregar filtros a un widget?

**URL:** <https://bc.finneg.com/t/como-agregar-filtros-a-un-widget/2854>\
**Category:** App Builder\
**Tags:** operacionvo, cómo-se-hace\
**Created:** [24 Noviembre, 2023 20:27 UTC](https://bc.finneg.com/t/como-agregar-filtros-a-un-widget/2854 "2023-11-24T20:27:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![camilausilva](https://bc.finneg.com/user_avatar/bc.finneg.com/camilausilva/32/22204_2.png) [@camilausilva](https://bc.finneg.com/u/camilausilva)\
**Post date:** [24 Noviembre, 2023 20:27 UTC](https://bc.finneg.com/t/como-agregar-filtros-a-un-widget/2854/1 "2023-11-24T20:27:37Z")

</div>

**¿Para qué sirve?**  
Para mejorar el entendimiento sobre cómo aplicar un filtro a un atributo, dentro de una operación.

* * *

# Caso de uso

Vamos a desarrollar un ejemplo de filtrado con el selector “Lista de Precios” en un pedido de venta.

# 1. Identificamos el diccionario

En este ejemplo, el selector de Lista de Precios utiliza el diccionario “LISTAPRECIO” por lo tanto, vamos a buscar al mismo en la view de “Diccionario de Datos”.

**1.a. Menú lateral \> Diseño del espacio de trabajo \> DICCIONARIOS \> Datos**

 ![rutadiccionario](https://bc.finneg.com/uploads/default/original/2X/5/500225256332ce6ac649a5de29efe3a059f7f8a8.png)

**1.b. Buscamos el diccionario mediante el código**

 ![2023-11-24_16-42](https://bc.finneg.com/uploads/default/original/2X/c/c20d64dcdd7da0b8298ade8ce866342022c2a6ef.png)

**1.c. En la solapa “Selectores”, agregamos el filtro a nivel de los ítems**  
Para este caso, vamos a agregar un filtro de _“Moneda”_, donde vamos a filtrar aquellas listas de precios las cuales su moneda principal sea _“Pesos”_.

 ![2023-11-24_16-45](https://bc.finneg.com/uploads/default/original/2X/d/d5c54e15e3a2d45b15e5e3f9e2e8c545de0b08db.png)

**Campo:** Moneda  
**Condicion:** (BSListaPrecio.MonedaID = ?)

‘?’ Representa un valor con el cual vamos a filtrar.

**1.d. Guardamos y modificamos la DB**

 ![image](https://bc.finneg.com/uploads/default/original/2X/4/4657599ce87ce3a8f9e8c4cff3b8fffd727cad76.png)

# 2. Creación del atributo

Ahora vamos a crear un atributo al cual le vamos a aplicar el filtro.

**2.a. Buscamos el diccionario de datos OperacionVO (Menú lateral \> Diseño del espacio de trabajo \> DICCIONARIOS \> Datos)**

 ![image](https://bc.finneg.com/uploads/default/original/2X/b/b00b49b7ad96ea846270f646440c2b0c99a1648b.png)

**2.b. Ingresamos y creamos nuestro atributo en la solapa “Atributos adicionales”**

 ![image](https://bc.finneg.com/uploads/default/original/2X/b/b898714cefa40eb125fb756f6fb56ac78284555d.png)  
 ![image](https://bc.finneg.com/uploads/default/original/2X/2/2f4365471c1561da79f06a242b020c124faf2794.png)

**2.c. Le damos a Aceptar \> Guardar \> Modificar DB**

 ![image](https://bc.finneg.com/uploads/default/original/2X/9/91fbc1b2766ed78d10605184c6cbe2a2fbabcf4d.png)

# 3. Configuración del formato (+ Filtro)

Lo último que nos queda es agregar nuestro nuevo atributo a la transacción, y finalmente, asignarle nuestro filtro, en este ejemplo utilizamos el filtro con el código _“Moneda”_

**3.a. Menú lateral \> Ventas \> Transacciones \> Pedidos**

 ![rutapedidos](https://bc.finneg.com/uploads/default/original/2X/8/8c6051e60303648d298c484d1fee6c22b1b32847.png)

**3.b. Creamos un nuevo pedido de venta**

 ![rutapedidos2](https://bc.finneg.com/uploads/default/original/2X/f/f60b6d80df939fb9622c176ec4c594bea00d4e2e.png)

**3.c. Abrimos el formato de transacción**

 ![formatopedido](https://bc.finneg.com/uploads/default/original/2X/3/3dd9e085ad1b3993337205d1c7c5063be25fb9dc.png)

**3.d. Agregamos el nuevo widget**

 ![image](https://bc.finneg.com/uploads/default/original/2X/8/8efd714ad0318e274616bbb023f7aa51835e1775.png)

(Lo posicionamos en cualquier parte a nivel cabecera del formato)

- **Caption:** Lista de Precios (Pesos)
- **Diccionario:** Lista de Precios ( **Código:** LISTAPRECIO)  
 ![image](https://bc.finneg.com/uploads/default/original/2X/8/8486d53ee02f74fe6654dfc3a4b687b63205ec31.png)

**3.e. Últimas configuraciones**

En este caso de uso, ya existe un xml particularizado, por lo tanto, tenemos que localizar nuestro widget para poder configurarlo.

![image](https://bc.finneg.com/uploads/default/original/2X/a/ae13ad26f8fbd0c634af69b141798338b7b05103.png)

 ![image](https://bc.finneg.com/uploads/default/original/2X/0/0be3663c9c34a69722f024f1f166ecf2632e0cda.png)

```auto
<widget after="TransaccionCategoriaIDRelacionPadre" caption="Lista de Precios (Pesos)"
            id="USR_ListaPreciosPesos"
            serverAttribute="USR_ListaPreciosPesos"
            type="WidgetSelector" diccionario="LISTAPRECIO" jsFilter="Moneda:-2"/>

```

- El filtro es:  
`jsFilter="Moneda:-2"`  
`jsFilter="CódigoFiltro:Valor"`

Le damos a “Aceptar” \> “Guardar formato”

# 4. Prueba del filtro

La lista de precio _“Default1”_ tiene moneda _“Pesos”_

 ![image](https://bc.finneg.com/uploads/default/original/2X/5/5b2969f580e42b9087750088f37f4b04edf115e6.png)  
 ![image](https://bc.finneg.com/uploads/default/original/2X/7/7d35fb34ddf97c33ad35f73b4ffd728ccc04fb78.png)

La lista de precio _“Tienda”_ no tiene una moneda definida en la base de datos

 ![image](https://bc.finneg.com/uploads/default/original/2X/d/d59a6346c49fab9f62777ae1956b2e4aa8d53a34.png)  
 ![image](https://bc.finneg.com/uploads/default/original/2X/9/9caffc9fdfa1deb201d73caedf99a6ec458d797d.png)
