Inaktivera AutoSave i en modellbaserad app
AutoSave 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 AutoSave tillämpas för dessa organisationer.
Så här fungerar AutoSave
Som standard har alla huvudformulär för uppdaterade tabeller och klassiska tabeller AutoSave 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 AutoSave 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 AutoSave inträffar.
Med AutoSave 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 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 AutoSave är inaktiverad.
Du kan välja den här knappen om du vill spara raden och uppdatera data i formuläret omedelbart. När AutoSave ä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 AutoSave?
Om du har plugin-program, arbetsflöden eller formulärskript som utförs när en rad sparas körs de varje gång AutoSave inträffar. Detta kan leda till oönskade beteenden om dessa tillägg inte var avsedda att fungera med AutoSave. Oavsett om AutoSave ä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 AutoSave 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 AutoSave aktiverad.
Inaktivera AutoSave för organisationen
Om du upptäcker att AutoSave medför problem med tillägg som du använder kan Power Platform administratörer kan inaktivera för miljön. Det finns ingen inställning för att inaktivera AutoSave enskilda tabeller eller formulär.
- Logga in i Power Platform administrationscentret, gå till to Miljöer och öppna den miljö du vill använda.
- Välj Inställningar i kommandofältet.
- Utöka Produkt och välj sedan Beteende.
- Under Grundläggande beteende för Spara automatiskt, välj Av.
Inaktivera AutoSave för ett formulär
Om du vill inaktivera AutoSave för specifika tabellformulär du kan lägga till kod i OnSave
-händelsen i en tabell.
Anteckning
Genom att använda denna metod inaktiveras den automatiska sparfunktionen för formuläret, men data sparas fortfarande när du väljer -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 sparas automatiskt om du försöker navigera bort från formuläret eller stänga formuläret där data har ändrats. Knappen Spara och fortsätt fungerar inte heller av denna anledning.
Logga in på Power Apps.
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.
Öppna formuläret som du vill redigera.
Välj växla till klassiskt för att redigera formuläret i den klassiska formulärdesignaren.
Skapa en webbresurs för JavaScript och lägg till den i formuläret:
I formulärredigeraren i gruppen Formulär väljer du Formuläregenskaper.
På fliken Händelser under Formulärbibliotek väljer du Lägg till.
I dialogrutan Sök efter rad väljer du Ny.
Ange följande information i webbresursformuläret:
Title Referens Namn preventAutoSave Visningsnamn Förhindra AutoSave Typ Skript (JScript) Bredvid kolumnen Typ väljer du Textredigerare.
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(); } }
Välj OK för att stänga textredigeraren.
Välj Spara för att spara webbresursen. Stäng sedan webbresursfönstret.
I dialogrutan Sök efter rad markeras den nya webbresursen du har skapat. Stäng dialogrutan genom att välja Lägg till.
Konfigurera
OnSave
-händelsen:I fönstret Formuläregenskaper i avsnittet Händelsehanterare, ange OnSave för Händelse.
Markera Lägg till.
I fönstret Egenskaper för hanterare, ställ in Library för den webbresurs som du lade till i föregående steg.
Skriv "
preventAutoSave
" i kolumnen Funktion. Detta är skiftlägeskänsligt. Inkludera inte citattecken.Kontrollera att Aktiverad är markerad.
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.
Välj OK om du vill stänga dialogrutan Egenskaper för hanterare.
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.
Välj OK om du vill stänga dialogrutan Formuläregenskaper.
Välj Spara och stäng för att stänga formuläret.
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 AutoSave inte var inaktiverad. Meddelandet försvinner dock inte förrän användare klickar på knappen knappen bredvid den.
Nästa steg
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).