Remova a dependência do Planner para a criação de tarefas no aplicativo de amostra Relatório de problemas
No aplicativo de amostra Relatório de problemas, você pode compartilhar o aplicativo para ampla distribuição. Ao fazer isso, os usuários fora da equipe do Microsoft Teams podem não ter acesso ao Planner. Se esse caso for verdadeiro, a criação de tarefas falhará porque os usuários enviaram o problema.
Assista a este vídeo para aprender como remover a dependência do planejador para a criação de tarefas no aplicativo de exemplo de relatórios de Problemas:
O Relatório de problemas depende muito do Planner, e os usuários do aplicativo devem ter acesso ao Planner que o aplicativo usa para criar problemas. O Planner é referenciado em vários lugares no aplicativo:
Durante o aplicativo OnLoad, o aplicativo verifica se o ambiente do Planner foi definido nas configurações do aplicativo e se o usuário do aplicativo tem acesso a esse ambiente do Planner.
A tela Insights mostra estatísticas de problemas criados e concluídos — essa mensagem aparece no Planner.
Na criação de problemas, uma tarefa é criada no Planner e o bucket, a categoria e os IDs do plano do Planner são recuperados do Planner.
O aplicativo verifica se o bucket ainda existe no Planner e, se não existir, ele o criará.
Design do processo atual
Na lição Adicionar sinalizador de urgência aos problemas relatados, criamos um fluxo para substituir o processo de criação de tarefas e o estendemos para automatizar a atribuição de tarefas. Nosso processo atualmente usa um fluxo do Power Automate para criar a tarefa no Planner:
Crie uma tarefa do Planner.
Crie um registro no aplicativo Relatório de problemas na tabela Relatório de problemas no Microsoft Dataverse.
Insira o ID do Planner no app novamente.
Como o processo completo é executado em um fluxo instantâneo, o usuário que executa o fluxo deve ter permissão para criar a tarefa.
Como remover a dependência do Planner
Portanto, se você quiser remover a dependência do Planner completamente para que os usuários do aplicativo não precisem de acesso ao Planner, há várias partes do aplicativo que você precisará modificar:
O aplicativo possui um controle de timer que é executado no aplicativo OnLoad. Ao final do timer, o aplicativo verifica se o usuário tem acesso ao ambiente do Planner e, caso não tenha, navega para uma tela de erro.
A tela Insights exibe métricas de problemas criados e encerrados no Microsoft Planner.
A fórmula On Select do botão Enviar problema tem muitas referências ao Microsoft Planner.
A confirmação de envio do problema possui um botão para o usuário visualizar a tarefa criada no Microsoft Planner.
Nesta lição, seguiremos as etapas necessárias para remover o requisito de acesso ao Planner e substituí-lo por tarefas criadas diretamente no Microsoft Dataverse. Também falaremos sobre como você pode estender ainda mais o processo de criação de tarefas no sistema de gerenciamento de tarefas que quiser.
Remover verificação de acesso ao Planner
Durante o aplicativo OnLoad, um controle de timer é iniciado. Ao final do timer, o aplicativo verifica se o usuário tem acesso a instância do Planner para o aplicativo e, caso não tenha, redireciona o usuário a uma tela que informa que o Planner precisa ser configurado. Como estamos modificando o aplicativo para que ele funcione para usuários que não têm acesso ao Planner, removeremos esse recurso.
No Teams, em Power Apps, selecione a Exibição em árvore.
Amplie a Tela de chegada.
Amplie o conLoading_HiddenHelper.
Selecione o controle do timer tmrLoadingDelay.

Selecione a propriedade OnTimerEnd e expanda a barra de fórmulas.
Substitua a fórmula por estes comandos:
Navigate('Insights Screen',ScreenTransition.None)Salve e publique seu aplicativo.
Remova o botão Exibir tarefa da Tela de envio de problema
Como as tarefas no Planner serão criadas por uma conta diferente e os usuários que as enviarem não terão acesso ao Microsoft Planner, precisaremos remover o botão na tela de confirmação de envio que redireciona para a tarefa no Planner.
No Teams, em Power Apps, selecione a Exibição em árvore.
Selecione Tela de envio de problema.
Selecione o botão Ver tarefa.
Selecione Excluir.
Salve e publique seu aplicativo.
A tela de envio de problema agora deve estar assim:

