Wyłączanie AutoSave w aplikacji opartej na modelu

AutoSave pomaga użytkownikom aplikacji skupić się na pracy bez konieczności pamiętania o zapisywaniu danych w formularzu. Większość osób ceni sobie nie trzeba jawnie zapisywać danych przy każdej aktualizacji wiersza, ale w niektórych organizacjach mogą być dostosowania przeznaczone do jawnego zapisu. Dla tych organizacji istnieją opcje zarządzania zastosowaniem funkcji AutoSave.

Na czym polega AutoSave

Domyślnie dla wszystkich głównych formularzy dla zaktualizowanych i klasycznych tabel włączono funkcję AutoSave. Po utworzeniu wiersza (początkowo zapisanego) wszystkie zmiany wprowadzone w formularzu są automatycznie zapisywane po 30 sekundach od tej zmiany. Jeśli w formularzu nie zostaną wprowadzone żadne zmiany, automatyczne zapisywanie nie zostanie wykonane, kiedy formularz jest otwarty. Po w zmienianiem jest 30-sekundowy okres przed rozpoczęciem AutoSave. Jeśli w czasie edytowania wiersz został zaktualizowany przez inną osobę, zmiany te są pobierane i wyświetlane w formularzu po AutoSave.

Po włączeniu funkcji AutoSave przycisk Zapisz jest wyświetlany tylko dla pierwszego zapisu wiersza. Po utworzeniu wiersza przycisk Zapisz na pasku poleceń nie jest wyświetlany, ale można zobaczyć przycisk Automatyczne zapisywanie. przycisk w prawym dolnym rogu, który wskazuje, czy są jakieś niezapisane zmiany. Ten formant jest również wyświetlany po wyłączeniu AutoSave.

Można wybrać ten przycisk, aby zapisać wiersz i natychmiast odświeżyć dane w formularzu. Po włączeniu AutoSave wiersz będzie zapisywany przy każdym opuszczaniu wiersza lub zamykaniu okna wyświetlającego wiersz. Nie trzeba przycisku klikać przycisku Zapisz i zamknij, który jest wyświetlany w formularzach w przypadku tabel, które nie zostały zaktualizowane.

Czy należy wyłączyć funkcję AutoSave?

Jeśli są uruchamiane dodatki plug-in, przepływy pracy lub skrypty formularzy wykonywane po zapisaniu wiersza, będą one uruchamiane za każdym razem, gdy zostanie wykonane AutoSave. Może to powodować niepożądane działanie tych rozszerzeń, jeśli te rozszerzenia nie zostały zaprojektowane tak, aby działały z programem AutoSave. Bez względu na to, czy włączono AutoSave czy nie, dodatki plug-in, przepływy pracy i skrypty formularzy powinny być przeznaczone do wyszukiwania określonych zmian i nie należy ich realizować niejawnie dla każdego zdarzenia zapisywania.

Jeśli masz inspekcje skonfigurowane dla tabeli, każde zapisywanie jest traktowane jak oddzielna aktualizacja. Jeśli ktoś przejmie w formularzu niezapisane zmiany ponad 30 sekund, zostanie wyświetlony kolejny wpis tylko wtedy, gdy doda więcej danych po wykonaniu funkcji AutoSave. Jeśli masz raporty, które zależą od inspekcji danych i traktują każde zapisywanie jak „dotknięcie” wiersza, możesz zauważyć zwiększenie częstotliwości dotknięć. W przypadku korzystania z tego podejścia należy pamiętać, że zachowania poszczególnych użytkowników mogą sprawić, że będzie to niespodziewana metryka z włączoną obsługą funkcji AutoSave lub bez niego.

Wyłącz AutoSave dla organizacji

Jeśli zostanie stwierdzine, że funkcja AutoSave powoduje problemy z przy użyciu rozszerzeń, administratorzy Power Platform mogą wyłączyć tę funkcję dla środowiska. Nie ma ustawienia pozwalającego wyłączyć AutoSave dla poszczególnych tabeli lub formularzy.

  1. Zaloguj się do centrum administracyjnego Power Platform, przejdź do Środowiska, a następnie otwórz środowisko.
  2. Na pasku poleceń wybierz Ustawienia.
  3. Rozwiń Produkt, a następnie wybierz opcję Zachowanie.
  4. W obszarze Podstawowe zachowanie dla opcji Automatyczne zapisywanie wybierz opcję Wyłączony.

Wyłączanie funkcji AutoSave dla formularza

Aby wyłączyć funkcję AutoSave dla określonych formularzy tabel, OnSave można dodać kod do zdarzenia w tabeli.

Uwaga

Dzięki tej metodzie można automatycznie zapisać dane w formularzu, ale dane zostaną zapisane po wybraniu przycisku Zapisz automatycznie. w prawym dolnym rogu. Przy próbie opuszczania lub zamykania formularza, w którym zostały zmienione dane, otrzymasz monit przypominający o konieczności zapisania zmian przed uzyskaniem możliwości opuszczenia lub zamknięcia formularza.

