![Imagen del logo de Appsheet](https://pcymac.com/wp-content/uploads/2023/04/appsheet-banner.png)
#1 Cómo diseñar un proyecto a partir de los requerimientos de un cliente
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-16_17h41_20-1024x689.png)
#2 Conectar AppSheet con Google Sheet
Hay que crear la hoja de calcula con todas las tablas
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_00h36_36-1024x715.png)
Entramos a appsheet.com y creamos la app con los datos que ya tenemos:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_00h38_42.png)
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_00h40_18.png)
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_00h41_10-1024x637.png)
Solamente nos creo una table la de Usuarios, pero al darle click en el + y las podemos agregar de una por una
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_00h48_35-1024x554.png)
Le damos algo de estilización a la UX (eso ya lo vimos hace rato) y no va quedando así:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_01h05_33-1024x555.png)
Tipos de datos
https://support.google.com/appsheet/answer/10106435?hl=en
Esto se llama nomenclatura tipo camello, donde los espacios se cambian por mayúsculas, es una práctica muy recomendable:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_13h50_43.png)
Cuando le pones ID es porque es algo que no se va a repetir jamás:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_13h52_44.png)
Vamos a configurar los datos de la table de Usuarios:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_13h58_25-1024x553.png)
En el campo UsuarioStatus hay que usar un tipo de dato que se llama Yes/No, es tipo boleano, hay que esperar a que valide la palomita en verde porque nos puede marcar error:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_14h01_27-1024x554.png)
Relaciones entre tablas
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_23h51_51-1024x553.png)
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_23h53_10-1024x552.png)
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_23h55_17-1024x554.png)
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_23h57_15-1024x553.png)
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-17_23h57_58-1024x553.png)
Propiedades de la tabla
En DISPLAY NAME cambiamos el nombre queramos mostrar en la interfaz:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-18_13h36_50-1024x553.png)
En INITIAL VALUE indicamos que caja queremos que este activada por default, hay que tener cuidado de no dejar activada la de Administrador, y marcamos la casilla PII que sirve para indicar que el Email es un dato muy sensible:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-18_13h45_06-1024x555.png)
Casilla SEARCH? es para activar las búsquedas por filtro:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-18_13h54_55-1024x553.png)
La casilla SCAN? es muy buena, nos sirve para poder activar el escaner del código de barras de los productos:
![](https://pcymac.com/wp-content/uploads/2023/04/2023-04-18_14h02_13-1024x552.png)
USER EXPERIENCE (UX)
Tipos de vista
Quitamos la casilla de SEARH? En la firma porque no podemos buscar algo por la firma
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-19_23h59_59.png)
En ventas así quedan las casillas de REQUIRE? Y en SEARCH igual, en el campo de INITIAL VALUE vamos a configurar Efectivo porque es el método de pago que más se usa.
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-20_00h05_44-1024x649.png)
Se recomienda que el View Name se llame igual que la tabla, es una buena práctica, y en View Type tu puedes seleccionar la vista que mas te guste, en este caso nosotros vamos a usar la de tipo table dance, y el icono ya no aparece debajo de la app (middle) porque la mandamos al menú.
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-20_00h11_35.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-20_00h49_20-1024x551.png)
Así configuramos las vistas para Usuarios
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-20_00h49_20-1024x551.png)
Hasta ahorita sólo tenemos las vistas Usuarios y Productos, hay que crear las demás vistas por ejemplo vamos a crear la de UnidadesMedida, recuerda usar la nomenclatura de camello, es una buena práctica.
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-20_00h56_41.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-20_00h58_23.png)
Después en UnidadesMedida nos vamos a ir a la DATA y en INITIAL VALUE vamos a quitar el UNIQUEID(), lo dejaremos blanco porque queremos crear los nuestros como por ejemplo Kg, Pza, etc.
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-20_01h02_50-1024x554.png)
Esto ya lo habíamos explicado anteriormente y así nos queda la vista final de Unidades de medida, hay que crear cada una de las que falta y editar sus vistas.
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-20_01h05_04-1024x556.png)
Vista de Ventas
La tabla de Clientes en el campo Cliente ID vamos a concatenar con la siguiente fórmula:
CONCATENATE(«CL» & RIGHT((«0000» & ([_RowNumber] )), 4))
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-21_17h38_13-1024x554.png)
CONCATENATE(«CL» & RIGHT((«0000» & ([_RowNumber] )), 4)) ßCLIENTES
CONCATENATE(«PR» & RIGHT((«0000» & ([_RowNumber])), 4)) ßPROVEEDORES
CONCATENATE(“US” & RIGHT((«0000” & ([_RowNumber])), 4)) ßUSUARIOS
CONCATENATE(“VE” & RIGHT((«0000” & ([_RowNumber])), 4)) ßVENTAS EN VENTAFOLIO
CONCATENATE(“EM” & RIGHT((«0000” & ([_RowNumber])), 4)) ßEntradaMaterialFolio
ERRORES QUE REPETIMUCHO:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-21_19h31_40-1024x671.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-21_19h33_25-1024x503.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-21_19h34_25.png)
Las siguientes quedan así:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-21_19h35_18.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-21_19h36_13.png)
En la tabla Clientes hay que despalomear la casilla SHOW? de Related Ventas para que no lo muestre en la interfaz.
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-25_23h15_28-1024x443.png)
En la tabla Ventas, en INITIAL VALUE, en Fecha, pondremos TODAY(), en Hora NOW y en Cliente CL004 esto para que nos ponga por default VENTAS EN MOSTRADOR
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-25_23h32_52-1024x418.jpg)
Y en la tabla clientes cambiamos el LABEL? De ClientID a ClienteNombre para que ahora si nos muestre VENTAS MOSTRADOR:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-25_23h42_30-1024x357.png)
En la tabla Ventas en UsuarioID hay que usar esta fórmula:
LOOKUP(USEREMAIL(), “Usuarios”, “UsuarioEmail”, “UsuarioID”)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-25_23h54_28-1024x596.png)
Y para que no te muestre US0004 y te muestre el nombre del cajero con su correo:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-26_00h02_22-1024x420.png)
Como ventas se relaciona con VentasDetalle
![](https://pcymac.com/wp-content/uploads/2023/05/2023-04-26_00h08_31-1024x502.png)
Así quedara EntradaMaterialDetalle que es parte de EntradaMaterial:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-04_01h54_53-1024x510.png)
En la tabla Ventas vamos al ultimo campo de RelatedVentasDetalle y al final en DESCRIPTION lo cambiamos por Productos
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-04_02h01_09-1024x425.png)
Y hacemos lo mismo para entrada de material
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-04_02h03_18-1024x425.png)
Agregando productos
En VentasDetalle vamos a activar el escaner
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-04_02h09_01-1024x445.png)
Y para que no aparezca el código que te pone poro defecto vamos a la tabla productos en el campo INITIAL VALUE y quitamos el UNIQUEID()
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-09_12h56_11-1024x387.png)
En la tabla Productos, entramos en View y ordenamos por:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_01h01_06-1024x467.png)
Columnas virtuales
Aquí tenemos un error, nos faltó cambiar de tipo referencia ProductoID de VentasDetalle que es parte de
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_03h48_58.png)
Ahora sí nos despliega los productos al dale click:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_03h58_52-1024x477.png)
Ahora si vamos a hacer referencia a el precio en la Tabla VentaDetalle en el campo VentaDetallePrecio en INITIAL VALUE
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_04h22_51-1024x550.png)
Igual en VentaDetalleImporte pondremos lo siguiente
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_04h28_28-1024x530.png)
Aquí teníamos un error, el campo estaba tipo Numero y por eso no nos dejaba poner la venta con el Folio VE0002, nos debe de quedar así como en la imagen y ahora si manos a sumas las ventas por medio de la creación de una columna virtual.
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_04h46_07-1024x494.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_05h00_57-1024x478.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_05h01_54-1024x508.png)
Insertamos esta fórmula:
SUM
(
SELECT
(
VentasDetalle[VentaDetalleImporte]
,[VentaID] = [_THISROW].[VentaID]
)
)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_05h21_15-1024x502.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_05h25_50-1024x524.png)
Y para que no nos muestre el nombre de la columna virtual:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-13_05h37_13-1024x511.png)
Apariencia y low code
Configuración de logotipo, colores y etiquetas de la app
Aquí lo importante es cambiar el idioma de cada botón, o texto que ya viene por defecto en appsheets:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-23_01h08_24-1024x535.png)
Para poder cambiar el Add del botón mas (+) y que nos muestre en español Agregar:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-23_01h14_00-1024x488.png)
Igual hacemos lo mismo con el botón Edit:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-23_01h19_37-1024x510.png)
Columnas virtuales y uso del SELECT
Utilizaremos la siguiente fórmula para saber cuantos productos hemos vendido.
SUM
(
SELECT
(
VentasDetalle[VentaDetalleCantidad]
,[ProductoID] = [_THISROW].[ProductoID]
)
)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-23_01h42_54-1024x486.png)
Ahora creamos otra columna virtual y usamos la siguiente fórmula:
SUM
(
SELECT
(
EntradaMaterialDetalle[EntradaMaterialDetalleCantidad]
,[_THISROW].[ProductoID] = [ProductoID]
)
)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-23_02h03_40-1024x480.png)
Para ver el Stock Disponible:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-23_02h09_47-1024x482.png)
Uso de SLICE para filtrar información
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-26_15h01_12-1024x506.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-26_15h09_02.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-26_15h11_13-1024x508.png)
Ahora si que ya creamos nuestro SLICE, nos vamos a:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-26_15h23_42-1024x570.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-26_15h27_11-1024x502.png)
Ahora vamos a crear el SLICE de Ventas Canceladas
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-30_12h09_28-1024x644.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-30_12h15_38-1024x496.png)
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-30_12h23_06-1024x911.png)
Vamos a cancelar la VE0003 como ejemplo, pero antes para que no nos muestre el botón el nombre de Inactiva, vamos a cambiarlo por Cancelada y eso ya lo vimos y es en:
![](https://pcymac.com/wp-content/uploads/2023/05/2023-05-30_12h28_52-1024x503.png)
Format Rules