Редактирование связанных записей таблицы прямо из главной формы другой таблицы

Есть несколько способов работы со связанными записями таблицы в форме таблицы в Power Apps. Например, вы можете включить связанные таблицы в режиме только для чтения с помощью экспресс-формы и создать или отредактировать запись с помощью основной формы в диалоге.

Другой способ работы с записями связанных таблиц — добавление элемента управления компонента формы в основную форму другой таблицы. Элемент управления компонента формы позволяет пользователям редактировать информацию связанной записи таблицы непосредственно из формы другой таблицы.

Например, вот компонент формы на отдельной вкладке в основной форме учетной записи, который позволяет пользователю редактировать запись контакта, не выходя из формы учетной записи.

Элемент управления компонентом формы добавлен на отдельную вкладку.

Например, вот компонент формы в существующей вкладке в основной форме учетной записи, что также позволяет пользователю редактировать запись контакта, не выходя из формы учетной записи Сводка.

Элемент управления form component добавлен на существующую вкладку.

Добавить компонент формы в основную форму таблицы

  1. В левой области навигации выберите Компоненты. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.
  2. Разверните Вход или Отображение и выберите Форма. На странице конфигурации элемента управления компонента формы выберите свойства для элемента управления:
    • Выберите Столбец подстановки для формы.
    • Выберите Связанная форма. В зависимости от конфигурации связанной таблицы для столбца:
      • Если столбец связан с одной таблицей (например, столбец "Кем создано"), выберите Связанную форму для использования. Добавить элемент управления компонентом формы для одной связанной таблицы
      • Если столбец подключен к нескольким таблицам (полиморфный, например столбец владельца), выберите + Связанная форма, затем выберите Добавить, чтобы добавить связанную форму. Продолжайте выбирать + Связанная форма > Добавить, чтобы добавить связанную форму для каждой связанной таблицы. Добавление компонента формы для нескольких связанных таблиц
    • По умолчанию все типы клиентских приложений Интернет, Телефон и Планшет включены для отображения формы. Очистите типы клиентов, в которых вы не хотите отображать форму.
  3. Нажмите кнопку Готово.
  4. Сохраните, затем Опубликуйте форму.

Добавление компонента формы с использованием классического интерфейса

В этом примере стандартная основная форма Контакт настроена для элемента управления form component, который добавляется в основную форму учетной записи.

Важно!

Изменился способ добавления элемента управления компонентом формы. Мы рекомендуем использовать новый интерфейс. Дополнительная информация: Добавление компонента формы в основную форму таблицы

  1. Войдите в Power Apps.

  2. В левой области выберите Таблицы. Или откройте решение, а затем выберите таблицу, например Организация. Если этого пункта нет на боковой панели, выберите …Еще, а затем выберите нужный пункт.

  3. Выберите Формы в меню компонентов.

  4. Выберите форму с типом формы Основная из доступных форм.

  5. Выберите Перейти в классический режим. Классический интерфейс редактор форм открывается в вашем браузере в виде вкладки.

  6. Выберите вкладку Вставить. Затем создайте новую вкладку и добавьте новый раздел или добавьте новый раздел к существующей вкладке.

  7. В новом разделе добавьте столбец подстановки, например столбец подстановки Важный контакт.

  8. Выберите столбец подстановки, а затем на вкладке Главная выберите Изменить свойства.

  9. На вкладке Элементы управления выберите Добавить элемент управления, в списке типов элементов управления выберите Элемент управления компонента формы, а затем выберите Добавить.

    Выбор элемента управления компонента формы.

  10. Выберите Интернет, Планшет и Телефон для компонента.

  11. Выберите Изменить (значок карандаша) и в диалоговом окне Настроить свойство выберите Связать со статическим значением, а затем добавьте запись XML, подобную этой, где TableName — уникальное имя таблицы, а FormID — это идентификатор формы для основной формы:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

    • Например, для отрисовки основной формы Контакт в форме учетной записи, используйте: <QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

    Настройка элемента управления компонентом формы.

  12. Выберите ОК и затем снова выберите ОК.

  13. Следует Сохранить и Опубликовать свою форму.

Совет

Чтобы найти уникальное имя для таблицы, выберите таблицу в Power Apps, а затем выберите Настройки. Имя появляется в области таблицы Изменить. Идентификатор формы можно найти в URL-адресе браузера при редактировании формы. Идентификатор следует за частью /edit/ URL-адреса. Идентификатор формы можно найти в URL-адресе браузера, если открыть форму в современном конструкторе форм.

В классическом конструктор форм идентификатор формы следует за частью formId%3d URL-адреса.

Поведение компонента формы

В этом разделе описывается поведение компонента формы при использовании в приложении на основе модели.

Выбор записи

Для того, чтобы элемент управления компонентом формы мог показывать форму, столбец подстановки, к которому он привязан, должен иметь значение. В противном случае элемент управления покажет сообщение Исходная запись не выбрана. Один из способов установить значение — добавить в форму элемент управления подстановки, который привязан к тому же столбцу подстановки, что и элемент управления компонентом формы. При использовании элемента управления подстановки для изменения значения столбца подстановки элемент управления компонентом формы покажет форму с данными для нового значения столбца подстановки.

