Con el fin de evitar errores humanos y optimizar el flujo de trabajo en el área de recepción del hotel para el que trabajo, desarrollé una aplicación que permite exportar datos de una hoja de cálculo (Google Sheets) a una presentación de Google (Google Slides).

El problema
Tenemos una planilla de cálculos (Google Sheets) donde completamos con información de huéspedes que harán uso del día de spa en el hotel. Como el voucher vence a 15 días, ahí también debía crear una columna con el día en el cual el voucher vencería.
Esta información luego debe ser transcripta (copiar/pegar) a un documento a parte que tiene un diseño por defecto.
Luego, debemos exportar ese documento a PDF para enviarselo al cliente.
Entre estos pasos, es crítico el momento de «copiar/pegar» ya que a veces podemos pasar información equivocada. O mismo con el calcular la caducidad del mismo.
La solución
Creé una «App Script» de Google que permite realizar los siguientes procedimientos automáticamente con el click de un botón.
Lo que el código creado hace es lo siguiente
- Completa la presentación de Google (plantilla) con los datos de la tabla de la hoja de cálculos.
- Exporta la presentación de Google en PDF a una carpeta en Drive.
La hoja de cálculo

Esta hoja es la que contiene la información sobre la fecha de emisión, validez (con una fórmula que automáticamente calcula la fecha de validez + 15 días), el nombre, etc…
En el menú superior hay una opción que indica «Crear Voucher» que al clickearlo, exporta automáticamente la última fila de la planilla a un PDF.
La presentación

Esta es la plantilla del voucher creada usando las presentaciones de Google.
Esta plantilla tiene dos campos de texto con las variables {{NAME}} y {{DUE_DATE}} que son las que se completan usando los campos de la planilla de cálculo.
El código reemplaza esos campos de texto y guarda el archivo en PDF en la carpeta

Y este es el voucher final exportado a PDF con los datos del cliente y la fecha de validez automáticamente calculada en la hoja de cálculos:

El Código
Sin más preámbulo, dejo a continuación el código:
⚠ Actualizar los IDs de la hoja y la presentación.
English Version
Read this post in english at dev.to