Power Apps No4
Power Apps No4
Power Apps No4
1. Cada tarjeta tiene un origen de datos y una columna y en avanzado es donde le doy la
orden de donde quiero que se almacene esa información el origen de datos que
seleccione en este caso SQL
2. En datacardvalue7 vamos a enviar la propiedad a la base de datos
3. En Power apps vamos a trabajar con muchas funciones una de ellas es la siguiente
Now(): esta función la usamos dentro de la fecha en la parte de avanzado Update-
para efectos de que la fecha se guarde en el momento que se esta editando el
registro, asi mismo en esa misma tarjeta podemos colocarla visible o no en
propiedades
User().FullName: Esta función se utiliza para que de manera automática se envie el
tegistro a la base de datos del nombre completo de quien lo esta editando
Nota: No olvidar que cada vez que quiero mirar o evaluar que el registro de las columnas se
guarde debo ingresar a AZURE e ingresar la ip nueva que estoy manejando para ver el contenido
de la table en SQL.
4. SIEMPRE será necesario que al momento de crear una tabla se debe crear una columna
que se llame PRIMARY KEY, puesto que si no se crea va a dar error
AzureBlobStorage.CreateFile("fotos";AddMediaButton1.FileName;AddMediaButton1.Medi
a);;
Back();;
1. Una vez estemos en Powerapss vamos a la primera pantalla hacemos espacio y mediante
la opción insertar colocamos en multimedia pero esta vez solo en “imagen” no “Insertar
imagen”, allí encontramos que la configuración muestra por defecto SAMPLEIMAGE,
borramos y realizamos la siguiente función :
NOTA: Antes de empezar a modificar la función que vamos a hacer nos pide el ID, pero como no lo
habíamos creado vamos a Azure y en editor de consultas agregamos la celda de la siguiente
manera:
Como hacemos para obtener ese id? Bueno pues tenemos que ir a la
imagen y la configuración que le dimos en el punto 6 y tenemos que
usar la siguiente función
Set(_AzureBlobID;AzureBlobStorage.CreateFile("fotos";AddMediaButton1.FileName;AddM
ediaButton1.Media);;
Back();;
PATCH (: lo que logramos con patch es arrastar la informacion a donde
queremos
LOOK UP (: Luego ingresamos la función Look up que en Excel es como
buscar.v
ID: Aca lo que le decimos es que queremos que de la pantalla editform
saque el id del ultimo registro
AzureBlobStorage.GetFileContent(ThisItem.azureBlobID)
Set(_azureBlobID;
AzureBlobStorage.CreateFile("fotos";AddMediaButton1.FileName;AddMediaB
utton1.Media).Id);;
Patch( '[dbo].[tblObjetos]'; LookUp('[dbo].[tblObjetos]'; id
=EditForm1.LastSubmit.id); {azureBlobID: _azureBlobID});;
Back();;
ELIMINAR ERRORES
Funcion IF: Cual es la prueba lógica que queremos evaluar y es mirar si el parámetro esta vacio o
tiene algún contendido
IsBlank: Nos dice si en una celda hay algo vacio o tiene algun contenido
Entonces si queremos poner una imagen por defecto y que se elimine el error que muestra por no
tener una imagen se aplica la siguiente formula:
If(IsBlank(ThisItem.azureBlobID); SampleImage;
AzureBlobStorage.GetFileContent(ThisItem.azureBlobID))
Ahora en la pantalla Detail Screen vamos a agregar una imagen, y de igual manera tenemos que
realizar una función que nos detalle que queremos introducir una imagen de azureblobstorage, la
cual se contiene en la pantalla inicial browsegallery1 y necesitamos seleccionar una imagen de ahí.
Pero si la columna esta vacía, va a colocar una imagen por defecto
If(IsBlank(BrowseGallery1.Selected.azureBlobID);SampleImage;
AzureBlobStorage.GetFileContent(BrowseGallery1.Selected.azureBlobID))
ELIMINAR UNA FOTO Y UN REGISTRO
Nos desplazamos al icono de eliminar pero de acuerdo a la configuración que tiene OnSelect, la
función que cumple es muy simple y es solo eliminar la imagen y si no tiene errores regresa a la
pantalla, lo que queremos ademas de eso es que una vez eliminado el registro lo elimine también
de AzureBlobStorage mediante la siguiente función
Remove([@'[dbo].[tblObjetos]']; BrowseGallery1.Selected);;
If (
IsEmpty(Errors([@'[dbo].[tblObjetos]']; BrowseGallery1.Selected));
AzureBlobStorage.DeleteFile(BrowseGallery1.Selected.azureBlobID);;
Back()
Cuando entramos a la pantalla de ingreso de registros nos aparece la imagen por defecto tenemos
que cambiarla.
En la pantalla de creación y edición de registro por mas que hibiese imagen colocaba imagen por
defecto y en esa función lo único que hacia si estaba en blanco coloca el sample image y si no si
poneme la imagen que esta en la propieda media del selectro de imágenes.
Para llegar a la pantalla de creación podemos acceder de dos maneras desde la primera pantalla a
través del +, y en la segunda pantalla a través del lápiz
Set(_creandoRegistro; false);;
Navigate(EditScreen1; ScreenTransition.None)
Vamos a tener que usar esta función cuando tengamos que cambiar el modo de edición o de
creación de un registro ingresando desde el + o desde el Lapiz
If(
IsBlank(AddMediaButton1.Media)&& _creandoRegistro;
SampleImage;
AzureBlobStorage.GetFileContent(BrowseGallery1.Selected.azureBlobID);
AddMediaButton1.Media
If(_creandoRegistro;
Set(_azureBlobID;
AzureBlobStorage.CreateFile("fotos";AddMediaButton1.FileName;AddMediaButton1.Media).Id);;
AzureBlobStorage.UpdateFile(BrowseGallery1.Selected.azureBlobID; AddMediaButton1.Media));;
Refresh('[dbo].[tblObjetos]');;
Navigate(BrowseScreen1;ScreenTransition.Fade);;
VARIABLES
Existen dos tipos de variables, variables de contexto: Son aquellas que solo existen en el contexto
que son creadas y en powerapps son las pantallas y están las variables globales que podemos
modificarlas en cualquier parte
Iniciamos con UpdateContext esta función es la encargaada de crear las variables de contexto de
cada pantalla eso quiere decir que esa variable solo podrá funcionar en esa pantalla
Ahora viene la función SET() que nos sirve de manera global para toda las pantallas.
El uso que se le da a las variables de contexto puede ser para organizar el orden de una
determinada galería, ascendente o descente dependiendo de un clic que le demos a un icono
FORMULARIOS
Nos permite comunicarnos con un origen de datos de tipo tabular es decir de tipo tablas y se
puede solo un registro a la vez, interactua de un regisro a la vez: share Excel sql azure
Crear registro
Editar registro
O visualizar registro
Eso es lo que nos permite hacer power apps y debemos señalar cuando lo hagamos. Y nos ofrece
tres funciones
Nota: en estado de edición o visualización tenemos que indicarle cual de los registros es al que me
refiero
APLICACIÓN A REALIZAR PARA SOLUCION DE RECOLECCION DE INFORAMCION DE CAPTURADOS
EN LAS ESTACIONES DE POLICIA
Custodio o
Responsable
Capturado 1
Estaciones Capturado 2
de Policía
Capturado 3
Estaciones/
Capturados/
CREANDO LA APLICACIÓN
Inicialmente tenemos que definir las diferencias entre DELETE y DROP TABLE, con DELETE, lo que
hacemos es eliminar una fila de la columna, y con drop table, eliminamos toda la tabla.
,idComercio INT
,idTipo INT
,ancho INT
,alto INT
,profundidad INT
Una vez creados los cuadros comenzamos a realizar el diseño y estética de los cuadros que
queremos que queden en editar campos decidimos que campos queremos que queden y cuales
no, asi mismo como ya hay código que en una aplicación usamos para mostrar imágenes borrar,
eliminar y demás, lo podemos copiar y pegar.
De otra parte tenemos que empezar a realizar la creación de una nueva ventana, esta ventana es
la que vamos a llamar capturados, y allí vamos a comenzar a diseñar los datos que queremos
ingresar, teniendo en cuenta lo que queremos que aparezca.
Iniciamos en el cuadro de texto que insertamos en la función “HINTEXT” vamos a dejar un texto de
guía o ayuda para
ese recuadro
En este punto lo que vamos a hacer es crear otra aplicación basada en la misma base de datos y en
La tabla que necesitamos que sea desplegada. Por esta razón la creamos en sql fundamentado en
este caso en la tabla de delitos la creamos e insertamos los delitos que queremos que aparezcan
en la lista desplegable. Una vez creada actualizamos en nuestra app base, y ya nos aparecen los
valores
Mediante el siguiente código lo que le estamos diciendo a la maquina es que comience a mostrar
los elementos en el listado y que coloque la imagen. Para eso además en la función de la galería
debemos seleccional la Colección que creamo colCapturACargar, y en la imagen que esta como
SampleImage coloca ThisItem.image
Collect(colCapturACargar;
{
idEstacion:BrowseGallery1.Selected.id;
idDelitos:Dropdown2.Selected.id;
imagen: AddMediaButton2.Media;
nombreImagen: BrowseGallery1.Selected.id & Now();
nombreCapturado: tinombreCapturado.Text;
cedula: tiCedula.Text;
edad: tiEdad.Text
NOTA: Para cambiar el tipo de datos de una columna se usa la siguiente función
Funcion para cambiar de int a varchar
ALTER TABLE [dbo].[tblMedidaAseguramiento] ALTER COLUMN medida VARCHAR (50)
Funcion para agregar nueva Columna en tabla
Collect(colCapturACargar;
{
idEstacion:BrowseGallery1.Selected.id;
idDelitos:Dropdown2.Selected.id;
imagen: AddMediaButton2.Media;
nombreImagen: BrowseGallery1.Selected.id & Now();
nombreCapturado: tinombreCapturado.Text;
cedula: tiCedula.Text;
edad: tiEdad.Text
);;
Reset(Dropdown2);;
Reset(AddMediaButton2);;
Reset(tinombreCapturado);;
Reset(tiCedula);;
Reset(tiEdad);;
FUNCION FORALL
Una vez creada la colección donde se van a observar todos los registros realizados necesitamos
conectar esa información para que quede almacenada en SQL y en Azureblobstorage, de esta
manera tenemos que ordenarle que mediante la función FORALL busque cada uno de los registros
a guardar y los almacene
ForAll(colCapturACargar;
Patch(
tblCapturados;
Defaults(tblCapturados);
{
idEstacion: ThisRecord.;
idDelitos: Value(ThisRecord.Delitos);
nombreCapturado: Value(ThisRecord.nombreCapturado);
cedula: Value(ThisRecord.cedula);
tiEdad: Value(ThisRecord.edad);
lat: Location.Latitude + 10,3494 +5 * Rand();
long: Location.Longitude - 5,65 - 5 * Rand();
usuarioCarga: _usuario;
azureBlobId:
AzureBlobStorage.CreateFile("capturados";ThisRecord.nombreImagen;ThisRecord.imagen).Id