Entender a arquitetura de aplicativos de exemplo Perspectivas (versão preliminar)
[Este artigo faz parte da documentação de pré-lançamento e está sujeito a alterações.]
Neste artigo, você saberá mais sobre as coleções e variáveis globais usadas pelo aplicativo Perspectivas e entenderá como usá-las de maneira eficaz. Para saber mais sobre como instalar e usar o aplicativo de exemplo Inspeção, acesse Aplicativos de exemplo Perspectivas.
Pré-requisitos
Para entender e usar as informações neste artigo, você precisará saber sobre os diferentes controles, recursos e capacidades dos aplicativos de tela.
- Criar e atualizar uma coleção em um aplicativo de tela
- Funções Collect, Clear e ClearCollect no Power Apps
- Princípios básicos sobre as variáveis de aplicativo de tela no Power Apps
- Adicionar e configurar um controle de aplicativo de tela no Power Apps
- Adicionar uma tela a um aplicativo de tela e navegar entre telas
Você também precisa saber como instalar e usar o aplicativo de exemplo Perspectivas.
Modelo de arquitetura
O diagrama a seguir ilustra a maneira como os usuários e sistemas interagem com os dados nesta solução.

Conectores
O aplicativo Perspectivas usa os conectores a seguir
Microsoft Dataverse para ler e gravar dados nas tabelas do Dataverse.
Usuários do Office 365 para ler dados do perfil do usuário
Modelo de Dados
O diagrama a seguir explica o modelo de dados usado pelo aplicativo de exemplo Perspectivas.

