Hola compañeros.
La fórmula para la dirección en Google Drive es la siguiente:
CONCATENATE("/appsheet/data/FerreShop-412458374/EntradaMaterialPDF/",[EntradaMaterial],".pdf").
Espero les sea de ayuda,
¡Saludos!
Generar un PDF desde AppSheet es solo la mitad del trabajo. La otra mitad, y la que define una buena experiencia, es permitir que el usuario abra el archivo con un clic dentro de la app, sin perderse navegando carpetas de Google Drive. Aquí verás cómo configurar dos acciones, una automatización y los ajustes de seguridad necesarios para lograrlo.
¿Por qué crear un botón para abrir el PDF en AppSheet?
Obligar al usuario a entrar a Drive cada vez que quiere ver un documento rompe el flujo de la aplicación. Un botón visible y bien etiquetado dentro de la vista de detalle resuelve eso y transmite una sensación de disponibilidad inmediata.
¿Qué hace exactamente el botón abrir PDF? Ejecuta una acción tipo open a file que apunta a la ruta del documento generado y lo abre dentro de la app sin redirigir al usuario al folder de Drive.
¿Qué columnas necesitas agregar en la hoja de cálculo?
Antes de tocar AppSheet, hay que preparar la estructura en Google Sheets. La tabla puede modificarse con el tiempo según los requerimientos del cliente, así que agregar columnas no rompe nada si después regeneras el esquema.
Una vez creadas, vuelves a Data, seleccionas la tabla entrada de material, abres propiedades y das clic en regenerar. AppSheet detecta las nuevas columnas y las suma al modelo [02:00].
¿Cómo configurar los tipos de dato y el display name?
Cuando AppSheet recolecta las columnas, las trae con tipos genéricos. Tienes que ajustarlos para que funcionen como esperas.
Guarda los cambios y confirma en el pop up. Con esto la base queda lista para enlazar las acciones [02:45].
¿Cómo crear la acción que genera el PDF?
En Behavior da clic en nueva acción y nombra con la nomenclatura action_entrada_material_PDF. Recuerda que el nombre largo es un helper para ti, no impacta al usuario.
Asigna la acción a la tabla entrada de material. Deja el tipo por default, ya que vas a colocar valores en las dos columnas nuevas.
En apariencia, escribe generar PDF y elige un ícono relacionado con la acción [04:30].
¿Cómo crear la acción para abrir el PDF dentro de la app?
Esta es la segunda acción y la más importante para el usuario final. Nómbrala action_entrega_material y como display name coloca abrir PDF, súperdescriptivo.
Cambia el tipo de acción a open a file y pega la misma ruta que usaste antes, la que está en la zona de recursos. En apariencia, busca un ícono tipo file que represente la acción.
¿Qué diferencia hay entre generar PDF y abrir PDF? Generar PDF crea o actualiza el archivo y aumenta el contador. Abrir PDF solo ejecuta la apertura del documento ya existente desde la ruta almacenada.
¿Dónde conviene posicionar el botón en la vista?
AppSheet te deja mover la acción dentro de la vista. Con base en experiencia trabajando con clientes, la recomendación es dejarla en la parte superior como flotante, siempre disponible. Esa visibilidad constante refuerza la idea de que el documento está al alcance.
Igual puedes ubicarla en otra zona si tu caso lo pide, pero la posición flotante suele ganar en usabilidad.
¿Cómo configurar la automatización y los filtros de seguridad?
Falta el último tramo. En Automation abre los steps y agrega uno nuevo llamado step_entrega_material. Asígnale tipo run a data action y selecciona la acción que ya creaste; la ruta se detecta automáticamente.
Dentro del paso, habilita la opción disable timestamp. Sin esto, AppSheet añade fecha y hora al nombre del archivo, y tú solo quieres que se llame folio.pdf.
¿Qué condición usar para el evento del PDF?
En el evento, coloca la fórmula que está en la zona de recursos. Esta fórmula evalúa el número de impresiones y dispara la generación cuando corresponde. Si te marca un detalle de sintaxis, revisa que el campo referenciado sea exactamente print; reemplázalo y queda solucionado. Es un error común, parte del proceso de prueba y error [07:30].
¿Por qué deshabilitar los security filters?
En security, ve a options y deshabilita los security filters para este flujo. Esto le indica a Google que el documento es seguro y permite que se abra de manera automática desde la aplicación, sin bloqueos intermedios.
Haz la prueba con un folio nuevo, por ejemplo el 02. Verifica que la ruta y el contador print se hayan registrado en la hoja, y que el PDF aparezca en el folder. Si todo está correcto, el usuario ya nunca tendrá que entrar a Drive.
El reto que queda en tus manos: mejorar el ticket. Puedes convertirlo en un Google Docs con tablas, un logo y mejor diseño. Comparte tu screenshot en los comentarios.
Generar un PDF desde AppSheet es solo la mitad del trabajo. La otra mitad, y la que define una buena experiencia, es permitir que el usuario abra el archivo con un clic dentro de la app, sin perderse navegando carpetas de Google Drive. Aquí verás cómo configurar dos acciones, una automatización y los ajustes de seguridad necesarios para lograrlo.
Obligar al usuario a entrar a Drive cada vez que quiere ver un documento rompe el flujo de la aplicación. Un botón visible y bien etiquetado dentro de la vista de detalle resuelve eso y transmite una sensación de disponibilidad inmediata.
¿Qué hace exactamente el botón abrir PDF? Ejecuta una acción tipo open a file que apunta a la ruta del documento generado y lo abre dentro de la app sin redirigir al usuario al folder de Drive.
Antes de tocar AppSheet, hay que preparar la estructura en Google Sheets. La tabla puede modificarse con el tiempo según los requerimientos del cliente, así que agregar columnas no rompe nada si después regeneras el esquema.
Una vez creadas, vuelves a Data, seleccionas la tabla entrada de material, abres propiedades y das clic en regenerar. AppSheet detecta las nuevas columnas y las suma al modelo [02:00].
Cuando AppSheet recolecta las columnas, las trae con tipos genéricos. Tienes que ajustarlos para que funcionen como esperas.
Guarda los cambios y confirma en el pop up. Con esto la base queda lista para enlazar las acciones [02:45].
En Behavior da clic en nueva acción y nombra con la nomenclatura action_entrada_material_PDF. Recuerda que el nombre largo es un helper para ti, no impacta al usuario.
Asigna la acción a la tabla entrada de material. Deja el tipo por default, ya que vas a colocar valores en las dos columnas nuevas.
En apariencia, escribe generar PDF y elige un ícono relacionado con la acción [04:30].
Esta es la segunda acción y la más importante para el usuario final. Nómbrala action_entrega_material y como display name coloca abrir PDF, súperdescriptivo.
Cambia el tipo de acción a open a file y pega la misma ruta que usaste antes, la que está en la zona de recursos. En apariencia, busca un ícono tipo file que represente la acción.
¿Qué diferencia hay entre generar PDF y abrir PDF? Generar PDF crea o actualiza el archivo y aumenta el contador. Abrir PDF solo ejecuta la apertura del documento ya existente desde la ruta almacenada.
AppSheet te deja mover la acción dentro de la vista. Con base en experiencia trabajando con clientes, la recomendación es dejarla en la parte superior como flotante, siempre disponible. Esa visibilidad constante refuerza la idea de que el documento está al alcance.
Igual puedes ubicarla en otra zona si tu caso lo pide, pero la posición flotante suele ganar en usabilidad.
Falta el último tramo. En Automation abre los steps y agrega uno nuevo llamado step_entrega_material. Asígnale tipo run a data action y selecciona la acción que ya creaste; la ruta se detecta automáticamente.
Dentro del paso, habilita la opción disable timestamp. Sin esto, AppSheet añade fecha y hora al nombre del archivo, y tú solo quieres que se llame folio.pdf.
En el evento, coloca la fórmula que está en la zona de recursos. Esta fórmula evalúa el número de impresiones y dispara la generación cuando corresponde. Si te marca un detalle de sintaxis, revisa que el campo referenciado sea exactamente print; reemplázalo y queda solucionado. Es un error común, parte del proceso de prueba y error [07:30].
En security, ve a options y deshabilita los security filters para este flujo. Esto le indica a Google que el documento es seguro y permite que se abra de manera automática desde la aplicación, sin bloqueos intermedios.
Haz la prueba con un folio nuevo, por ejemplo el 02. Verifica que la ruta y el contador print se hayan registrado en la hoja, y que el PDF aparezca en el folder. Si todo está correcto, el usuario ya nunca tendrá que entrar a Drive.
El reto que queda en tus manos: mejorar el ticket. Puedes convertirlo en un Google Docs con tablas, un logo y mejor diseño. Comparte tu screenshot en los comentarios.
Hola compañeros.
La fórmula para la dirección en Google Drive es la siguiente:
CONCATENATE("/appsheet/data/FerreShop-412458374/EntradaMaterialPDF/",[EntradaMaterial],".pdf").
Espero les sea de ayuda,
¡Saludos!
Buenas tardes.
Tengo el mismo inconveniente que los compañeros mencionan acerca del PDF que no se abre. La aplicación genera el PDF exitosamente en la carpeta esperada, pero no es capaz de abrirlo con el botón generado y sale un HTML de error, que no se ve como HTML sino como un txt.
Sospecho que tiene algo que ver la ruta, pero esa misma ruta no plantea problemas para la creación del PDF, por lo que es muy confusa la situación.
Quizá Google implementó algún cambio al respecto de un tiempo a esta parte (desde la publicación del curso) y eso es lo que nos tiene en vilo a unos cuantos.
Sigo investigando y vuelvo a comentar si encuentro la solución.
Así quedó mi PDF

