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


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

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

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

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

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

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

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

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

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

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

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

Внимание!

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

  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.

Ограничения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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