Edytowanie rekordów powiązanych tabeli bezpośrednio z głównego formularza innej tabeli

W formularzu tabeli w aplikacji Power Apps można pracować na wiele sposobów z rekordami powiązanej tabeli. Na przykład powiązane tabele można dołączyć w trybie tylko do odczytu w skróconym formularzu, a następnie utworzyć lub edytować rekord przy użyciu formularza głównego w dialogu.

Innym sposobem pracy z rekordami powiązanej tabeli jest dodanie kontrolki składnika formularza do głównego formularza innej tabeli. Kontrolka składnika formularza umożliwia użytkownikom edytowanie informacji rekordu powiązanej tabeli bezpośrednio z formularza innej tabeli.

Na przykład oto składnik formularza na osobnej karcie w głównym formularzu klienta, który umożliwia użytkownikowi edytowanie rekordu kontaktu bez opuszczania formularza klienta.

Kontrolka składnika formularza dodana do osobnej karty.

Na przykład znajduje się on na istniejącej karcie w formularzu konta głównego, co umożliwia użytkownikowi edytowanie rekordu kontaktu bez opuszczania karty Podsumowanie formularza konta.

Kontrolka składnika formularza dodana do istniejącej karty.

Dodawanie składnika formularza do głównego formularza tabeli

  1. W lewym okienku nawigacji wybierz Składniki. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.
  2. Rozwiń węzeł Dane wejściowe lub Wyświetl, a następnie wybierz Formularz. Na stronie konfiguracji składnika formularza wybierz właściwości formantu:
    • Wybierz Kolumnę wyszukiwania dla formularza.
    • Wybierz opcję Powiązany formularz. W zależności od konfiguracji tabeli pokrewnej dla kolumny:
      • Jeśli kolumna jest połączona z jedną tabelą (na przykład kolumną Utworzone przez), wybierz Pokrewny formularz, którego chcesz użyć. Dodawanie formantu składnika formularza dla jednej tabeli pokrewnej
      • Jeśli kolumna jest połączona z wieloma tabelami (na przykład kolumną właściciela), wybierz opcję +Formularz pokrewny, a następnie wybierz opcję Dodaj, aby dodać pokrewny formularz. Kontynuuj do opcji + Pokrewny formularz > Dodaj, aby dodać formularz pokrewny dla każdej tabeli pokrewnej. Dodawanie składnika formularza dla wielu powiązanych tabel
    • Domyślnie wszystkie typy aplikacji Sieć Web, Telefon i Tablet mogą wyświetlać formularz. Wyczyść typy klientów, w których nie ma być wyświetlany formularz.
  3. Wybierz pozycję Gotowe.
  4. Zapisz i opublikuj formularz.

Dodawanie składnika formularza przy użyciu klasycznych funkcji

W tym przykładzie standardowy główny formularz Kontakt jest skonfigurowany dla kontrolki składnika formularza, który został dodawany do głównego formularza klienta.

Ważne

Sposób dodawania formantu składnika formularza uległ zmianie. Zaleca się korzystanie z najnowszego sposobu. Więcej informacji: Dodawanie składnika formularza do głównego formularza tabeli

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

  2. Wybierz Tabele w lewym okienku. Możesz również otworzyć rozwiązanie, a następnie wybrać tabelę, na przykład Konto. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.

  3. W menu Składniki wybierz pozycję Formularze.

  4. Wybierz formularz z typem głównego z dostępnych formularzy.

  5. Wybierz Przełącz do widoku klasycznego. Klasyczny edytor formularzy otwiera się jako karta w przeglądarce.

  6. Kliknij kartę Wstaw. Następnie utwórz nową kartę i dodaj nową sekcję albo dodaj nową sekcję do istniejącej karty.

  7. W nowej sekcji dodaj kolumnę odnośnika, taką jak Kontakt podstawowy.

  8. Zaznacz kolumnę odnośnika, a następnie na karcie Strona główna wybierz opcję Zmień właściwości.

  9. Na karcie Formanty kliknij opcję Dodaj formant, na liście typów kontrolek zaznacz pozycję Kontrolka składników formularza, a następnie kliknij przycisk Dodaj.

    Wybieranie kontrolki składnika formularza.

  10. Wybierz dla składnika wartości w ustawieniach Sieć Web, Tablet i Telefon.

  11. Kliknij przycisk Edytuj (ikona ołówka), w oknie dialogowym Konfiguruj właściwość zaznacz opcję Bind Powiąż z wartością statyczną, a następnie dodaj wpis XML podobny do tego, gdzie TableName jest unikatową nazwą tabeli, a FormID jest identyfikatorem głównego formularza:<QuickForms><QuickFormIds><QuickFormId entityname="TableName">FormID</QuickFormId></QuickFormIds></QuickForms>

    • Na przykład aby wyrenderować główny formularz Kontakt w formularzu klienta, użyj składni: <QuickForms><QuickFormIds><QuickFormId entityname="contact">1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

    Konfigurowanie kontrolki składnika formularza.

  12. Wybierz pozycję OK, a następnie ponownie wybierz opcję OK.

  13. Wybierz dla formularza kolejno opcje Zapisz i Opublikuj.

