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 criação da linha, o botão de guardar na barra de comandos não é mostrado, mas pode ver um botão botão Guardar Automaticamente. no canto inferior direito que aparece se houver 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 AutoSave 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 executam quando uma linha é guardada, serão executados sempre que ocorrer o AutoSave. Isto poderá levar a comportamentos indesejáveis se estas extensões não foram concebidas para funcionar com o AutoSave. 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 não guardadas durante mais de 30 segundos, verá outra ação apenas se adicionar mais dados depois de efetuado o AutoSave. 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 o AutoSave 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 Ambientes e, em seguida, abra o ambiente desejado.
  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 utilizar este método, a gravação automática será desativada no formulário, mas os dados ainda serão guardados quando selecionar o botão Guardar automaticamente. no canto inferior direito. Se tentar sair de um formulário ou fechar um formulário cujos dados tenham sido alterados, será apresentada uma mensagem a pedir para guardar as alterações antes de sair ou fechar o formulário.

A utilização do procedimento abaixo faz com que o botão Guardar e fechar no formulário não funcione, uma vez que chama preventDefault no saveMode 2, que refere Guardar e fechar. Pode remover a verificação getSaveMode() == 2 abaixo para evitar isto, mas depois o formulário será guardado automaticamente se tentar sair do formulário ou fechar o formulário cujos dados foram alterados. O botão Guardar e continuar também não funciona por esse 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:

      Title 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. Na caixa de diálogo Linha de Pesquisa, o novo recurso Web que criou estará selecionado. 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 fizer isto, 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 Guardar automaticamente. junto dela.

Passos seguintes

Criar e estruturar formulários

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).