Ayuda sobre una acción que se ejecuta con un bot

Buenos días,
Estoy desarrollando una aplicación de ventas y, aunque no tengo mucha experiencia como programador, he logrado implementar un bot que suma las ventas mensuales de un vendedor específico. Estas ventas se registran en la tabla PEDIDOS y el resultado se refleja correctamente en la tabla TOTALES VENTAS. Hasta aquí todo funciona sin problemas.
El inconveniente surge cuando elimino un pedido, ya sea porque fue cancelado o porque se modificaron las cantidades. En esos casos necesito que dichas cantidades se resten automáticamente del total en la tabla TOTALES VENTAS. Para ello configuré otro bot que se activa cuando el pedido cambia de estado de Activo a Anulado. Este bot dispara una acción en la tabla TOTALES VENTAS, donde intento restar el valor de PRODUCTO1 en PEDIDOS al valor de PRODUCTO1 en TOTALES VENTAS.
Mi dificultad es que no logro identificar correctamente la fila del pedido que se está editando en el bot, lo que impide realizar la resta. La fórmula que estoy utilizando es la siguiente:
[PRODUCTO1] - LOOKUP(
TEXT(ANY(SELECT(PEDIDOS[ID_Pedidos], [ID_Pedidos] = CONTEXT(“RowKey”)))),
“PEDIDOS”,
“ID_Pedidos”,
“PRODUCTO1”
)
He probado varias alternativas con _THISROW, pero no consigo obtener el valor correcto de PRODUCTO1 en la acción de la tabla TOTALES VENTAS para que se ejecute la resta. ¿Podrían orientarme sobre cómo resolver este problema o cuál sería la mejor forma de plantear la fórmula?

In general for multi table operations, it is better to have a reference relationship between the tables. Please take a look at the help article link shared below.

Are the two tables in reference relationship. In that case you can use “IsPartof” setting that deletes children table records when their parent record is deleted.

Please take a look at the section “Express ownership between tables” in the article below.

Another alternative is to use reference actions. So when an “Order” record is changed or deleted the related “Total Sales” records are deleted or flagged off from change.

Please take a look at the following help article and the section “Data: Execute an action on a set of rows”

Please take a look at the following sample app from the help article Get started by using the sample apps - AppSheet Help . This app demonstrates the use of reference actions.

1 Like

lGracias por la sugerencia y efectivamente las tablas las tengo referenciadas, a travez de una columna virtual que se creo para obtener el Id del pedido que se esta modificando, pero no he podido obtenerlo, si utilizo expresiones como MAXROW, o el ID de la tabla pedidos en la acción me resta los valores de la primera fila de la Tabla pedidos, y si utilizo MAXROW me resta la ultima fila pero no logro dar con la fila que se esta editando

Alguien me podría decir si cuando yo creo un bot para que se active con una condición (en mi caso editar el pedido) todos los procesos que se realizan dentro del bot estan relacionados con esa acción inicial que activa el bot?

If you are looking for a more detailed help, you may need to share more screenshots of the relevant columns of the two tables, the bot etc.

1 Like

Yes.

1 Like

Amigo no te compliques, agrega una columna del vendedor a tabla de ventas, puedes dejar que se auto llene automaticamente o poner un list para seleccionar el vendedor

Luego ya podras aplicar filtros en la tabla o en un slice en base a este campo de vendedor como quieras, bueno yo asi lo hago, haber si te sirve

Otra cosa mas los las sumas y totales de ventas, mejor hazlo en virtuales, te vas a complicra menos, bueno esa es mi opinión

2 Likes