Compartilhar via


Compreender a integração de formulários do SharePoint

Você pode personalizar um formulário para uma lista do SharePoint ao integrar uma lista ao Power Apps. Neste artigo, você aprenderá como esses formulários funcionam e como personalizá-los.

Ao personalizar um formulário para uma lista, você vê que o formulário gerado por padrão funciona para todas as operações, como criar, exibir ou editar um item. Esta funcionalidade usa fórmulas geradas e o controle SharePointIntegration.

Observação

Ao criar ou exibir uma lista no SharePoint, você é redirecionado automaticamente para Listas da Microsoft. Você sempre pode encontrar a lista nas Listas da Microsoft e no SharePoint. Para obter mais informações, confira O que é uma lista no Microsoft 365?

Entender o formulário gerado padrão

O formulário gerado padrão consiste nos seguintes controles e seus padrões correspondentes. As fórmulas são geradas automaticamente dentro dos padrões.

  • FormScreen1: esta é a tela que contém o formulário.

  • SharePointForm1: este formulário pode criar, mostrar ou editar o item de lista.

    • Fonte de dados: a lista para a qual o formulário foi personalizado. Por exemplo, uma lista do SharePoint atua como uma fonte de dados.

    • Item: um item selecionado de uma lista. Este item está definido como item First() na lista para sua conveniência, ao trabalhar no Power Apps Studio.

      If( IsBlank(SharePointIntegration.Selected) || IsEmpty(SharePointIntegration.Selected),
          First('*YourListName*'),
      SharePointIntegration.Selected )
      

      Dica

      Este padrão de fórmula usa ... SharePointDatasourceName.Selected e funciona para a propriedade Item de um formulário. Consulte Problemas comuns com o objeto SharePointIntegration para obter um padrão de fórmula para definir o valor de um registro do SharePoint.

  • OnSuccess: depois que o item é criado ou salvo com êxito, o formulário é redefinido e o SharePoint oculta o formulário.

    ResetForm(SharePointForm1); RequestHide()
    
  • SharePointIntegration: comunica ações do usuário entre o SharePoint e o Power Apps.

    Propriedade Description Exemplo
    Fonte de Dados A lista para a qual o formulário é personalizado. YourListName
    OnNew Define SharePointForm1 no novo modo. NewForm(SharePointForm1)
    OnView Define SharePointForm1 no modo de exibição. ViewForm(SharePointForm1)
    OnEdit Define SharePointForm1 no modo de edição. EditForm(SharePointForm1)
    OnSave Envia as alterações para o SharePointForm1. A fórmula SharePointForm1.OnSuccess é executada quando você envia com sucesso um formulário. SubmitForm(SharePointForm1)
    OnCancel Redefine as alterações para o SharePointForm1. O SharePoint sempre oculta o formulário quando um usuário seleciona Cancelar no SharePoint. ResetForm(SharePointForm1)

Esses padrões garantem que o formulário funcione ao ser executado dentro do SharePoint. Os padrões alteram o modo do formulário do Power Apps à medida que o usuário interage com ele no SharePoint, e garantem que as alterações sejam enviadas para o SharePoint.

Observação

Embora você possa copiar manualmente um formulário de um ambiente para outro, atualmente não há nenhum método automatizado no Power Apps para copiar um formulário de um ambiente para outro.

Entender o controle SharePointIntegration

O controle SharePointIntegration comunica ações do usuário entre o SharePoint e o Power Apps.

Captura de tela de um objeto de integração do SharePoint como visto no Power Apps.

Observação

Você pode acessar propriedades para o controle SharePointIntegration somente quando o formulário é executado no SharePoint, não quando você estiver personalizando o formulário no Power Apps Studio. Essas propriedades podem não estar disponíveis no OnStart ou no OnVisible.

O controle SharePointIntegration tem estas propriedades:

Propriedade Efeito ou descrição
Selecionado(s) O item selecionado da lista.
OnNew Ativada quando um usuário seleciona o botão Novo ou abre o formulário Criar item no SharePoint.
OnView Ativada quando um usuário selecione um item ou abre o formulário Detalhe do item no SharePoint.
OnEdit Ativada quando um usuário seleciona o botão Editar tudo ou abre o formulário Editar item no SharePoint.
OnSave Ativada quando um usuário seleciona o botão Salvar no SharePoint.
OnCancel Ativada quando um usuário seleciona o botão Cancelar no SharePoint.
SelectedListItemID O ID do item selecionado em uma lista.
Fonte de Dados A lista que contém o registro que o formulário mostra, edita ou cria. Se você alterar esta propriedade, as propriedades Selected e SelectedItemID podem parar de funcionar.

Personalizar o formulário padrão

Você pode alterar as fórmulas para personalizar ainda mais os formulários.

Considere estas táticas ao personalizar formulários:

  • Use a fórmula OnSave do controle SharePointIntegration para personalizar o efeito de um usuário selecionando Salvar no SharePoint. Se você tiver vários formulários, envie as alterações somente para o formulário que está sendo usado no momento.

    Dica

    Defina valores diferentes para uma variável nas fórmulas OnNew, OnView e OnEdit. Você pode usar essa variável na fórmula OnSave para determinar qual formulário está sendo usado.

  • Inclua RequestHide() na fórmula OnSuccess de todos seus formulários. Sem esta função, o SharePoint não sabe quando deve ocultar o formulário. Evite executar o código importante depois de chamar RequestHide(). O código deve ser executado enquanto o formulário ainda está visível e capaz de executar a lógica.

  • Não é possível controlar a ocultação de um formulário quando um usuário seleciona Cancelar no SharePoint. Sempre redefina seus formulários na fórmula OnCancel do controle SharePointIntegration.

  • As propriedades do controle SharePointIntegration talvez não estejam disponíveis em OnStart ou OnVisible. Esses eventos são executados apenas uma vez enquanto a lista é carregada. É possível usar OnNew, OnView ou OnEdit para executar lógica antes de o formulário ser mostrado para o usuário.

Problemas comuns com o objeto SharePointIntegration

  • Quando você define o valor de SharepointIntegration.Selected para uma coleção na propriedade OnView, ela não exibe o valor mais recente. Para corrigir esse problema, use SharepointIntegration.SelectedListItemIDe faça uma pesquisa na tabela para obter o SelectedRecord.

    Por exemplo, para a propriedade OnView:

    • Em vez de:

      Set( selectedItem,
      SharePointIntegration.Selected );
      
    • Use:

      Set( selectedLookupItem,
      LookUp( YourSharepointIntegrationObject, 
      ID=SharePointIntegration.SelectedListItemID ) );
      
  • As variáveis de coleção não são redefinidas quando você fecha o formulário do Power Apps. O estado persiste para toda a sessão. Se você precisar redefinir as variáveis, desmarque-as na propriedade OnView do SharePointIntegration objeto.

  • Não use funções imperativas como Launch() nas propriedades SharePointIntegration (como OnNew e OnView). Esse uso pode causar um comportamento inesperado, já que os eventos do ciclo de vida SharePointIntegration (como a alteração de seleções) podem ser disparados em segundo plano mesmo quando o formulário não está visível.

Entender o acesso do usuário a formulários personalizados

Você não pode compartilhar manualmente um formulário do SharePoint personalizado com o Power Apps. Em vez disso, qualquer usuário que tenha pelo menos acesso de Leitura ou Exibição Restrita à lista vinculada do SharePoint herda o acesso ao formulário. Os usuários que receberam apenas permissões para itens específicos na lista não têm acesso ao formulário personalizado.