Porada

Aby znaleźć unikatową nazwę tabeli, zaznacz tabelę w usłudze Power Apps, a następnie wybierz pozycję Ustawienia. Pole Nazwa pojawi się w okienku Edytuj dla tabeli. Identyfikator formularza można znaleźć w adresie URL w przeglądarce podczas edytowania formularza. Identyfikator znajduje się za częścią /edit/ adresu URL. Identyfikator formularza można znaleźć w adresie URL w przeglądarce po otwarciu formularza w nowoczesnym projektancie formularzy.

W klasycznym projektancie formularzy identyfikator formularza znajduje się za częścią formId%3d adresu URL.

Zachowanie składnika formularza

W tej sekcji opisano zachowanie składnika formularza, gdy jest używany w aplikacji opartej na modelu.

Wybór rekordów

Aby formant składnika formularza był pokazywany formularz, kolumna wyszukiwania, z która jest powiązana, musi mieć wartość. W przeciwnym razie kontrolka wyświetli komunikat Nie wybrano rekordu źródłowego. Jednym ze sposobów ustawienia wartości jest dodanie do formularza formantu wyszukiwania powiązanego z taką samą kolumną wyszukiwania, jak formant składnika formularza. Jeśli do zmiany wartości kolumny wyszukiwania zostanie użycie formantu wyszukiwania, formant składnika formularza będzie wyświetlał formularz z danymi dla nowej wartości kolumny wyszukiwania.

Sprawdzanie poprawności kolumn

Aby dane były wysyłane do usługi Microsoft Dataverse, wszystkie kolumny, zarówno w głównym formularzu, jak i w kontrolkach składników formularza, muszą być prawidłowe. Nie może być błędów sprawdzania poprawności kolumn, braków wymaganych kolumn itd.

Programy obsługi zdarzenia OnSave są uruchamiane dla głównego formularza i jego kontrolek składników formularza. Za pomocą interfejsu preventDefault każdy program obsługi może anulować operację zapisu dla głównego formularza i kontrolek składników formularza. Oznacza to, że żadna operacja zapisywania nie może wywołać interfejsu preventDefault w celu wysłania danych do usługi Dataverse. Kolejność wywoływania programów obsługi zdarzenia OnSave nie jest zdefiniowana. Więcej informacji: Zdarzenie OnSave w formularzu (wykaz interfejsów API klienta) w aplikacjach opartych na modelu

Zapisywanie rekordów

Po przejściu etapu sprawdzania poprawności dane są wysyłane do usługi Dataverse dla każdego rekordu. Obecnie każdy rekord jest aktualizowany niezależnie za pomocą różnych żądań. Te operacje zapisu nie są transakcyjne, a ich kolejność nie jest zdefiniowana. Błąd podczas zapisywania jednego składnika formularza nie spowoduje wycofania zmian w głównym formularzu ani innych składnikach formularza. Po zakończeniu każdej operacji zapisu dane są odświeżane dla wszystkich rekordów w formularzu.

Powiadomienia

Powiadomienia w składniku formularza są agregowane do powiadomienia w formularzu głównym. Na przykład jeśli w składniku formularza znajdują się nieprawidłowe kolumny i spróbujesz zapisać taki formularz, powiadomienie o nieprawidłowej kolumnie pojawi się u góry głównego formularza, a nie w składniku formularza.

Obsługa błędów

Jeśli podczas zapisywania występuje wiele błędów, użytkownikowi zostanie wyświetlony tylko jeden błąd. Jeśli użytkownik może wprowadzić zmiany, aby naprawić pierwszy błąd i zapisać formularz, zostanie pokazany następny błąd. Użytkownik będzie musiał kontynuować zapisywanie do czasu, aż wszystkie zostaną usunięte.

