Поділитися через


Вимкнення автозбереження в програмі на основі моделі

Автозбереження допомагає користувачам програми зосередитися на роботі без необхідності керувати збереженням даних у формі. Більшість людей цінують відсутність необхідності явно зберігати дані щоразу, коли вони оновлюють рядок, але деякі організації можуть мати налаштування, розроблені з явним збереженням. Для цих організацій є варіанти керування способом застосування автозбереження.

Як працює автозбереження

За промовчанням у всіх основних формах для оновлених таблиць і класичних таблиць увімкнуто автозбереження. Після створення (початкового збереження) будь-які зміни, внесені до форми, автоматично зберігаються через 30 секунд після внесення. Якщо у форму не внесено жодних змін, автоматичне збереження не відбувається, поки форма відкрита. Після внесення змін 30-секундний період перед автозбереженням починається знову. Якщо хтось інший оновив той самий рядок під час його редагування, ці зміни буде отримано та відображено у формі під час автозбереження.

Якщо ввімкнено автозбереження, кнопка «Зберегти» з’являється лише для початкового збереження рядка. Після створення рядка кнопка «Зберегти» на панелі команд не відображається, але відображається кнопка «Автоматичне збереження». у нижньому правому куті, яка показує, чи є незбережені зміни. Цей елемент керування також відображається, якщо автозбереження вимкнуто.

Ви можете вибрати цю кнопку, щоб зберегти рядок і негайно оновити дані у формі. Якщо ввімкнено автозбереження, рядок зберігається щоразу, коли ви переходите від рядка або закриваєте окреме вікно з рядком. Кнопка «Зберегти та закрити », яка відображається у формах для таблиць, які не оновлюються, не потрібна .

Чи варто відключати автозбереження?

Якщо у вас є плагіни, робочі процеси або сценарії форм, які виконуються під час збереження рядка, вони запускатимуться щоразу, коли відбувається автозбереження. Це може призвести до небажаної поведінки, якщо ці розширення не призначені для роботи з автозбереженням. Незалежно від того, чи ввімкнено автозбереження, плагіни, робочі процеси та сценарії форм мають бути розроблені для пошуку конкретних змін і не повинні виконуватися без розбору для кожної події збереження.

Якщо у вас аудит настроєно для таблиці, кожне збереження розглядається як окреме оновлення. Якщо користувач затримується у формі з незбереженими змінами більше 30 секунд, ви побачите інший запис, лише якщо він додасть більше даних після виконання автозбереження. Якщо є звіти, які залежать від аудиту даних, і якщо розглядати кожне збереження як окрему «взаємодію» із рядком, може відобразитися збільшення частоти взаємодій. Якщо ви використовуєте цей підхід, враховуйте, що поведінка окремих користувачів робить його ненадійним показником із увімкненим автозбереженням або без нього.

Вимкніть автозбереження для організації

Якщо ви визначите, що автозбереження спричиняє проблеми з розширеннями, які ви використовуєте, Power Platform адміністратори можуть вимкнути його для середовища. Автозбереження для окремих таблиць або форм не встановлено.

  1. увійдіть у Power Platform Центр адміністрування, перейдіть до розділу Середовища, а потім відкрийте потрібне середовище.
  2. Виберіть Налаштування на панелі команд.
  3. Розгорніть розділ Продукт, а потім виберіть Поведінка.
  4. У розділі Основна поведінка для автоматичного збереження виберіть Вимкнути.

Вимкнення автозбереження форми

Якщо потрібно вимкнути автозбереження для певних форм таблиці, можна додати код до OnSave події в таблиці.

Примітка

За допомогою цього методу автоматичне збереження відключається для форми, але дані все одно будуть збережені, якщо ви виберете кнопку Автозбереження . у нижньому правому куті. Якщо ви спробуєте вийти з форми або закрити форму, дані якої було змінено, з’явиться запит на збереження змін, перш ніж вам буде дозволено перейти або закрити форму.

