Inaktivera automatisk sparfunktion i en modellbaserad app

Automatisk sparfunktion hjälper appanvändare att fokusera på arbetet utan att behöva hantera sparade data i formuläret. De flesta människor kommer att uppskatta att inte behöva spara data varje gång de uppdaterar en rad, men vissa företag kan ha anpassningar som förväntar sig en explicit sparfunktion. Det finns alternativ för att hantera hur automatiskt sparfunktion tillämpas för dessa organisationer.

Så här fungerar automatisk sparfunktion

Som standard har alla huvudformulär för uppdaterade tabeller och klassiska tabeller automatisk sparfunktion aktiverad. När en rad har skapats (ursprungligen sparad), sparas eventuella ändringar i ett formulär automatiskt 30 sekunder efter att ändringen har gjorts. Om inga ändringar görs i formuläret sparas inget automatiskt medan formuläret är öppet. När en ändring görs börjar 30-sekundersperioden innan den automatiska sparfunktionen om igen. Om någon annan har uppdaterat samma rad medan du redigerade den, kommer ändringarna hämtas och visas i formuläret när automatsparet inträffar.

Med automatisks sparfunktion är aktiverad, visas sparaknappen endast när raden sparas första gången. När raden har skapats visas inte spara-knappen i kommandofältet, men du kan se en automatisk spara-knapp. -knappen i det nedre högra hörnet som visar om det inte finns några sparade ändringar. Den här kontrollen visas även om automatisks sparfunktion är inaktiverad.

Du kan välja den här knappen om du vill spara raden och uppdatera data i formuläret omedelbart. När automatisk sparfunktion är aktiv sparas raden när du navigerar bort från en rad eller stänger ett fönster som visar en rad. Det finns inget behov av knappen Spara och Stäng som visas i formulär för tabeller som inte uppdateras.

Bör du inaktivera automatisk sparfunktion?

Om du har plugin-program, arbetsflöden eller formulärskript som utförs när en rad sparas körs de varje gång automatsparandet inträffar. Detta kan leda till oönskade beteenden om dessa tillägg inte var avsedda att fungera med automatisk sparfunktion. Oavsett om automatisk sparfunktion är aktiverat eller inte ska plugin-program, arbetsflöden och formulärskript utformas för att söka efter specifika ändringar och bör inte köras för varje sparahändelse.

Om du har ställt in granskning för en tabell, behandlas varje spara som en separat uppdatering. Om någon stannar kvar på ett formulär med ändringar i mer än 30 sekunder visas ytterligare en transaktion bara om de lägger till mer data när automatspara har utförts. Om du har rapporter som beror på granskningsdata och behandlar varje sparning som en enskild "touch" för en rad kan du se en ökning av touchfrekvensen. Om du använder den här metoden bör du tänka på att enskilda användares beteenden gör det till ett otillförlitligt mått med eller utan automatisks sparfunktion aktiverad.

Inaktivera automatisk sparfunktion för organisationen

Om du upptäcker att spara automatiskt medför problem med tillägg som du använder kan du inaktivera det för din organisation. Det finns ingen inställning för att inaktivera automatsparandet enskilda tabeller eller formulär.

  1. Öppna en modellbaserad app och välj sedan Inställningar i kommandofältet Inställningar. > Avancerade inställningar.

  2. Gå till Inställningar > Administration.

  3. Välj Systeminställningar.

  4. För alternativet Aktivera spara automatiskt för alla formulär, välj Nej.

Inaktivera automatisk sparfunktion för ett formulär

Om du vill inaktivera automatsparandet för specifika tabellformulär du kan lägga till kod i OnSave-händelsen i en tabell.

Anteckning

Autospara inaktiveras för formuläret, men data sparas fortfarande när du väljer knappen Auto save. -knappen i det nedre högra hörnet. Om du försöker navigera från ett formulär eller stänga ett formulär där data har ändrats kommer de att uppmanas att spara sina ändringar innan de tillåts att gå ifrån eller stänga formuläret.

Om du använder proceduren nedan fungerar inte knappen "Spara och stäng" i formuläret eftersom det anropar preventDefault på saveMode 2, som refererar till Spara och stäng. Du kan ta bort getSaveMode() == 2 för att undvika detta, men formuläret visas automatiskt om du försöker navigera bort från formuläret eller stänga formuläret där data har ändrats.

  1. Logga in på Power Apps.

  2. Välj Tabeller i vänster navigeringsfönster, välj önskad tabell och välj sedan området Formulär. Om objektet inte finns i sidopanelsfönstret väljer du ... Mer och markerar sedan det objekt du vill använda.

    Du kan också göra ändringar i tabellerna inifrån en lösning. Det gör du genom att välja Lösningar i den vänstra rutan, markera tabellen och sedan välja området Formulär. Om objektet inte finns i sidopanelsfönstret väljer du ... Mer och markerar sedan det objekt du vill använda.

  3. Öppna formuläret som du vill redigera.

  4. Välj växla till klassiskt för att redigera formuläret i den klassiska formulärdesignaren.

  5. Skapa en webbresurs för JavaScript och lägg till den i formuläret:

    1. I formulärredigeraren i gruppen Formulär väljer du Formuläregenskaper.

    2. På fliken Händelser under Formulärbibliotek väljer du Lägg till.

    3. I dialogrutan Sök efter rad väljer du Ny.

    4. Ange följande information i webbresursformuläret:

      Title Referens
      Namn preventAutoSave
      Visningsnamn Förhindra automatisk sparfunktion
      Typ Skript (JScript)
    5. Bredvid kolumnen Typ väljer du Textredigerare.

    6. I kolumnen Källa, klistra in följande kod:

      function preventAutoSave(econtext) {  
          var eventArgs = econtext.getEventArgs();  
          if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) {  
              eventArgs.preventDefault();  
          }  
      }  
      
      
    7. Välj OK för att stänga textredigeraren.

    8. Välj Spara för att spara webbresursen. Stäng sedan webbresursfönstret.

    9. I dialogrutan Sök efter rad markeras den nya webbresursen du har skapat. Stäng dialogrutan genom att välja Lägg till.

  6. Konfigurera OnSave-händelsen:

    1. I fönstret Formuläregenskaper i avsnittet Händelsehanterare, ange OnSave för Händelse.

    2. Markera Lägg till.

    3. I fönstret Egenskaper för hanterare, ställ in Library för den webbresurs som du lade till i föregående steg.

    4. Skriv "preventAutoSave" i kolumnen Funktion. Detta är skiftlägeskänsligt. Inkludera inte citattecken.

    5. Kontrollera att Aktiverad är markerad.

    6. Markera Skicka körningskontext som första parameter.

      Viktigt

      Om du inte gör det fungerar inte skriptet.

      Dialogrutan Egenskaper för hanterare bör se ut så här. Anpassningsprefixet "Ny_" kan variera beroende på anpassningsprefix för standardutgivaren för din organisation.

      OnSave-händelsehanterare med syfte att förhindra automatiskt sparande i Dynamics 365.

    7. Välj OK om du vill stänga dialogrutan Egenskaper för hanterare.

    8. Om det finns andra händelsehanterare för händelsen OnSave använd de gröna pilarna för att flytta den här överst.

      Formuläregenskaperna ska visas enligt följande. Observera i exemplet nedan att uppdateringen har skett inifrån en lösning och därför är utgivarprefixet (dspin_) inte samma som det som standardutgivaren (new_). Detta beror på att en annan utgivare används för lösningen.

    Avancerade inställningar

  7. Välj OK om du vill stänga dialogrutan Formuläregenskaper.

  8. Välj Spara och stäng för att stänga formuläret.

  9. Klicka på Publicera alla anpassningar i lösningsutforskaren.

När du har installerat det här skriptet i händelsen OnSave och användare redigerar en rad med formuläret visas meddelandet osparade ändringar längst ned till höger i formuläret som om automatisk sparfunktion inte var inaktiverad. Men detta meddelande försvinner inte förrän folk väljer knappen Auto save. knappen bredvid den.

Nästa steg

Skapa och utforma formulär

Anteckning

Kan du berätta om dina inställningar för dokumentationsspråk? Svara i en kort undersökning. (observera att undersökningen är på engelska)

Undersökningen tar ungefär sju minuter. Inga personuppgifter samlas in (sekretesspolicy).