Exercício: trabalhar com dados relacionais do Dataverse

Concluído

A Contoso, como muitas empresas, tem vários locais e permite que os funcionários trabalhem em casa. Ocasionalmente, esses funcionários precisam entrar no escritório e usar uma mesa durante a visita. Antes, a Contoso orientava os funcionários a andar pelo escritório na chegada para encontrar uma mesa disponível. A empresa já descobriu que esse tipo de sistema de espaço de trabalho compartilhado, ou compartilhamento de mesa, criou desafios para o suporte e licenciamento de TI. Como resultado, a Contoso criou recentemente uma solução Microsoft Power Platform que permitirá que os funcionários vejam quais mesas estão disponíveis e reserve uma com antecedência.

Neste exercício, você aprimorará o aplicativo de tela do Power Apps.

Objetivos

O objetivo deste exercício é aprender a trabalhar com os seguintes relacionamentos:

  • Um para muitos e muitos para um

  • Muitos para muitos

Pré-requisito

Para concluir este exercício, você precisará de um ambiente com o Microsoft Dataverse.

Exercício 1: Importar uma solução

Neste exercício, você importará uma solução inicial para o ambiente de teste e carregará os dados de exemplo usando um fluxo da nuvem do Microsoft Power Automate. Essa solução contém cinco tabelas, um aplicativo de tela, um aplicativo baseado em modelo e um fluxo da nuvem.

Tarefa 1: Importar a solução inicial

Nesta tarefa, você importará uma solução para o seu ambiente.

  1. Será necessário baixar o arquivo zip para realizar este exercício. Selecione baixar quando o link abrir.

  2. Navegue até o Power Apps Maker Portal e selecione o ambiente que você deseja usar neste laboratório.

  3. Selecione Soluções > Importar Solução.

  4. Selecione Procurar.

  5. Selecione a solução ContosoHotDesking_1_0_0_0.zip e Abrir.

  6. Selecione Avançar.

  7. Selecione Avançar novamente.

  8. Na lista suspensa Selecionar uma conexão, selecione + Nova conexão.

  9. Selecione Criar.

  10. Forneça as credenciais.

  11. Feche a janela ou a guia do navegador de conexões.

  12. Selecione Atualizar.

  13. Selecione Importar e aguarde a conclusão da importação da solução.

Tarefa 2: Carregar dados de exemplo

Nesta tarefa, você executará um fluxo da nuvem que criará dados de exemplo.

  1. Selecione Soluções e, depois, abra a solução Compartilhamento de Mesa da Contoso que você importou.

  2. Selecione Fluxos da nuvem e clique para abrir o fluxo Carregar Dados de Exemplo de Compartilhamento de Mesa.

  3. Selecione Executar.

  4. Selecione Executar fluxo.

  5. Selecione Concluído e aguarde a conclusão da execução do fluxo. Selecione o botão Atualizar para exibir o status de execução do fluxo. Um status Bem-sucedido deve ser exibido quando a execução do fluxo é concluída.

Tarefa 3: Executar aplicativos

Nesta tarefa, você executará os aplicativos Hot Desking Manager e Hot Desking para se familiarizar com eles. Em seguida, você concluirá a configuração dos dados.

  1. Vá para o Power Apps Maker Portal e selecione o ambiente que você está usando neste laboratório.

  2. Selecione Aplicativos e clique para iniciar o aplicativo Hot Desking Manager.

  3. Selecione Mesas e verifique se você tem dados de exemplo.

  4. Selecione Locais e verifique se você tem dados de exemplo.

  5. Selecione Recursos de Mesas e verifique se você tem dados de exemplo.

  6. Selecione Locais, escolha três locais e clique em Editar.

  7. No campo Contato Principal, selecione o usuário e, depois, Alterar.

  8. Feche o aplicativo Hot Desking Manager.

  9. Verifique se você ainda tem Aplicativos selecionados, selecione o aplicativo Hot Desking e, depois, Editar. O aplicativo deve ser aberto no Studio.

    > [!div class="mx-imgBorder"]
    > [![Screenshot of the Edit button highlighted and the Hot Desking application selected.](../media/edit-application.png)](../media/edit-application.png#lightbox)
    
  10. Selecione HomeScreen e, depois, Reproduzir.

  11. Selecione Nova Reserva.

  12. Selecione Prédio 1, Escritório Fechado e Mesa nº 1.

  13. Selecione uma data futura e, depois, Reservar para 9:00.

  14. Selecione Nova Reserva novamente.

  15. Selecione Prédio 2, Sala do Teams e Mesa nº 2.

  16. Selecione uma data futura e, depois, Reservar para 13:00.

  17. Adicione algumas outras reservas com combinações diferentes.

  18. Você deve ter pelo menos quatro reservas. Feche a versão preliminar.

  19. Expanda a lista suspensa ReserveDeskScreen, expanda Gallery3 e selecione Button1.

  20. Revise a fórmula de OnSelect. Quando o usuário seleciona a opção Reservar, uma função Patch() é usada para criar uma linha Reserva. Essa nova linha tem relacionamentos com a mesa e o usuário. O relacionamento de usuário é definido com base em uma variável global estabelecida no aplicativo no início.

  21. Revise outras fórmulas no aplicativo para se familiarizar com o funcionamento do processo.

  22. Selecione o botão Voltar ao concluir a revisão das fórmulas.

  23. Não saia desta página.

Exercício 2: Criar um relacionamento

Neste exercício, você criará um relacionamento para as mesas favoritas. Esse relacionamento será de muitos para muitos entre as tabelas Usuário e Mesa. Esse relacionamento permitirá que você implemente um recurso em que um usuário pode marcar uma mesa como favorita.

Tarefa: Criar um relacionamento

Nesta tarefa, você criará um relacionamento para as mesas favoritas.

  1. Selecione Tabelas.

  2. Procure e selecione a tabela Mesa.

  3. Selecione a opção Relacionamentos, selecione + Novo relacionamento e Muitos para muitos.

  4. Selecione Usuário para (Muitas) Tabelas Relacionadas e, depois, Concluído.

  5. Selecione Salvar tabela.

  6. Selecione Soluções e, depois, Publicar todas as personalizações.

  7. Aguarde a conclusão do processo de publicação.

Exercício 3: Adicionar informações a uma exibição de reserva

Neste exercício, você alterará a galeria de reserva para mostrar reservas criadas pelo usuário atual, em vez de mostrar todas as reservas. Você também mostrará mais informações sobre a lista de reserva.

Tarefa: Editar o aplicativo

Nesta tarefa, você editará o aplicativo gerente de produtos da Contoso.

  1. Vá para o Power Apps Maker Portal e selecione o ambiente que você está usando neste laboratório.

  2. Selecione Aplicativos, escolha o aplicativo Hot Desking e, depois, Editar.

  3. Expanda HomeScreen e selecione Gallery5.

  4. Vá para a barra de fórmulas e altere a fórmula Itens para a fórmula a seguir. Essa fórmula filtrará uma reserva associada ao usuário atual e usará o relacionamento um para muitos entre o usuário e a tabela de reserva.

    LookUp(Users,'Primary Email'=currentUserEmail).'Reservations (contoso_Reservation_ReservedFor_SystemUser)'

  5. Selecione o ícone Editar da galeria.

  6. Vá para o menu suspenso Inserir e selecione Rótulo de texto.

  7. Depois, altere o valor de Texto para a fórmula a seguir. Essa fórmula usa o relacionamento um para muitos entre as tabelas de reserva e de mesa.

    ThisItem.Desk.Name

  8. Redimensione e reposicione o rótulo.

  9. No modo de edição, selecione para adicionar outro Rótulo.

  10. Selecione o rótulo que você adicionou e defina o valor de Texto como a fórmula a seguir. A fórmula a seguir mostra que você está usando dois níveis de profundidade nos relacionamentos, começando pela reserva e usando a Mesa para obter a Localização.

    ThisItem.Desk.Location.Phone

  11. Redimensione e reposicione o rótulo.

  12. No modo de edição, selecione Rótulo mais uma vez.

  13. Selecione o rótulo que você adicionou e defina o valor de Texto como a fórmula a seguir.

    If(IsBlank(ThisItem.Desk.Location.'Primary Contact'),"No Primary Contact",ThisItem.Desk.Location.'Primary Contact'.'Full Name')

  14. Redimensione e reposicione o rótulo.

    A galeria de reserva agora deve ser semelhante à imagem a seguir.

  15. Selecione Arquivo > Salvar.

  16. Selecione o botão Voltar.

  17. Não saia desta página.

Exercício 4: Adicionar uma mesa favorita

Neste exercício, você adicionará um ícone que permitirá que os usuários selecionem mesas favoritas. Você também adicionará um rótulo que mostrará os recursos de mesa.

Tarefa: Adicionar um favorito

Nesta tarefa, você adicionará uma mesa favorita e um rótulo para mostrar os recursos de mesa.

  1. Expanda FindDeskScreen e selecione GalleryDesks.

  2. Selecione o ícone Editar da galeria.

  3. Vá para a guia Inserir, selecione Ícones e escolha um dos ícones. Você definirá o ícone específico na próxima etapa usando uma fórmula. Portanto, para essa etapa, não importa qual ícone você escolhe.

  4. Selecione o ícone que você adicionou e altere o valor de Ícone para a fórmula a seguir. Essa fórmula mostrará o ícone polegar para cima preenchido se o usuário não tiver indicado essa mesa como favorita ou mostrará o ícone polegar para cima se o usuário já tiver selecionado a mesa como favorita.

    `If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Icon.ThumbsUp,Icon.ThumbsUpFilled)`
    
    > [!NOTE]
    > The CountIf does encounter [delegation](/power-apps/maker/canvas-apps/delegation-overview/?azure-portal=true) challenges, if you have a large amount of rows in your app you might have to use an alternate approach.
    
  5. Verifique se você ainda tem o ícone selecionado. Selecione OnSelect e cole a fórmula a seguir. Essa fórmula relaciona ou não relaciona esta mesa e o usuário conectado, dependendo se o usuário já adicionou a mesa como favorita.

    If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Unrelate(ThisItem.Users, currentUser), Relate(ThisItem.Users, currentUser))

  6. Reposicione o ícone na galeria, conforme mostrado na imagem a seguir.

  7. Verifique se você ainda está no modo de edição da galeria. Vá para a guia Inserir e selecione Rótulo.

  8. Selecione o rótulo que você adicionou e defina o valor de Texto como a fórmula a seguir. Essa fórmula concatenará os nomes de recursos de mesa e usará o relacionamento muitos para muitos entre as tabelas Mesa e Recursos de Mesa.

    Concat(ThisItem.'Desk Features', Name, " , " )

  9. Redimensione e reposicione o rótulo para se acomodar melhor no espaço.

  10. Selecione o ícone Salvar.

  11. Selecione o botão Voltar.

  12. Selecione Reproduzir para visualizar o aplicativo.

  13. A galeria deve ser semelhante à imagem a seguir. Selecione o ícone polegar para cima de uma das mesas.

  14. O ícone deve ser alterado para polegar para cima. Selecione o ícone novamente.

  15. O ícone deve voltar a mostrar o ícone polegar para cima preenchido. Selecione o ícone novamente.

  16. Feche a versão preliminar.

  17. Não saia desta página.

Exercício 5: Filtrar mesas

Neste exercício, você adicionará um filtro à galeria de mesas se o usuário selecionar um recurso da lista suspensa.

Tarefa: Filtrar recursos

Nesta tarefa, você adicionará um filtro para recursos.

  1. Selecione GalleryDesks.

  2. Vá para a barra de fórmulas e adicione a fórmula a seguir à fórmula de Itens. Essa fórmula filtrará as mesas para mostrar apenas as que têm o recurso selecionado. Não se esqueça de incluir a vírgula.

    ,IsBlank(filterFeatures.Selected) || Desk in filterFeatures.Selected.Desks.Desk

  3. Selecione Arquivo > Salvar.

  4. Selecione o botão Voltar.

  5. Selecione Reproduzir.

  6. Anote os recursos de mesa que estão disponíveis para o prédio selecionado.

  7. Selecione um recurso na lista suspensa. Somente as mesas com o recurso selecionado devem ser exibidas.

  8. Selecione prédios e recursos diferentes para ter certeza de que o aplicativo se comporta conforme o esperado.

  9. Feche a versão preliminar.

  10. Feche o designer de aplicativo.