Tabelas
As tabelas a seguir são usadas no aplicativo Perspectivas.
| Nome da tabela | Descrição |
|---|---|
| Discussão (MSFT_Discussion) | A tabela Discussão contém Tópicos de Discussão, Contagem de Respostas e Contagem de votos a favor para cada discussão. Esta tabela está relacionada às tabelas Resposta à Discussão, Votos a Favor da Resposta à Discussão e Tópicos de Discussão. |
| Resposta à Discussão (MSFT_DiscussionResponse) | A tabela Resposta à Discussão contém a resposta do usuário à discussão e a contagem de votos a favor relativos à resposta. Esta tabela tem uma relação com a tabela Votos a Favor da Resposta à Discussão. |
| Votos a Favor da Resposta à Discussão (MSFT_DiscussionResponseUpvote) | A tabela Votos a Favor da Resposta à Discussão contém votos a favor da resposta do usuário para discussões ativas. |
| Tópico de Discussão (MSFT_DiscussionTopic) | A tabela Tópicos de Discussão contém tópicos de discussão junto com imagens de capa, ícones de capa e cores de capa relacionadas ao tópico. |
| Votos a favor da Discussão (MSFT_DiscussionUpvote) | A tabela Votos a favor da Discussão contém votos do usuário relativos a discussões e resposta. |
| Configuração do Usuário da Discussão (MSFT_DiscussionUserSetting) | A tabela Configurações do Usuário de Discussão armazena as preferências do usuário relativas à exibição da tela inicial do Power Apps sempre que eles entram no aplicativo. |
| Configuração do Aplicativo da Discussão (MSFT_DiscussionAppSetting) | A tabela Configuração do Aplicativo da Discussão armazena a ID da equipe original. |
Coleções
As coleções a seguir são usadas no aplicativo Perspectivas.
| Nome da coleção | Descrição | Onde usado |
|---|---|---|
| colLocalization | Usado para criar uma Coleção de Localização com base no Idioma do Usuário. | Propriedade OnStart do aplicativo |
| colUserSettings | Usado para coletar o registro do Dataverse de Configurações do Usuário, se houver. | Propriedade OnStart do aplicativo |
| colStockIcons | Coleção de ícones de capa do painel em estoque. | Todas |
| colStockImages | Coleção de imagens de capa do painel em estoque. | Todas |
| colTopicCoverColors | Coleção de cores de capa do tópico. | Todas |
| colGroupedResponsesByDiscussion | coleção de respostas agrupadas por tópico de discussão. | Todas |
| colDiscussionResponses | coleção de respostas à discussão. | Todas |
| colMostEngagingDiscussions | coleção de discussão com número de respostas. | Todas |
| colCharWidth | Coleção de larguras para cada caractere usado para rótulos de largura automática. | Tópicos |
| colAppSettings | Confira as configurações do aplicativo para verificar a ID da equipe em que o aplicativo foi instalado originalmente. | Todas |
Variáveis globais
As tabelas a seguir são as variáveis globais usadas no aplicativo Perspectivas.
| Nome de Variável | Digitar | Descrição | Tela |
|---|---|---|---|
| gblAppLoaded | Boolean | Para verificar se o Aplicativo está carregado. | OnStart |
| gblUserLanguage | Texto | Para verificar o Idioma do Usuário conectado. | OnStart |
| gblThemeDark | Boolean | Para verificar se o tema do Teams está definido como Escuro. | OnStart |
| gblThemeHiCo | Boolean | Para verificar se o tema do Teams está definido como Alto Contraste. | OnStart |
| gblMobileMode | Boolean | Configurar o valor como verdadeiro se o cliente host for Android ou iOS. | OnStart |
| gblIsManager | Boolean | Variável global a ser armazenada se o usuário atual for um gerente. | OnStart |
| gblTeamsTabContext | Boolean | OnStart | |
| gblIsHostClientWeb | Boolean | OnStart | |
| gblAppSetting_inputMobileOnWeb | Boolean | Variáveis para dimensionar fontes para aplicativos baseados em dispositivos móveis, executados em desktop. | OnStart |
| gblAppSetting_inputScaleFontsByCui | Número | Use esta variável para dimensionar todas as fontes em um valor fixo. | OnStart |
| gblCurrUserEmail | Texto | Buscar a ID de email do usuário atual. | OnStart |
| gblCurrUser | Registro | Buscar o registro do usuário atual. | OnStart |
| gblAppSetting_inputMobile | Boolean | Variáveis para dimensionar fontes para aplicativos baseados em dispositivos móveis. | OnStart |
| gblFirstRun | Boolean | Variável para verificar se o aplicativo está sendo executado pela primeira vez após a instalação. | OnStart |
| gblRecordUserSettings | Registro | Variável para usar o registro mais antigo, caso existam vários registros. | OnStart |
| gblCurrentTeamId | Texto | variável global para armazenar a ID da equipe atual. | OnStart |
| gblIsOriginalInstallTeam | Texto | Se a ID da equipe de instalação original for igual à ID da equipe instalada atualmente. confirme a equipe atual igual à equipe de instalação original. | OnStart |
| gblIsAdmin | Boolean | Se a equipe atual for igual à equipe original, o usuário atual será o proprietário da equipe. | OnStart |
| gblAppColors | Registro | Variável para definir o valor de Cor no aplicativo. | OnStart |
| gblAppSizes | Registro | Variável para definir os valores de tamanho no aplicativo. | OnStart |
| gblOrginialInstallTeamId | Texto | variável global para armazenar a ID da equipe atual. | OnStart |
| gblAppStyles | Registro | Variável para definir os valores de Estilo no aplicativo. | OnStart |
| gblDisplayWarning | Boolean | Variável para ocultar e mostrar a mensagem de aviso ao excluir a inspeção. | OnStart |
Detalhes da execução do OnStart
Quando um usuário acessa o aplicativo, gblAppLoaded é definida como falsa. O código de idioma do usuário é armazenado em gblUserLanguage, com English - US como o padrão.
O idioma do usuário é então usado para coletar o texto localizado usado em todo o aplicativo (por exemplo, rótulo e texto do botão) em colLocalization.
Os detalhes do usuário da tabela Configurações do Usuário são coletados em colUserSettings. Se não houver registros, um novo registro de configuração do usuário será criado. Isso, por sua vez, controla a visibilidade da caixa de diálogo inicial. Se houver vários registros de configurações do usuário do projeto, o registro mais antigo será selecionado e armazenado na variável gblRecordUserSettings.
Aplicativo OnStart
Esta seção explica as coleções, variáveis e detalhes de execução usados quando o aplicativo inicia.
Coleções OnStart
As coleções a seguir são usadas quando o aplicativo inicia
| Nome da coleção | Descrição |
|---|---|
| colUserSettings | Coleção das configurações do usuário da tabela Configurações do usuário de inspeção da área. |
| colLocalization | Coleção de texto localizado com base no idioma do usuário. |
| colAppSettings | Confira as configurações do aplicativo para verificar a ID da equipe em que o aplicativo foi instalado originalmente. |
Variáveis OnStart
| Nome da variável | Descrição |
|---|---|
| gblFirstRun | Variável para verificar se o aplicativo está sendo executado pela primeira vez após a instalação. |
| gblAppLoaded | Variável global para verificar se o aplicativo foi carregado completamente. |
| gblUserLanguage | Variável global para armazenar o idioma do usuário. |
| gblRecordUserSettings | Variável global para armazenar os registros de configurações do usuário do projeto mais recentes para o usuário atual. |
| gblOriginialInstalledTeamId | Variável global para armazenar a ID da equipe original instalada. |
| gblCurrentTeamId | Variável global para armazenar a ID da equipe atual. |
| gblIsOriginialInstallTeam | Se a ID da equipe de instalação original for igual à ID da equipe instalada atualmente. confirme a equipe atual igual à equipe de instalação original. |
| gblIsAdmin | Se a equipe atual for igual à equipe original, o usuário atual será o proprietário da equipe. |
| gblIsManager | Variável global a ser armazenada se o usuário atual for um gerente. |
| locNavigationTimer | Se o cronômetro de navegação tiver sido definido como verdadeiro após o intervalo de tempo, as configurações e tamanhos do aplicativo serão atualizados. |
| gblAppSetting_inputMobileOnWeb | Variável global para dimensionar fontes para dispositivos móveis |
| gblAppSetting_inputMobile | Variável global para dimensionar fontes para dispositivos móveis |
| gblAppSetting_inputScaleFontsBy | Variável global para dimensionar todas as fontes em um valor fixo. |
| gblThemeDark | Variável global para armazenamento se o Teams estiver sendo executado no modo escuro. |
| gblThemeContrast | Variável global para armazenamento se o Teams estiver sendo executado no modo de contraste. |
| gblAppColors | Variável para definir o valor da cor na variável global do aplicativo para definir o valor da cor no aplicativo. |
| gblAppSizes | Variável para definir o valor do tamanho na variável global do aplicativo para armazenar os tamanhos do aplicativo para o aplicativo móvel na Web. |
| gblAppStyles | Variável para definir os valores de estilo na variável global do aplicativo para definir os valores de estilo no aplicativo. |
| locShowPowerAppsPrompt | Variável local para indicar se o usuário definiu a preferência para ver o prompt do Power Apps como sim ou não. |
| locShowFirstRun | A variável local para indicar a execução atual do aplicativo é a primeira execução para o usuário. |
Tela Sobre
Esta seção explica as coleções e detalhes de execução usados na tela Sobre
Coleções da tela Sobre
A coleção a seguir é usada na tela Sobre.
| Nome da coleção | Descrição |
|---|---|
| colLocalization | Coleção de texto localizado com base no idioma do usuário. |
Variáveis da tela Sobre
Nenhuma variável
Tela de tópico
Localizar tópico
Esta seção explica coleções, variáveis globais e detalhes de execução usados ao localizar o tópico de discussão. Nenhuma coleção está envolvida na localização do processo de tópico de discussão.
Localizar variáveis de tópico
Variáveis usadas pela tela de tópico:
| Nome da variável | Descrição |
|---|---|
| locSelectedTopic | Variável local para armazenar o tópico selecionado. |
Localizar detalhes da execução do tópico
Na pesquisa do tópico de discussão da barra de pesquisa, o aplicativo buscará o resultado correspondente do Dataverse em ordem crescente
Na seleção do tópico de discussão, locSelectedTopic está definido como o tópico de discussão selecionado. Navegue até 'Tela de discussão'
Adicionar tela de tópico
Adicionar um novo tópico
Esta seção explica coleções, variáveis globais e detalhes de execução usados ao adicionar um novo tópico.
Adicionar coleções de tópicos
Coleções usadas pela nova tela adicionar tópico:
| Nome da coleção | Descrição |
|---|---|
| colLocalization | Coleção de texto localizado com base no idioma do usuário. |
| colTopicCoverColors | Coleção de cores de capa do tópico. |
| colStockIcons | Coleção de ícones de estoque. |
| colStockImages | Coleção de imagens de estoque. |
Adicionar variáveis de tópico
Variáveis usadas pela tela Adicionar tópico:
| Nome da variável | Descrição |
|---|---|
| locDefaultBoardCoverColor | Variável local para determinar a cor padrão da capa do painel. |
| locDefaultBoardCoverIcon | Variável local para determinar o ícone padrão da capa do painel. |
Adicionar detalhes da execução do tópico
Na seleção do botão Adicionar Tópico, formulário Tela de Tópico, navegue até a tela Adicionar tópico
Assim que as informações necessárias forem preenchidas, o botão Salvar será habilitado.
Quando o botão Salvar for selecionado, o tópico será criado.
Tela Editar tópico
Editar tópico
Esta seção explica coleções, variáveis globais e detalhes de execução usados ao editar um tópico.
Editar coleções de tópicos
Coleções usadas pela nova tela editar tópico:
| Nome da coleção | Descrição |
|---|---|
| colLocalization | Coleção de texto localizado com base no idioma do usuário. |
| colTopicCoverColors | Coleção de cores de capa do tópico. |
| colStockIcons | Coleção de ícones de estoque. |
| colStockImages | Coleção de imagens de estoque. |
Editar variáveis de tópico
Variáveis usadas pela tela Editar tópico:
| Nome da variável | Descrição |
|---|---|
| locSelectedTopic | Variável local para armazenar o tópico selecionado. |
| locSelectedBoardColor | Variável local para armazenar o cor de painel selecionada. |
| locCoverImageSelected | Variável local para armazenar a imagem de capa selecionada. |
| locCustomImageSelected | Variável local para armazenar a imagem personalizada selecionada. |
| locDefaultBoardCoverColor | Variável local para determinar a cor padrão da capa do painel. |
| locDeleteTopicWarning | Variável local para controlar a visibilidade da caixa de diálogo de exclusão. |
Editar e excluir detalhes de execução do tópico
Na seleção do botão Editar na tela Discussão, a variável local locSelectedTopic será atualizada com o contexto de tópicos atuais e a tela navegará para a tela Editar tópico.
O campo de registro existente será preenchido a partir da variável locSelectedTopic. como tópico, descrição, cobertura de tópico.
O usuário pode fazer atualização em um tópico, como tópico, descrição, cobertura do tópico na tela Editar tópico
Depois de atualizar informações nos campos necessários, o usuário seleciona o botão Salvar. salvar processo usará variáveis locCoverImageSelected, locCustomImageSelected para verificar se a imagem da capa e a imagem personalizada estão selecionadas ou não.
Se o usuário selecionar o botão Excluir, aparecerá um diálogo para pedir confirmação. A visibilidade desse diálogo é controlada usando locDeleteTopicWarning.
O usuário precisa marcar a caixa de seleção Eu entendo para ativar o botão Excluir.
Quando o botão Excluir for selecionado, o tópico atual do Dataverse será excluído.
Assim que o processo de exclusão for concluído, o aplicativo navegará para a tela do tópico.
Tela de discussão
Adicionar uma nova discussão
Esta seção explica coleções, variáveis globais e detalhes de execução usados ao adicionar uma nova discussão.
Coleções de discussão
Coleções usadas pela nova tela adicionar discussão:
| Nome da coleção | Descrição |
|---|---|
| colSelectedTopicDiscussions | Coleta de informações de discussão selecionadas. |
| colLocalization | Coleção de texto localizado com base no idioma do usuário. |
Variáveis de discussão
Variáveis usadas pela tela Adicionar discussão:
| Nome da variável | Descrição |
|---|---|
| locSelectedTopic | Variável local que armazena o tópico selecionado. |
| locSelectedDiscussion | Variável local contendo a discussão selecionada pelo usuário. |
Detalhes de execução da discussão
Na seleção do botão Nova discussão da tela Discussão, a tela navegará para a tela Nova Discussão
Assim que as informações necessárias forem preenchidas, o botão Salvar será habilitado.
Quando o botão Salvar for selecionado, a variável local locSelectedDiscussion será atualizada com os campos de discussão atuais e o registro Discussão será criado no Dataverse em relação ao tópico.
Tela de resposta
Response
Esta seção explica coleções, variáveis globais e detalhes de execução usados na tela de resposta.
Coleções de resposta
Coleções usadas pela nova tela adicionar tópico:
| Nome da coleção | Descrição |
|---|---|
| colSelectedTopicDiscussions | Coleta de informações de discussão selecionadas. |
| colLocalization | Coleção de texto localizado com base no idioma do usuário. |
Variáveis de resposta
Variáveis usadas na tela de resposta:
| Nome da variável | Descrição |
|---|---|
| locAddResponse | Variável local para determinar se o diálogo de resposta deve ser usado para adicionar uma nova resposta. |
| locEditResponse | Variável local para determinar se o diálogo de resposta deve ser usado para editar uma resposta existente. |
| locSelectedDiscussion | Variável local contendo a discussão selecionada pelo usuário. |
| locEditDiscussion | Variável local para determinar se o diálogo de resposta deve ser usado para editar uma discussão existente. |
| locAddDiscussion | Variável local para determinar se o diálogo de resposta deve ser usado para adicionar uma nova discussão. |
| locFetchDiscussion | Variável local para determinar se a nova tela de discussão precisa ser usada para buscar uma nova discussão. |
| locNavFromTopic | Variável local para determinar se o usuário navegou da tela de tópico ou da tela de discussão. |
| locScreenReaderAnnounceText | Variável local para iniciar o anúncio do leitor de tela. |
| locResponseCreatedByUserSetting | Variável local para armazenar o registro de definição de usuário de discussão do usuário que criou a resposta. |
| locDeleteResponse | Variável local para determinar se o diálogo de resposta deve ser usado para excluir uma resposta existente. |
Adicionar detalhes da execução da resposta
Quando a tela de resposta é carregada, as variáveis locais locAddResponse e locEditResponse são definidas como falsas.
Quando o usuário seleciona o botão Adicionar Resposta, valor da variável local locAddResponse é definido como Verdadeiro e o pop-up Adicionar uma resposta é aberto
locEditResponse é a variável local que é usada para identificar se é uma nova resposta ou se é preciso editar uma resposta existente.
Depois que o usuário adicionar o texto de resposta na descrição do pop-up, o botão Adicionar será ativado.
Depois que o usuário selecionar o botão Adicionar, a resposta será adicionada na discussão
Editar detalhes da execução da resposta
O usuário pode selecionar qualquer discussão na tela de discussão. Após a discussão ser selecionada na tela de discussão, ela será navegada para a tela de resposta.
Quando a tela de resposta é carregada, as variáveis locais locAddResponse e locEditResponse são definidas como falsas.
locEditResponse é a variável local que é usada para identificar se é uma nova resposta ou se é preciso editar uma resposta existente
Ao selecionar o ícone de edição, o usuário pode editar apenas as respostas dele.
Ao selecionar o ícone de edição, a janela pop-up será aberta com o texto de resposta existente.
Após o usuário atualizar em resposta, o botão Atualizar será ativado e a resposta será atualizada no Dataverse.
Excluir detalhes da execução da resposta
O usuário pode selecionar qualquer discussão na tela de discussão. Após a discussão ser selecionada na tela de discussão, ela será navegada para a tela de resposta.
Quando a tela de resposta é carregada, as variáveis locais locAddResponse e locEditResponse são definidas como falsas.
Ao selecionar o ícone Excluir, o usuário pode excluir apenas as respostas dele.
Se o usuário selecionar o botão Excluir, aparecerá um diálogo para pedir confirmação. A visibilidade desse diálogo é controlada usando locDeleteResponse.
O usuário precisa marcar a caixa de seleção Eu entendo para ativar o botão Excluir.
Quando o botão Excluir for selecionado, a resposta atual do Dataverse será excluída.
Consulte também
Comentários
Enviar e exibir comentários de