Проверка столбца

Все столбцы, как в основной форме, так и в элементах управления компонентами формы, должны быть допустимыми для отправки данных в Microsoft Dataverse. Это верно как для ошибок проверки столбцов, так и для отсутствия обязательных столбцов и т. д.

Обработчики OnSave запускаются для основной формы и ее элементов управления компонентов формы. Любой обработчик может отменить сохранение для основной формы и элементов управления компонента формы, используя preventDefault. Это означает, что операция сохранения не может вызывать preventDefault для отправки данных в Dataverse. Порядок, когда обработчики OnSave вызываются, не определен. Дополнительные сведения: Событие OnSave формы (справочник по клиентскому API) в приложениях на основе модели

Сохранение записи

После прохождения этапа проверки данные отправляются в Dataverse для каждой записи. В настоящее время каждая запись обновляется независимо с разными запросами. Сохранения не являются транзакционными, и порядок сохранений не определен. Ошибка при сохранении одного компонента формы не приведет к откату изменений в основной форме или других компонентах формы. После завершения каждого сохранения данные обновляются для всех записей в форме.

Уведомления

Уведомления в компоненте формы объединяются в уведомления основной формы. Например, если в компоненте формы есть недопустимые столбцы и вы пытаетесь сохранить, уведомление о недопустимом столбце будет отображаться в верхней части основной формы, а не в компоненте формы.

Обработка ошибок

Если во время сохранения будет несколько ошибок, пользователю будет показана только одна ошибка. Если пользователь может внести изменения, чтобы исправить первую ошибку и сохранить, будет видна следующая ошибка. Пользователь должен будет продолжить сохранение, пока все ошибки не будут устранены.

Изменение записей с несохраненными изменениями

Если в форме для компонента формы есть несохраненные изменения и пользователь пытается изменить столбец подстановки, к которому привязан компонент формы, пользователь будет предупрежден об этом изменении.

API-адрес клиента

Контекст формы доступен для элемента управления компонента формы. Доступ можно получить через контекст формы основной формы, получив доступ к элементу управления через API, например getControl. Прежде чем вы получите доступ к данным для связанной таблицы в элементе управления компонента формы, обработчики событий должны дождаться, чтобы значение isLoaded API элемента управления возвратило true.

Ограничения

Обратите внимание на следующие ограничения при добавлении элемента управления компонента формы в форму таблицы:

  • Элемент управления компонента формы поддерживает отрисовку только основных форм. Точно так же поддержка добавления элемента управления компонентом формы поддерживается только в основных формах. Другие типы форм, такие как быстрое создание, быстрый просмотр и карточка, не поддерживаются.

  • Формы с потоком бизнес-процесса в настоящее время не поддерживаются ни в основной форме таблицы, ни в связанной форме таблицы. Если у вас есть форма с потоком бизнес-процессов, вы можете столкнуться с неожиданным поведением. Мы рекомендуем не использовать компонент формы с формой, в которой используется поток бизнес-процессов.

  • Элемент управления компонента формы не поддерживает встроенные элементы управления компонента формы, например добавление элемента управления компонента формы в форму, которая используется элементом управления компонента формы.

  • Элемент управления компонентом формы не поддерживает встроенные приложения на основе холста. Вы можете столкнуться с неожиданным поведением этих приложений на основе холста.

  • Элемент управления компонента формы будет отображать только первую вкладку используемой формы, если в эту форму включено несколько вкладок.

  • Использование одной и той же формы для разных элементов управления компонентами формы в одной форме не поддерживается.

  • Форма, которую вы используете с компонентом формы, должна быть включена в ваше приложение. Если это не так или если текущий пользователь не имеет доступа к форме, будет выполнена откат к самой верхней основной форме, включенной в приложение и доступной пользователю (в зависимости от порядка форм). Больше информации: Добавление компонента.

  • Элементы управления для компонентов формы имеют определенные ограничения при отображении в многосеансовых приложениях. Если клиентский API используется для изменения элемента управления «компонент формы» или, если данные вводятся в форму, изменения могут не сохраняться при переключении между многосеансовыми вкладками.

  • Вы можете заметить, что стена временной шкалы может не обновляться, если столбец, используемый для установки стены временной шкалы, изменился в компоненте формы. Когда страница обновится, стена временной шкалы обновится, как и ожидалось.

  • На мобильных устройствах элемент управления временной шкалой в настоящее время не отображается в элементе управления компонента формы.

  • Для вложенных сеток кнопки команд Показать все записи и Показать связанные записи будут недоступны, если они отображаются внутри компонента формы.

  • Элементы управления компонентами формы не поддерживаются в диалоговых окнах массового редактирования. Они не будут отображаться в форме в диалоговом окне массового редактирования по умолчанию, и любые изменения, внесенные в связанные с ними записи таблицы, не будут сохранены.

См. также

Использование настраиваемых элементов управления для визуализации данных приложений на основе модели

Примечание

Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).