Atualizar coleção de tarefas da tela de insights do Planner
A fórmula OnVisible da tela de insights coleta as tarefas do Planner para exibir o histórico de tarefas na seção Últimos 7 dias da tela. Se os usuários do aplicativo não tiverem acesso ao Planner, eles não verão estatísticas nesta tela.
No Teams, em Power Apps, selecione Exibição em árvore.
Selecione Tela de insights.
Selecionar a propriedade OnVisible.
Esta parte da fórmula é onde as tarefas são coletadas:

Atualize isso para o sistema de tarefas que quiser.
Amplie a Tela de insights em Exibição em árvore.
Amplie ConWeekAtGlance.
Selecione galWeekAtGlance.
A fórmula de propriedade Itens faz referência a "colPlannerTasks". Se você estiver mudando para outro sistema de gerenciamento de tarefas, precisará atualizar essa fórmula para exibir corretamente as informações de resumo desse sistema.
Atualizar tela de Relatório de problema
A tela de Relatório de problema contém muitas dependências com o Planner que precisarão ser atualizadas para usuários sem acesso ao Planner para poder criar problemas. Para fazer o aplicativo funcionar com outros sistemas de gerenciamento de tarefas, removeremos a propriedade OnSelect do botão Enviar problema
No modo de Exibição em árvore, selecione Tela de Relatório de problemas.
Selecione o botão Enviar um problema.
Selecione a propriedade OnSelect.
Limpe a fórmula.
Agora que removemos a fórmula OnSelect atual, criaremos um fluxo. Esse fluxo atualizará diretamente a tabela Relatório de problemas no Dataverse.
Quando estiver na propriedade OnSelect do botão Enviar problema, selecione os três pontos verticais no menu do Power Apps selecione Power Automate.
Selecione Criar fluxo.
Selecione Power Apps para disparar o fluxo.
O novo fluxo da janela abrirá. Selecione o campo do nome do fluxo e nomeie-o Criar tarefa no Dataverse.
Selecione Nova etapa.
Busque os conectores para Compor e adicione uma etapa de composição.
Nas próximas etapas, definiremos os valores como Pergunte no PowerApps. Quando você define um valor em um fluxo do Power Automate acionado do Power Apps para o Pergunte no PowerApps, um parâmetro é criado em seu fluxo e o Power Apps passará um valor para este parâmetro quando o fluxo for chamado de um aplicativo.