Zastosowanie poniższej procedury powoduje, że przycisk Zapisz i zamknij w formularzu nie działa, ponieważ wymaga ona preventDefault w saveMode 2, który odwołuje się do przycisku Zapisz i zamknij. Możesz usunąć poniższe zaznaczenie getSaveMode() == 2 aby tego uniknąć, ale wtedy formularz będzie automatycznie zapisywany jeśli spróbujesz odejść od formularza lub zamknąć formularz, w którym dane uległy zmianie. Przycisk Zapisz i kontynuuj także nie działa z tego powodu.

  1. Zaloguj się do usługi Power Apps.

  2. Wybierz Tabele w lewym okienku nawigacji wybierz żądaną tabelę, a następnie wybierz obszar Formularze. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.

    Można również dokonać zmian w tabelach z poziomu rozwiązania. W tym celu wybierz opcję Rozwiązania w lewym okienku, wybierz tabelę, a następnie wybierz Formularze. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.

  3. Otwórz formularz, który chcesz edytować.

  4. Wybierz Przejdź do widoku klasycznego, aby edytować formularz w projektancie klasycznych formularzy.

  5. Utwórz zasób sieci Web JavaScript i dodaj go do formularza:

    1. W edytorze formularzy, w grupie Formularz, wybierz Właściwości formularza.

    2. Na karcie Zdarzenia, w Biblioteki formularzy wybierz Dodaj.

    3. W oknie dialogowym Wyszukiwanie wiersza wybierz Nowy.

    4. W formularzu zasobu sieci Web wprowadź następujące informacje:

      Nazwa Referencje
      Imię i nazwisko/nazwa preventAutoSave
      Wyświetlana nazwa Zapobieganie AutoSave
      Type Skrypt (JScript)
    5. Obok kolumny Typ, wybierz Edytor tekstu.

    6. W kolumnie Źródło, wklej następujący kod:

      function preventAutoSave(econtext) {  
          var eventArgs = econtext.getEventArgs();  
          if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) {  
              eventArgs.preventDefault();  
          }  
      }  
      
      
    7. Wybierz OK, aby zamknąć edytor tekstów.

    8. Wybierz Zapisz, aby zapisać zasób sieci web, a następnie zamknij okno zasobu sieci web.

    9. W oknie dialogowym Wyszukaj wiersz zostanie wybrany nowy utworzony zasób sieci Web. Kliknij przycisk Dodaj, aby zamknąć okno dialogowe.

  6. Konfigurowanie zdarzenia OnSave:

    1. W oknie Właściwości formularza, w sekcji Obsługa zdarzeń, ustaw Zdarzenia na OnSave.

    2. Wybierz Dodaj.

    3. W oknie Właściwości obsługi, ustaw Biblioteka dla zasobu sieci Web dodanego w poprzednim kroku.

    4. Wpisz „preventAutoSave” w kolumnie Funkcja. Wielkość liter jest tu istotna. Nie należy stosować znaków cudzysłowu.

    5. Upewnij się, że zaznaczyłeś Włączone.

    6. Zaznacz Przekaż kontekst uruchomienia jako pierwszy parametr.

      Ważne

      Jeśli tego nie zrobisz skrypt nie będzie działać.

      Okno dialogowe Właściwości obsługi powinno wyglądać następująco. Prefiks dostosowywania: "new_" może się różnić w zależności od prefiksu dostosowywania ustawionego dla wydawcy domyślnego dla organizacji.

      Program obsługi zdarzeń OnSave uniemożliwiający automatyczne zapisywanie w Dynamics 365.

    7. Wybierz OK, aby zamknąć okno dialogowe Właściwości obsługi.

    8. Jeśli istnieją inne obsługi zdarzenia dla zdarzenia OnSave, użyj zielonych strzałek, aby przenieść to zdarzenie do góry.

      Właściwości formularza powinny być wyświetlane w następujący sposób. Uwaga w tym przykładzie: aktualizacja ma miejsce z poziomu rozwiązania, a w wyniku tego prefiks wydawcy (dspin_) nie jest taki sam, jak prefiks dostarczany przez wydawcę domyślnego (new_). Względu na to, że do rozwiązania jest używany inny wydawca.

    Ustawienia zaawansowane

  7. Wybierz OK, aby zamknąć okno dialogowe Właściwości formularza.

  8. Wybierz Zapisz i zamknij, aby zamknąć formularz.

  9. W eksploratorze rozwiązań kliknij Publikuj wszystkie dostosowania.

Po zastosowaniu tego skryptu do zdarzenia OnSave podczas edytowania wiersza przez użytkowników za pomocą formularza, pojawia sie wiadomość niezapisane zmiany w prawym dolnym rogu formularza, tak jak w przypadku, gdy funkcja AutoSave nie jest wyłączona. Jednak ten komunikat nie zostanie wyświetlony, dopóki osoby nie wybiorą przycisku Zapisz automatycznie. znajdujący się obok.

Następne kroki

Tworzenie i projektowanie formularzy

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).