Wymóg
Gdy wartość zostanie wybrana z listy rozwijanej wyszukiwania, powiązane wartości są wypełniane w innych polach tego samego formularza.
Przypadek użycia
Aplikacja do zarządzania zamówieniami zawiera formularz do przechowywania szczegółów zamówienia. Gdy administrator wybierze nazwę klienta z listy rozwijanej, dane klienta zostaną automatycznie wypełnione. Podobnie, gdy administrator wybierze produkt, który jest polem wyszukiwania w podformularzu, inne powiązane pola, takie jak Jednostka miary i Cena jednostkowa, zostaną automatycznie wypełnione.
Kroki do naśladowania
1. Utwórz trzy formularze z następującymi szczegółami:
Formularz | Nazwa łącza formularza | Typ pola | Nazwa pola | Nazwa łącza pola |
Klienci | Klienci | Nazwa | Nazwa klienta | Customer_Name |
Numer | Identyfikator klienta | C_ID |
Numer telefonu | Numer telefonu | P_No |
Produkty | Produkty | Pojedyncza linia | Produkt | Product |
Waluta | Cena | Price |
Pojedyncza linia | Jednostka miary | Unit_of_measure |
Zamówienia | Zamówienia | Lookup (Customers) | Nazwa klienta | Customer_Name |
Pojedyncza linia | Identyfikator klienta | Customer_ID |
Numer telefonu | Numer telefonu | Phone_number |
Podformularz Lookup (Products) Numer Waluta Numer Waluta
| Produkty
Produkty Jednostka miary Cena jednostkowa Ilość Razem
| Produkty
Produkty Jednostka miary Cena jednostkowa Ilość Razem
|
2. Utwórz przepływ pracy z następującymi szczegółami:
Ten przepływ pracy ma na celu wyłączenie pól formularza Zamówienia, które będą automatycznie wypełniane, dlatego wybieramy Zdarzenie formularza jako „Wczytaj formularz”.
3. Kliknij Dodaj nową akcję i zapisz następujący fragment kodu potopu w edytorze potopu:
- disable Customer_ID;
- disable Phone_number;
4. Utwórz przepływ pracy z następującymi szczegółami.
Przepływ pracy ma zostać wyzwolony, gdy użytkownik wprowadzi wartość do pola Nazwa klienta formularza Zamówienia, zostanie pomyślnie przesłany, dlatego wybieramy Zdarzenie formularza jako „Wprowadzanie pola przez użytkownika”.
5. Kliknij Dodaj nową akcję.
6. Zapisz następujący fragment kodu Potop w edytorze Potop:
- if(Customer_Name != null)
- {
- // Fetch the record corresponding to the selected customer name from Customers form
- related_record = Customers[ID == input.Customer_Name];
- // Update fields with the related values fetched from Customers form
- input.Customer_ID = related_record.C_ID;
- input.Phone_number = related_record.P_No;
- }
input.<pole wyszukiwania> zwraca identyfikator rekordu formularza nadrzędnego, który zawiera wybraną wartość. Powyższy fragment kodu używa identyfikatora == input.Customer_Name jako kryterium do pobrania odpowiedniego rekordu z formularza Klienci.
7. Następnie spróbujmy wypełnić pola podformularza na podstawie pola podformularza. Utwórz przepływ pracy z następującymi szczegółami.
Przepływ ma zostać wyzwolony, gdy użytkownik wprowadzi wartość w polu Podformularz Produkty formularza Zamówienia, dlatego wybieramy Zdarzenie formularza jako „Wprowadzanie pola przez użytkownika”.
8. Kliknij Dodaj nową akcję i zapisz następujący fragment kodu Potopu w edytorze Potopu:
- if(row.Products != null)
- {
- // Fetch the record corresponding to the selected product from Products form
- related_record = Products[ID = row.Products];
- // Update fields with the related values fetched from Customers form
- row.Unit_of_measure=related_record.Unit_of_measure;
- row.Unit_Price=related_record.Price;
- }
Zobacz jak to działa
Punkty do zapamiętania