Partilhar via


Desativar a funcionalidade AutoSave numa aplicação condicionada por modelo

A funcionalidade AutoSave ajuda os utilizadores da aplicação a focar-se no trabalho sem terem de gerir a forma de guardar dados no formulário. A maioria das pessoas aprecia não ter de guardar os dados sempre que atualiza uma linha, mas algumas organizações poderão ter personalizações que foram concebidas à espera de guardar explicitamente. Para essas organizações existem opções para gerir a forma como a funcionalidade AutoSave é aplicada.

Como funciona o AutoSave

Por predefinição, todos os formulários de Tabelas atualizadas e tabelas clássicas têm a opção AutoSave ativada. Depois de uma linha ser criada (guardada inicialmente), todas as alterações efetuadas num formulário são guardadas automaticamente 30 segundos após a alteração ser efetuada. Se não forem efetuadas alterações no formulário, este não é guardado automaticamente enquanto estiver aberto. Após uma alteração ser efetuada, o período de 30 segundos antes de AutoSave recomeça. Se outra pessoa atualizou a mesma linha enquanto está a editar, essas alterações são obtidas e apresentadas no formulário quando ocorre o AutoSave.

Com o AutoSave ativo, o botão de guardar aparece apenas para guardar inicialmente a linha. Após a linha ser criada, o botão Guardar na barra de comandos não é apresentado, mas poderá ver um botão Botão Gravação automática. no canto inferior direito que mostra se existem algumas alterações não guardadas. Este controlo é apresentado também se o AutoSave estiver desativado.

Pode selecionar este botão para guardar a linha e para atualizar dados no formulário imediatamente. Quando o Guardar Automaticamente está ativo, a linha é guardada sempre que sair de uma linha ou fechar uma janela separada que apresenta uma linha. Não é necessário para o botão Guardar e Fechar apresentado nos formulários para tabelas que não estão atualizadas.

Deve desativar o AutoSave?

Se tiver plug-ins, fluxos de trabalho, ou scripts de formulário que efetuam quando uma linha é guardada serão executados, sempre que Guardar Automaticamente ocorrer. Este padrão poderá fazer com os comportamentos indesejáveis se estas extensões não foram concebidas para trabalhar com Guardar Automaticamente. Quer o AutoSave esteja ativado ou não, plug-ins, fluxos de trabalho e scripts de formulários devem ser desenvolvidos para procurar alterações específicas, e não têm de executar indiscriminadamente para cada evento.

Se tiver configurado a auditoria para uma tabela, cada um é tratado guardar como uma atualização separada. Se alguém se atrasa num formulário com alterações por mais de 30 segundos, observará outra entrada apenas se adicionar mais dados depois da Guardar Automaticamente ser executado. Se tiver relatórios que dependam de auditoria dados e tratam cada guardar como “toque" individual de uma linha, poderá ver um aumento a frequência de toques. Se estiver a utilizar esta abordagem, deve considerar que os comportamentos de utilizador individual tornam-na numa métrica incerta com ou sem o AutoSave ativado.

Desativar o AutoSave para a organização

Se determinar que a funcionalidade de Guardar Automaticamente causa problemas com as extensões que está a utilizar, os administradores do Power Platform podem desativá-lo para o ambiente. Não existe nenhuma definição para desativar o AutoSave para tabelas ou formulários individuais.

  1. Inicie sessão no Centro de administração do Power Platform, aceda a Gerir>Ambientes e, em seguida, abra o ambiente pretendido.
  2. Selecione Definições, na barra de comandos.
  3. Expanda o Produto e, em seguida, selecione Comportamento.
  4. Em Comportamento básico, para Guardar automaticamente, selecione Desativado.

Desativar o AutoSave para um formulário

Se pretender desativar o AutoSave para formulários específicos de tabelas, pode adicionar código ao evento OnSave numa tabela.

Nota

Ao usar este método, Guardar Automaticamente está desativado no formulário, mas os dados ainda são guardados quando selecionar o botão Botão Gravação automática. no canto inferior direito. Se tentar sair de um formulário ou fechar um formulário cujos dados foram alterados, recebe um pedido para guardar as alterações antes de ter autorização para navegar para fora ou fechar o formulário.

A utilização do procedimento mencionado aqui faz com que o botão Guardar e fechar no formulário não funcione, uma vez que chama preventDefault em saveMode 2, que referencia Guardar e Fechar. Pode remover a verificação getSaveMode() == 2 abaixo para evitar isto, mas depois o formulário será guardado automaticamente quando tentar navegar para longe do formulário ou fechar o formulário onde os dados foram alterados. O botão Guardar e Continuar também não funciona por este motivo.

  1. Inicie sessão no Power Apps.

  2. Selecione Tabelas no painel de navegação esquerdo, selecione a tabela pretendida e, em seguida, selecione a área Formulários. Se o item não estiver no painel lateral, selecione ...Mais e, em seguida, selecione o item pretendido.

    Também pode fazer ajustes às tabelas a partir de dentro de uma solução. Para isso, selecione Soluções no painel esquerdo, selecione a tabela e, em seguida, selecione a área Formulários. Se o item não estiver no painel lateral, selecione ...Mais e, em seguida, selecione o item pretendido.

  3. Abra o formulário que pretende editar.

  4. Selecione Mudar para clássico para editar o formulário no estruturador de formulários clássico.

  5. Criar um recurso Web de Javascript e adicione-o ao formulário:

    1. No editor de formulários, no grupo Formulário, escolha Propriedades do Formulário.

    2. No separador Eventos, abaixo de Bibliotecas de Formulários, escolha Adicionar.

    3. Na caixa de diálogo Linha de Pesquisa, selecione Nova.

    4. Introduza as informações seguintes no formulário do recurso Web:

      Título Referência
      Nome preventAutoSave
      Nome a Apresentar Impedir AutoSave
      Tipo Script (JScript)
    5. Junto à coluna Tipo, escolha Editor de Texto.

    6. Na coluna Origem, cole o seguinte código:

      function preventAutoSave(econtext) {  
          var eventArgs = econtext.getEventArgs();  
          if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) {  
              eventArgs.preventDefault();  
          }  
      }  
      
      
    7. Escolha OK para fechar o editor de texto.

    8. Escolha Guardar para guardar o recurso Web e fechar a janela do recurso Web.

    9. No diálogo Procurar Linha, está selecionado o novo recurso Web que criou. Escolha Adicionar para fechar o diálogo.

  6. Configurar o evento OnSave:

    1. Na janela de Formulário propriedades, na secção de Processadores de eventos, defina Evento a OnSave.

    2. Selecione Adicionar.

    3. Na janela de Propriedades do processador, defina Biblioteca recurso Web que adicionou no passo anterior.

    4. Introduza "preventAutoSave" na coluna Função. É Sensível às Maiúsculas e Minúsculas. Não inclua as aspas.

    5. Certifique-se de que Ativado está selecionado.

    6. Verifique Transmitir o contexto de execução como primeiro parâmetro.

      Importante

      Se não o fizer, o script não funcionará.

      O diálogo de Propriedades do processador deve equivalente a este. O prefixo de personalização: "novo_" pode variar baseado no grupo do prefixo de personalização do publicador predefinido para a sua organização.

      Processador de eventos OnSave para impedir a gravação automática no Dynamics 365.

    7. Selecione OK para fechar a caixa de diálogo Propriedade do Processador.

    8. Se existirem outros processador de eventos para eventos do OnSave, utilize as setas verdes para mover este para principais.

      As Propriedades do Formulário devem ser apresentadas da forma que se segue. Note que, no exemplo mostrado aqui, a atualização ocorreu dentro de uma solução e, como resultado, o prefixo do editor (dspin_) não é o mesmo que o fornecido pelo editor predefinido (new_). Isto porque é utilizado outro editor para a solução.

    Definições Avançadas

  7. Selecione OK para fechar a caixa de diálogo Propriedades do Formulário.

  8. Selecione Guardar e Fechar para fechar o formulário.

  9. No explorador de soluções, selecione Publicar Todas as Personalizações.

Depois de aplicar este script para o evento OnSave, quando os utilizadores editam uma linha utilizando este formulário, a mensagem alterações não guardadas será apresentada no canto inferior direito do formulário como se o AutoSave não estivesse desativado. Mas esta mensagem não desaparecerá até que as pessoas selecionem o botão Botão Gravação automática. junto dela.

Próximos passos

Criar e estruturar formulários