Partilhar via


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

Pode personalizar um formulário para uma lista do SharePoint quando integra uma lista no Power Apps. Neste artigo, você aprenderá como esses formulários funcionam e como personalizá-los.

Quando personaliza um formulário para uma lista, vê o formulário predefinido gerado funciona para todas as operações, como criar, mostrar ou editar um item. Esta funcionalidade usa fórmulas geradas e o controlo SharePointIntegration.

Nota

Quando cria ou vê uma lista no SharePoint, é automaticamente redirecionado para as Listas Microsoft. Você sempre pode encontrar a lista em Listas da Microsoft e no SharePoint. Para obter mais informações, consulte O que é uma lista no Microsoft 365?

Compreender o formulário predefinido gerado

O formulário predefinido gerado é composto pelos seguintes controlos e as respetivas predefinições correspondentes. As fórmulas são geradas automaticamente dentro das predefinições.

  • FormScreen1 : este é o ecrã que contém o formulário.

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

    • Origem de Dados: a lista para a qual o formulário é personalizado. Por exemplo, uma lista do SharePoint atua como uma origem de dados.

    • Item: um item selecionado de uma lista. Está item está definido como o primeiro First() item na lista para sua comodidade, ao trabalhar no Power Apps Studio.

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

      Gorjeta

      Este padrão de fórmula usa ... SharePointDatasourceName.Selected e funciona para a propriedade Item de um formulário. Consulte os Problemas comuns com o objeto SharePointIntegration para obter um padrão de fórmula para definir o valor de um registo 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 as ações do utilizador entre o SharePoint e o Power Apps.

    Propriedade Descrição Exemplo
    Origem de Dados A lista para a qual o formulário é personalizado. YourListName
    OnNew Define SharePointForm1 no modo novo. NewForm(SharePointForm1)
    OnView Define SharePointForm1 no modo novo. ViewForm(SharePointForm1)
    OnEdit Define SharePointForm1 no modo de edição. EditForm(SharePointForm1)
    OnSave Submete as alterações para o SharePointForm1. A fórmula SharePointForm1.OnSuccess é executada quando submete um formulário com êxito. SubmitForm(SharePointForm1)
    OnCancel Repõe as alterações ao SharePointForm1. O SharePoint oculta sempre o formulário quando um utilizador seleciona Cancelar no SharePoint. ResetForm(SharePointForm1)

Estas predefinições garantem que o formulário funciona quando é executado no SharePoint. As predefinições alteram o modo de formulário do Power Apps à medida que o utilizador interage com o mesmo no SharePoint e asseguram que as alterações são submetidas no SharePoint.

Nota

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.

Compreender o controlo SharePointIntegration

O controlo SharePointIntegration comunica as ações do utilizador entre o SharePoint e o Power Apps.

Captura de ecrã de um objeto de integração do SharePoint, conforme apresentado no Power Apps.

Nota

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

O controlo SharePointIntegration tem estas propriedades:

Property Efeito ou descrição
Selected O item selecionado na lista.
OnNew Ativada quando um utilizador seleciona o botão Novo ou abre o formulário Criar item no SharePoint.
OnView Ativada quando um utilizador seleciona um item ou abre o formulário de Detalhes do item no SharePoint.
OnEdit Ativada quando um utilizador seleciona o botão Editar tudo ou abre o formulário Editar item no SharePoint.
OnSave Ativada quando um utilizador seleciona o botão Guardar no SharePoint.
OnCancel Ativada quando um utilizador seleciona o botão Cancelar no SharePoint.
SelectedListItemID O ID de item do item selecionado numa lista.
Origem de Dados A lista que contém o registo que o formulário mostra, edita ou cria. Se alterar esta propriedade, as propriedades Selected e SelectedItemID poderão deixar de funcionar.

Personalizar o formulário predefinido

Pode alterar as fórmulas para personalizar ainda mais os formulários.

Considere estas táticas ao personalizar formulários:

  • Utilize a fórmula OnSave do controlo SharePointIntegration para personalizar o efeito de um utilizador que seleciona Guardar no SharePoint. Se tiver vários formulários, não se esqueça de submeter as alterações apenas para o formulário que está a ser utilizado.

    Gorjeta

    Defina valores diferentes para uma variável nas fórmulas OnNew, OnView e OnEdit. Pode utilizar esta variável na fórmula OnSave para determinar que formulário está a ser utilizado.

  • Inclua RequestHide() na fórmula OnSuccess de todos os seus formulários. Sem esta função, o SharePoint não sabe quando deve ocultar o formulário. Evite executar 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 pode controlar a ocultação de um formulário quando um utilizador seleciona Cancelar no SharePoint. Redefina sempre os seus formulários na fórmula OnCancel do controlo SharePointIntegration.

  • As propriedades para o controlo SharePointIntegration podem não estar disponíveis em OnStart ou OnVisible. Estes eventos são executados apenas uma vez enquanto a lista é carregada. Pode utilizar OnNew, OnView ou OnEdit para executar lógica antes de o formulário ser apresentado ao utilizador.

Questões comuns com o objeto SharePointIntegration

  • Quando você define o valor de SharepointIntegration.Selected para uma coleção na propriedade OnView , ele não mostra o valor mais recente. Para corrigir este problema, utilize SharepointIntegration.SelectedListItemID e, em seguida, faça uma pesquisa na tabela para obter selectedRecord.

    Por exemplo, para a propriedade OnView:

    • Em vez de:

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

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

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

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

Não é possível partilhar 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 Modo de Exibição Restrito à 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.