Noções básicas sobre integração de formulários do SharePoint
Agora pode facilmente personalizar qualquer formulário de Listas Microsoft ou biblioteca do SharePoint no Power Apps. Neste artigo, vamos explicar os detalhes de funcionamento destes formulários e como pode personalizá-los.
Se personalizou um formulário para uma lista, provavelmente reparou que o formulário predefinido gerado funciona para todas as operações, como criar, mostrar ou editar um item. Isto é conseguido com a ajuda de fórmulas geradas e do controlo SharePointIntegration.
Compreender o formulário predefinido gerado
O formulário predefinido gerado é composto pelos seguintes controlos e as respetivas predefinições correspondentes:
FormScreen1 - Esta é o ecrã que contém o formulário.
SharePointForm1 - Este é o formulário utilizado para criar, mostrar ou editar o item da lista.
Origem de Dados - A lista para a qual o formulário foi personalizado.
Item - O item selecionado na lista. Está definido como item First() na lista para sua comodidade quando trabalhar no Power Apps Studio.
If( IsBlank(SharePointIntegration.Selected) || IsEmpty(SharePointIntegration.Selected), First('*YourListName*'), SharePointIntegration.Selected )
Dica
O padrão de fórmula acima (usando
... SharePointDatasourceName.Selected
) funciona para a propriedade Item de um formulário. Consulte a secção abaixo para obter um padrão de fórmula para definir o valor de um registo SharePoint.
OnSuccess- Depois de o item ser criado ou guardado com êxito, o formulário é reposto e o SharePoint oculta o formulário.
ResetForm(SharePointForm1); RequestHide()
SharePointIntegration - O controlo responsável por comunicar as ações do utilizador entre o SharePoint e o Power Apps.
Origem de Dados - A lista para a qual o formulário foi personalizado.
'YourListName'
OnNew - Coloca o SharePointForm1 no modo novo.
NewForm(SharePointForm1)
OnNew - Coloca o SharePointForm1 no modo novo.
ViewForm(SharePointForm1)
OnEdit - Coloca o SharePointForm1 no modo de edição.
EditForm(SharePointForm1)
OnSave - Submete as alterações para o SharePointForm1. Se o formulário for submetido com êxito, a fórmula SharePointForm1.OnSuccess é executada.
SubmitForm(SharePointForm1)
OnCancel - Repõe as alterações ao SharePointForm1. O SharePoint esconde sempre o formulário quando um utilizador seleciona Cancelar no SharePoint.
ResetForm(SharePointForm1)
Estas predefinições garantem o funcionamento correto do formulário quando é executado no SharePoint: 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 para o SharePoint.
Compreender o controlo SharePointIntegration
O controlo SharePointIntegration comunica as ações do utilizador entre o SharePoint e o Power Apps.
Nota
Só pode aceder às propriedades do controlo SharePointIntegration quando o formulário estiver em execução no SharePoint e não quando estiver a personalizar o formulário no Power Apps Studio. Estas propriedades poderão não estar disponíveis em OnStart ou OnVisible.
O controlo SharePointIntegration tem as seguintes propriedades:
Selecionado – o item selecionado da lista.
OnNew - Ações a executar quando um utilizador seleciona o botão Novo ou abre o formulário Criar item no SharePoint.
OnView - Ações a executar quando um utilizador seleciona um item ou abre o formulário Detalhe do item no SharePoint.
OnEdit - Ações a executar quando um utilizador seleciona o botão Editar tudo ou abre o formulário Editar item no SharePoint.
OnSave - Ações a executar quando um utilizador seleciona o botão Guardar no SharePoint.
OnCancel - Ações a executar 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 irá mostrar, editar ou criar. Se alterar esta propriedade, as propriedades Selected e SelectedItemID podem deixar de funcionar.
Personalizar o formulário predefinido
Agora que tem uma melhor compreensão sobre o formulário gerado por predefinição e o controlo SharePointIntegration, pode alterar as fórmulas para personalizar ainda mais os formulários. Seguem-se alguns aspetos a ter em atenção quando personalizar formulários:
Utilize a fórmula OnSave do controlo SharePointIntegration para personalizar o que acontece quando um utilizador 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.
Dica
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.
Certifique-se de que inclui RequestHide() na fórmula OnSuccess de todos os seus formulários. Se se esquecer de o fazer, o SharePoint não saberá quando ocultar o formulário. Além disso, evite executar um código importante depois de chamar RequestHide(), para que todo o código seja executado enquanto o formulário ainda estiver visível e possa executar lógica.
Não é possível controlar a ocultação de um formulário quando um utilizador seleciona Cancelar no SharePoint, por isso, certifique-se de que repõe os seu formulários na fórmula OnCancel do controlo SharePointIntegration.
As propriedades do controlo SharePointIntegration poderão não estar disponíveis em OnStart ou OnVisible e esses eventos são executados apenas uma vez enquanto a lista é carregada. Pode utilizar as fórmulas OnNew, OnView ou OnEdit para executar um valor lógico sempre antes de o formulário ser apresentado ao utilizador.
Questões comuns com o objeto SharePointIntegration
Quando o valor de
SharepointIntegration.Selected
é definido para uma coleção na propriedade OnView, não mostra o valor mais recente. A forma recomendada de corrigir este problema é usarSharepointIntegration.SelectedListItemID
e, em seguida, fazer uma pesquisa na tabela para obter o registo selecionado.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 repostas no fecho do formulário Power Apps e o estado persiste durante toda a sessão. É por isso que, se houver casos de uso em que as variáveis precisam de ser repostas, limpe as variáveis na propriedade OnView do objeto SharePointIntegration.
Não utilize funções fundamentais tais como Launch() nas propriedades SharePointIntegration (tais como OnNew e OnView). Esta utilização pode causar um comportamento inesperado, uma vez que os eventos de ciclo de vida de SharePointIntegration (como a alteração de seleções) podem ser acionados em segundo plano, mesmo quando o formulário não está visível.
Consulte também
- Funções EditForm, NewForm, SubmitForm, ResetForm e ViewForm - funções de formulário no Power Apps
- Função RequestHide
- Cenários de integração do SharePoint
Nota
Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)
O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).