Masterclass » Cómo hacer una factura en Salesforce 📦
[00:00:11.19] – Hablante 1
¿qué es lo que voy a hacer ahora? Comenzar oficialmente esta nueva capacitación en vivo. Muchas gracias a todos por esta locura. Ustedes tienen que saber algo. Todo esto es gracias a ustedes. Pensamos hace aproximadamente medio año atrás, con una idea, yo me acuerdo que le decía a Francisco: Bueno, mira, primero vamos a hacer dos, después vamos a hacer cuatro, después tal vez seis, ocho. Hoy tenemos más de 500 alumnos que se han unido a todas las capacitaciones y este crecimiento es gracias a ustedes, en LinkedIn, en YouTube, que realmente nos apoyan y nos siguen. Y ahora les voy a dar una novedad sumamente interesante también para todos, y Un jueves. Comenzamos con un esquema de jueves de por medio, una master class. Un jueves sí, un jueves no, un jueves sí, un jueves no. Y a partir de ahora vamos con todos los jueves. Un jueves hacemos master class de Salesforce, al jueves siguiente, inglés para Salesforce con la teacher Angie. Al jueves siguiente, master class de Salesforce al otro jueves, inglés para Salesforce. Todos los jueves en el mismo horario, en este lugar, hay algo para poder crecer en esta carrera del mundo de Salesforce.
[00:01:34.23] – Hablante 1
Lo que yo voy a hacer ahora es compartir pantalla, compartir pantalla, porque vamos a retomar, vamos a retomar, vamos a retomar. Sumar desde donde dejamos la vez anterior. Si ustedes se acuerdan, y no hay ningún problema para los que no vieron la clase anterior, si ustedes se Y, como se acuerdan, lo que nosotros hicimos fue construir una app que la llamamos facturación. Construimos una app que la llamamos facturación y creamos un objeto que lo denominamos facturas. Y después, otro objeto más es productos de factura. ¿Qué es lo que vamos a hacer en este momento? Es terminar terminar de darle un poco de formato lógico a todo esto que estamos viendo en este lugar, para que después de la mano de Francisco, utilizando la magia de Flow, veamos cómo vamos a ir ingresando las líneas de producto en la factura de una manera humanamente copada, como normalmente se suele hacer en un sistema de facturación. ¿Qué es lo que voy a hacer Lo que voy a hacer ahora es vamos a ir a la tuerca o a la rueda o al wheel, y lo que voy a hacer es ir al setup. Voy a ir al setup porque desde el setup yo quiero ir a aplicaciones, a aplicaciones, y dentro de aplicaciones vamos a buscar el App Manager.
[00:03:24.19] – Hablante 1
En el App Manager, lo que voy a hacer es identificar de todas las aplicaciones que yo tengo es la aplicación de facturación, que es la que creamos anteriormente. Entonces, yo me voy a la aplicación de facturación, que es esta, Le voy a hacer clic en Edit. Recuerden que nosotros como buena práctica, como buena práctica, lo que solemos hacer es utilizar Salesforce en inglés. Utilizar Salesforce en español desde la óptica de un developer o de un admin no es una práctica recomendada porque es muy difícil seguir… Ritmo. Y ahora voy a hacer una pregunta a José, a ver si me Le voy a dar una mano, le voy a preguntar. Es muy difícil seguirle la onda a lo que estamos viendo en pantalla con la documentación técnica. Y yo quiero saber que Josué, por favor, me responda. El orden de todo esto en el setup, Josué, cambia si yo estoy en español o si estoy en portugués, por ejemplo.
[00:04:33.21] – Hablante 3
Buena pregunta, nunca presté atención.
[00:04:35.17] – Hablante 2
Me parece que no. Me parece que no. Porque si no, tendría que estar arreglando cualéticamente.
[00:04:40.06] – Hablante 1
Apa, apa. María Cecilia, ¿vos podrías confirmar este dato en un rato y chequear si en una instancia que vos tengas de Salesforce en español, todo esto cambia, pero no solamente en configuración tenemos un árbol. Tenemos un árbol. Si yo me meto acá… Ya mismo. Ahí lo configuro. Si yo me meto acá en data cloud. Adentro de data cloud tengo analytics, approval settings.
[00:05:07.12] – Hablante 3
Yo por ahí pensando, creo que no me hicieron esa broma, ¿no?
[00:05:11.12] – Hablante 1
No.
[00:05:12.18] – Hablante 3
Yo igual trabajé en un entorno que estaba en hebreo, el idioma israel. Era re difícil. Tenías que traducir todas las visual forces a hebreo, idioma israel.
[00:05:23.06] – Hablante 5
Es que se anida por funcionalidad ese árbol, no por alfabéticamente.
[00:05:28.20] – Hablante 1
Bueno, pero pará. Confirmalo en un rato. Sí, me voy a confesar que en alguna vez, creo que jugando, dije: Salesforce en la banca, loco, Salesforce, la banca, lo voy a poner en japonés. Después no sabía qué tocar para revertirlo. Y yo: Ahora, ¿cómo revierto esto? No sabía qué opción tocar para volver al idioma anterior. Bien, ¿cómo es la onda acá? ¿Cómo es la onda? Facturación. Me voy a Edit. Me voy a Edit y lo que voy a hacer es desde el Lining a Builder modificarlo. Modificarlo y puedo modificar un montón de cosas. Busquen en YouTube, crea un sistema de facturación y stock y les va a aparecer la clase número uno. Así lo pueden ver. Pero escuchen, yo quiero agregar cosas. Definitivamente quiero agregar más cosas. Una de las cosas que yo quiero agregar acá son productos. Entonces, una de las cosas que yo tal vez pueda hacer, digo: Mirá, facturas es lo primero que quiero ver, Productos es lo segundo que quiero ver. Ahora, este es un tema picante, polémico, complejo, que voy a hablar ahora, es de las listas de precios de Salesforce, que la vamos a conocer como Pricebooks. Salesforce tiene una forma bastante particular de administrar listas de precios.
[00:06:52.06] – Hablante 1
Antes de volver a listas de precios, yo quiero hacer clic en este lugar y quiero que comparen cómo la La aplicación de facturación se ve. Y ahora voy a hacer clic con el botón derecho del mouse y duplicar mi ventana para, de esa manera, ver el antes y el después. Esto era así antes de modificar la aplicación. Esto es así. Tengo facturas primero, productos y demás. En el ejemplo que vamos a ver hoy, definitivamente no nos vamos a meter hacer con pricebooks o con listas de precios de Salesforce. Hablando de una manera un poco informal, pero también amistosa, ¿son un quilombo? ¿Son un quilombo doblado al cuadrado? ¿Tienes sentido usar listas de precios de Salesforce? Sí. Vamos a dar una clase de cómo usar listas de precios y vamos a ir por una modalidad más simple, que es crear directamente un campo precio en el objeto Productos. Le voy haciendo a bebé Corazón, Esteban Morales, una pregunta para que me responde cuando esté listo. Y quiero saber por qué el objeto productos, el happy name, se llama producto. No lo sé. Vamos a crear un campo ahí adentro. Qué cantidad de gente conectada. Qué cantidad de gente conectada me pone muy contento.
[00:08:24.20] – Hablante 1
Y esto es gracias a todos ustedes. Estoy muy agradecido. Todos estamos muy agradecidos por el apoyo continuo que nos están dando todo el tiempo. La próxima clase, la próxima clase, la próxima clase, creo que la vamos a estar dando de las oficinas de Salesforce, y si no es la próxima clase, es la otra. Bien. ¿Qué es lo que voy a hacer ahora? Porque esto va teniendo un poco más de onda. Perfecto. Va teniendo un poco más de onda, pero lo que yo quiero hacer es meterme con el objeto Productos de factura, porque esto así es un esqueleto. Fíjense, no tengo nada. Ustedes me dicen: Esto es un sistema de facturación. ¿Qué onda, güey? ¿Qué onda? Hermano, esto, cualquiera. No, esto es un esqueleto al cual vamos a ir dándole forma paulatinamente. ¿Qué es lo que quiero hacer ahora? Lo que quiero hacer ahora es clic con el botón derecho del mouse acá. ¿Por qué? Porque yo me voy a ir a un registro de productos de facturas y vamos a… Lo que vamos a hacer acá es, primero voy a dictar el objeto. Después, bien, lo que voy a hacer es desde el Object Manager.
[00:09:38.15] – Hablante 1
Acuérdense las personas que están conectadas ahora, si se les escapa algún detalle No se estresen. No se estresen porque todos los que se registraron para esta master class mañana van a estar recibiendo automáticamente en una bandeja dorada la grabación y la van a poder ver y volver a ver y pausar. Y a todos aquellos que estén viendo esto desde LinkedIn o YouTube, también. Entonces, vamos con el objeto Product. Y acá, bebé corazón, explícame esto. Si yo tengo uno que-Voy a grabar tres. ¿Cuál era onda acá? No entiendo. Product 2. No sería product, product. ¿Viste? ¿Sí te puede explicar? ¿Tiene alguna lógica?
[00:10:21.09] – Hablante 4
Y lo mismo con Price Book. Creo que Price Book es Price Book dos y no es Price Book solo.
[00:10:25.19] – Hablante 1
Rompamos todo.
[00:10:27.04] – Hablante 4
Está mal. Sé que es una historia larga y viene de Salesforce antiguo y yo no estoy muy enterado. No estoy muy enterado. No, yo no he nacido cuando hice Salesforce. Pero creo que Salesforce quiso sacar una especie de módulo de precios, gestión de productos, y por lo cual, en la zona de preco, después sacó la nueva versión que es Product 2 y quedó ahí el nombre Product 2 y no lo quiso quitar. No estoy muy seguro, creo que era por ahí.
[00:10:55.17] – Hablante 1
Yo voy a sacar Josu el frutómetro. A ver, frutómetro, este es un dispositivo, otro de los que quieran ver en la cámara. Este dispositivo se llama el frutómetro. ¿Qué hace frutómetro? Detecta fruta. Me mandó fruta. ¿Me hace fruta?
[00:11:10.09] – Hablante 4
Puede ser.
[00:11:12.01] – Hablante 1
Mandó fruta. ¿Qué dirá el frutómetro? ¿Le mandó fruta o es posta? No, es posta.
[00:11:16.09] – Hablante 2
Por lo menos, yo no la sé la historia de por qué.
[00:11:18.01] – Hablante 3
El caso es que hay leyendas. Yo tenía entendido. Yo te he dicho que… Los invito. Se quemaron Happy Names y que dos productos, porque era que estaba disponible.
[00:11:27.04] – Hablante 2
Aparte, tienen que haber quemado dos, o no, porque Sería product, product.
[00:11:34.08] – Hablante 4
Product cero.
[00:11:37.18] – Hablante 1
Okey, yo la sé la historia. Yo la sé. Recuerden que estoy en el ecosistema Salesforce desde el año 2009. Yo la sé. Primero, había toda una funcionalidad de productos que no era igual a la de ahora y por algún motivo tuvieron que crear nuevos happy names. Lo que nunca pude entender es por qué los ingenieros u arquitectos de aquella época no pudieron poner un mínimo de pila en precar el anterior y que quede y habrán dicho: No lo ve nadie esto. Poné product dos y quedó. Product 2 es el nombre del objeto en el cual vamos a trabajar ahora. Muchas gracias, Amy Cansón, por no haber mandado fruta. Después, vamos a contar la historia del hoodie ese, piola alta llanta que tenés ahí puesto.
[00:12:27.09] – Hablante 2
Bien. Perdón, la última que digo. Una historia para alguna clase muy avanzada va a ser la de Bebé Corazón. ¿Por qué se le dice Bebé Corazón? ¿Y qué es lo que más quiere saber la gente? Más que todo esto, la gente quiere saber por qué le dicen Bebé Corazón. Así que bueno. Creo que nadie se pregunta eso.
[00:12:41.15] – Hablante 4
Creo que todos quieren ver el sistema de factores, la verdad.
[00:12:44.02] – Hablante 5
Tiene que haber un capítulo de secretos y escándalos.
[00:12:47.14] – Hablante 2
Claro, mientras de cena.
[00:12:49.15] – Hablante 1
¿qué? ¿Por qué? Vete a una pista. Vete a una pista. ¿Puedes ser por tus habilidades de conquista?
[00:12:56.19] – Hablante 2
Basta, basta. Se encerró, vete, vete, vete, vete.
[00:13:00.00] – Hablante 5
Esteban es el short loonie del equipo, es el galán conquistador.
[00:13:06.23] – Hablante 1
Dejámoslo ahí. Bien. Entonces, ¿qué es lo que voy a hacer? Estoy en el objeto productos. Vamos a hacer clic en new y va Vamos con un campo tipo number. Les voy a decir: ¿Che, Juan, podrías utilizar un campo tipo currency?. Sí, yo quiero que el arquitecto Josu me valide lo que voy a decir ahora. Un campo currency Y comparado con un campo number, es lo mismo en términos de base de datos, con la diferencia que se le agrega el prefijo que indica la moneda y todo eso va atado a la funcionalidad hermosa que tiene Salesforce para establecer los paralelismos de moneda. Muy bien, señor. Cuando la funcionalidad multi-currency está activa en Salesforce. Recordemos que Salesforce se puede usar sin un multi-currency activo o con la funcionalidad multi-currency activada. Y cuando activamos eso, podemos tener, por ejemplo, cotización del dólar, del real, del peso chileno, colombiano, mexicano, en relación al dólar. Validame, internamente, un campo currency, ¿es eso? ¿Es un campo número con el prefijo de la moneda adelante?
[00:14:27.17] – Hablante 3
Mi respuesta rápida sería que sí. Ya te lo valido, pero porque cuando tirás queries o mirás a nivel base de datos, no existe el número de la moneda, está el número, entero, coma, la parte de semanal.
[00:14:40.12] – Hablante 1
Exactamente, cuando vos estás tirando un query o cuando vos, con una herramienta externa. Accede al dato de un campo, que ahora en sí lo que estás viendo es un número. Acá, por una cuestión de simplificación de la vida, voy a ir con número. ¿Y qué voy a hacer acá?
[00:14:58.05] – Hablante 2
Fase.
[00:14:59.13] – Hablante 1
Acá le Voy a decir precio, que esto es precio y que esto es 16 dólares.
[00:15:06.08] – Hablante 5
Juan, a veces nos han pedido que sea campo número porque las exportaciones de los reportes, de los informes, que quizás tienen que entregárselos a los contadores, no admite fórmulas ni sumatorias para interactuar quizás con las aplicaciones de los contadores, y prefiere número, pero como un campo adicional fórmula te muestre el número, digamos, y que eso se lo puedan entregar como un archivo de Excel a sus contadores.
[00:15:34.21] – Hablante 1
Okey, lo voy a pasar en limpio. Lo que Cecilia nos está diciendo es que muchas empresas pueden optar por crear un campo tipo fórmula, tipo numérico, que agarra un campo currency para meterlo en número podría ser. No sé si, Josu, ¿tendría mucho sentido hacerlo? No sé si suena tan práctico que alguna empresa pueda pedir eso.
[00:15:57.14] – Hablante 3
Si hubiera algún ¿Hay algún tipo de complicación en ese sentido, que quizá algún reporte se exporta y tiene el símbolo peso y eso es molesto para alguna otra aplicación, ¿tiene sentido el campo fórmula? O sea, va a funcionar. Te traes lo mismo sin el símbolo de moneda y está bien. Lo que yo iba a mencionar es lo que estamos haciendo ahora de crear un campo moneda como íntegro. Lo tengan muy presente a futuro por si van a necesitar multi-currency. Si van a necesitar multi-currency, creen el campo currency, porque si no, después, las conversiones van a durar mucho.
[00:16:34.18] – Hablante 2
Además, se ve más lindo. Se ve más lindo el… Sí. Carrency porque tiene el signo a peso.
[00:16:39.10] – Hablante 1
Qué malioso el aporte que acaba de hacer, Francis.
[00:16:42.06] – Hablante 5
O el signo que corresponde.
[00:16:44.08] – Hablante 1
O sea, podríamos crear un campo tipo currency porque se ve más lindo. Bien. Estoy usando tal campo, no me lo arden. Vamos con la record page de producto. Vamos con la record page de producto, voy a la tuerca loca del amor y vamos con Edit Page. Acá estamos de nuevo en el Lining Up Builder. Lo que tenemos acá es, esto creo que ya lo hemos visto en alguna clase, es el Page Layout. El Pace Layout, y como tengo el Page Layout, Salesforce me dice: Escúchame, ¿querés pasarte loco, machazo, copado, lindo, bonito? ¿Querés pasarte a Dynamics Forms Sí, papá. Claro que quiero que te pases a Dynamics Forms y yo le voy a hacer clic en Add CRE. Acá le vamos a hacer que sí. Ven, vamos con el Product Layout. Esto tiene un sentido, el por qué lo estoy haciendo ahora en este mismísimo y precisísimo momento, mira, yo al campo precio lo voy a meter aquí arriba. Perfecto. Y lo voy a hacer requerido al campo precio, porque superútil, superútil Superútil tenerlo. Le voy a hacer clic en Save. Voy a activar. Vean en YouTube. Hay clases específicas en donde nosotros explicamos todo el funcionamiento del Lining App Builder y cómo activar una la Line & Record Page nueva.
[00:18:17.22] – Hablante 1
Y me voy a ir y vamos a ver cómo luce esto.
[00:18:23.01] – Hablante 2
Perfecto.
[00:18:23.21] – Hablante 1
Ya tengo el campo Precio que acabo de crear. Voy a hacer clic en Edit y acá le vamos a poner 1000. A este producto le vamos a poner 1000. Y ya me saqué de encima todo el bardo de la Bienvenida a la Profe Angie, que la tenemos conectada en esta clase. Les recuerdo a todos dos cosas. Uno: si hay alguna pregunta, si hay alguna pregunta que ya están haciendo preguntas y no las respondemos en vivo, porque la profe Angie se olvidó de responderla. Número dos: un Un jueves, master class, otro jueves inglés para Salesforce, un jueves Master Class, otro jueves inglés para Salesforce. Estoy viendo en el chat varias preguntas. Un rato, Angie, queremos que nos ayudes y las vamos a ir respondiendo una por una. Vuelvo, ¿okey? ¿Qué más tengo que hacer en este momento? Si yo, cuando agrego un producto, un producto de factura, quiero tener el precio, necesito, y presten atención a lo que voy a Es decir, se va a poner un poco técnico, pero la onda es esta, esta es una clase técnica. Necesito extraer del objeto productos el precio. ¿Cómo hacemos eso? Con una fórmula. Yo voy a hacer clic en New, voy a ir a fórmula.
[00:19:47.09] – Hablante 1
Me gustaría recordar, para simplificar el entendimiento de lo que voy a explicar ahora, que el objeto, producto de factura, es un junction object. Y le voy a dar a a Esteban que nos explique en un ratito, que es muy brevemente, que es un junction object, en donde estoy vinculando con ese objeto a otros dos objetos. Tenemos el objeto factura, que es el primer objeto con el cual me estoy vinculando, por eso es una línea de producto que al mismo tiempo yo me estoy vinculando con el objeto producto. Como me estoy vinculando con el objeto productos, yo tengo la la capacidad de dentro de la fórmula de poder extraer el precio. Bien, me emociono de lo lindo que es esto. Entonces, ¿qué pasa? Vengo acá y le voy a llamar precio unitario. Precio unitario, muy bien. Precio unitario. Precio unitario que va a ser tipo number, vamos a hacer tipo fecha, con dos decimales. Vamos con next. ¿Qué quiero meter acá? Voy con fórmulas avanzadas y digo: Quiero meter un campo. Quieres meter un campo, muy bien. ¿De dónde querés meter el campo? Y mira, yo el campo lo quiero meter en el producto. Por lo tanto, como quiero meter el precio del objeto o producto, vengo acá, hago clic.
[00:21:18.00] – Hablante 1
Francisco, ¿qué llamaría? Chiquita, ¿cómo él anda? ¿Cómo llamamos el piruro este? ¿Cuál es tu benedicto experte?
[00:21:27.05] – Hablante 2
Link, yo diría link.
[00:21:29.04] – Hablante 1
Mamá, link. Bueno, vamos al link.
[00:21:31.18] – Hablante 3
El cocodrilo.
[00:21:32.23] – Hablante 2
El menor que…
[00:21:35.16] – Hablante 1
Se repicó, dejo de compartir pantalla. Dañamente voy a dejar de compartir pantalla porque quiero que Josu, en primer plano, me explique cómo esa flechita, cómo ese coso loco lo asociás con un cocodrilo? Y mirá que estamos todos pendientes de vos, Josu.
[00:21:53.07] – Hablante 3
Sí, es una boludez. Cuando ibas a la primaria, te enseñaban los mayores y menores y te enseñaban que el cocodrilo se cambió más grande.
[00:22:00.15] – Hablante 1
Claro, yo me estoy dando cuenta que vos y yo fuimos a la escuela en épocas de antes, pero no pasa nada, porque a mí la del cocodrilo no me la explicaron. Voy a volver a compartir pantalla nuevamente y vamos a retomar la creación del campo. Entonces, yo estoy con el producto. Fíjense, Josu, ¿qué pasaría si yo.? Pensemos, ¿qué pasaría si yo elijo este en lugar del que tiene el cocodrilo?
[00:22:28.03] – Hablante 3
Vamos que estás accediendo a la ID, a la ID de registrar.
[00:22:32.01] – Hablante 1
Sí, vale. Explícalo bien, porque alguien que empieza a tener contacto con esto se la pone en la frente un montón de veces y por qué no me da, por qué no me da. El ID de qué? O sea, ¿qué me estaría trayendo acá? ¿Él?
[00:22:47.02] – Hablante 3
Claro, o sea, vos estás en el producto de factura, que está relacionado con un producto. Sí. A nivel base de datos, esa relación es un ID. Soy el jornador de facilidad en los look up de que vos veas ese ID y puedas acceder a valores que hay en la relación, en la otra tabla. No sé si es didáctico lo que estoy diciendo, pero si vos te paras en el producto solo, tenés el número de documento de la persona. Si te vas por el producto con el cocodrilo, ya le pusimos el nombre, vas a acceder a valores desde la persona, haciendo la analogía con la persona. Si envías su número de documento, te vas a traer más de su fecha de nacimiento, su nombre, esa es una gran diferencia. Es una bondad de self-force.
[00:23:27.00] – Hablante 1
Sí, lo cual es hermoso. Entonces, acá yo Voy a buscar. Miren, chicos, qué lindo es, qué cosa hermosa. El precio. El precio. Y acá vamos a hacer clic en insert. Obviamente, voy a chequear sintaxis para ver si está todo okay. Y la verdad de la milanesa es que sí, que está okay. Entonces, vamos con next, next. Y acá vamos con save. Tengo el campo creado, perfecto. ¿Qué es lo que voy a hacer? Un poquitito de amor a esta record page, apenita, un poquitito de amor. Tengo acá, Edit Page, lo vamos a hacer rapidito. Vamos a acomodar alguna cosita más dentro de la factura y… El broo, groso, zarpado, macho, diamant, excelentemente brillante, conocedora de lo conocido y desconocido del mundo Salesforce, Francisco Morales nos va a explicar cómo desde dentro de un flow vamos a meter líneas de producto y yo Yo quiero que sueñen con algo. Yo quiero que sueñen con ustedes creando este tipo de soluciones en diferentes organizaciones de Salesforce y en mostrarles este amor funcional que va a estar generado por ustedes a partir de todo lo que estamos viendo en este momento. Acá estoy en la misma situación. Le voy a poner Click and upgrade.
[00:24:52.16] – Hablante 1
En un rato allí vamos con preguntas. En un rato, cuando yo te diga, o empiezás con las preguntas. Tengo dynamics forms, genial. El loner no lo quiero, el loner lo voy a sacar, no me interesa. Y lo que yo quiero acá, principalmente… Miren esto, miren esto. Lo voy a tratar de agrandar un poco. Yo generalmente suelo hacer esto. El creado y modificado lo pongo en una sola columna. En este caso, como pertenece a la factura, lo pongo abajo.
[00:25:25.15] – Hablante 2
Bien.
[00:25:26.13] – Hablante 1
Y cantidad y precio lo meto ahí. Vamos a ver, vamos, el producto también lo voy a meter abajo y fíjense cómo esto va a lucir. Vamos a activar la nueva Line Record Page. Muy bien. Le voy a decir que es default. Perfecto. Muy bien, excelente. Ya estamos.
[00:25:47.19] – Hablante 3
Tuqui, par.
[00:25:49.06] – Hablante 1
Bien, miren cómo esto luce mejor. Ahora, fíjense algo. Y ya pasamos a Francis. Yo acá, lo que tengo acá No es cualquiera esto, es un autonumber. Yo debería de tener esto. Por lo tanto, podríamos crear otro campo, fórmula, para que nos traiga el nombre o lo podríamos usar así. Pero, yo ahora me quiero ir a la factura. Yo ahora me quiero ir a la factura y una de las cosas que a mí me gustaría es que esto tenga un poquitito más de onda, un poquitito más de appealing visual. Entonces, voy a venir aquí, okey, Y lo primero que voy a hacer, lo primero que voy a hacer es, no quiero esto así partido en dos, vamos a cambiar el diseño y vamos con este. Vamos con este porque yo una de las cosas que quiero hacer es priorizar la visualización de los productos. Lo segundo, lo segundo que voy a hacer es venir y elegir una related list Vamos a ver esta. Un toque. Espere. Related List. Related List. Quiero ver si tengo al Perfect. Voy con la Related List y acá le voy a decir que son los productos de facturas. Fíjense, fíjense, algo muy particular.
[00:27:22.04] – Hablante 1
Súper técnico lo que voy a decir ahora. Esta es igual a la que estaba y si prestan atención, ahora puedo tener una dynamic related list. Le voy a hacer clic en upgrade. Muy bien. Le voy a hacer clic en upgrade y puedo hacer un montón de cosas más. O, por ejemplo, decirles: Mira, esto se va a llamar productos. Ya sé que son productos de facturas. Fíjense acá cómo va cambiando. Y al mismo tiempo, al mismo tiempo, yo quiero poner. Quiero poner el producto. Okey, tranquilo. Quiero poner el producto. Bien. Quiero poner la cantidad. El precio unitario también, Ahora lo vamos a acomodar y quiero poner la cantidad también. Y esto, Producto y Cantidad. Me voy de aquí y ahora, miren esto. Yo tengo el producto de factura, tengo el producto que estoy metiendo en la factura, la cantidad y el precio unitario. ¿Qué es lo que vamos a hacer en la tercera y última parte de esta serie de tres clases? Es cómo crear el encabezado de factura, cómo crear el campo que me dé la totalización y cómo lograr de que todo esto luzca como una factura real. Y ahora…
[00:28:41.03] – Hablante 6
Hay una pregunta, Juan Manuel.
[00:28:43.19] – Hablante 1
Muy bien, ahí vamos. Vamos a hacer algo. El control total de la clase lo va a tomar Francisco ahora, pero antes de pasar a Francisco, que ya vamos a pasar con Flow y demás, vamos con todas las preguntas y las vamos respondiendo.
[00:28:57.22] – Hablante 6
Si se necesita manejar productos de de diferentes sucursales en diferentes países con tres tipos de servicios diferentes, ¿qué recomendarían hacer como buena práctica?
[00:29:07.12] – Hablante 1
Me encantó. ¿Quién hizo esa pregunta? Ana. Ana, vamos. No, me repetís la pregunta.
[00:29:12.22] – Hablante 6
Manejar productos de diferentes sucursales en diferentes países con tres tipos de diferentes servicios. ¿Qué recomendarían hacer como buena práctica?
[00:29:24.14] – Hablante 1
Lo primero que deberíamos tener en cuenta es si son servicios los que vamos a facturar o si son productos físicos. En el caso de que sean productos fijos, vamos a querer crear almacenes o depósitos en donde poder administrar el stock de esos productos físicos y en ese caso, Ana, lo que nosotros haríamos después en el flow, es que le haríamos un flow que sea emitir factura, donde generaría el PDF y todo eso, y descontaría del almacén específico el stock consumido. Y en el caso de que sean servicios, lo que vamos a hacer, como buena práctica, son dos cosas: una, en la línea Producto de factura, poner un picklist que indique el país o la sucursal. Esa es una forma de hacerlo. La otra es directamente tener en el objeto Product 2 un registro diferente para un servicio de cada sucursal. Producto Canadá, producto Argentina, producto España, producto México. Angie, ¿tenemos alguna pregunta más?
[00:30:29.00] – Hablante 6
Acá Ana dice Serían servicios, hotel, vuelos en Europa, USA y Latinoamérica?
[00:30:35.07] – Hablante 1
Definitivamente es un producto para cada destino. Definitivamente. Y también se podría agregar en la línea de producto, en el comprobante, un campo donde pueda seleccionar la sucursal o la división. Eso también es fácil. Sí. Bien. Francisco, vamos con vos. Dejo de compartir pantalla. Es hora de brillar ¿Qué muñeco tiene hoy, Francisco? Mientras tanto, me gustaría, Esteban, que nos comente qué es un Shansion Object. Contanos qué es un Jansion Object.
[00:31:12.09] – Hablante 4
Bien. ¿Cómo es esa pronunciación? Shansion Object.
[00:31:16.14] – Hablante 1
No, la teacher. Si yo… No me peguen porque…
[00:31:20.04] – Hablante 6
Es un poco a japonesi.
[00:31:28.22] – Hablante 4
Siempre va la respuesta a mi pronuncia de ese, sí, es muy difícil.
[00:31:31.20] – Hablante 1
Profe, yo lo escribo: Junk-Tion, me muero. ¿Cómo se escribe?
[00:31:37.01] – Hablante 2
¿alguien que el rezo se como un perro? Ese es que era la grita de Josué. Viste que a veces…
[00:31:41.18] – Hablante 5
La negrina te acaba de luchar, go for him. Me venía a decir Shansanson. Ella me está diciendo que se dice como Shansons.
[00:31:48.17] – Hablante 4
Sunset.
[00:31:52.12] – Hablante 1
Se están cagando de risa. ¿Cómo se pronuncia Shansonson? Profe, ¿cómo se pronuncia?
[00:31:57.15] – Hablante 4
¿pero inglés o japonesa?
[00:31:58.21] – Hablante 5
Ven que las necesitamos las clases de inglés. No podemos quedar como unos salames. ¿Me entienden? No sabemos si. ¿Y qué es lo que el examen de certificación? Pasó a ser oral.
[00:32:12.13] – Hablante 1
Horro. Change of Noves. Ety, deja de eludir la respuesta, no sea así.
[00:32:17.13] – Hablante 4
Sí, como vos decís, el Change of Noves, como decía Juanma, es básicamente una entidad que está en el medio de otras dos entidades y vos querés que básicamente tome esa información. Por ejemplo, productos y facturas es una relación muchos a muchos. Es decir, una factura puede tener muchos productos y un producto puede estar en muchas facturas. Entonces, para hacer esa relación, en cualquier sistema de Azure o en Safe, te gusta el Changing Object, que básicamente compartir campos de los dos entidades de factura de productos y tenerlo registrado como un registro único. Porque si, por ejemplo, vos querés cambiar el precio de un producto, no lo podés hacer en el producto y no lo podés hacer en la factura. Entonces, necesitas esta entidad en el medio que representa eso, esa unión en factura y producto.
[00:33:02.21] – Hablante 2
Muy bien. Primero quiero hacer una apreciación de este personaje que si creó una aplicación y se puso su propia foto en la aplicación, primero me quería hacer esa… Me llamó mucho la atención, hablando un poquito de ego. Entonces, vamos a hacer lo siguiente. Vamos a crear. El próximo paso que dijimos que vamos a hacer es… Vamos a hacer un poquito de trampa y vamos a replicar una funcionalidad que un poco la tenemos en los relacionados. O sea, lo que nosotros queremos hacer es esta edición, en vez de ir uno por uno editando, vamos a suponer que yo quiero cambiar la cantidad de este ítem de la factura, tengo que venir acá, hacer clic acá y decir, no sé, en vez de 45, quiero 10. En vez de hacer esto, vamos a hacerlo todo masivamente. Vamos a hacer un flow que nos permita editar todos los productos, las cantidades y los precios de una sola vez. Entonces, para hacer eso, y esto es un poco una excusa para mostrar algunas cosas copadas de flow, lo que vamos a hacer es vamos a crear un flow nuevo, del tipo pantalla, esta parte la voy a hacer un poco rápido porque ya lo vimos un poco en todas las otras clases.
[00:34:03.03] – Hablante 2
Me escribí un flow. Muy bien. Y lo que vamos a hacer es vamos a empezar a agregar una pantalla, porque se me mezclan un poco las cosas que tenemos que hacer, pero vamos a empezar a agregar una pantalla. Si ustedes se acuerdan, habíamos visto algo del elemento repiter. Vamos a usar el elemento repiter acá también para alistar todos los systems de la factura y luego que se puedan editar de acá. Esto tiene una ventaja que es que además de verlo en una pantalla, después vamos a ver cómo usar varias cosas del elemento repiter. Creo que vamos a salir todos como bastante expertos en ese elemento. Entonces, voy a acudir a la memoria de Josueya y de este, que la tienen más clara con esto. Si hay algún paso en el que me trabo algo, les voy a pedir ayuda ahí a ver cómo era, porque lo hicimos un rato antes y estuvimos a la corrida. Entonces, lo primero es poner un nombre a la pantalla. Perdón, ¿cierto que habíamos dicho que iba a ser todo en inglés? Entonces, lo que tenemos que hacer es, de vuelta, poner un repiter. Y el repiter, que ustedes acuerdan, es un elemento que básicamente va a repetir cosas.
[00:34:57.23] – Hablante 2
Entonces, lo primero que tenemos que hacer, y por eso yo sabía que me estaba olvidando de algo, es que teníamos que precargar a este repeater todos los systems de las facturas que ya tengamos. Entonces, le vamos a poner repeater, ítems. Te lo vamos a poner por los espacios nomás. Sí, y aparte le vamos a poner invoice. Lo correcto sería invoice items.
[00:35:14.21] – Hablante 3
De la herramienta, un sistema.
[00:35:16.17] – Hablante 2
En el data source, acá tendríamos que traer con qué queremos precargar esto. Entonces, acá, vamos a hacer un site, y lo primero que tengo que hacer es traerme la lista de los ítems. Y para traerme En la lista de los systems, tengo que tener acá la variable que tiene la id de la factura. Y por eso, yo sabría que haría algunos pasos que me estaba salteando. Los chicos me dicen que hay una forma de no hacer esto que voy a hacer yo ahora, pero no se está en el entorno, así que lo voy a hacer acá, que es cómo obtener la variable de la factura. En este caso, yo voy a crear una nueva variable que se va a llamar recordid. Tiene que ser este nombre, porque esto es lo que cuando nosotros después disparemos el flow, va a tomar de la URL. Es decir, cuando yo dispare el flow desde acá, creo que creé un ejemplo como para mostrar esta parte, este ejemplo no usar. Cuando yo dispare esto, la forma en la que va a obtener el ID de la factura en la que estamos parados es buscando ese parámetro en la URL, que se llama, como ustedes ven acá, recordid.
[00:36:20.23] – Hablante 2
Esta es la explicación técnica de por qué a esto le vamos a poner recordid. Pero es simplemente para saber que acá va a bajar la factura. Entonces, vamos a poner el ID de la factura. En a data type y le vamos a poner que es un texto. Alguna cosa importante para que esto funcione, tenemos que poner que está disponible para input. Vamos a guardar. Tenemos nuestro id de factura. Entonces, vamos a buscar, vamos a hacer un get_record de nuestros ítems. De Invoiced Items. Acá vamos a ir a productos. No me acuerdo cómo se llama, pero creo que es factura, producto de factura. Y esto tiene un campo, que es lo que hemos estado jugando recién, que es factura. Acá, lo que decían recién los chicos, en este caso sí nos interesa mapear con este un campo en particular, que es la ID de la factura, y vamos a usar nuestra llamante variable record ID. Entonces, ahí lo que hicimos es nos trajimos los systems, volvemos a nuestro repeater y le vamos a decir: Esto precarguemelo.
[00:37:12.05] – Hablante 4
Le faltó todos los registros.
[00:37:14.02] – Hablante 2
Es lo que pasó hace un rato cuando estábamos practicando. Por eso nos reímos. Y acá en el data source le ponemos que queremos todas las facturas. Ella tiene esa factura propiamente. Ahora, una vez que tenemos eso en el repeater, si se acuerda, el repeater es como una cosa medio anórfano. No está entendiendo todavía qué es lo que hay adentro. No es que le estoy precargando una lista de ítems de factura per se. Entonces, lo que tengo que empezar a hacer es agregarle cosas que pueda hacer en ese elemento. Entonces, lo primero que voy a hacer es decirle que quiero mostrar el producto. Usar un lookup que mostre el producto de ese repiter. Y una cosa que habíamos llegado a ver rápido en la última clase que hicimos sobre esto, es que este elemento tiene un truco para usarlo. Por lo menos a mí me parece que es un truco que es decir, esto va a ser el producto. Y nosotros acá, lo que tendríamos que hacer es decir, es usar un lookup de algún otro objeto. Lo primero que vamos a hacer, vamos a decir que esto es de opportunity line item y el por qué no hay.
[00:38:13.16] – Hablante 2
O sea, podríamos usar otro objeto y otro campo que tenga una relación de Product 2, pero en este caso yo voy a usar este porque es el que me parece más práctico y más fácil de usar. Y acá le vamos a poner Product 2, ID. Vamos a leer, vamos a poner Product. Esto lo Lo que vamos a explicar un poco rápidamente en la última clase y es que básicamente, de nuevo, necesitamos definir un lugar que ya exista en el entorno, es decir, un campo que ya esté siendo usado, que sea de Product 2. Entonces, vamos a decir que es Opportunity Line. Acá podremos hacer alguna validación más si queremos. También vamos a hablar del campo.
[00:38:46.17] – Hablante 3
Sí, es popular el valor, perdón. Sí.
[00:38:49.16] – Hablante 2
Y lo próximo que les quería contar, bien ahí es como es que esto, nosotros estamos agregando, de nuevo, un lookup random. Esto no tiene ninguna relación todavía con nuestra lista de ítems que traigas. Entonces, la forma en la que vamos a hacer eso es… Acá me ayudan. No me acuerdo si era record ID. Sí, era record ID porque esto es un lookup. Entonces, lo que vamos a hacer acá es…
[00:39:09.08] – Hablante 3
Lo elemento del repeater.
[00:39:10.18] – Hablante 2
Lo elemento del repeater.
[00:39:12.02] – Hablante 3
Y el ID del producto. Creo que era así.
[00:39:14.03] – Hablante 2
Producto. Bien. Lo vamos a probar porque no me acuerdo si era exactamente así, pero creo que sí. De vuelta, lo que estamos haciendo es: bueno, esto que vos me hiciste en el repeater, que es un lookup a producto genérico, es decir, todavía no estamos linkeándolo nada. Bueno, ahora precargarlo con lo que ya te trajiste de la lista de líneas de factura. Acá es donde se empieza a poner un poco complejo el asunto, pero básicamente estamos haciendo eso. Y lo otro que le voy a decir, que me permita… Ven y escribo acá como si me lo fuera a encontrar. Es cambiar la cantidad. Entonces, vamos a llevarnos el campo number y le vamos a poner esta cantidad. Y acá lo mismo, ¿no? El default value lo vamos a cargar como… Perdón, no era esto. Sí, es esto. Eso que nosotros estamos iterando por cantidad. Hicimos lo mismo A este cantidad, que es un genérico, le estamos diciendo: Esto mapéamelo, con lo que yo me traje la lista de ítems. Y esto último que agregó Juan también vamos a usar, que es ponerlo en el precio. Entonces, vamos a venir acá y vamos a poner precio.
[00:40:12.19] – Hablante 4
¿usás number o usás currency?
[00:40:15.05] – Hablante 2
Ahí. Voy a usar number, porque lo usamos como number, ¿no? Ahí me corrió.
[00:40:19.16] – Hablante 4
Pero no podés usar un currency.
[00:40:21.23] – Hablante 2
A ver, mejor yo. Esto lo vemos. Y ya contramar el otro. En realidad, yo iba a ir solo por eso, pero vamos a usar lo así, porque a mí también me gusta que usemos más el de carras y el precio. Probemos, si no, volvemos al number. Dijimos precio. ¿Precio unitario lo hemos puesto? ¿Está bien? Sí. Bien. Entonces, esto lo vamos a declarar que es el precio unitario. Hasta acá tenemos que tener una pantalla donde podamos ver todo lo que ya se cargó en esas líneas de factura. Entonces, si yo me voy a… Primero vamos a guardarlo. Les dejo. Voy a venir y voy a usar esta factura, me voy a robar este ID, y si yo me voy a hacer el debajo y le tiro el ID y me debería precargar todo lo que ya que vivimos recién. Todas las líneas que están cargadas en esta factura. Funcionó. Se me pican, me trajo la lista y me completó todo el repiter. Entonces, yo ahora podría venir y editar. Pero si yo hago acá finish, ¿qué pasa? A ver si se dan cuenta. Porque yo, vamos a ver de vuelta el flow o el dibujo de flow.
[00:41:16.18] – Hablante 2
Después de este niño de script, no hay nada. O sea que si yo paso a siguiente, todo lo que yo cambia ahí no impacta en la base de datos, no hace nada. Entonces, lo próximo que tendrá que hacer es empezar a agregar lógica acá para ir viendo qué hacer. Y eso es lo que se va a poner un poco más interesante. Entonces, vamos a cerrar esto. Ahora, si yo ya tengo precargado lo que edité, pero si yo… Perdón, voy a volver a probar. Le voy a mostrar algo. Si es que además de editar todo lo que yo tengo acá, puedo agregar. Ya puedo venir y agregar y decir: Quiero uno de estos productos locos a un precio de 123. Si yo, de vuelta, hago finish, no va a pasar absolutamente nada, me va a decir que está todo bien, pero no hice nada porque en mi flow no estoy haciendo nada después, no estoy guardando nada en la base de datos. Tenemos dos escenarios, y si la queremos complejizar, tenemos tres escenarios que tenemos que atajar ahora. O en los productos que nosotros vamos a editar, que nos trajimos de la base de datos, todos los productos que queremos agregar, como eso que hice recién, y también todos los que queremos eliminar, porque vieron que ahí tenemos la opción también de eliminar ítems.
[00:42:22.13] – Hablante 2
Entonces, vamos a tener tres lógicas diferentes, una para cada escenario. Vamos a ver primero la de la edición, que me parece como la más simple de mostrar. Me van diciendo los chicos cómo vamos con el tiempo, porque entiendo que ya son las cinco, pero no sé si esta clase teníamos unos minutitos más.
[00:42:36.11] – Hablante 1
Frank, quedate tranquilo, tenemos diez minutos más enteros.
[00:42:40.12] – Hablante 2
Muy bien. Entonces, vamos a… Repite, te llama repiter invoices item. Si ustedes recuerdan también lo que vimos un poco en la última clase, el Repeter, de nuevo, es una lista de cosas ramofas que no sabemos qué es. Entonces, lo que nosotros tenemos que hacer es iterar por esa lista. Eso lo vamos a hacer en un loop. Ese loop va a decir: Looping Invoice Items, Repeter. Vamos a iterar sobre esos systems y lo que vamos a ir haciendo es ver los que se cambian, básicamente. Esto, collection variable, es del initial screen y del repeter. Y esto es lo que es para mí divertido y nuevo que estamos mostrando acá es que nosotros tenemos varias listas. Los systems, los systems que se agregaron, los que precargamos y los que eliminamos. Entonces, yo ahí les pregunto, ¿cuál se les ocurre a ustedes? Que es, en el caso de que nosotros queramos, primero, guardar lo que se editó, ¿cuál deberíamos cargar acá? O sea, ¿cuál deberíamos elegir para iterar? Voy a dejar dos segundos para que respondan ahí en el chat.
[00:43:41.09] – Hablante 3
El repiter te da como varias salidas de tu colección. Porque vos, inicialmente, tenés una colección de tres ítems. Si vos sumás uno, creo que tenés una colección que es los nuevos, otros que son todos los cuatro. Y si hubieras eliminado, tenés otra colección que son los que se sacaron. Exacto. Tenés esas salidas de los…
[00:43:58.23] – Hablante 1
Exacto.
[00:44:00.10] – Hablante 2
Repiter. Entonces, como nosotros queremos guardar ahora, estamos hablando de lo que vamos a guardar, qué es lo que se editó, que es el primer caso de uso que vamos a hacer, que haremos todo lo que ya trajimos. Todo lo que ya me trajiste al repiter, lo quiero iterar ahora, porque quiero guardar eso. Próximo ítem es, o sea, lo próximo que deberíamos hacer es decir: Pero ahora esto que estoy iterando yo de precargado en el Repiter, necesito de vuelta, y este concepto es como una clave del Repiter, transformarlo a algo, porque dentro del Repiter es una lista de cosas amorosas que no sabemos qué es. Nosotros tenemos que convertirlo o transformarlo a una lista de objetos, de lista de productos de factura. Entonces, lo que vamos a hacer es: vamos a usar el transform, vamos a hacer transform, invoice, items, swaps date, y lo que vamos a hacer acá como source data es elegir lo que estamos iterando, básicamente, cada ítem de estos que vamos a iterar, que de nuevo, cuando el repiter, que es esta cosa morfa, y eso lo vamos a mapear con un registro del tipo… Un registro del tipo producto de factura, si no me equivoco.
[00:45:02.22] – Hablante 2
Hay muchos productos en ese ejemplo. Creo que la única joda que vamos a tener acá, que también lo hemos visto en la última vez, que este producto no me lo traduce. O sea, si yo elijo acá, esto es un texto. Perdón, no es un texto, al revés. Esto es un dato complejo para hacer. Por cómo estamos viendo el lookup dentro de la pantalla. Entonces, cuando yo lo quiero seleccionar, no me saldrá nada, porque no hay nada que se pueda convertir a ese tipo de campo especial. Ahora vamos a hacer un truquito para eso, para mapear el producto, Pero mientras, lo que sí puedo mapear es la cantidad, por ejemplo. Me puedo mapear con cantidad, el precio. A ver si me deja elegir el precio, si no, como a putear este. Acá se puede, el precio. Y el ID, que es este unit field ID, que fíjense que yo eso no lo agregué en el campo, en la pantalla, eso no se ve en el repite. Pero igual lo podemos agregar. Y lo voy a mapear con mi ID de factura. Vamos a hacer un truquito antes para hacer este mapeo. Si yo tuviera que agregar un mapeo acá, una asignación, ¿dónde la agregaría?
[00:46:05.19] – Hablante 2
¿A arriba o abajo? Porque esto es algo que a mí me mareó. ¿Qué va a hacer el loop? ¿Hace esto o hace esto?
[00:46:11.23] – Hablante 3
Salen inmediatamente por abajo. Por eso tiene el cartelito For each por ahí.
[00:46:16.03] – Hablante 2
Arrancaríamos acá. Si nosotros queremos hacer una asignación antes, tenemos que hacerlo acá. Está bien. Lo contaba porque tomamos también una charlita cuando lo practicamos. Entonces, voy a hacer un assignment. ¿Qué voy a hacer en mi assignment? Voy a pasar este tipo de complejo a un texto normal para después poder mapearlo con el producto que me sale por acá, que es este acá. Entonces, ¿cómo hago eso? Voy a hacer un assignment y a ver si me acuerdo cómo hacíamos esto. Dentro del look, nuestro producto, la Los tres no al revés, perdón. Entonces, necesito crear una nueva variable que sea string, va a ver si funciona esto, que sea texto. Y a esto le voy a asignar, ahora sí, lo que estemos iterando, nuestro producto, que es complejo, y hay con la id, que es efectivamente la ID del producto que nos interesa. Entonces, ahora, como me traigo esto acá, tendré que agregar otra nueva fuente de nuestro transform, que va a ser esta variable string que vamos a usar, y esto lo voy a mapear. Fíjense que ahora sí me deja con el producto. Esta es un poco por ahí la parte más compleja de hacer esto, pero ahí ya tenemos nuestro producto de factura totalmente convertido.
[00:47:21.01] – Hablante 2
Todo lo que el usuario modifica acá, lo que faltaría hacer es agregar una lista y hacer el update final también. Vamos a hacer un assignment acá y le damos Vamos a agregar una nueva lista que sería Invoice Items, Slot Date. Va a ser del tipo Rekord, que permite múltiples, y acá dijimos que factura, pronto de factura. A esto le vamos a hacer un app y le vamos a agregar una tardía. Sí, señor. Y el último paso final sería hacer un update sobre esa lista. Ibas a decir algo de que ya salió el App Store, entonces, podríamos jugar un poco con el App Store, pero en este entorno de desarrollo ya nos quedó viejito y no está el App Store. Si se fijan acá, tengo Create, Update, Get, Delete y roll up, no tengo el App Store, entonces, vamos a hacer un update de esa lista. ¿Listó el update? Y esto funciona a la primera. Y si yo vengo a hacer el debate, ¿cómo estamos el tiempo? ¿Bien, no?
[00:48:11.23] – Hablante 1
Estamos bien, Frank. Tranquilo, estamos bien.
[00:48:14.10] – Hablante 2
Vamos a darle una cantidad que nos llame la atención. Son 5,2. Y vengo next. Falló. Y falló porque… Porque inventé un número que es… Sí. Falopa. Obre un 22. 22. Suena más flópico. Ahí va. Ahí va. Y si corro de vuelta, me actualizó. Configuren bien los tamaños de sus campos de números. Es un buen punto. Podría validar el input.
[00:48:41.11] – Hablante 3
Podríamos acabar con validaciones.
[00:48:43.12] – Hablante 2
Podríamos hacer algo así. Pero con esto lo que estamos haciendo es actualizar. Ahora, ¿qué pasa? Si yo igual sigo agregando elementos o eliminando elementos, eso no va a impactar, porque fíjense que yo lo único que estoy haciendo es darle tratamiento a los que estoy actualizando. Entonces, acá tendremos que hacer otro circuito parecido a esto para los que estoy agregando, solamente que no vaya a tener el ID, entonces esto en vez de ser un update, va a ser un insert, y otro para los que elimine. No sé si nos va a dar el tiempo, creo que ya no nos va a dar el tiempo para verlo en esta, pero en la próxima podríamos ver el flow construido de los agregados y los eliminados rápido, porque va a ser muy parecido a esto, pero así es como vamos construyendo un flow que nos permita hacer toda la gestión directamente. Lo próximo sería agregar este flow acá para yo poder venir y decir: Estoy en una factura y voy a modificarla. Vengo y lo modifico directamente acá.
[00:49:27.21] – Hablante 1
Francisco, lo que acabás de hacer es una cosa hermosa. Es una cosa hermosa. Volvemos. Una cosa hermosa, poco visto. Alguien que me explique de lo que estamos conectados, la cantidad de corazones, manitos y conitos. Nunca 160 y pico corazones. ¿Qué está pasando? Es Hermoso lo que hiciste, Francisco. Es hermoso. Es más, la parte número uno ya está subida a YouTube. Parte número dos, que es esta del sistema de facturación y stock dentro de Salesforce, va a estar mañana. Y, próximamente, vamos a estar con la parte número tres. ¿Qué se viene? La próxima clase la vamos a hacer desde Salesforce. Una sugerencia que voy a hacer interno, necesitamos comida, chicos. Necesitamos comer y dar la clase al mismo tiempo. Eso creo que es algo absolutamente necesario. Otra de las cosas que estoy dándoles la noticia ahora es: Josu y Bebé Corazón van a dar una charla una master class basada en Asian Force. Vamos a hacer una introducción a Asian Force y lo que yo voy a estar haciendo, me voy a estar enganchando un poco de costado en la clase que ellos dos van a estar dando y voy a explicar el nuevo sistema de flex credits que tiene Asian Force.
[00:50:48.22] – Hablante 1
Sabemos que hubo un cambio de 2 dólares por conversación a un sistema de créditos de 10 centavos por acción. Lo vamos a estar explicando. Comentario finales. ¿Alguien quiere decir algo más? Ya estamos a un minuto de terminar la clase. Comentarios, preguntas, agradecimientos.
[00:51:08.01] – Hablante 6
Excelente, acá. Gracias a todos por esta sesión. Aprendí mucho y me divertí mucho también, dicen acá. Muy buena propuesta de Agent Force.
[00:51:17.14] – Hablante 2
Eso va a estar bueno, va a ser divertido esa.