Axel hola, realice todos los pasos correspondientes en orden, lo hice 3 veces desde cero y me sigue apareciendo lo siguiente.

Así va quedando mi recibo:

Mis Formulas:
CONCATENATE("/appsheet/data/PCYMAC_SHOP-270547918/EntradaMaterial/",[EntradaMaterialFolio],".pdf")
[_THISROW_BEFORE].[EntradaMaterialPrint]<>[_THISROW_AFTER].[EntradaMaterialPrint]
```CONCATENATE("/appsheet/data/PCYMAC\_SHOP-270547918/EntradaMaterial/",\[EntradaMaterialFolio],".pdf")
\[\_THISROW\_BEFORE].\[EntradaMaterialPrint]<>\[\_THISROW\_AFTER].\[EntradaMaterialPrint]
Hola Buenas tardes
Estoy trabajando con OneDrive, sabes como seria la ruta para OneDrive, Puesto guarda la URL y guarda el PDF, pero al abrir me dice que no existe
FUNCIONAAAA. Gracias por el curso. 
Axel hola, realice todos los pasos correspondientes en orden, lo hice 3 veces desde cero y me sigue apareciendo lo siguiente.

El boton de abrir pdf no me funcionó bien, si crea el pdf pero al momento de querer abrirlo solo muestra una página con código http y datos no legibles, alguien con alguna idea?
Hola, cual es la utilidad del contador de Impresiones? no le veo la utilidad... Se puede hacer sin el contador?
Carlos Andres Jimenez Arenas
Max Teja
Stephanya Ossa Quintana
Cristina Ortega
Cristina Ortega
Cristina Ortega
Abdiel Enoc Guiza Suarez
Ruben Choconta
Carlos Eduardo Mayorga Rodríguez
Yonathan Jhammers Díaz Zapata
Germán García
Axel Romero
ProfesorPlatzi Team
Ariel Montecinos Estrada
Axel Romero
ProfesorRuben Choconta
Luis Eduardo Rivas
Claudio Martinez Mora
Luis Eduardo Rivas
Camilo Estrada Botero
Cristian sanchez
Edgar Garcia
Axel Romero
ProfesorMateo Alejandro Betancourt
Axel Romero
ProfesorJuan Pulido
Santiago Davila
Axel Romero
ProfesorGonzalo Alca Gamarra
JUAN UNDA
Brayan Moises Rodriguez Gil
Mónica Cruz
Juan Gonzalo Sanchez
Axel Romero
ProfesorAbdiel Enoc Guiza Suarez
Juan Francisco Gamarra Parra
Axel Romero
ProfesorHola compañeros.
La fórmula para la dirección en Google Drive es la siguiente:
CONCATENATE("/appsheet/data/FerreShop-412458374/EntradaMaterialPDF/",[EntradaMaterial],".pdf").
Espero les sea de ayuda,
¡Saludos!
Gracias!, justo abrí el archivo de recursos y no veía la formula indicada en este módulo.
Gracias también lo necesitaba
Buenas tardes.
Tengo el mismo inconveniente que los compañeros mencionan acerca del PDF que no se abre. La aplicación genera el PDF exitosamente en la carpeta esperada, pero no es capaz de abrirlo con el botón generado y sale un HTML de error, que no se ve como HTML sino como un txt.
Sospecho que tiene algo que ver la ruta, pero esa misma ruta no plantea problemas para la creación del PDF, por lo que es muy confusa la situación.
Quizá Google implementó algún cambio al respecto de un tiempo a esta parte (desde la publicación del curso) y eso es lo que nos tiene en vilo a unos cuantos.
Sigo investigando y vuelvo a comentar si encuentro la solución.
Ya lo encontré, la solución se relaciona con la ubicación en que está almacenado el Workbook (la planilla que usamos como base de datos) y está acá:
En una jerarquía de carpetas, nuestra "base de datos" debe estar por encima de la carpeta en que se genera el PDF para poder ubicarlo y abrirlo. Mi "base" estaba en una carpeta separada, al mismo nivel que la carpeta "appsheet", algo así:
📂Mi Unidad/appsheet/data/FerreSHOP/EntradaMaterial/Folio01.pdf
📂Mi Unidad/aca_mi_base_de_datos
Moví la "base" a la carpeta "FerreSHOP" y pude abrir el PDF desde la aplicación con la ruta que indica el profe, que quedaría así:
--> appsheet/data/FerreSHOP/EntradaMaterial/Folio01.pdf
Como la "base" está dentro de "FerreSHOP", también funcionaría con las siguientes rutas:
-/data/FerreSHOP/EntradaMaterial/Folio01.pdf
-/EntradaMaterial/Folio01.pdf
Lo importante es que la "base" esté en una carpeta superior en la jerarquía.
Espero que mi mensaje sea de ayuda.
Otra cosa: cuando se presiona el botón "Generar PDF" se inicia el proceso de generación y aparece un circulito con un "1" en el ícono de "Sincronización". Este es un indicador de que está en proceso y hasta que ese "1" no desaparezca el PDF no estará listo para abrirse.
Es un comentario para ansiosos como yo XD
Así quedó mi PDF
Axel hola, realice todos los pasos correspondientes en orden, lo hice 3 veces desde cero y me sigue apareciendo lo siguiente.
Me aparece lo mismo.
gemini me oriento esto: CONCATENATE("generaPDF/",[id_event],".pdf").
generaPDF e id_event son definiciones de mi proyecto, debes buscar tus equivalentes.
Por otro lado en una actualización observé que un boton con la función similar, se generó en automático
Así va quedando mi recibo:
Mis Formulas:
CONCATENATE("/appsheet/data/PCYMAC_SHOP-270547918/EntradaMaterial/",[EntradaMaterialFolio],".pdf") [_THISROW_BEFORE].[EntradaMaterialPrint]<>[_THISROW_AFTER].[EntradaMaterialPrint] ```CONCATENATE("/appsheet/data/PCYMAC\_SHOP-270547918/EntradaMaterial/",\[EntradaMaterialFolio],".pdf") \[\_THISROW\_BEFORE].\[EntradaMaterialPrint]<>\[\_THISROW\_AFTER].\[EntradaMaterialPrint]
vas muy bien, felicidades 🚀🚀
Hola Buenas tardes
Estoy trabajando con OneDrive, sabes como seria la ruta para OneDrive, Puesto guarda la URL y guarda el PDF, pero al abrir me dice que no existe
FUNCIONAAAA. Gracias por el curso.
Eso es todo 🚀🚀
Axel hola, realice todos los pasos correspondientes en orden, lo hice 3 veces desde cero y me sigue apareciendo lo siguiente.
El boton de abrir pdf no me funcionó bien, si crea el pdf pero al momento de querer abrirlo solo muestra una página con código http y datos no legibles, alguien con alguna idea?
a mi me esta pasando igual, hay alguien que nos pueda ayudar? sin esta parte no puedo avanzar
ya entendi como funciona, debemos tener el archivo de googlesheets en la misma carpeta de AppShet con el proyecto que se genero al momento de crear la app, solo asi puede funcionar llamar el pdf, Slds... ya finalice el curso y si me ha gustado mucho
Hola, cual es la utilidad del contador de Impresiones? no le veo la utilidad... Se puede hacer sin el contador?
segui todos los pasos y me genera el archivo pdf, pero no genera el detalle del pedido o de la factura... alguien tiene algun consejo o idea que me pueda colaborar... gracias
Podrian ayudarme en la apertura del pdf en la aplicacion desde appsheet, a la fecha no puedo verlo, me da error?
Hola, ¿qué error te arroja? recuerda que debes habilitar algunas configuraciones en OPTIONS
Hey hola, pues esto puse en crear pdf y en abrir pdf, pero aunque me crea el pdf en la ubicacion, no lo abre: CONCATENATE("/appsheet/data/BDFerreteria-204560034/EntradaMaterial/",[EntradaMaterialFolio],".pdf") Me tira este error: '/appsheet/data/BDFerreteria-204560034/EntradaMaterial/EM0002.pdf' not found Probable cause: N/A Path: Root Result: FAILURE Message: N/A Detalles Path: Root Result: FAILURE Message: N/A Detalles Path: Root Result: Success Path: Root Result: FAILURE Message: N/A Detalles Path: Root Result: FAILURE Message: N/A Detalles Path: Root Result: FAILURE Message: N/A, Searching for 'EM0002.pdf', File entry not found Detalles
Hola Mateo, me pasa muy seguido y es muy probable que la nomenclatura este mal, verifica que esta ruta exista.
"/appsheet/data/BDFerreteria-204560034/EntradaMaterial/"
y que en la acción de abrir PDF sea la misma. 🚀🚀🚀
Hola Mateo, pudiste resolverlo? También me sale el mismo error.
Hola talves alguien tuvo problema en hacer el pdf estoy trantando pero no se si por las rutas de carpetas que tienes me genera un erros? y no puedo generar el pdf
Hola, ¿qué error en especifico? Si me ayudas con el mensaje, puedo orientarte un poco mejor 🚀🚀
Para los que le sale el erro al abri el PDF tiene que fijarse bien la ruta de la acción para abrir, en mi caso es:
CONCATENATE(
"/appsheet/data/FerreShop-783775494/EntradaMaterial/",
[EntradaMaterialFolio],
".pdf"
)
Mi carpeta "EntradaMaterial" no lleva el "PDF" al final, a diferencia del que ponen algunos en los comentarios como:
CONCATENATE("/appsheet/data/FerreShop-412458374/EntradaMaterialPDF/",[EntradaMaterial],".pdf")
Hola, cuando crea el pdf no me asigna el consecutivo del folio, es decir me genera con todas las ordenes el mismo archivo ".pdf"
Alguien sabe si tengo algo mal en la formula ?
CONCATENATE("/appsheet/data/Ferreshop-245874976/EntradaMaterial/",[EntradaMaterialFolio],".pdf")
Diseñe una aplicación de ventas pero cuando trato de actualizar o realizar un cambio en un documento, se guarda en mi carpeta drive con los cambios que le hice, pero cuando lo abro a través de la aplicación me aparece el documento sin los cambios. Me pueden ayudar!!!!!
Mi formula es así:
CONCATENATE("/appsheet/data/FerreShop-1002085576/EntradaMaterial/",[EntradaMaterialFolio],".pdf")
Saludos Axel... la formula que aparece en el archivo de texto no es la que aparece en el video
Hola, verifiqué el video y la fórmula y son la misma, me puedes dar más detalle para revisarlo :D
De acuerdo, no aparece en el txt la formula de Concatenate
Hola Axel, he tenido dificultades para que el pdf se abra desde la aplicació, me genera un error, al parecer no encuentra la ruta, la he validado varias veces y esta bien, de hecho, los reportes generan y almacenan sin problema.
Espero pueda ayudarme.
Gracias.
Hola, ya has habilitado la opción que menciono en el min 7.20, otra cosa que te puedo compartir que es muy común, es la numeracion que nos da el proyecto, por ejemplo app-154545 o app-577778, ya me cuentas si se soluciona.