Modyfikowanie rekordów z niezapisanymi zmianami

Jeśli w formularzu występują niezapisane zmiany składnika formularza, a użytkownik spróbuje zmienić kolumnę odnośnika, z którą jest powiązany składnik formularza, zostanie powiadomiony o tej zmianie.

Adres API klienta

Dla kontrolki składnika formularza jest dostępny kontekst formularza. Można uzyskać do niego dostęp za pośrednictwem kontekstu formularza głównego, uzyskując dostęp do kontrolki za pośrednictwem interfejsu API, takiego jak getControl. Przed uzyskaniem dostępu do danych dla powiązanej tabeli w kontrolce składnika formularza programy obsługi zdarzeń powinny poczekać, aż interfejs API isLoaded zwróci wartość true.

Ograniczenia

Należy zwrócić uwagę na następujące ograniczenia podczas dodawania kontrolki składnika formularza do formularza tabeli:

  • Kontrolka składnika formularza obsługuje tylko renderowanie głównych formularzy. Analogicznie dodawanie kontrolek składników formularzy jest możliwe tylko w głównych formularzach. Nie można tego robić w innych typach formularzy, takich jak formularz szybkiego tworzenia, skrócony formularz czy karta.

  • Formularze z przepływ procesów biznesowych nie są obecnie obsługiwane w formularzu tabeli głównej ani w formularzu tabeli pokrewnej. Jeśli masz formularz z przepływem procesów biznesowych, może wystąpić nieoczekiwane zachowanie. Zalecamy, aby nie używać składnika formularza z formularzem, który używa przepływu procesów biznesowych.

  • Kontrolka składnika formularza nie obsługuje osadzonych kontrolek składników formularzy, tzn. nie można dodać kontrolki składnika formularza do formularza używanego przez kontrolkę składnika formularza.

  • Kontrolka składników formularza nie obsługuje osadzonych aplikacji kanwy. W przypadku tych aplikacji kanwy możesz napotkać nieoczekiwane zachowanie.

  • Kontrolka składnika formularza pokazuje tylko pierwszą kartę używanego formularza, jeśli w tym formularzu znajduje się wiele kart.

  • Używanie tego samego formularza w przypadku różnych formantów składnika formularza w jednym formularzu jest obsługiwane.

  • Formularz używany ze składnikiem formularza musi być zawarty w aplikacji. Jeśli nie jest lub jeśli bieżący użytkownik nie ma dostępu do formularza, zostanie wyświetlony i udostępniony użytkownikowi główny formularz u góry zawarty w aplikacji (na podstawie kolejności formularza).

  • Wszystkie składniki używane przez formularz w składniku formularza musi być zawarty w aplikacji. Składniki te obejmują tabele pokrewne, widoki i przepływy procesów biznesowych. Jeśli nie, nie będą dostępne w formularzu lub może pojawić się nieoczekiwane zachowanie.

  • Formanty składników formularzy mają pewne ograniczenia w przypadku renderowania w aplikacjach wielosesyjnech. W szczególności dynamicznie dodawane programy obsługi w formularzu składnika formularza, takie jak addOnSave lub addOnChange mogą nie być uruchamiane po przełączeniu kart wielosesyjnych.

  • Czasami tablica osi czasu może nie być aktualizowana, gdy kolumna użyta do ustawienia tablicy osi czasu uległa zmianie w składniku formularza. Po odświeżeniu strony tablica osi czasu zostanie zaktualizowana zgodnie z oczekiwaniami.

  • Na urządzeniach mobilnych formant osi czasu nie jest obecnie wyświetlany w kontrolce składnika formularza.

  • W przypadku podsiatki przyciski poleceń Zobacz wszystkie rekordy i Zobacz skojarzone rekordy nie będą dostępne, jeśli są renderowane w składniku formularza.

  • Formanty składnika formularza nie są obsługiwane w dialogach edycji zbiorczej. Domyślnie nie będą one wyświetlane w formularzu w oknie dialogowym edycji zbiorczej, a wszelkie zmiany wprowadzone w powiązanych z nimi rekordach tabeli nie zostaną zapisane.

Zobacz też

Użyj formantów niestandardowych dla wizualizacji danych aplikacji opartej na modelu

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).