Використання наведеної нижче процедури призводить до того, що кнопка Зберегти та закрити у формі не працює, оскільки вона викликає preventDefault 2 saveMode , яка посилається на Зберегти та Закрити. Щоб уникнути цього, можна видалити getSaveMode() == 2 галочку нижче, але тоді форма автоматично зберігається, коли ви намагаєтеся вийти з форми або закрити форму, де дані змінилися. Кнопка «Зберегти і продовжити » також не працює з цієї причини.

  1. Увійти до Power Apps.

  2. Виберіть пункт Таблиці в лівій області переходів, виберіть потрібну таблицю, а потім виберіть область Форми . Якщо елемента немає на бічній панелі, виберіть ... Додатково та знайдіть потрібний елемент.

    Крім того, можна внести коригування в таблиці в межах рішення. Для цього виберіть пункт Рішення в лівій області, виділіть таблицю, а потім виберіть область Форми . Якщо елемента немає на бічній панелі, виберіть ... Додатково та знайдіть потрібний елемент.

  3. Відкрийте форму для редагування.

  4. Виберіть Переключити на класичний, щоб редагувати форму в класичному конструкторі форм.

  5. Створення веб-ресурсу JavaScript і додавання його до форми

    1. У редакторі форм у групі Форми виберіть пункт Властивості форми.

    2. На вкладці Події у розділі Бібліотеки форм натисніть Додати.

    3. У діалоговому вікні Пошук рядка натисніть Створити.

    4. Введіть таку інформацію у форму веб-ресурсу:

      Звання Довідка
      Унікальне ім'я preventAutoSave
      Ім’я, яке відображатиметься Запобігання автозбереженню
      Тип Сценарій (JScript)
    5. Поруч зі стовпцем Тип виберіть Текстовий редактор.

    6. У стовпець Джерело вставте такий код:

      function preventAutoSave(econtext) {  
          var eventArgs = econtext.getEventArgs();  
          if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) {  
              eventArgs.preventDefault();  
          }  
      }  
      
      
    7. Виберіть ОК, щоб закрити текстовий редактор.

    8. Натисніть кнопку Зберегти, щоб зберегти веб-ресурс, а потім закрийте вікно веб-ресурсу.

    9. У діалоговому вікні Пошук рядка буде вибрано новий веб-ресурс, що ви створили. Виберіть кнопку Додати, щоб закрити діалогове вікно.

  6. Налаштуйте OnSave подію:

    1. У вікні Властивості форми в розділі Обробники подій виберіть подію OnSave.

    2. Виберіть Додати.

    3. У вікні Властивості обробника надайте значення Бібліотека веб-ресурсу, який ви додали на попередньому кроці.

    4. Тип 'preventAutoSave' у стовпці Функція. З урахуванням регістру. Не беріть лапки.

    5. Переконайтеся, що прапорець Увімкнуто встановлено.

    6. Установіть прапорець Передавати контекст виконання як перший параметр.

      Важливо

      Якщо ви цього не зробите, скрипт не працюватиме.

      Діалогове вікно Властивості обробника має виглядати так. Префікс настроювання: "new_" може відрізнятися залежно від префікса настроювання, установленого для видавця за промовчанням для вашої організації.

      Обробник події OnSave для запобігання автозбереженню в Dynamics 365.

    7. Виберіть кнопку ОК, щоб закрити діалогове вікно Властивості обробника.

    8. За наявності будь-яких інших обробників подій для події OnSave використовуйте зелені стрілки, щоб перемістити цей обробник вгору.

      Властивості форми мають відображатися наступним чином. Зверніть увагу, що в наведеному тут прикладі оновлення відбулося з рішення, і тому префікс видавця (dspin_) відрізняється від префікса, наданого видавцем за замовчуванням (new_). Це відбувається тому, що для цього рішення використовується інший видавець.

    Додаткові настройки

  7. Виберіть кнопку ОК, щоб закрити діалогове вікно Властивості форми.

  8. Щоб закрити форму, натисніть кнопку Зберегти й закрити.

  9. У провіднику рішень натисніть Опублікувати всі настройки.

Після того, як ви застосуєте цей сценарій до OnSave події, коли користувачі редагують рядок за допомогою цього з повідомлення , у нижньому правому куті форми з’являться незбережені зміни, так само, як і тоді, коли автозбереження не було вимкнено. Але це повідомлення не зникне, доки користувачі не натиснуть кнопку автоматичного збереження. поруч із нею.

Наступні кроки

Створення та розробка форм

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).