Renomear a etapa de composição Categoria.
Observação
Sempre renomeie suas etapas de composição antes de definir seu valor para Pergunte no Power Apps para que o parâmetro criado inclua o nome apropriado, em vez de um nome genérico.
Selecione o painel de conteúdo dinâmico e selecione a ação Pergunte no PowerApps.
Adicione outra etapa de composição.
Renomeie a nova etapa de composição Modelo.
Defina a entrada para a etapa do modelo como Pergunte no PowerApps.
Busque conectores para o Dataverse e selecione a ação Adicionar uma nova linha.
Selecione Relatórios de problemas como a tabela.
Defina este mapeamento de campo:
Column Valor Categoria Defina como msft_issuereport_categories() e, entre os parênteses, selecione category_inputs no painel de conteúdo dinâmico. Name Pergunte no Power Apps Atribuição de tarefa Pergunte no Power Apps Descrição da Tarefa Pergunte no Power Apps Data de conclusão da tarefa Pergunte no Power Apps Modelo Defina como msft_issuereport_templates() e entre os parênteses, selecione o valor de saída da etapa de composição do modelo. Selecione Salvar para salvar seu fluxo.
Assim que o fluxo for salvo, volte para o Power Apps.
Aguarde alguns segundos e você verá seu novo fluxo na lista de fluxos. Selecione-o.
Agora, sua fórmula OnSelect será CreatetaskinDataverse.Run(.
Posicione o cursor diretamente na frente da expressão "Criar tarefa...". Em seguida, cole esta fórmula (isso é necessário para criar variáveis como a cadeia atribuída e a descrição, que combina as perguntas do formulário de problema com as respostas fornecidas pelo usuário para a descrição da tarefa).
UpdateContext({locSavingRecord: true}); // Create Task With({varHasLocation: !IsBlank(txtLocation.Text) Or tglLocation.Value,varHasDescription: !IsBlank(txtDescription.Text),varHasQuestions: !IsBlank(colCdsIssueQuestions), varBusinessDaysDue: If(IsBlank(gblRecordTemplate.'Business Days until Due'),1, gblRecordTemplate.'Business Days until Due')}), With({varDescriptionPart_Location: If(varHasLocation, Concatenate("Location: ", txtLocation.Text, If( tglLocation.Value, Concatenate(Char(10), "Address: ", lblLocation_Address.Text))), Blank()),varDescriptionPart_Description: If(varHasDescription, Concatenate("Description:",Char(10),txtDescriptionText),Blank()),varDescriptionPart_Questions: If(varHasQuestions,Concat(colCdsIssueQuestions,Concatenate(Instructions,Char(10),If(IsBlank(appResponse),"(No Response)",appResponse)),Char(10) & Char(10),Blank()),varDueDate: With({varBusinessDaysBaseline: varBusinessDaysDue,varWeekEndDaysThisWeek: If((Weekday(gblTodayStartOfWeek.Monday) + varBusinessDaysDue) \> 5,2,0),varWeekEndDaysFuture: If(varBusinessDaysDue \> 5,RoundDown(Value(varBusinessDaysDue) / 5,0) \* 2,0),varTodayOffset: If(Hour(Now()) \< 9,\-1,0)},DateAdd(gblToday,Max(varBusinessDaysBaseline + varWeekEndDaysThisWeek + varWeekEndDaysFuture + varTodayOffset,1),Days))}, UpdateContext({locNewTask: {appTitle: gblRecordTemplate.Title, appBucket: locPlannerBucketForTask, appStart: Now(),appDue: varDueDate,appDescription: Concatenate(If(varHasDescription,varDescriptionPart_Description, Blank()),If(varHasDescription And varHasLocation,Char(10) & Char(10),Blank()), If(varHasLocation,varDescriptionPart_Location,Blank()),If((varHasLocation And varHasQuestions) Or (varHasDescription And varHasQuestions), Char(10) & Char(10), Blank()),If(varHasQuestions,varDescriptionPart_Questions,Blank())),appAssignments: Concat(colCdsIssueAssignments,appEmailAddress,";")}})));Posicione o cursor após "CreatetaskinDataverse.Run(" (parêntese direito) e insira os valores a serem transmitidos ao fluxo. Se você atualizou os campos de fluxo na ordem fornecida nesta lição, a fórmula deve ser a seguinte:
CreatetaskinDataverse.Run(gblRecordCategory.'Issue Report Category',gblRecordTemplate.'Issue Report Template',locNewTask.appTitle,locNewTask.appAssignments,locNewTask.appDescription,locNewTask.appDue,locNewTask.appStart)Adicione um ponto e vírgula após a fórmula de execução do fluxo.
Adicione estas informações ao final da fórmula para navegar até a confirmação de criação da tarefa.
Navigate('Issue Submission Screen',ScreenTransition.Fade,{locDueDate: locNewTask.appDue}); UpdateContext({locSavingRecord: false});Salve e publique seu aplicativo.
Testar o fluxo
Agora que criamos um novo fluxo para criar a tarefa diretamente no Dataverse, teste o processo:
Acesse a equipe na qual o aplicativo Relatório de problemas está instalado.
Envie um novo problema.
Verifique se a tarefa foi criada com sucesso abrindo o aplicativo Power Apps no Teams (lembre-se de clicar com o botão direito e abrir o aplicativo).
Selecione a guia Criar e selecione a guia Aplicativos instalados.

Selecione Ver tudo no bloco Relatório de problemas.

Selecione as reticências (...) na tabela Relatório de problemas e selecione Editar dados.

Verifique se o problema relatado aparece na tabela. Se ele não for exibido, faça login no Power Automate e veja se há algum erro de fluxo.
Próximas etapas
Agora que você atualizou o aplicativo para criar a tarefa diretamente no Dataverse, poderá ampliar ainda mais o processo para criar a tarefa em praticamente qualquer sistema de gerenciamento de tarefas. Veja abaixo uma lista de aplicativos e serviços de gerenciamento de tarefas para os quais existem conectores para o Power Automate:
- Microsoft To-Do
- Tarefas do Outlook
- Project Online
- Tarefas do Google
- Metatask
- Todoist
- Jira
- Asana
- Trello
Para integrar o processo, você pode adicionar uma ação ao fluxo criado anteriormente para criar um registro no sistema de tarefas que quiser. Se algum campo obrigatório não for fornecido na configuração padrão de Relatório de problema, adicione-o ao aplicativo e atualize o fluxo para passar esses valores para o fluxo.
Consulte também
- Entender a arquitetura do aplicativo de exemplo Relatório de Problemas
- Personalizar o aplicativo Relatório de problemas
- Perguntas frequentes sobre aplicativos de exemplo
- Usar aplicativos de exemplo da loja do Microsoft Teams
Observação
Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)
A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).
Comentários
Enviar e exibir comentários de