Lidiar con múltiples pedidos de un mismo cliente puede volverse un caos muy rápido. Si estás enfrentando productos repetidos, direcciones distintas o montones de facturas para un solo cliente, sabes lo complicado que se vuelve sin automatización.
Por suerte, Salesforce Flow ofrece una forma más rápida y ordenada de combinar varios registros en uno solo. En esta guía, te mostramos cómo unir varios pedidos en una sola factura usando el potente elemento transform de Salesforce.
Puntos Clave
Usa el elemento transform de Salesforce Flow para combinar múltiples pedidos en una sola factura.
Puedes sumar cantidades y montos de productos repetidos en distintos pedidos.
No necesitas programar—Flow hace todo el trabajo sin líneas de APEX.
¿Por qué unificar pedidos en una sola factura?
Muchas empresas reciben varios pedidos del mismo cliente en un mes. Esto genera:
Varias facturas para la misma cuenta
Más carga administrativa
Clientes confundidos con varias facturas
Consolidar pedidos en una sola factura simplifica el proceso. Como comentó Josué en el video:
“Mandar cuatro o seis facturas es un dolor de cabeza. Es más fácil mandar una sola.”

Configuración inicial del Flow en Salesforce
El primer paso es crear un Auto-Launch Flow. Este tipo de flujo se ejecuta en segundo plano y se puede activar desde otro flujo o automatización.
Paso 1: Variables de entrada
Crea una variable de colección para guardar varios ID de pedidos. Esos serán los pedidos que vas a consolidar.
plaintext
CopyEdit
Tipo: Texto
Permitir múltiples valores: Sí
Disponible como entrada: Sí
Cómo funciona el elemento transform
El nuevo elemento transform de Salesforce permite convertir, mapear y combinar datos entre objetos distintos sin necesidad de ciclos ni programación.
Paso 2: Obtener todos los pedidos
Usa un elemento “Get Records” para traer todos los pedidos según los ID ingresados. Luego, ordena para obtener el más reciente, útil para definir datos como dirección de facturación.
Ejemplo: cómo consolidar productos
Supongamos que el Pedido A y el Pedido B incluyen el mismo “Producto X”. En vez de agregarlo dos veces, Salesforce Flow suma la cantidad y el precio usando transform.
Esteban lo explicó así:
“Si en el Pedido 1 hay 10 unidades del Producto A y en el Pedido 2 otras 10, el transform las suma y la factura muestra 20.”
Paso 3: Primer transform
Origen: colección de pedidos
Destino: objeto Invoice (factura)
Acción: sumar el monto total de todos los pedidos
Campos a mapear:
Dirección de facturación
Dirección de envío
Cuenta
Contacto
Monto total
Loop para iterar sobre productos
Aquí sí se necesita un loop. Cada Order Item (producto del pedido) debe analizarse:
¿Ya se agregó este producto?
Si no, se suma la cantidad y el precio.
Si sí, se salta para evitar duplicados.
Josué lo explicó así:
“Es como una fila en el supermercado. Todos los López pasan juntos. Agrupás los productos igual.”
Paso 4: Loop y variable de colección
Crea una variable de colección para guardar los productos ya procesados. Si el ID del producto ya está en la colección, se salta.
Para los nuevos, usa transform para:
Sumar cantidades
Sumar precios
Mapear producto y precio unitario
Paso final: crear la factura y los productos
Cuando toda la información esté lista:
Crea la factura usando los campos mapeados
Crea los productos de la factura desde la colección que generaste en el loop
Con el elemento “Create Records” al final, evitas operaciones dentro del ciclo—una buena práctica que mejora el rendimiento.
Ejemplo real: de varios pedidos a una sola factura
Durante la clase en vivo, Esteban demostró cómo funciona esto en tiempo real:
“Seleccioné dos pedidos y le di a Next. La factura se creó automáticamente con cinco productos únicos, sin duplicados. Todo sumado correctamente.”
Esto es el poder de Flow y transform trabajando juntos.
¿Para qué sirve Salesforce Flow?
Automatiza tareas como actualizaciones de datos, creación de registros y envíos de notificaciones, todo sin necesidad de código.
¿Qué es el elemento transform en Salesforce?
Es una herramienta dentro de Flow que permite mapear, convertir y consolidar datos entre objetos, sin programación.
¿Se puede usar Flow sin saber programar?
Sí. Flow está pensado para administradores y usuarios no técnicos. Todo se hace visualmente con elementos arrastrables.
¿El objeto Invoice es estándar en Salesforce?
Sí, aunque algunas empresas usan uno personalizado para tener más control y flexibilidad.
¿Los objetos tienen que estar relacionados para usar transform?
No necesariamente. Como explicó Josué:
“No hay relación directa entre Order e Invoice, solo usamos los datos compatibles.”
Transcripcion
[00:00:00.07] – Juan Manuel
Excelente, excelente. Bueno, Francisco, escuchá. Hoy, a vos, con María Cecilia, si están de acuerdo, les otorgamos todos, abrazados el rol, de estar atentos a las preguntas en el chat y telepáticamente coordinados, Josué y Esteban, van a dar la clase. Yo voy a estar tirando Dondejando magia neuronal que va a ser recepcionada por sus cerebros y hoy van a aprender cosas espectacular. Y formalmente, arrancamos la nueva clase en vivo, la clase que tenemos hoy en Donde, continuando la clase que vimos hace dos semanas atrás, el jueves de la semana pasada, no, sino de la anterior, vamos a ver cómo con Salesforce Flow podemos transformar y unificar diferentes estructuras de registros complejas en un solo registro con todos los registros asociados. Vamos a ver un ejemplo. Vamos a ver un ejemplo y este Y, andá tirando alguna idea complementaria que yo pueda dar ahora. El ejemplo básico es: tengo cuatro pedidos, cuatro pedidos. Cada uno de esos cuatro pedidos tiene 14 productos adentro. Estoy hablando del objeto order. Un debate que nosotros teníamos este, los elementos del flow canvas, van en español o en inglés. El español es para débiles a la hora de trabajar con flow.
[00:01:43.21] – Juan Manuel
Así que vamos Vamos a trabajar en inglés y todo lo vamos a decir en español. ¿Por qué? Porque después, cuando llegue el momento de tener que ver lo que tenemos en pantalla, buscar la documentación técnica de Salesforce, nadie entiende una goma y esta es una forma de hacer más fácil el proceso de aprendizaje. Ese era el dilema. Y ahora voy con el ejemplo. Cuatro pedidos, 14 productos cada uno. ¿Cómo metemos todo eso en una factura? Quiero un ejemplo por parte de Efti, un ejemplo por parte de Josu y vamos a compartir luego estos ejemplos pantalla.
[00:02:18.15] – Esteban
Sí, me imagino como… Tiene un ejemplo. Una empresa tiene muchas órdenes para un mismo cliente y lo que quiere es básicamente consolidar todas esas órdenes con no sé, 20 productos cada orden y meterlos en una factura. Entonces, en vez de generar facturas por cada pedido, consolida todo y le envía al cliente todo en una sola factura.
[00:02:42.05] – Juan Manuel
Lo cual sería un quilombo, sería un lío. Y eso también podría funcionar para unificar casos, por ejemplo. No sé si es tan buen ejemplo. Josué, ¿tenés algún ejemplo loco que quieras tirar?
[00:02:56.23] – Josue
Sobre otros escenarios todavía no, lo sigo pensando, pero Por ahí en el escenario negocio que nos podría pasar es si nosotros en la empresa compramos, por ejemplo, por Mercado Libre, indumentaria para mi oficina, me faltó un monitor, me faltó una silla, después me rompió un teclado y compro todo. Quizá no Mercado Pero podría servir realmente mi de indumentaria o de accesorios para la oficina. Llega el fin de mes, hay que facturarle a los muchachos que dan clases todo lo que se llevaron esta mes. La primera semana te pedí la silla, el segundo se me rompió el monitor y te pedí otra después el teclado. Y yo quiero pasar una sola factura porque mandarle cuatro, seis o diez es un dólar de cabeza porque después tengo que estar liquidando factura por factura. Entonces, el requerimiento, a lo que queríamos mostrar, era un poco de eso. Todo lo que se compraron en una sola factura. Toma y me la pagas.
[00:03:49.23] – Juan Manuel
Muy bien. Obviamente que si esto lo quieren extrapolar a oportunidades, también es válido. Totalmente. Tener los 70 oportunidades todas mezcladas y querer unificarlas en una, también es posible. Y quién nos comparte pantalla. Francisco está muy callado hoy. Perfecto. En algún momento le vamos a contar a todas las personas que están conectadas que Francisco está tratando de hacer una transición de café al mate. Más adelante, más detalles sobre ese tema. Vamos. ¿Qué hacés, María Cecilia, ¿cómo estás?
[00:04:23.10] – Maria Cecilia
Perdón, tenía la cámara apagada.
[00:04:26.01] – Juan Manuel
Fantástico. Vos, junto con Francisco, van a estar atentos a las preguntas del chat y vamos, comparta pantalla. O Esti o Josuel. Vamos de una. Dale, de una.
[00:04:35.10] – Esteban
Ahí comparto.
[00:04:36.07] – Juan Manuel
Una cantidad hermosa de gente conectada. Somos cada vez más. Me vuelvo loco.
[00:04:42.06] – Esteban
Excelente. Bienvenido a todos los que se han sumando Escuchá, pará.
[00:04:46.12] – Juan Manuel
Más gente: Lucas, Enzo, Carlos, Luis. De nuevo, Sonia, Heidi, Fiorella, Brighton, Mateo, Santino, Enzo, Kevin, Loana, Chorchit. Somos un montón. Muchas gracias. Muchas gracias. Voy a intentar saludarlos a todos.
[00:05:03.23] – Maria Cecilia
¿quiere el contexto, ahora que se sumaron al último momento, una decena de personas?
[00:05:09.12] – Juan Manuel
El contexto es como unificar varios pedidos en una sola factura y vamos compartiendo y lo reemplace nuevamente.
[00:05:16.04] – Esteban
Dale, ahí lo compro yo todo. Ahí se ve. Sí, claro que… Excelente. Buenísimo. Bueno, esto es un poco de lo que también me estaba viendo ahí Cecilia, un poco de contexto para las personas que se fueron sumando. Lo que vamos a intentar Ahora lo que vamos a hacer ahora es utilizar uno de los elementos de Salesforce, que es el nuevo elemento transform, para plantear un escenario que puede ser este. No sé si están… Ahí se ve. Donde básicamente tenemos tres órdenes. Supongamos que una empresa le hizo tres órdenes a…
[00:05:46.09] – Juan Manuel
Un poco de zoom, Steve. Un poquito más. Ahora tenemos un truco. Tenemos un truco. Los que quieran ver, esto lo descubrimos. Les aclaro algo. Esta plataforma es nueva. La estamos aprendiendo a usar y hay una flecha Si no recuerdo mal, Francisco nos puede hacer de ayuda de memoria. Hay una flecha que está en el ángulo superior derecho que permite ver lo que estamos viendo en pantalla completa, ¿verdad?
[00:06:11.18] – Maria Cecilia
De la pantalla.
[00:06:12.18] – Francisco
Te pones sobre el K que está presentando y con el mouse te vas arriba a la derecha y aparecen dos flechitas, una para arriba y otra para abajo, y eso te deja todo para la completa.
[00:06:22.20] – Juan Manuel
Fantástico. Sigamos, Steve.
[00:06:25.09] – Esteban
Gracias, chicos. Ahí por la aclaración. Les comentaba de este escenario, donde tenemos una empresa que tiene tres órdenes y, por ejemplo, cada orden tiene dos productos. En algunos se repiten los productos. Supongamos que una empresa le hizo tres pedidos diferentes y en algunos productos se repite. Supongamos, la orden uno tiene producto B y se repite con la orden dos, que tiene producto B también. Y la tercera orden repite producto A, por ejemplo, y producto C, que está en la orden de arriba. Entonces, ahí se ve cuando hago esto con el mouse. Buenísimo. Entonces, Esto es un caso típico que pasa en la vida real. Por ahí, lo que se quiere hacer para eficientizar esto es, en vez de, obviamente, crear tres facturas por los tres pedidos, que es lo que usualmente se hace, hay una oportunidad el mejor acá, que es tener una sola factura, como vemos acá, el Invoice, y los productos se consolidan, se merchean, se agrupan, como quieras decir.
[00:07:29.09] – Juan Manuel
Merchean.
[00:07:30.14] – Esteban
Sí, atento.
[00:07:32.02] – Juan Manuel
Merchean, bien.
[00:07:33.17] – Esteban
Atento a las palabras.
[00:07:34.18] – Francisco
Así, atento a que te conviene ahora.
[00:07:36.22] – Juan Manuel
Que detallonaste, pero se merchean. Bien.
[00:07:40.16] – Maria Cecilia
Vamos a hacer un glosario etimológico de estas capacidades de habitaciones.
[00:07:45.16] – Esteban
Sí, después lo hacemos. Bien, entonces una vez que mercheamos, perdón, una vez que tenemos esta factura, lo que podemos hacer acá con este elemento transform, que es lo que vamos a mostrar, es merchear, suponente, orden 3, queremos merchar con order 1. Entonces, mercheamos y tenemos solo una factura con ese producto. Y obviamente, si este producto, por ejemplo, teníamos 10, acá, 10 de cantidad y 10 de acá. Entonces, esto lo que va a hacer es sumar eso para totalizar, y acá vamos a tener 20. Vamos a tener el producto A con la cantidad de 20. No sé, suponente que pidió 20 champús. Entonces, vamos a tener 20 champús acá. 20 champús plus vuel, suponente. Y bueno, y acá es lo mismo, con el producto B, el producto C. En este caso, producto C se repite acá. Es lo mismo. Vamos a tener la cantidad totalizada y el precio también vamos a tener totalizado. Supuestiente que sale de 10, sale 10, bueno, 20, va a ser el precio y 20 va a ser la cantidad. Eso sería el escenario que vamos a estar haciendo ahora. No sé si alguno tiene alguna consulta o algo que quizás no quedó claro.
[00:08:40.03] – Esteban
Ahí lo podemos debatir, pero este sería básicamente el escenario. César. Bien. Y para eso, me voy a hacer el force ahora un rato para mostrarles cómo se ve eso.
[00:08:51.20] – Juan Manuel
Ando, más gente se sigue sumando gracias a todos los que están conectados en esta masterclass. Vamos a hacer force de nuevo.
[00:08:59.13] – Maria Cecilia
Me Acá voy a tomar cuando en la primaria veíamos los conjuntos, ¿se acuerda los conjuntos que tenían las intersecciones? Acá vemos la orden uno para los que lo sumaron recién, la orden dos y la orden tres.
[00:09:12.10] – Esteban
La Patricia dos, sí.
[00:09:13.04] – Maria Cecilia
Y tienen los conjuntos que tenían las intersecciones. Acá vemos la orden uno para los que lo sumaron recién, la orden dos y la orden tres. Y tienen los conjuntos que tenían los en común.
[00:09:15.14] – Esteban
Ahí va. Bien. Ahí veo que Gordo tiró una pregunta. Invoices es un objeto justo. No sé si alguno le quiere responder o respondo yo. Sí. En realidad, el Invoices es un objeto estándar de 7Fonds, no de CPQ, y convive con CPQ, con muchos de los objetos, como por ejemplo, order, convive con CPQ, pero no necesariamente es de CPQ. Y para este escenario, te digo, nosotros hicimos un objeto justo. Porque Muchas empresas tienen su propio objeto Invoices. Lo ideal es usar el estándar. Eso para contestar a Eduardo.
[00:09:51.17] – Josue
Aclarar también, creo que lo mencionamos la clase pasada, que el objeto estándar Invoices no soporta de mail en sanción. No podemos hacerlo desde de los autos, ni desde el flow. Entonces, para los fines prácticos de la demo, utilizamos un Invoices piso a piso C. Excelente.
[00:10:06.16] – Esteban
Muy buena declaración, Juzo. Ahí sería algo como esto, ¿no? Invoices, algo así. Bien. Entonces, pasemos un poco ahora a lo que es el flow para tratar de lograr este escenario, vamos a crear un nuevo flow de cero y donde ahí vamos a mostrar un poco cómo hacemos todo esto de merciar, que es como lo más importante de transform, entre muchas otras cosas. Entonces, vamos a darle a new flow, vamos a darle a start from de cero. Sí, quiero grabar de cero. Start from crunch. Y acá voy a seleccionar Auto Launch Flow, básicamente porque quiero tenerlo como un flow que me ayude a muchas cosas y todavía no sé en qué lo voy a usar. Entonces, por Y luego, voy a usar Auto Launch Flow. Sé que lo voy a usar para órdenes, este es un ejemplo, pero quizás, como dice Juanma, hay otros ejemplos, como quizás merchar muchos casos en uno y demás cosas. Entonces, por eso lo voy a hacer en Auto Launch. Entonces, voy a crearlo como Auto Launch Y acá, en este caso, para fines de esta clase, vamos a empezar a traernos las órdenes. Es decir, primero vamos a crear una variable de entrada.
[00:11:07.03] – Esteban
Avíseme si estoy yendo para ahí muy rápido, quizás… Ahí me me avisan, chicos, quizás no se ve algo que estoy haciendo. Entonces, vamos a crear una variable que sea… Vamos a Queremos darle que sea, en este caso, order id. Queremos traernos órdenes. Vamos a ponerle tipo texto. Le vamos a que acepte muchos, porque vamos a meter muchos id de órdenes.
[00:11:27.02] – Juan Manuel
Pero para dar input, si es variable.
[00:11:29.07] – Esteban
Muy bien, Juanma. Estaba atento. Muy bien, Juanma. Estaba atento. Hay que darle acá input, porque en teoría lo vamos a ver para otros flows y otras automaritaciones. Entonces, tiene que tener un valor de entrada. Muy bien, Juanma. Y acá vamos a buscar las órdenes que nos viene de otro lado, que ahora nosotros somos agnósticos, no nos interesa saber de dónde, pero nos van a venir datos de entrada. Entonces, en este caso, vamos a escalar el critipo de order y vamos a usar el objeto estándar de order. Y acá vamos a poner ID, los que están en los que nos llevan, los que nosotros suponemos que nos llevan de afuera. Entonces, le hemos dado los órdenes. Acá un criterio que vamos a tener para mercear órdenes en factura. Obviamente, factura y orden van a compartir datos, como por ejemplo la cuenta, la cuenta va a compartir la dirección de entrega, la dirección de facturación. Entonces, esos datos van a convivir con la Invox. Van a tener que ir de esto a acá. El criterio que vamos a dar nosotros para saber cuál orden tomar, porque cada orden puede tener su propia fecha de de facturación distinta.
[00:12:31.01] – Esteban
Esta puede ser para Capital, esta puede ser para Mendoza. Para saber cuál dirección tomar, vamos a agarrar la última que fue creada, pongamos la 3. Entonces, para eso, acá vamos a hacer… Vamos a tener la última orden, vamos a poner la Latest order created. Ahora lo van a entender un poquito mejor por qué se hace esto. Y vamos a poner la ID igual que la otra. Vamos a poner la ID dentro de… Y vamos a poner solo la primera y vamos a ordenarla acá por fecha de siguiente. Vamos a poner created. Entonces, acá nos traemos la última que se creó. Acá nos traemos todas, acá vamos a poner all, todas, la última. Y ahora acá ya podemos empezar a usar transform. Miren, esto es muy loco. Ya lo vieron en la otra clase que lo mostró Josu, pero acá ya usamos el transform, ya lo podemos empezar a usar. Y lo que vamos a hacer es básicamente totalizar. Ahora lo que nos interesa es totalizar todo lo que tiene la orden, las órdenes que son básicamente estas de acá. Queremos empezar todo esto Acá, en la factura. Todo lo que es hacer esto. Entonces, acá empezamos a aplicar cosas locas.
[00:13:36.23] – Esteban
Ya empezamos a aplicar un transform que nos va a salvar mucho tiempo y es superfácil de implementar, como van a ver ahora. Entonces, vamos a subir el amount from orders y lo vamos a colocar en invoice. Entonces, le ponemos: sumame el monto de las órdenes hacia la factura. Y acá, en datos de Y de entrada vamos a utilizar, obviamente, las órdenes, acá en plural, la collection, orders. Vamos a buscar todas las orders y acá, en target data, lo que vamos a usar acá es Vamos a usar tipo currency, acá, currency. Y acá, miren esto. Si yo le doy clic acá, me va a dejar unirlo con esto. Entonces, yo lo uno acá con esto. Y acá ya automáticamente me lleva esta pantalla. Me dice: Okey, estás queriendo hacer un aggregate, estás queriendo sumar algo, me está diciendo. Yo digo: Sí, quiero sumar.
[00:14:34.16] – Juan Manuel
Eso es espectacular.
[00:14:36.18] – Esteban
Sí, es muy loco. Es espectacular. Ya sabe que estoy queriendo hacer algo que ya me adivinó. Entonces, quiero sumar el total amount. Entonces, Muy bien, ahí yo le digo: Quiero sumar la mount, puedo sumar otras cosas. Acá estas cosas no me interesan sumar, obviamente. Yo quiero la amount de todas las órdenes que vinieron antes. Y bueno, acá automáticamente me lo mapeé acá, en esta variable. Entonces, si lo quiero usar después a futuro, tengo que referenciar esto. Y lo busco para ver que es una variable. Entonces, nada, eso me va a dejar sumar todo y acá se ve así. Haciendo todas las órdenes, te sumo el amount acá. Y listo, ahí quedó. Bien. Entonces, ahí ya tenemos el monto, muy bien. Ahora queremos hacer otro transform que es esto que le dije acá arriba, que es la última orden creada. Entonces, me voy a hacer otro transform más, porque ahí solo tengo el monto. Ahora quiero traerme información de las órdenes para la factura, que es básicamente esto de acá. Esto lo quiero consolidar en una factura. Muy bien. Ahora viene el segundo transform, que va a ser básicamente… Le voy a llamar algo como transform order to invoice.
[00:15:42.10] – Esteban
Vamos a poner así bien sencillo. Y ahora acá voy a agarrar lo que es la orden individual, no la que es plural, esta. Y acá ya puedo empezar a empezar a usar el transform para el objeto invoice. Vamos a poner record, quiero que sea en tipo record. Yo quiero tirar una pregunta que… A todas las personas que se están enfrentando por primera vez conceptualmente al transform, las va a ayudar mucho.
[00:16:17.08] – Juan Manuel
¿qué es? ¿Cómo podríamos crear una metáfora o pensar que funciona el transform? ¿Cómo guarda la información? ¿En qué tipo de variable? ¿O cómo podríamos tratar de amigarnos con el concepto de transform para quitarle abstracción?
[00:16:36.20] – Esteban
Tiro.
[00:16:38.09] – Juan Manuel
Tiro. ¿Guarda en una collection, guarda en una variable común? ¿Qué podríamos decir?
[00:16:44.05] – Esteban
No sé si te seguí con la consulta.
[00:16:48.13] – Juan Manuel
¿cómo guarda la info el transform?
[00:16:51.05] – Esteban
Claro, es todo acá. Sí, es raro, tienes nosotros los papás. Es una especie de variable, una especie de recurso.
[00:16:57.08] – Josue
No sé si es raro. En realidad, vos le decís en el target Que si es una colección de muchos registros, podrían ser muchas órdenes, muchos contactos, muchas cuentas o uno solo. Pero queda en una variable que es la salida de ese…
[00:17:10.18] – Esteban
Es la salida, exactamente.
[00:17:11.23] – Francisco
Es un gusanito que se convierte en una mariposa. Y la mariposa puede ser o que te suma o puede ser muchos registros.
[00:17:19.15] – Juan Manuel
Hermoso.
[00:17:20.21] – Esteban
Ahí le quitaste la conexión. No lo voy a haber hecho a todo el rato.
[00:17:24.10] – Juan Manuel
Un transformer es un gusanito que se transforma en mariposa.
[00:17:27.10] – Francisco
Y un transformer es otra cosa.
[00:17:30.00] – Esteban
No soy de ver películas de transformer, pero creo que te seguí. Entonces, acá, lo que le estaba contando antes de que empecé a hablar de Transformers, era voy a récord y lo quiero mapear ahora con una Invoice. Acá, como decía Eduardo, ves que está el Invoice estándar, pero ahí a la vez tienes al imitante de que no podemos hacer operaciones crud o operaciones de crear, modificar y eso. Entonces, por eso creamos nuestro objeto acá, Invoice, que tiene que ir un bajo y un bajo hacer.
[00:17:58.04] – Juan Manuel
Claro.
[00:17:59.12] – Esteban
Y acá, Básicamente, ahora empieza la locura de mapear lo que nos interesa. Entonces, acá lo que nos interesa de la Invoice, para mapearlo en una… Perdón, lo que nos interesa era la orden para la factura, es una Por ejemplo, la city, nos interesa acá. El country, nos interesa todo esto. Esta es la formación de geo código. La latitud, la longitud, el código postal, el estado, la calle y, obviamente, el contacto. Eso por ahora, es todo lo que nos interesa de la… Corréjame, si quizás me chido, ¿te entiendes bien? Tu cuenta. Cuenta, exactamente.
[00:18:37.21] – Juan Manuel
Me encantó el comentario de María Cecilia en el chat que dice que un transformer es un robot que se transforma en un coche.
[00:18:44.12] – Esteban
Creo que Y ahí estamos. Entonces, ahí creo que mapeamos todo lo que nos interesa: la cuenta y un poco las direcciones, la dirección de facturación para la factura, obviamente. Entonces, acá ya tenemos nuestra orden. Acá tenemos esta pata. Tenemos esto. Y ahora lo que queremos Lo que nos va a servir es esta magia, que esto se ve muy fácil, pero tiene su complejidad. Así que ahora vamos con este tema.
[00:19:07.10] – Juan Manuel
Pero eso es verdaderamente complejo, y zarpadamente complejo. Es que adentro de si no te ha pedido, podés tener productos duplicados.
[00:19:18.09] – Esteban
¿es así? Total. Total, sí. Además, tenés que asegurarte de que esta cantidad más esta te den exactamente… Porque quizás puede que haya error y lo contabilice dos veces. Eso tenemos que estar superseguros ahí. Que sí, está complejo. Entonces, vamos con esa parte, vamos con la parte compleja.
[00:19:35.14] – Juan Manuel
Y Ana está haciendo comentarios de Esteban en esta. Sigamos. No te quiero distraer.
[00:19:41.08] – Josue
Dos comentarios rápidos, chicos. Perdón que me entran a la cuchara. Una a Esty, nos estamos olvidando de lo que acabamos de totalizar en el transform de arriba para que la factura tenga el total. Es para lo que vamos a mostrar a Esty, creo que vamos a ver un poco más en profundidad también la potencia que tienen los flows. Si bien no tienen Todo el espectro de programación ya están bastante ropa.
[00:20:04.12] – Esteban
Total. Total, gracias Josu, porque es un re punto que me trajiste. Faltó el amount, tenemos la invoice, pero faltó el mont. Acá voy a agregar uno nuevo en el el mundo transform de acá y voy a referenciar ahí lo que decía Juan, el anterior transform de esta manera, acá, usando el zoom amount from order to invoice. Y fíjense que acá abajo quedó. Ven, acá abajo quedó el transform. Este transform es el de arriba Y yo lo que me interesa es lo que recopiló hace un rato, lo quiero sumar. Entonces, ahí, de esa manera, lo hice, así de fácil. Sin loopear, sin literar, ni nada.
[00:20:40.17] – Juan Manuel
Tratemos de decirle a la gente cuál sería el equivalente en código de todo esto.
[00:20:48.10] – Esteban
Total, sí. Y como decía Josu, la potencia de los flows. Sí, total. Acá tenías que hacer un código, podías hacer un for, un for each, y tenías que recorrer los que pueden sumar los procesamientos, que se puede evitar con esto.
[00:21:02.15] – Juan Manuel
Lo que pasa es toda la gestión de ese código. El código en un repositorio, las versiones, que nadie meta a mano, es todo un tema.
[00:21:14.09] – Esteban
Total. Y Pero bueno, ahora vamos a mostrar también toda esa potencia también en flow, como dijo Josu, que hay mucho de lógica y mucho de esto que nos ayuda para identificar cosas que ahora se van a dar cuenta, que son de programación, que también se pueden implementar en Flow, que son cosas que por ahí antes no se pero ahora con la potencia que tienen, sí se puede.
[00:21:32.16] – Juan Manuel
Esteban, estábamos hablando antes de empezar la grabación de la clase de hoy con Josu. Sigue vigente el sortear abrazos de Josué, pero luego más detalles sobre eso. Estamos hablando de la posibilidad de tener un data table que nos permita hacer un inline edit en pantalla.
[00:22:01.08] – Josue
No creo que estemos lejos de eso. Ahí Diana tiene una pregunta que me parece superinteresante. El aleo textual consulta, ¿pero los objetos tienen que estar relacionados para utilizar transform? No.
[00:22:13.11] – Esteban
Vamos a probar.
[00:22:15.01] – Josue
No necesariamente. De hecho, otro modelo de datos, no. Nuestros orders no están relacionados con la Game Voice. Simplemente estamos tomando data de un lugar y lo vamos a llevar a otro. Por ahí, siendo analogías, estoy agarrando agua de diferentes frascos para llevarlo a otro. No necesariamente tiene que estar relacionado. Lo único que al vez Salesforce es que sea compatible. Guardo fechas en campo fecha, texto en campo texto, número en campo número, no mucho más.
[00:22:42.01] – Juan Manuel
Pero en el medio podrías tirar una fórmula loca. ¿Y ahora vamos por otra?
[00:22:46.03] – Esteban
El poder, sí. No sé si luego tiene que ser una fórmula, pero puedes. Pero sí, como dice Jossu, no hay relación ahora mismo en invoice y order. No existe nada, no hay look up, entonces nos relacionamos igual. Sigo con lo que Lo que nos vamos por hacer, que era básicamente mezclar productos para consolidarlos. Entonces, ahora lo que vamos a ver es obtener todo el rango. No sé si había alguna pregunta o algo más, porque quizás…
[00:23:11.23] – Josue
Sí, ahí no te olvides que tenemos que guardar la invoice para después relacionarla con los ítems. Pregunta muy buena de Guillermo. Chicos, ¿saben si el tiempo de ejecución de este flow performa mejor que métodos APEX invocados dentro de un Trigger APEX? Sí, de hecho, por algo Salesforce, el que trajo a la vida el elemento transform, que es básicamente evitar hacer loops y estar totalizando o guardando en colecciones la info para después guardarlo. Performa mejor, sí, o por lo menos eso dice Salesforce. E incluso, me Con algo similar esto en APEX, lo podemos dejar para otra charla quizá más breve. Transformaciones de datos también en APEX con dataweb, que es equivalente. Performa mejor que estar haciendo esto en el área de ciclos. Y así, aquí ya por la pregunta.
[00:23:59.21] – Esteban
Buenísimo. Me preguntan, me preguntan, buenísimo. Y gracias a Jules hoy por responder. Bueno, vamos al resto, que es básicamente, vamos a obtener todos los productos que tienen esas órdenes. Ahora, otra vez para tocar, que es básicamente este paso. Vamos a agarrar todo esto. Sin discriminar de qué orden va a tener. Vamos a agarrar los productos. Vamos a buscar get order items. Vamos a buscar order items. Y vamos a buscar los que que sean parte de nuestras órdenes, que nos llegó de alguna manera. Ahora vamos a ver cómo, pero supongamos en… Perdón, tiene que ser un in. Mira acá. In, acá. Orden ID. Antes, de hecho, creo que ahí Josu me había dicho algo antes de avanzar, vamos a crear la Invoice. Acá la mapeamos, pero la quiero crear así, ya me quedo tranquilo y la tengo que crear después en el último del flow. Así que la voy a crear acá abajo. Voy a poner Create Record.
[00:24:58.09] – Josue
Create y insertar.
[00:24:59.17] – Esteban
Así que de un operación de mail, que es básicamente crearlo en la base de datos, invoice o un insert. Entonces, este va a ser nuestro header, que se le dice header porque básicamente es el principal y después tienes los ítems chiquitos. Entonces, vamos a insertarlo. Del transform. Acá, ¿ves? Acá le dice: Invoiced from transform. Te dice al toque, te lo dice. Sí, quiero que me insertes lo que estaba acá arriba. Entonces, ahora vamos a continuar con esto de traernos los ítems, que está acá.
[00:25:28.05] – Josue
Que nos va a traerte todos los ítems.
[00:25:30.09] – Esteban
Exactamente, todos los ítems. Exactamente, acá. Falta este check. Muy bien. Y ahora lo que vamos a hacer es empezar a loopearlos, empezar a iterarlos, que acá sí es como que lo tenemos que hacer, porque necesitamos que cada producto esté dentro de la factura solo una vez, es decir, que no se repita, que esté solo una vez y que los montos estén consolidados. Entonces, ahora Para esta parte, necesitamos el loop, y para la consolidación de cantidades y de montos, ahí usamos el transform, que ahora lo van a ver. Entonces, vamos a loopear sobre los ítems, vamos a poner loop over order order plan, y acá vamos a los ítems que me traje. Entonces, acá vamos a hacer una decisión o un pequeño chequeo de si ya estamos lopeando, si ya estamos iterando sobre el ítem o el producto, vamos a preguntar: Is the product already iterated Ahora les explico un poco más en contexto esto, por si no les dijeron de entender. Y acá vamos a crear una variable. Primero vamos a decirles: Sí, ya se iteró. Continuamos con el loop. Vamos a crear una variable para darnos cuenta que el producto ya fue pasado por el loop.
[00:26:45.01] – Esteban
Entonces, vamos a crear una variable tipo texto. Vamos a poner así, use_product_collection, y vamos a ponerle tipo texto, vamos a ponerle que ermita_ muchos, y vamos a poner si esto contiene lo que estoy iterando ahora mismo, que es esto de acá, current_item_products_id, Y ya lo tiene, que siga el flujo. Y si no lo tiene, vamos a hacer acá un default outcome, vamos a poner: No, consolidame los montos, que le voy a decir esto de esta manera, problem_quantético.
[00:27:11.07] – Juan Manuel
Vamos a ir.
[00:27:12.13] – Josue
Sí. Por ahí, para ir haciendo una analogía de lo que va a hacer acá Este, para que se entienda, me gusta un tema de usar la analogía. Imaginemos que estamos haciendo una fila en un supermercado y todos pagan según su apellido. Lo que vamos a hacer es: Okey, ¿quién llega primero? El apellido Garrido, listo. Todos los Garridos que están en la pasen que van a pagar y se van. Pero vendrá después los apellidos López. Todos los que están en la fila que son apellido López, pasen que les vamos a cobrar y se van.
[00:27:41.12] – Juan Manuel
¡felicitaciones! ¡Totales felicitaciones biónicas! ¡Sos un groso.
[00:27:47.08] – Esteban
Gracias. Muy buena analogía. Te vamos a ver un plástico la vez.
[00:27:51.03] – Juan Manuel
Se necesita gente como Josu para sacar al país adelante. Vamos todavía, vamos.
[00:27:56.07] – Esteban
Real López. De verdad, mucho López. Pasan bien. Esa analogía de consumo la explicamos acá, ganemos un diaraba. Lo que queremos hacer es identificar productos únicos. Es decir, yo en la primera iteración me doy cuenta que el primer producto es el producto A, como acá arriba. Entonces, no lo quiero volver a procesar. Yo ya sé que el producto A ya existe. Entonces, me quedo con el producto A y filtro con todos los que hay en la colección con estos. Es decir, remuevo el resto. Es como que acá yo remuevo el B, el C, la primera iteración. Después, seguimos la segunda iteración y lo mismo. Queremos concentrarnos solo en el B porque no pasó hasta ahora por la lista y eliminamos el A y el C, porque no nos interesa. La iteración tres, suponente que sigue el producto A, entonces no hacemos nada porque ya lo tenemos contabilizado. Lo mismo, producto C no lo pasamos por la integración o por la lógica, entonces borramos producto A y así. Entonces, la siguiente, ya están todos contabilizados, entonces ya no nos interesa. Eso, a grandes rasgos, es lo que dijo Josu del supermercado, es básicamente esto. Entonces, ya pasaron todos los López, listo.
[00:29:00.09] – Esteban
Los pasamos y listo. El siguiente de los días, listo, pasaron. Después viene de vuelta los López, no hay ninguno porque ya pasaron, entonces ya está, eso, básicamente.
[00:29:08.22] – Josue
Eso es lo que vamos a hacer en el flujo ahora. Pay attention.
[00:29:12.19] – Esteban
Bien, como obviamente Ahora no va a haber ningún producto iterado, suponente que pasa el producto A, se va a iterar, vamos a suponer que estamos en el producto A. Y ahora queremos filtrar, queremos filtrar la colección de arriba, que es esto acá, la de get order items. La filtramos por… Vamos a poner filter el Product, vamos a filtrar esta colección, que es la que tiene todos nuestros productos, y vamos a pedirle que filtre por el producto con ID, igual al que se está corriendo ahora mismo. Es decir, con el Current Item. Y vamos a poner reproductors. Productos. Est. Excelente. Y acá una que ya estamos filtrados, es decir, están esta lista. Este filtro en sí contiene… Es esto. Este filtro es igual a esto. Tenemos todos los productos en teoría de acá. Lo que vamos a hacer Y lo que vamos a hacer es sumar. Es decir, si este tiene 10, vamos a sumarlo y que sea 20. Entonces, eso es lo que vamos a hacer ahora con este transform. Vamos a usar el transform con todos los productos A, digamos con el ejemplo, y vamos a usar el transform order_item. Studio Invoice Item. Acá lo que estamos haciendo parece magia, pero es esto acá, es: Producada, producada, nos metemos en un solo ítem de un invoice.
[00:30:23.21] – Esteban
Entonces, de acá, vamos a poner que queremos nuestra source data, nuestra data de origen, va a ser el el filtro donde tienen todos nuestros productos. Vamos a buscar filter. Acá. Bien. Y acá lo que voy a hacer es: el target data va a ser un nuevo registro del tipo Invoiced Line. Invoiced Item. Acá, perdón. Invoiced Item. Ahora lo agarrar.
[00:30:46.10] – Juan Manuel
Acá.
[00:30:47.10] – Esteban
Bien. Y acá voy a hacer algo parecido a lo que hicimos hace un rato arriba. Vamos a agarrar toda la colección y lo que nos interesa de toda la colección, es decir, de todos los ítems que están en el filtro, es sumarlos. Entonces, por eso agarro toda la conexión y no agarro ítem por ítem. A mí no me interesa ítem, me interesa totalizar lo que hay en todos los… Entonces, por eso agarro toda la colección. Agarrar toda la colección significa eso, totalizar. Y voy a buscar el total price de toda la colección. Me voy a poner un superón, mano mía. Acá, me voy a ponerlo con total price. Y acá, otra vez, me ya automáticamente me estás diciendo: ¿Vos querés hacer un.? ¿Vos estás queriendo agregar algo? ¿Estás queriendo sumar algo de esta lista?. Entonces, acá de vuelta, yo voy a decir si, efectivamente, quiero sumar el total price de todos los productos. Entonces, automáticamente, ahora si voy para atrás, automáticamente me está diciendo: Okey, ya sumaste el total price. Ahora, ¿qué más quiero? ¿Qué más quiero sumar yo? También quiero sumar las cantidades. Acuérdese que yo tenía 10 a 10 y 10 me iba a dar 20 acá.
[00:31:48.05] – Esteban
Yo ahora sumé el precio. Suponente que este está 20 y este está 20 dólares, entonces, acá van a tener 40. Además de eso, quiero las cantidades. Por una navidad, es básicamente lo mismo. Es decir, voy acá Voy a cantidad y esto automáticamente me va a decir: Otra vez estás queriendo hacer algo raro. Si yo voy a decir: Sí, estoy queriendo sumar los cuántites. Entonces, ahí voy por atrás, ahí va. Esto, alguna consulta o algo, quizás no se entiende mucho la primera, pero cuando Mostremos el ejemplo, como hicimos acá, quizás queda más claro.
[00:32:17.21] – Juan Manuel
Voy a tirar una sugerencia, que es esta: termina esta clase en vivo, todas las personas que están registradas van a recibir la grabación aproximadamente dos horas después. Eso es algo nuevo que hemos aprendido a hacer en esta plataforma. Y al mismo tiempo vamos a estar subiendo a nuestros perfiles de LinkedIn. Pero antes de avanzar, antes de avanzar, para mí es importante, para mí es importante que se metan a LinkedIn y que hagan una búsqueda. Número uno, Esteban Morales. Número dos, Josué Mendoza. Número tres, Francisco Morales. Número cuatro, María Cecilia Pérez Trimboly. Síganlos, pidanles conexiones en esos perfiles, van a encontrar esta grabación. ¿Qué hacen con esta grabación? Le ponen pausa mientras van ejecutando paso a paso la recreación de este flow. ¿No te parece este y que es la mejor manera de aprender?
[00:33:22.18] – Esteban
Sí, total. Quizás es mucho para procesar y está bueno que lo vean bien tranquilos, porque le va a mucha flexibilidad después a la hora de hacerlos ustedes mismos. Total. Bien. Bueno. Siguiendo. Ahora, como ustedes pueden ver, nosotros podemos traer mucho source data, podemos traer muchas fuentes de orígenes para el transform, que es una especie de mapeo. Ahora nos interesa también traer la orden. Perdón, la invoice que creamos acá arriba, ¿se acuerdan? Que creamos la invoice y salimos del transform. Sí. Además de eso, queremos asociar este Invoice Item con la invoice que creamos arriba. Entonces, ¿cómo hacemos eso? Nada, Acá me traje con el transform, le dije: Bueno, tráeme la Invoice que creaste hace un rato y asociarte el ID con el ID del… Acá, el Invoice. Con el Invoice. Excelente. Entonces, ahí quedan asociadas, quedan atadas, por así decirlo. Bien. Y además, ahora, lo que quiero hacer yo es… Lo que estamos haciendo ahora, acuérdese que estamos creando esto, estamos creando esto ahora mismo. Lo que nos interesa ahora también, ya tenemos el total, ya lo tenemos asociado a una invoice, tenemos totalizado la la cantidad y el precio. Y ahora nos interesa ver el producto, obviamente, porque estamos…
[00:34:35.03] – Esteban
Acuérdense que ese es producto A, entonces, tenemos que, de alguna manera, asociar el producto A a que esto sea producto A también. Para eso, nos traemos el ítem que estamos corriendo actualmente en el loop. Vamos a buscar el ítem que estamos corriendo ahora de la orden. Eso es nuestra área de la orden. Acá nos trae el ítem. Básicamente, nos interesa el producto 2 de la orden. La Invoiced Line va a traerse el producto del order, order, item. Entonces, lo asociamos acá. Listo. Ahí quedan asociados. De esa manera, ya tenemos básicamente todos los mapeos que necesitamos para tener un Invoiced Line o un Invoiced Item, ¿no?
[00:35:07.23] – Josue
El Unit Price, me ocurre que también podrías mapearlo.
[00:35:10.15] – Esteban
Ya completito. Tenías razón.
[00:35:12.15] – Josue
Sí, te vamos Claro, pero viene desde el…
[00:35:19.08] – Esteban
Acá está el rato. Necesitamos…
[00:35:21.21] – Juan Manuel
Lo ponemos acá. Necesitamos más gente como Josué para sacar el país adelante. Bien.
[00:35:28.01] – Esteban
Entonces, ahora lo que vamos a hacer es ya agregar esto. Acuérdese que estamos dentro de un loop, dentro de una iteración. Esto aplica para código, para cualquier sistema informático o lenguaje. No vamos a hacer operaciones sin base de datos dentro de un loop, porque yo ahora podría insertar el Invoiced Line, que ya me quedó lindo, ya me quedó con Invoiced, ya me quedó con Listra y todo. Pero lo que vamos a hacer es agregarlo a una colección antes de insertarlo, y vamos a poner assign invoice to collection. Acá Y entonces, enseñamos buenas prácticas. Exactamente. Entonces, vamos a crear una nueva variable de tipo Invoiced. Vamos a poner Invoiced collection. Invoiced collection. Muy bien. Invoiced Collection. Perdón, Invoiced Line, porque son las líneas. Collection.
[00:36:16.02] – Juan Manuel
Pero va a ser una collection. Quien no sabe que es una variable tipo collection, ¿qué le podemos decir? Dejame hacer un… Quien no sabe que es una variable, hacemos en una cajita de fósforos, en donde ponemos un valor ahí adentro y lo guardamos en la memoria de Salesforce y que en algún momento vamos a esa cajita de fósforos, tomamos el valor y hacemos algo con ese valor, como por ejemplo escribir un registro en un objeto o hacer un carácter. Eso sería una variable tradicional. ¿Qué sería una collection? Ojo.
[00:36:54.05] – Esteban
Es básicamente… Sí, ahí dejo justo que creo que viene bien con las analogías.
[00:36:59.15] – Josue
Sí, se me ocurrió otra analogía.
[00:37:02.03] – Juan Manuel
Por favor.
[00:37:03.11] – Josue
¿viste cuando te vas a hacer.? No, no, el transformer no. ¿Viste cuando te vas a hacer un trago y tenés un cubito de hielo? Bueno, tu cubito de hielo solo.
[00:37:13.17] – Juan Manuel
No, pará, pará, pará. No, no, pará, ya está. Me saco la camisa. No, tijito. ¿Qué pasó? Tomaste la vitamina. Muy bien. Vamos a sacar un anexo.
[00:37:27.10] – Maria Cecilia
Vamos a sacar un anexo que van a ser analogías y los aéreos psicológicos.
[00:37:33.11] – Juan Manuel
Como mortal, mortal. La gente está explotando en el chat, olvidate.
[00:37:38.10] – Josue
Bien.
[00:37:39.13] – Juan Manuel
¿quién posue? ¿Esa con la de Anita y de la esposa?
[00:37:44.03] – Maria Cecilia
No, vamos con la ¿Y tienes una jarra loca de nuevo, por favor, desde el cero.
[00:37:47.15] – Josue
Bueno, tenés un hielito, sería tu variable única para tu trago. Si tuvieras una colección, es tu cubetera, porque tiene muchos hielitos. Es muchos de lo mismo.
[00:37:56.20] – Juan Manuel
No se diera más.
[00:37:58.17] – Esteban
Una razón por la que usás alcohol en tus referencias, será que…
[00:38:02.20] – Josue
Casualidad.
[00:38:03.22] – Esteban
Casualidad, no. No tiene nada que ver con la cerveja.
[00:38:06.03] – Juan Manuel
No tiene nada que ver con la alegría, ¿no?
[00:38:07.20] – Esteban
Con los fines de semana que… Bueno, seguimos un poco llamar a Rosario. Bueno, lo que vamos a hacer Ahora, básicamente, asignamos la line, la invoice line o el invoice item a la colección. Acá, como decimos, agregamos la cubeta al vaso. Y ahora lo que vamos a hacer, esto es un paso más de lógica, que no tiene mucho que ver con funcionalidad, pero lo que queremos hacer ahora es: Ya procesé el producto A, que básicamente es esto, no quiero procesarlo de vuelta, es decir, no quiero que después lo procesen de vuelta. Entonces, lo que vamos a hacer es básicamente decirlo en nuestro flow: No Y luego, ya no queremos procesarlo de vuelta. Tenemos una asignación de tipo… Vamos a poner algo como exclude product from from loop, pero no lo queremos procesar más. Y acá, básicamente, la variable de que nosotros creamos hace un rato, que fue esta, Use Prod, que son los productos que ya usamos, lo creamos, grabamos el ID del elemento actual. Entonces, el current item y ponemos Prod 2. Esto es más de lógica, esto es como para… Ya, por ejemplo, desde el producto A, no quiero que lo vuelvas a… No No quiero que vuelvas a pasar por todo este proceso de filtrarme, transformármelo, porque yo lo tengo acá, ya lo creé y ya lo tengo.
[00:39:20.03] – Esteban
No quiero meter otro hielo, ya no me entra más el vaso. Entonces, ya no lo quiero hacer de vuelta. Y ahora, salgo en esto, cuando ya tenemos el producto en la colección, vamos a crearlo. Ahora sí, salimos del look y lo queremos crear. Entonces, hacemos un D-Mail acá, un Create, y vamos a ponerle algo como Create Invoice Item, que era lo que nos faltaba, en realidad. Y acá vamos a ponerle múltiples, vamos a dejarle sí, que es records, y vamos a ponerle los que Invoice and Collection, que son estos acá, que son los que veríamos acá arriba.
[00:39:49.18] – Juan Manuel
Sepan que tengo mi WhatsApp estallado de felicitaciones para Este y para Josué. Lo están haciendo muy bien. Muy bien, chico. También.
[00:40:01.06] – Esteban
Vamos a poner el nombre. Ya está el flow, hasta acá llegó. Ya creamos las invoices y ya tendríamos, en teoría, esto. Así que vamos a guardarlo un poco ahora. Además, para que si se me en internet, no se borre todo. Vamos a poner en My new, o son flow, algo así. Vamos a poner 2. 0, no fake.
[00:40:22.19] – Josue
De hecho, ahí Georgina había mandado una consulta. Vamos a ver la grabación. Me gustaría replicar este ejemplo. Aproximadamente, por donde fue dos horas desde que cerramos la clase. Esto se subo y les va a llegar un link a todos para que lo puedan repasar y revisar y hacer pausas y volver a ver las veces que necesiten.
[00:40:42.18] – Esteban
Estoy leyendo un poco el chat y me hace reír. No No, no se puede seguir así.
[00:40:46.19] – Juan Manuel
Está muy difícil. Masivo, bro. Masivo.
[00:40:49.15] – Esteban
Vamos. No, no puedo agarrar el fuego. Okey, vamos a agarrar de vuelta. Listo. Ahora se van a preguntar: ¿Cómo usamos todo esto? ¿Cómo metemos todo esto en Salesforce? Es la gran pregunta y esa es una buena pregunta, si no se les cierra.
[00:41:02.09] – Juan Manuel
Ahora, ¿esto es un autolunch?
[00:41:04.13] – Esteban
Es un autolunch. Primero lo activemos. Lo activamos. Bien. Yo lo puedo usar donde quiera, tal cual, como dijo Juan, es un autolunch. Entonces, yo lo puedo usar donde quiera, en una Screen flow, lo puedo usar parte de otro trigger, algo que desencaena muchas cosas y en el medio puedo meter esto. Te puedo usar de muchas maneras. En este caso, obviamente, para propósito de hacer esto un poco más o menos, lo que hice, ya tenía mi flow creado. Yo ya tengo mi flow de pantalla. Se hizo un flow de pantalla donde básicamente le pido al usuario algunos inputs de cuál orden querés consolidar, cuál orden querés mezclar con una factura. Y de ahí, el usuario selecciona la orden y hace todo este proceso que estamos viendo acá, hace todo esto. Entonces, yo ya tengo ese flow hecho. Ahora, básicamente, acá está el flow, me voy a venir a un flow. Y lo que voy a hacer ahora es mostrarles básicamente cómo funciona esto. Ya estoy en una cuenta supongamos. Les muestro, si queréis, un poco más ese flow, que van a ver que ese flow solo recibe all the IDs y le paso una colección. Entonces, flow dice: Bueno, vos dame algo, no importa dónde lo sacaste, dame algo para procesar y ya procesó.
[00:42:11.08] – Esteban
Este es nuestro flow y acá le pasa ya los IDs, que lo recopiló, no sabemos cómo, pero lo recopiló. Acá, en este caso, hizo un look y lo recopiló. Pero entonces me están diciendo SheetChat. No sé qué significa eso.
[00:42:23.21] – Juan Manuel
Mira, pará. Te propongo algo porque nos quedan siete minutos En mi WhatsApp, tengo un montón de gente pidiéndonos que hagamos un repaso por todo este ecosistema de funcionalidad, con el formato de video que hicimos semanas atrás, cuando estuvimos en la Salesforce Tower. Entonces, lo que yo voy a proponer es esto. ¿Qué te parece este? Si intentamos que ande, lo mostrás, esto en dos horas va a llegar la grabación y para la semana que viene hacemos un video de follow up, porque hay gente que me está diciendo: Me encantaría tener un mega zoom a cada uno de los elementos que hay en el flow canvas, con el objetivo de tener también otro soporte visual complementario a esta clase. ¿Cómo suena?
[00:43:25.04] – Esteban
Diez puntos.
[00:43:25.22] – Juan Manuel
Vamos en esa, entonces.
[00:43:27.02] – Esteban
Vamos en esa. Dale, buenísimo. Muestro un poco cómo se vería esto ya aplicado para un caso más concreto. Entonces, para eso también, ahí tiró un pequeño Easter egg, el otro componente que les había mostrado, que es el repeater. Acá es solo el repeater, como pueden ver. Entonces, ahí como nada, juntando un poco todo esto nuevo que nos de Flow. Acá le pedimos a través de un repeater, al usuario que ingrese dos órdenes o más de dos para consolidar, para hacer esto de acá. Entonces, le pedimos al usuario de cuál orden quieres crear una sola factura. Entonces, de acá, Ahora, eso se lo pedimos con esto de acá, con este repeater. Entonces, acá le digo: Yo quiero esta orden. Ven que el usuario tiene tres órdenes acá. Yo quiero la 202, quiero agregar una más. Le digo: También dame la 100. Digo: Bueno, de estas dos órdenes, hacerme una sola factura. Le puedo pasar más acá de cuantas quieres, que va a hacer todo ese proceso, pero en este caso vamos a recoger dos.
[00:44:23.12] – Juan Manuel
Es increíble. Para, lo que estás mostrando es increíble. Pero increíble.
[00:44:29.20] – Esteban
Total, sí, total, es una locura. Para, tira magia.
[00:44:34.06] – Juan Manuel
Tira magia. Me duele de favor.
[00:44:37.05] – Esteban
Bueno. ¿Tiramos? Vamos. Tiren la buena. Bueno, listo, vamos a hacernos. Voy a darle next, no me importa nada.
[00:44:45.12] – Juan Manuel
Estás en el precipicio, no importa nada. Bien.
[00:44:48.20] – Esteban
No tengo invoices, le voy a dar a next. La actura queda exitosamente. Genial.
[00:44:53.00] – Juan Manuel
Muy, muy loco.
[00:44:54.00] – Francisco
Estás muy encoyado de eso, ¿eh?
[00:44:55.20] – Esteban
Genial. No, no, no. Te curo. ¿Está en plan de ser tan feo? Te juro que no. Te juro que no. Te juro que no. Te juro que no. Réanme aunque andan… Parece, pero no. Te juro. Está en plan de ser loca. Está en plan de ser loca. Lo puedes ver.
[00:45:06.22] – Francisco
Ahí está Josu quedando con atrás.
[00:45:08.07] – Esteban
Voy a ver. Vamos a recalar un poco esto.
[00:45:13.15] – Juan Manuel
Josu ya puede denomiar.
[00:45:14.18] – Esteban
Cuantos minutos.
[00:45:15.03] – Juan Manuel
Tres minutos de clase. Vamos.
[00:45:16.23] – Esteban
Vamos a la Invox. Ven, acá se quedó una Invoi. Vamos a darle clic. Y acá tiene los cinco productos que son de las otras órdenes que lo van a ver, si yo me voy a ver la 50. Qué locura, boludo. Sí, ahora lo veo. Sí, sí. Ahora lo veo. Sí, sí, sí, sí, sí, 3.
[00:46:15.09] – Josue
No era la 100 también.
[00:46:16.20] – Esteban
De la 100. Perdón, elegí mal. Dos minutos. La 100. Perdón. Esta era la que elegí. Okey. Bien. Acá, como pueden ver, ese tenía 1k y el otro tenía 200. Entonces, en la consolidada nos quedó 201, como pueden ver ahí. El total nos quedó estos 2 millones de 140 000, que es el equivalente a esto, el amount de la orden 1 más el amount de la orden 2. Entonces, ahí, buenísimo. Nos sumó eso también. Y no hay productos repetidos, como pueden ver. No hay ningún producto repetido. Son sumas y quedó prácticamente esto.
[00:46:54.23] – Juan Manuel
Para un aplauso, pero qué un aplauso. 315 aplausos para este y para Josué. Terrible clase. Voy a decir varias cosas. Número uno, síganlos en LinkedIn. Número dos: todo esto va a estar subido. Quienes se registraron van a recibir en dos horas la grabación. Si no, ¿dónde está esta clase? ¿Dónde va a estar esta clase? ¿Dónde están el resto de las clases? Egafutura. Com/selfords. Y en los próximos días van a tener un video similar al que grabamos semanas atrás desde la Salesforce Towers. Nosotros, tranquilos, explorando toda esta magia de flows que ahorra días de codificar toneladas de líneas de APEX con todo ese mantenimiento para que ustedes lo puedan tener como material de estudio complementario a esta clase.
[00:47:59.06] – Esteban
Se me prende el fuego, se me pusieron los dulces.
[00:48:02.06] – Juan Manuel
Que a tirando más. Cada vez, jueves de por medio, cada vez somos más personas. Les quiero agradecer a todos. Los nombré. Si ahora tengo que nombrar a todos los que están conectados, no termino más. Muy agradecido. Jueves que viene, no. El próximo, la próxima clase. Comentarios finales. ¿Alguien quiere decir algo? Los queremos un montón. Nos vemos. Próximo jueves, no. El otro y en egafutura. Com/selfource. La grabación de esta clase, la de las anteriores y la registración para la del próximo jueves. Saludos.
[00:48:36.05] – Esteban
Un abrazo. Chao, chao.

—
Desde EGA Futura ayudamos a empresas usando Salesforce
- A bajar costos y a aumentar facturación.
- A digitalizar procesos.
- A crear y poner en funcionamiento Agentes de IA.
• ⁃ A implementar nuestro ERP 100% nativo para Salesforce.