Compreensão da arquitetura do aplicativo de amostra Ideias do Funcionário
Neste artigo, você aprenderá sobre as coleções e variáveis globais usadas pelo aplicativo Ideias do Funcionário e entenderá como usá-las de forma eficaz. Se você quiser saber mais sobre como instalar e usar o aplicativo de amostra Ideias do Funcionário, acesse Ideias do Funcionário.
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 sobre como instalar e usar o aplicativo de amostra Ideias do Funcionário.
Modelo de arquitetura
O diagrama a seguir ilustra a maneira como os usuários e sistemas interagem com os dados na solução Ideias do Funcionário.

Conectores
Os seguintes conectores são usados no aplicativo Ideias do Funcionário:
- Microsoft Dataverse - usado para ler e gravar dados no Dataverse.
- Office 365 Users – usado para ler dados de perfis de usuários do Microsoft 365.
Modelo de dados
O diagrama a seguir explica o modelo de dados usado pelo aplicativo de exemplo Ideias do Funcionário.

| Nome da tabela | Descrição |
|---|---|
| Campanha de ideia do funcionário | Uma campanha é qualquer série de ações ou eventos que visam a atingir um objetivo específico. Detalhes como título, descrição, datas de início e término da campanha, IDs de equipe e canal são armazenados na tabela Campanha de ideia do funcionário. Uma campanha de ideias pode ter várias ideias e perguntas de ideias. |
| Ideia do funcionário | Ideias são pensamentos ou sugestões fornecidas por funcionários para atingir um objetivo específico que é mencionado como parte de uma campanha. Detalhes como título, descrição, campanha relacionada, resultado e contagem de votos são armazenados na tabela Ideia do funcionário. Pode haver vários arquivos e perguntas associadas a uma ideia. |
| Perguntas da Ideia do Funcionário | As perguntas sobre ideias nos ajudam a obter mais informações dos funcionários em relação a uma ideia. Detalhes como instruções, campanha associada, tipo de resposta e valores para a pergunta são armazenados na tabela Perguntas sobre a ideia do funcionário. Cada pergunta sobre a ideia pode ter várias respostas. |
| Respostas da Ideia do Funcionário | As respostas sobre ideias são usadas para obter respostas dos funcionários às perguntas sobre ideias. Detalhes como instruções, ideia associada, pergunta sobre a ideia, sequência, tipo de resposta e valores para a pergunta são armazenados na tabela Respostas sobre ideias do funcionário. Uma resposta só pode ser associada a uma pergunta sobre a ideia. |
| Imagem da ideia do funcionário | As imagens são usadas para entender melhor uma ideia. Os usuários podem adicionar uma imagem de capa para sua ideia. Detalhes como nome, ideia associada e imagem selecionada são armazenados na tabela Imagens de ideias do funcionário. Uma ideia pode ter apenas uma imagem de capa selecionada por vez. |
| Arquivo da ideia do funcionário | Os funcionários podem anexar vários arquivos de apoio que explicam sua ideia de uma maneira melhor. Detalhes como nome do arquivo, o anexo e a ideia associada são armazenados na tabela Arquivo da ideia do funcionário. |
| Configuração de usuário da ideia do funcionário | As configurações do usuário são usadas para armazenar as preferências do usuário relativas à exibição da tela inicial do Power Apps toda vez que ele entrar no aplicativo. Existe um registro para cada usuário. |
| Configurações da ideia do funcionário | As configurações são usadas para armazenar as preferências do usuário relacionadas ao ID da equipe e ao ID do canal usados para notificações. |
Coleções
A tabela a seguir lista as coleções usadas pelo aplicativo Ideias do funcionário.
| Nome da Coleção | Descrição | Onde usado |
|---|---|---|
| colFileIcons | Coleção para armazenar o tipo de arquivo do aplicativo e o ícone. | Aplicativo OnStart |
| colStockImages | Coleção para armazenar as imagens padrão usadas no aplicativo. | Aplicativo OnStart |
| colUserSettings | Coleção para coletar as configurações do usuário (se houver). | Aplicativo OnStart |
| colocalização | coleção de texto localizado com base no idioma do usuário. | Aplicativo OnStart |
| colIdeaStats_Raw | Coleções para coletar ideias brutas, para estatísticas com detalhes do proprietário. | Aplicativo OnStart |
| colVotes | Coleção para armazenar o número de votos dados a uma ideia | Aplicativo OnStart |
| colIdeas | Coleção usada para armazenar ideias de funcionários. | Tela Detalhes da campanha |
| colResponses | Coleção usada para armazenar respostas sobre ideias | Tela Detalhes da campanha |
| colFiles | Coleção usada para coletar arquivos associados a uma ideia. | Propriedade de itens de uma galeria na tela de criação de ideias |
| colQuestions | Coleção para coletar as perguntas sobre a ideia. | Propriedade de itens de uma galeria na tela de detalhes da campanha |
| colQuestionsToDelete | Usado para coletar as perguntas a serem excluídas. | Propriedade OnClick do botão excluir na tela de detalhes da campanha |
| colVoteCounter | Usado para contar o número de votos recebidos por uma ideia. | Aplicativo OnStart |
| colCdsSampleDataIdeaUsers | Coleção Build com proprietário aleatório para ideias, 20% do usuário atual, caso contrário, aleatório. | Propriedade OnSelect de um botão Aleatorizar dados de exemplo (oculto) na tela de carregamento |
| colSampleDataIdeas | Coleção usada para coletar exemplos ativos de ideias de funcionários | Propriedade OnSelect de um botão Aleatorizar dados de exemplo (oculto) na tela de carregamento |
| colSampleDataUsers | Coleção usada para coletar usuários de exemplo. | Propriedade OnSelect de um botão Aleatorizar dados de exemplo (oculto) na tela de carregamento |
Variáveis globais
A tabela a seguir lista as coleções usadas pelo aplicativo Ideias do funcionário.
| Nome de Variável | Digitar | Descrição |
|---|---|---|
| gblAppLoaded | Boolean | Para verificar se o aplicativo está carregado. |
| gblAppContext | Boolean | Para verificar o contexto de onde o aplicativo está sendo executado. |
| gblUserLanguage | Texto | Para verificar o idioma do usuário conectado |
| gblParamTeamId | Texto | Para definir a ID do grupo do Planner. |
| gblParamChannelId | Texto | Para definir a ID do canal do Planner. |
| gblThemeDark | Boolean | Para verificar se o tema do Teams está definido como Escuro. |
| gblThemeHiCo | Boolean | Para verificar se o tema do Teams está definido como Alto Contraste. |
| gblMobileMode | Boolean | Para verificar se o tipo de cliente host é Android ou iOS. |
| gblRecordSettings | Registro | Para verificar as configurações das equipes para a equipe atual e a ID do canal. |
| gblRandomizeData | Boolean | Variável para verificar se os dados devem ser aleatorizados (implica primeira execução na Equipe). |
| gblRecordUserSettings | Registro | Variável para usar o registro mais antigo, caso existam vários registros. |
| gblUserFirstName | Texto | Variável para definir o nome completo do usuário. |
| gblDropdownChannel | Tabela | Para obter os canais de um determinado grupo no Microsoft Teams. |
| gblPadding | Registro | Usado para definir valores de preenchimento no aplicativo. |
| gblMobileWidth | Número | Usado para definir a largura móvel global. |
| gblToday | Data | Variável para definir a data atual como um valor de data/hora. |
| gblUserRecord | Registro | Variável para obter o registro do usuário conectado. |
| gblSettingNotificationChannelId | Texto | Variável para definir o ID do canal de notificação. |
| gblSettingTeamId | Texto | Variável para definir o ID da equipe de notificação. |
| gblSelectedRecordCampaign | Registro | Variável para obter o registro da campanha selecionada. |
| gblRecordCampaignIdea | Registro | Variável para obter a ideia da campanha selecionada. |
| gblSelectedRecordCampaign_FormValues | Registro | Variável para armazenar os valores dos campos da campanha que está sendo adicionada ou editada. |
| gblAppSetting_inputMobileOnWeb | Boolean | Variáveis para dimensionar fontes para aplicativos baseados em dispositivos móveis, executados em desktop. |
| gblAppSetting_inputMobile | Boolean | Variáveis para dimensionar fontes para aplicativos baseados em dispositivos móveis. |
| gblAppSetting_inputScaleFontsby | Número | Use esta variável para dimensionar todas as fontes em um valor fixo. |
| gblAppColors | Registro | Variável para definir o valor de cor no aplicativo. |
| gblAppSizes | Registro | Variável para definir o valor de cor no aplicativo. |
| gblAppStyles | Registro | Variável para definir os valores de estilo no aplicativo. |
| gblAppManager | Boolean | Para verificar a função da equipe do usuário. |
Aplicativo OnStart
Esta seção explica as coleções, variáveis e detalhes de execução OnStart do aplicativo.
Coleções OnStart
Coleções usadas durante o OnStart do aplicativo:
| Nome da coleção | Descrição |
|---|---|
| colLocalization | Coleção de texto localizado com base no idioma do usuário. |
| colStockImages | Coleções de imagens de capa padrão. |
| colUserSettings | Coleção das configurações do usuário da tabela Configurações do usuário do Ideias do Funcionário. |
| colFileIcons | Usado para coletar os ícones de diferentes tipos de arquivo. |
| colVoteCounter | Coleção para contar o número de votos recebidos para uma ideia. |
| colIdeaStats_Raw | Para coletar ideias brutas, para estatísticas com detalhes do proprietário. |
| colVotes | Usado para coletar votos para uma ideia. |
Variáveis OnStart
Variáveis usadas durante o OnStart do aplicativo:
| Nome da variável | Descrição |
|---|---|
| gblAppLoaded | Variável global para verificar se o aplicativo foi carregado completamente. |
| gblAppContext | Variável global para verificar o contexto de onde o aplicativo está sendo executado. |
| gblUserLanguage | Variável global para armazenar o idioma do usuário. |
| gblParamTeamId | Variável global para definir a ID de grupo a partir do Planner. |
| gblParamChannelId | Variável global para definir a ID de canal a partir do Planner. |
| gblThemeDark | Variável global para definir se o Teams está sendo executado com um tema escuro. |
| blThemeHiCo | Variável global para definir se o Teams está sendo executado com um tema de alto contraste. |
| gblMobileMode | Variável global para armazenar se o aplicativo está sendo acessado de um dispositivo móvel. |
| gblRecordSettings | Variável global usada para definir a ID da equipe e do canal para a tabela Configurações de ideias de funcionários. |
| gblRandomizeData | Variável global para verificar se temos que aleatorizar os dados (se esta execução é a primeira execução do aplicativo). |
| gblRecordUserSettings | Variável global para armazenar os registros mais recentes de Configurações do usuário do Ideias do Funcionário para o usuário atual. |
| gblUserFirstName | Variável global para armazenar o nome do usuário. |
| gblDropdownChannel | Variável global para armazenar a lista de canais de um grupo. |
| gblSettingNotificationChannelId | Variável global para armazenar o ID do canal em que as notificações serão postadas. |
| gblSettingTeamId | Variável global para armazenar a ID de equipe. |
| gblPadding | Variável global para definir os valores de preenchimento. |
| gblMobileWidth | Variável global para definir a largura do aplicativo móvel. |
| gblToday | Variável global para armazenar a data do dia atual. |
| gblUserRecord | Variável global para armazenar o registro do usuário atual. |
Detalhes da execução do OnStart
Quando um usuário carrega o aplicativo, a variável gblAppLoaded é definida como falsa. O código de idioma do usuário é armazenado na variável 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.
O tema do Teams do usuário é verificado para ver se o tema é padrão, escuro ou de alto contraste. As variáveis gblThemeDark e gblThemeHiCo são definidas apropriadamente.
As variáveis gblParamTeamId e gblParamChannelId são usadas para obter o ID do grupo e o ID do canal dos parâmetros.
O ID da equipe e o ID do canal são obtidos na tabela de configurações Ideia do funcionário e armazenados na variável gblRecordSettings.
A variável gblRandomizeData verifica se o aplicativo está sendo executado pela primeira vez para aleatorizar os dados.
Os detalhes do usuário da tabela Configurações do Ideias do Funcionário são coletados usando coleção colUserSettings. Se não houver registros, um novo registro de configurações do usuário será criado na tabela Configurações do usuário do Ideias do Funcionário.
Se existirem vários registros de configurações do usuário, o registro de configurações mais antigo é selecionado e armazenado na variável gblRecordUserSettings.
Os valores de preenchimento global para o aplicativo e a largura móvel são definidos usando as variáveis gblPadding e gblMobileWidth respectivamente.
As imagens de banco de imagens e cores de capa são coletadas nas coleções colStockImages e colProjectCoverColors respectivamente. A coleção colProjectCoverColors tem dois conjuntos de 14 cores. Para cada base, existem duas cores. Uma para o tema padrão e outra para o tema escuro. Por exemplo, #F4B9B9 é o modo padrão equivalente a #791818.
Assim que todas as informações necessárias forem definidas e coletadas, o valor da variável gblAppLoaded muda para verdadeiro.
Tela de apresentação
Esta seção explica a experiência de primeira execução, coleções relevantes, variáveis e detalhes de execução do aplicativo.
Coleções de experiência de primeira execução
A experiência de primeira execução do aplicativo não usa nenhuma coleção.
Variáveis de experiência de primeira execução
Variáveis usadas quando o aplicativo é executado pela primeira vez:
| Nome da variável | Descrição |
|---|---|
| locShowModal | Variável local usada para controlar a visibilidade do contêiner de configuração da caixa de diálogo. |
| locShowSetup | Variável local usada para controlar a visibilidade da caixa de diálogo de configuração. |
| locShowPowerAppsPrompt | Variável local para indicar mostrar ou ocultar a tela inicial. |
Detalhes da experiência de primeira execução
Quando a tela do projeto é exibida, uma caixa de diálogo pop-up aparecerá se o valor da variável locShowModal for verdadeiro. Se for falso, o aplicativo continuará carregando a tela Resumo da campanha.
A variável locShowModal é definida (verdadeira/falsa) dependendo dos registros de configuração do projeto que são criados quando o aplicativo é executado pela primeira vez. Quando o usuário conclui a experiência de primeira execução, o aplicativo cria um registro de configuração do usuário do Ideias do Funcionário.
Durante a primeira execução, o aplicativo mostra a tela inicial com base na variável booleana locShowPowerAppsPrompt.
A variável locShowPowerAppsPrompt é definida (verdadeira/falsa) com base na configuração do projeto que é criada durante a primeira execução.
Se o usuário marcar a caixa de seleção "Não mostrar novamente", "Exibir Splash (Power Apps)" será definido como "Não" no registro de configurações do projeto. Esta ação define a variável locShowPowerAppsPrompt como falsa na próxima execução e oculta a tela inicial.
Tela de resumo
Esta seção explica as coleções, variáveis e detalhes de execução da tela de resumo do aplicativo.
Coleções da tela de resumo
Coleções usadas pela tela de resumo:
| Nome da coleção | Descrição |
|---|---|
| colIdeaStats_Raw | Coleção para coletar ideias brutas, para estatísticas com detalhes do proprietário. |
Variáveis da tela de resumo
Variáveis usadas pela tela de resumo:
| Nome da variável | Descrição |
|---|---|
| gblAppManager | Variável global para verifica se o usuário tem o privilégio de gerenciar o aplicativo. |
Detalhes de execução da tela de resumo
O placar de líderes do resumo da campanha é exibido na tela de resumo da campanha. A tela também mostra a lista dos principais colaboradores da semana e das principais ideias da semana.
Os principais contribuidores da semana são listados na galeria galCampaignStatsTopContributors, o número total de ideias e as colunas de ideias por proprietário são obtidos na coleção colIdeaStats_Raw. Os três principais colaboradores com o número de ideias também são exibidos em ordem decrescente.
As melhores ideias da semana são listadas na galeria galCampaignStatsTopIdeas. As ideias para as quais a contagem de votos não está em branco são obtidas na coleção colIdeaStats_Raw, e as três principais ideias com o número de votos recebidos são exibidas em ordem decrescente.
Se o usuário conectado tiver a função de equipe, a galeria galCampaignSummary exibirá a lista de Ativos, Expirados, Não Iniciados e todas as Campanhas em ordem decrescente (data de início da campanha) que podem ser controlados usando um campo suspenso.
É possível pesquisar campanhas usando a barra de pesquisa por nome e descrição da campanha.
A visibilidade do botão Adicionar campanha é controlada pela variável global gblAppManager. Uma nova campanha pode ser criada usando o botão Adicionar campanha.
Tela de detalhes da campanha
Esta seção explica as coleções, variáveis e detalhes de execução da tela de resumo da campanha.
Coleções da tela de detalhes da campanha
Coleções usadas pela tela de detalhes da campanha:
| Nome da coleção | Descrição |
|---|---|
| colIdeas | Coleção para coletar ideias para a campanha selecionada. |
| colVoteCounter | Coleção para contar o número de votos recebidos para uma ideia. |
| colVotes | Coleção para coletar votos para uma ideia. |
Variáveis da tela de detalhes da campanha
Variáveis usadas pela tela de detalhes da campanha:
| Nome da variável | Descrição |
|---|---|
| gblAppManager | Variável global para verificar se o usuário tem privilégios de gerenciador de aplicativos. |
| gblRecordCampaignIdea | Variável global para obter as ideias para uma campanha selecionada. |
| locVisibleCampaignEdit | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro). |
| locVisibleCampaignView | Variável local para controlar a propriedade visível do cartão de dados conCampaignDetailCard (indica que a campanha só pode ser visualizada se o valor for verdadeiro). |
| locVisibleCampaignCreate | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma nova campanha existente pode ser criada se o valor for verdadeiro). |
| locVisibleCampaignIdea | Variável local para controlar a propriedade visível do contêiner conCampaignDetailsIdeas (indica que uma ideia pode ser visualizada, mas não editada) |
| locVisibleIdeaCommands | Variável local usada para controlar a visibilidade do botão Excluir de ideia (galIdeaCommands). |
| locSortGalCampaignDetailNav | Variável local usada para classificar a galeria galCampaignDetailNav. |
Detalhes de execução da tela de detalhes da campanha
A galeria galCampaignDetailNav exibe a lista de campanhas classificadas em ordem alfabética e também pode ser pesquisada com base no nome da campanha.
As campanhas também podem ser classificadas com base no nome da campanha. Selecionar a imagem de classificação atualiza a variável locSortGalCampaignDetailNav que ordena as campanhas em ordem crescente/decrescente.
O botão Adicionar campanha permite que o usuário adicione uma nova campanha.
Selecionar qualquer uma das campanhas define a variável gblSelectedRecordCampaign para a campanha selecionada.
As ideias para a campanha selecionada (variável gblSelectedRecordCampaign) são filtradas a partir da tabela do Ideias do Funcionário e coletados na coleção colIdeas.
O deslocamento de voto temporário é substituído na coleção colVoteCounter pelo valor real.
O contêiner conCampaignDetailCard exibe o nome, a descrição, as datas de duração da campanha, a imagem da capa e o número de dias para o início, término ou expiração dela.
A galeria galCampaignDetailsIdeas lista as ideias disponíveis (coleção colIdeas) para a campanha selecionada. As ideias podem ser classificadas com base em uma seleção suspensa. As opções disponíveis são "Mais recentes", "Mais antigas" e "Mais votadas".
Os usuários podem votar em uma ideia selecionando o botão Curtir.
Selecionar o botão Curtir pela primeira vez adiciona a ideia à coleção colVotes e aumenta o valor na coleção colVoteCounter em 1.
Remover a curtida da ideia remove-a da coleção colVotes e diminui o valor na coleção colVoteCounter em 1.
Selecionar o botão Enviar uma ideia permite ao usuário criar uma nova ideia para a campanha selecionada.
Selecionar o botão Editar permite ao usuário editar a campanha selecionada.
Selecionar botão Voltar leva o usuário de volta para a tela de resumo da campanha.
Adicionar uma campanha de ideias
Esta seção explica as coleções, variáveis usadas e detalhes de execução ao adicionar uma campanha de ideia.
Coleções usadas ao adicionar uma campanha de ideia
As seguintes coleções são usadas quando você adiciona uma campanha de ideia:
| Nome da coleção | Descrição |
|---|---|
| colQuestions | Usado para coletar as perguntas sobre a ideia. |
| colStockImages | Usado para coletar imagens de capa de ações. |
| colQuestionsToDelete | Usado para coletar as perguntas excluídas ao adicionar/editar uma campanha. |
| colIdeas | Usado para coletar ideias para uma campanha específica. |
Variáveis usadas ao adicionar uma campanha de ideia
As seguintes variáveis são usadas quando você adiciona uma campanha de ideia:
| Nome da variável | Descrição |
|---|---|
| locBlockUserInput | Variável local usada para bloquear a entrada do usuário exibindo uma caixa de diálogo durante a tentativa de salvar. |
| locVisibleCampaignCreate | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica se uma nova campanha existente pode ser criada se o valor for verdadeiro). |
| locVisibleCampaignEdit | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica se uma campanha existente pode ser editada se o valor for verdadeiro). |
| locVisibleCampaignView | Variável local para controlar a propriedade visível do cartão de dados conCampaignDetailCard (indica se a campanha só pode ser visualizada se o valor for verdadeiro). |
| locVisibleCampaignIdea | Variável local para controlar a propriedade visível do contêiner conCampaignDetailsIdeas (indica que uma ideia pode ser visualizada, mas não editada). |
| locCreateNewCampaign | Usado para controlar a visibilidade do contêiner conCampaignUpsert. |
| gblSelectedRecordCampaign | Variável global para armazenar o registro da campanha atualmente no contexto. |
| gblSelectedRecordCampaign_FormValues | Variável global para armazenar os valores dos campos da campanha que é adicionada ou editada. |
| locSelectedStockImage | Variável local para verificar se uma imagem padrão foi selecionada ou não. |
| locFormRecordCampaignPatch | Variável local para armazenar o registro da campanha que está sendo atualizado. |
| locShowCampaignFormErrors | Variável local que controla a visibilidade da mensagem de erro a ser mostrada caso haja algum campo ausente. |
| gblParamTeamId | Variável global para definir a ID de grupo a partir do Planner. |
| gblParamChannelId | Variável global para definir a ID de canal a partir do Planner. |
Detalhes de execução ao adicionar uma campanha de ideia
Uma nova campanha pode ser adicionada selecionando o botão Adicionar campanha na tela Resumo da campanha.
Selecionar o botão Adicionar campanha define as variáveis locVisibleCampaignCreate, locVisibleCampaignEdit e locVisibleCampaignIdea como falsas. As variáveis locVisibleCampaignView, locCreateNewCampaign e locBlockUserInput como verdadeiras. E vai para a tela Detalhes da campanha.
A a galeria galCampaignDetailNav é desativada com base nos valores das variáveis locVisibleCampaignView, locVisibleCampaignIdea e locCreateNewIdea.
O nome da campanha, a descrição e as datas de início/término da campanha fazem parte do recipiente conCampaignForm, no qual os detalhes podem ser preenchidos.
A galeria galCampaignEditQuestions exibe a lista de perguntas de ideias armazenadas na coleção colQuestions.
A galeria galQuestionResponseRating exibe os valores de classificação disponíveis para uma pergunta.
A galeria galCampaignQuestionResponseType exibe os tipos de resposta disponíveis para perguntas.
O botão Adicionar só será habilitado se todos os campos estiverem preenchidos, incluindo as datas de início/término da campanha. As coleções colQuestionsToDelete e colQuestions serão verificadas se novas perguntas forem adicionadas ou excluídas.
Selecionar o botão Adicionar cria um novo registro de campanha e atualiza todos os campos inseridos na tabela Campanhas da ideia do funcionário.
Se novas perguntas forem adicionadas, elas serão atualizadas na coleção colQuestions e na tabela Perguntas sobre a ideia do funcionário.
Se novas perguntas forem excluídas, elas serão excluídas da coleção colQuestionsToDelete e da tabela Perguntas sobre a ideia do funcionário.
Se a opção Postar no canal for selecionada, uma mensagem será postada no canal com base nas informações armazenadas nas variáveis gblParamChannelId e gblParamTeamId.
As ideias para a campanha criada são coletadas na coleção colIdeas.
Os valores das variáveis locVisibleCampaignEdit, locVisibleCampaignView, locVisibleCampaignCreate, locCreateNewCampaign, locShowCampaignFormErrors e locVisibleCampaignIdeaSubmitted são definidos como falsos.
A tela de envio da campanha fica visível e uma mensagem de confirmação é exibida para o usuário.
Editar uma campanha de ideias
Esta seção explica as coleções, variáveis usadas e detalhes de execução ao editar uma campanha de ideia.
Coleções usadas ao editar uma campanha de ideia
As seguintes coleções são usadas quando você edita uma campanha de ideia:
| Nome da coleção | Descrição |
|---|---|
| colQuestions | Usado para coletar as perguntas sobre a ideia. |
| colStockImages | Coleções de imagens de capa padrão. |
| colQuestionsToDelete | Usado para coletar as perguntas excluídas ao adicionar ou editar uma campanha. |
| colIdeas | Usado para coletar ideias para uma campanha específica. |
Variáveis usadas ao editar uma campanha de ideia
As seguintes variáveis são usadas quando você editar uma campanha de ideia:
| Nome das variáveis | Descrição |
|---|---|
| locBlockUserInput | Variável local usada para bloquear a entrada do usuário exibindo uma caixa de diálogo quando algo estiver sendo salvo. |
| gblSelectedRecordCampaign | Variável global para armazenar o registro da campanha no contexto atual. |
| gblSelectedRecordCampaign_FormValues | Variável global para armazenar os valores dos campos da campanha que está sendo adicionada ou editada. |
| locVisibleCampaignEdit | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro). |
| locFormRecordCampaign | Variável local para armazenar o registro da campanha que está sendo editado. |
Detalhes de execução ao editar uma campanha de ideia
A lista de campanhas existentes é mostrada na galeria galCampaignSummary. Selecionar qualquer uma das campanhas define a variável gblSelectedRecordCampaign como a campanha selecionada, e o usuário é levado à página de detalhes da campanha.
Selecionar o botão Editar obtém os detalhes da campanha (como título e descrição) usando a variável gblSelectedRecordCampaign e as perguntas sobre a ideia da coleção colQuestions.
O valor da variável locVisibleCampaignEdit é definido como verdadeiro, tornando o contêiner conCampaignUpsert visível.
Os detalhes necessários podem ser atualizados e salvos. O botão Salvar só será habilitado se todos os campos estiverem preenchidos, incluindo as datas de início/término da campanha. As coleções colQuestionsToDelete e colQuestions serão verificadas se novas perguntas forem adicionadas ou excluídas.
Ao selecionar o botão Salvar, todos os campos atualizados são salvos na tabela Campanhas da ideia do funcionário (a variável gblSelectedRecordCampaign contém o registro de campanha editado).
A coleção colQuestions e a tabela Perguntas sobre a ideia do funcionário são atualizadas para as perguntas adicionadas/editadas.
As perguntas excluídas são excluídas da coleção colQuestionsToDelete e da tabela Perguntas sobre a ideia do funcionário.
O valor da variável locVisibleCampaignView é definido como verdadeiro, exibindo o contêiner conCampaignUpsert.
Duplicar uma campanha de ideia
Esta seção explica as coleções, variáveis usadas e detalhes de execução ao duplicar uma campanha de ideia
Coleções usadas ao duplicar uma campanha de ideia
As seguintes coleções são usadas quando você duplica uma campanha de ideia:
| Nome das coleções | Descrição |
|---|---|
| colQuestions | Usado para coletar as perguntas sobre a ideia. |
| colQuestionsToDelete | Usado para coletar as perguntas excluídas durante o processo de edição. |
| colIdeas | Usado para coletar ideias para uma campanha específica. |
| colStockImages | Coleções de imagens de capa padrão. |
Variáveis usadas ao duplicar uma campanha de ideia
As seguintes variáveis são usadas quando você duplica uma campanha de ideia:
| Nome da variável | Descrição |
|---|---|
| gblSelectedRecordCampaign | Variável global para armazenar o registro da campanha no contexto atual. |
| gblSelectedRecordCampaign_FormValues | Variável global para armazenar os valores dos campos da campanha que está sendo adicionada ou editada. |
| locVisibleCampaignEdit | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro). |
| locVisibleCampaignView | Variável local para controlar a propriedade visível do cartão de dados conCampaignDetailCard (indica que a campanha só pode ser visualizada se o valor for verdadeiro). |
| locVisibleCampaignCreate | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma nova campanha existente pode ser criada se o valor for verdadeiro). |
| locBlockUserInput | Variável local usada para bloquear a entrada do usuário exibindo uma caixa de diálogo quando algo estiver sendo salvo. |
Detalhes de execução ao duplicar uma campanha de ideia
Uma campanha pode ser duplicada usando o botão Duplicar na tela de detalhes da campanha.
Selecionar o botão Duplicado define a variável gblSelectedRecordCampaign_FormValues com os detalhes da campanha que está sendo duplicada (como título, descrição, datas de início/término). A imagem da capa é definida como em branco. O título da campanha recém-criada é anexado por (1).
O valor da variável locVisibleCampaignCreate é atualizado como verdadeiro, exibindo o contêiner conCampaignUpsert.
O usuário pode fazer mais alterações na campanha recém-criada e selecionar o botão Adicionar campanha.
Ao selecionar o botão Adicionar campanha, todos os campos atualizados são salvos na tabela Campanhas da ideia do funcionário (a variável gblSelectedRecordCampaign contém o registro de campanha editado).
As perguntas recém adicionadas/editadas serão atualizadas na coleção colQuestions e na tabela Perguntas sobre a ideia do funcionário.
As perguntas excluídas são excluídas da coleção colQuestionsToDelete e da tabela Perguntas sobre a ideia do funcionário.
A tela de envio da campanha fica visível e uma mensagem de confirmação é exibida.
Selecionar botão Cancelar leva o usuário de volta para a tela Resumo da campanha.
Excluir uma campanha de ideia
Esta seção explica as coleções, variáveis usadas e detalhes de execução ao excluir uma campanha de ideia.
Coleções usadas ao excluir uma campanha de ideia
As seguintes coleções são usadas quando você exclui uma campanha de ideia:
| Nome das coleções | Descrição |
|---|---|
| colIdeas | Usado para coletar ideias para uma campanha específica. |
Variáveis usadas ao excluir uma campanha de ideia
As seguintes variáveis são usadas quando você excluir uma campanha de ideia:
| Nome das coleções | Descrição |
|---|---|
| gblSelectedRecordCampaign | Variável global para armazenar o registro da campanha no contexto atual. |
| locVisibleDialog | Variável local para controlar a visibilidade do segundo plano da caixa de diálogo. |
| locVisibleDialogDelete | Variável local para controlar a visibilidade da caixa de diálogo de exclusão. |
Detalhes de execução ao excluir uma campanha de ideia
Uma campanha pode ser excluída usando o botão Excluir na tela de detalhes da campanha.
Selecionar o botão Excluir atualiza os valores das variáveis locVisibleDialog e locVisibleDialogDelete como verdadeiro exibindo o contêiner conConfirmDelete (caixa de diálogo de confirmação de exclusão).
O usuário deve marcar a caixa de seleção Eu entendo para prosseguir com a exclusão da campanha.
Ao selecionar o botão Excluir, a campanha selecionada é removida da tabela Campanha de ideias do funcionário e as ideias relacionadas são removidas da tabela Ideias do funcionário.
A variável gblSelectedRecordCampaign é definida como a primeira campanha na galeria galCampaignDetailNav, e as ideias para a campanha relevante são obtidas na coleção colIdeas exibindo os detalhes da primeira campanha.
Adicionar uma pergunta sobre a ideia
Esta seção explica as coleções, variáveis usadas e detalhes de execução ao adicionar uma pergunta sobre a ideia.
Coleções usadas ao adicionar uma pergunta sobre a ideia
As seguintes coleções são usadas quando você adicionar uma pergunta sobre a ideia:
| Nome das coleções | Descrição |
|---|---|
| colQuestions | Usado para coletar perguntas sobre a ideia. |
Variáveis usadas ao adicionar uma pergunta sobre a ideia
As seguintes variáveis são usadas quando você adicionar uma pergunta sobre a ideia:
| Nome da variável | Descrição |
|---|---|
| locVisibleCampaignEdit | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro). |
| gblSelectedRecordCampaign | Variável global para armazenar o registro da campanha no contexto atual. |
Detalhes de execução ao adicionar uma pergunta sobre a ideia
Novas perguntas sobre a ideia podem ser adicionadas enquanto uma campanha está sendo editada.
Selecionar o botão + Adicionar pergunta adiciona uma nova entrada na coleção colQuestions. O valor do campo Instruções é definido como "*NEW QUESTION*". O tipo de resposta padrão é definido como Classificação (tipo de resposta de ideias do funcionário) com os valores "Alto" e "Baixo".
A pergunta recém-adicionada é exibida no final da lista.
Selecionar o botão Salvar atualiza a pergunta recém-adicionada à tabela Perguntas sobre a ideia do funcionário.
Excluir uma pergunta sobre a ideia
Esta seção explica as coleções, variáveis usadas e detalhes de execução ao excluir uma pergunta sobre a ideia.
Coleções usadas ao excluir uma pergunta sobre a ideia
As seguintes coleções são usadas quando você exclui uma pergunta sobre a ideia:
| Nome das coleções | Descrição |
|---|---|
| colQuestions | Usado para coletar as perguntas sobre a ideia. |
| colQuestionsToDelete | Usado para coletar as perguntas excluídas ao adicionar/excluir uma campanha. |
Variáveis usadas ao excluir uma pergunta sobre ideia
Excluir uma pergunta sobre ideia não usa variáveis.
Detalhes de execução ao excluir uma pergunta sobre a ideia
As perguntas existentes sobre a ideia podem ser excluídas enquanto uma campanha está sendo editada.
Selecionar Excluir remove a pergunta da coleção colQuestions e adiciona a questão excluída à coleção colQuestionsToDelete.
A pergunta excluída também é removida da galeria galCampaignEditQuestions.
Selecionar Salvar remove a pergunta excluída da tabela Perguntas sobre a ideia do funcionário.
Alterar a ordem das perguntas sobre a ideia
Esta seção explica as coleções e variáveis usadas e detalhes de execução ao alterar a ordem das perguntas de ideia quando você adicionar/editar uma campanha de ideia.
Coleções usadas ao alterar a ordem das perguntas sobre a ideia
As seguintes coleções são usadas quando você altera a ordem das perguntas sobre a ideia:
| Nome das coleções | Descrição |
|---|---|
| colQuestions | Usado para coletar as perguntas sobre a ideia. |
Variáveis usadas ao alterar a ordem das perguntas sobre a ideia
As seguintes variáveis são usadas quando você adicionar uma pergunta sobre a ideia:
| Nome da variável | Descrição |
|---|---|
| locSequenceCurrent | Variável local para definir o número de sequência atual da pergunta. |
| locSequenceNew | Variável local para definir o novo número de sequência atual da pergunta. |
Detalhes de execução ao alterar a ordem das perguntas sobre a ideia
A sequência das perguntas sobre a ideia pode ser atualizada usando as setas para cima e para baixo disponíveis ao lado das perguntas.
A seta para cima é desativada para a primeira pergunta e a seta para baixo é desativada para a última pergunta na galeria (o modo de exibição é controlado pelo valor do campo msft_sequence).
As perguntas na coleção colQuestions são reorganizadas comparando os valores das variáveis locSequenceCurrent e locSequenceNew.
Alterar o tipo de resposta para a pergunta
Esta seção explica as coleções e variáveis usadas e detalhes de execução ao alterar o tipo de resposta das perguntas sobre a ideia quando você adicionar/editar uma campanha de ideia.
Coleções usadas ao alterar o tipo de resposta das perguntas sobre a ideia
As seguintes coleções são usadas quando você altera o tipo de resposta das perguntas sobre a ideia:
| Nome das coleções | Descrição |
|---|---|
| colQuestions | Usado para coletar as perguntas sobre a ideia. |
Variáveis usadas ao alterar o tipo de resposta das perguntas sobre a ideia
Alterar o tipo de resposta das perguntas sobre a ideia não usa variáveis.
Detalhes de execução ao alterar o tipo de resposta das perguntas sobre a ideia
Os tipos de resposta disponíveis para perguntas são exibidos como parte da galeria galCampaignQuestionResponseType.
A propriedade visível da galeria galQuestionResponseRating é controlada pelo tipo de resposta selecionado na galeria galCampaignQuestionResponseType comparando os valores das variáveis locSequenceCurrent e locSequenceNew.
Para o tipo de resposta de Classificação, uma lista de números é mostrada; sendo o mais baixo é 1 e o mais alto 5.
Para o tipo de resposta Texto, um botão de alternância com as opções Longa e Curta é exibido.
Enviar uma nova ideia
Esta seção explica as coleções e variáveis usadas e os detalhes de execução ao enviar uma nova ideia.
Coleções usadas ao enviar uma nova ideia
As seguintes coleções são usadas ao enviar uma nova ideia:
| Nome das coleções | Descrição |
|---|---|
| colQuestions | Usado para coletar as perguntas sobre a ideia. |
| colResponses | Usado para coletar respostas para as perguntas sobre a ideia. |
| colFiles | Usado para coletar os arquivos associados a uma ideia. |
Variáveis usadas ao enviar uma nova ideia
As seguintes variáveis são usadas ao enviar uma nova ideia:
| Nome da variável | Descrição |
|---|---|
| gblSelectedRecordCampaign | Variável global para armazenar o registro da campanha no contexto atual. |
| locVisibleCampaignIdea | Variável local usada para controlar a visibilidade da tela de detalhes da ideia. |
| locCreateNewIdea | Variável local usada para controlar a visibilidade da tela de detalhes da ideia. |
| locFormRecordIdea | Variável local usada para armazenar o registro de ideia que está sendo criado. |
| gblParamTeamId | Variável para armazenar o ID do grupo do planejador. |
| gblParamChannelId | Variável para armazenar o ID do canal do planejador. |
Detalhes de execução ao enviar uma nova ideia
Uma nova ideia pode ser enviada na tela de detalhes da campanha.
Usando o botão Envie uma ideia, as perguntas sobre a ideia para a campanha selecionada (gblSelectedRecordCampaign) são coletadas na coleção colQuestions.
A coleção colResponses é usada para coletar as respostas da ideia, e para todas as perguntas sobre a ideia presentes na coleção colQuestions, as respostas são coletadas na coleção colResponses.
A coleção colFiles é apagada e as variáveis locCreateNewIdea e locVisibleCampaignIdea são definidas como verdadeiras.
Os valores das variáveis locVisibleCampaignIdea e locCreateNewIdea são definidos como verdadeiros, exibindo os contêineres conCampaignIdeaPane e conIdeaImage.
A galeria galIdeaResponses exibe os campos que devem ser preenchidos para salvar a ideia.
Usar a imagem Novo arquivo permite que os usuários adicionem arquivos relacionados.
Os arquivos adicionados para uma ideia são exibidos como parte da galeria galIdeaFiles cuja propriedade de itens está definida como a coleção colFiles. O ícone do arquivo correspondente é exibido (armazenado na coleção colFileIcons).
A opção Excluir remove o arquivo anexado da coleção colFiles.
Configurar o controle de alternância Compartilhar no canal como "Ligado" posta uma mensagem no canal sobre a criação da ideia.
Voltar leva o usuário de volta para a tela de resumo da campanha. Cancelar exibe os detalhes da campanha.
Salvar é habilitado quando colResponses não está em branco. Selecionar Enviar ideia faz com que dados nas coleções colResponses e colFiles sejam atualizados na tabela de Respostas para a ideia do funcionário, e se a opção Compartilhar no canal for definida como "Sim", com base nos valores das variáveis gblParamTeamId e gblParamChannelId coletadas no início do app, é feita uma postagem no canal.
Os dados de colFiles, colIdeas e colResponses são atualizados para as tabelas Arquivos da ideia do funcionário, Ideias do funcionário e Respostas para a ideia do funcionário, respectivamente.
O valor da variável locVisibleCampaignIdeaSubmitted é definida como verdadeira exibindo o contêiner conIdeaSubmtted (mensagem de Ideia enviada).
Voltar para a Lista de Ideias define a variável locVisibleCampaignView como verdadeira e exibe os detalhes da campanha.
Excluir uma ideia
Esta seção explica as coleções e variáveis usadas e os detalhes de execução ao excluir uma ideia.
Coleções usadas ao excluir uma ideia
As seguintes coleções são usadas quando você exclui uma ideia:
| Nome das coleções | Descrição |
|---|---|
| colResponses | Usado para coletar respostas para a ideia. |
| colFiles | Usado para coletar arquivos associados a uma ideia. |
Variáveis usadas ao excluir uma ideia
As seguintes variáveis são usadas ao excluir uma ideia:
| Nome da variável | Descrição |
|---|---|
| locVisibleIdeaCommands | Variável local usada para controlar a visibilidade do botão de exclusão de ideia (galIdeaCommands). |
| gblRecordCampaignIdea | Variável global para armazenar o registro de ideia da campanha no contexto atual. |
| locVisibleCampaignIdea | Variável local usada para controlar a visibilidade dos detalhes da ideia. |
| locVisibleDialog | Variável local para controlar a visibilidade do segundo plano da caixa de diálogo. |
| locVisibleDialogDelete | Variável local para controlar a visibilidade da caixa de diálogo de exclusão. |
| locVisibleCampaignEdit | Variável local para controlar a propriedade visível do contêiner conCampaignUpsert (indica que uma campanha existente pode ser editada se o valor for verdadeiro). |
Detalhes de execução ao excluir uma ideia
Selecionando qualquer uma das ideias da galeria galCampaignDetailsIdeas define a variável gblRecordCampaignIdea como a ideia selecionada, e os detalhes correspondentes armazenados em colResponses e colFiles são exibidos.
O valor da variável locVisibleCampaignIdea definida como verdadeira exibe os detalhes da ideia.
O usuário pode excluir o registro de ideia selecionada usando o ícone Mais ao lado do botão de votar. Esta ação mostra o botão de exclusão com base no valor da variável locVisibleIdeaCommands.
Excluir define os valores das variáveis locVisibleDialog e locVisibleDialogDelete como verdadeiro exibindo o contêiner conConfirmDelete (caixa de diálogo de Confirmação de exclusão).
O usuário deve marcar a caixa de seleção Eu entendo para continuar com a exclusão da campanha.
Quando o botão Excluir é selecionado, a campanha selecionada é removida da tabela Campanha de ideias do funcionário e as ideias relacionadas são removidas da tabela Ideias do funcionário e a coleção colIdeas é atualizada.
O valor da variável locVisibleCampaignView é definido como verdadeiro, exibindo os detalhes da campanha.
Tela Configurações
Esta seção explica as coleções e variáveis usadas, bem como os detalhes de execução da tela de configurações ao editar a configuração do aplicativo.
Coleções da tela de configurações
A tela de configurações usa as seguintes coleções:
| Nome das coleções | Descrição |
|---|---|
| colIdeaStats_Raw | Usado para coletar ideias brutas para estatísticas com detalhes do proprietário. |
Variáveis da tela de configurações
A tela de configurações usa as seguintes variáveis:
| Nome da variável | Descrição |
|---|---|
| locBlockUserInput | Variável local usada para bloquear a entrada do usuário exibindo uma caixa de diálogo quando algo estiver sendo salvo. |
| gblRecordSettings | Variável global usada para definir a ID da equipe e do canal para a tabela Configurações de ideias de funcionários. |
| gblSettingNotificationChannelId | Variável global para armazenar o ID do Canal em que as notificações serão postadas. |
| gblDropdownChannel | Variável global para armazenar a lista de canais de um grupo. |
Detalhes de execução da tela de configurações
Os usuários têm a possibilidade de atualizar se apenas os proprietários das equipes poderão adicionar campanhas e selecionar o canal onde as mensagens serão postadas.
A lista de canais na lista suspensa são da variável gblDropdownChannel.
O botão Salvar é habilitado quando o valor suspenso selecionado ou o valor restrito do proprietário da equipe é diferente do valor armazenado na variável gblRecordSettings (que é definido no início do aplicativo).
Salvar atualiza os detalhes na tabela Configurações da ideia do funcionário e leva o usuário à tela Resumo da campanha. O valor da variável locBlockUserInput é definida como verdadeira, certificando-se de que o usuário não faça nenhuma atualização adicional enquanto o salvamento está em andamento.
Cancelar leva o usuário de volta para a tela anterior.
Tela Sobre
Esta seção explica as coleções e variáveis usadas e os detalhes de execução da tela de configurações.
Coleções da tela Sobre
A tela Sobre não usa nenhuma coleção.
Variáveis da tela Sobre
A tela Sobre não usa nenhuma variável.
Detalhes de execução da tela Sobre
Botão Personalize usando o Power Apps no recipiente conHeader_About abre o Power Apps no Microsoft Teams.
A galeria galAbout_HelpLinks armazena os links de ajuda.
O botão Saiba como personalizar este aplicativo leva você a um link externo que explica como fazer personalizações no aplicativo.
O botão Envie suas ideias leva você a um link externo onde ideias podem ser publicadas para o aplicativo.
O botão Engage with community leva você para a página da Comunidade do Power Apps.
O recipiente conAbout_AppVideo contém o link do vídeo que fornece uma visão geral do aplicativo.
A galeria galAbout_OtherApps contém os links para outros Power Apps na loja do Teams.
O botão Exibir aplicativo leva você para a página do aplicativo na loja de aplicativos do Microsoft Teams.
O botão Visão geral do aplicativo leva você ao vídeo de visão geral do aplicativo.
conAbout_Version fornece informações sobre o controle de versão do aplicativo.
Consulte também
Personalizar o aplicativo de ideias do funcionário
Aplicativo de exemplo Ideias de funcionários
Usar aplicativos de exemplo da loja do Microsoft Teams
Personalizar aplicativos de exemplo instalados da store do Teams
Perguntas frequentes (FAQs) sobre aplicativos de exemplo
Comentários
Enviar e exibir comentários de