Wymóg
Wykonuj operacje statystyczne na polach liczbowych w podformularzach do analizy.
Przypadek użycia
W aplikacji do zarządzania zamówieniami istnieją dwa formularze: Zamówienie i Produkt. Formularz Produktu zawiera listę wszystkich produktów znajdujących się w magazynie, a formularz Zamówienia służy do złożenia nowego zamówienia. Niniejszy formularz zamówienia posiada podformularz, w którym będzie przechowywana lista zakupionych przez klienta produktów. Po dodaniu produktu dla każdego wiersza powinna być wyświetlana jego cena. Przed złożeniem Zamówienia należy obliczyć całkowitą kwotę. Dodatkowo powinna być pokazana średnia cena zakupionych produktów.
Kroki do naśladowania
1. Utwórz formularze z następującymi szczegółami:
Nazwa formularza | Nazwa łącza formularza | Typ pola | Nazwa pola | Nazwa łącza pola |
Produkty | Produkty | Pojedyncza linia | Nazwa produktu | Nazwa produktu |
Waluta | Wskaźnik | Wskaźnik |
Zamówienia | Zamówienia | Podformularz Wyszukiwanie (produkt) Numer Waluta Waluta
| Szczegóły zamówienia Produkty
Ilość Wskaźnik Suma częściowa
| Szczegóły zamówienia Produkty
Ilość Wskaźnik Suma_częściowa
|
Waluta | Całkowita kwota | Suma_kwoty |
Numer | Liczba przedmiotów | Liczba przedmiotów |
2. Utwórz przepływ pracy w formularzu Zamówienia, aby wyłączyć pola Średnia kwota, Całkowita kwota i Liczba pozycji w formularzu głównym oraz pola Suma pośrednia i Stawka w polach podformularza podczas ładowania formularza. Wyłączamy to, ponieważ są one obliczane automatycznie i wartości nie można wprowadzić ręcznie.
3. Kliknij Dodaj nową akcję i dodaj poniższy skrypt, aby wyłączyć pola:
disable Total_Amount;
disable Number_of_Items;
disable Order_Details.Rate;
disable Order_Details.Sub_Total;
4. Utwórz przepływ pracy w formularzu Zamówienia, który zostanie wykonany na wejściu użytkownika w polu Produkty podformularza.
5. Kliknij Dodaj nową akcję i dodaj poniższy kod w następnym edytorze Deluge.
// Fetch the Rate of the selected Product
rate=Products[ID==row.Products].Rate;
// Assign the fetched Rate
row.Rate=rate;
if( row.Quantity != null)
{
row.Sub_Total = row.Rate * row.Quantity;
}
6. Utwórz kolejny workflow na formularzu Zamówienia, aby zmienić sumę częściową dla danego produktu na podstawie zakupionej ilości.
7. Kliknij Dodaj nową akcję i kliknij Skrypt Deluge. Dodaj poniższy kod w następującym edytorze Deluge.
//Product Total and Sub Total calculations here
if(row.Quantity != null && row.Rate != null)
{
row.Sub_Total=row.Quantity * row.Rate; //Calculate the total based on the quantity
}
else
{
row.Sub_Total=0;
}
//Count the number of items ordered
input.Number_of_Items = Order_Details.count();
//Calculate sum of the prices of all the items
input.Total_Amount = Order_Details.sum(Sub_Total);
Za każdym razem, gdy produkt jest dodawany do podformularza, przepływ pracy wyzwala, aby znaleźć odpowiednią stawkę produktu. Za każdym razem, gdy dodawana jest ilość, uruchamiany jest przepływ pracy w celu znalezienia sumy częściowej, sumy/średniej i zliczenia liczby produktów.
Zobacz jak to działa
Punkty do zapamiętania
W ten sam sposób można znaleźć wartości średnie, minimalne, maksymalne i mediany. Średnia kwota obliczona za pomocą potopu jest pokazana w filmie w celach informacyjnych.
W raporcie można wyświetlić ogólne statystyki wartości podformularza. Możemy mieć odpowiednie pola liczbowe w głównym formularzu, aby znaleźć wartości statystyczne pól liczbowych podformularza, jak w naszym przykładzie tutaj. W powyższym przykładzie przejdź do raportu Wszystkie zamówienia. W obszarze Szybki podgląd kliknij pierwszy układ. Wybierz pole Całkowita kwota i przełącz pola Suma, Średnia, Min i Maks, jak pokazano poniżej:
Raport będzie wyglądał następująco: