Istnieje wiele metod na wprowadzanie skomplikowanych obliczeń w estetycznych plikach PDF. Poniżej przedstawiamy sposób na integrację formuł warunkowych w dokumentach.
Formuły warunkowe w Adobe Acrobat
W poprzednich materiałach omówiliśmy podstawowe zasady automatycznych obliczeń w Adobe Acrobat. Formuły warunkowe pozwalają na tworzenie bardziej zaawansowanych obliczeń w plikach PDF.
Jeśli posiadasz doświadczenie w pracy z formułami w Excelu lub Google Sheets, jesteś już zaznajomiony z ideą formuł warunkowych. Znane również jako formuły logiczne, aktywują określone obliczenia lub wyświetlają wartości, gdy spełniony jest dany warunek, na przykład w przypadku, gdy liczba jest ujemna lub jeśli wynik przekracza ustaloną wartość. W Excelu do najczęściej stosowanych formuł warunkowych należy standardowa „JEŻELI”, a także „SUMA.JEŻELI” oraz „LICZ.JEŻELI”. Można również korzystać z formatowania warunkowego, które zmienia wygląd komórki w zależności od spełnienia określonych kryteriów.
W Adobe PDF można stosować podobne formuły warunkowe za pomocą pól obliczeniowych. Umożliwiają one wyświetlanie liczb, tekstu lub uruchamianie obliczeń na podstawie wprowadzonych danych w innych polach. Formuły te mogą być także używane w połączeniu z innymi polami obliczeniowymi. Formuły warunkowe są szczególnie przydatne w różnych typach formularzy PDF, takich jak:
Dokumenty finansowe: Na przykład, jeśli kwota kapitału wpływa na wysokość oprocentowania, można zastosować formułę warunkową, aby wyświetlić odpowiednią stawkę na podstawie wprowadzonej sumy.
Testy i egzaminy: Możesz ustawić automatyczną ocenę, która zwróci „zaliczenie” lub „niezaliczenie” w zależności od wyniku końcowego.
Sprzedaż: W przypadku transakcji możesz stworzyć pole, które rekomenduje produkty na podstawie odpowiedzi potencjalnego klienta na konkretne pytania.
Warto jednak pamiętać, że pola obliczeniowe można tworzyć wyłącznie w Adobe Acrobat, ale wyniki obliczeń będą widoczne w każdym czytniku PDF.
Tworzenie prostych instrukcji warunkowych
Niestandardowe pola obliczeniowe w Adobe Acrobat wykorzystują JavaScript jako język programowania. Na szczęście nie musisz być ekspertem w JavaScript, aby stworzyć prostą formułę warunkową; wystarczą jedynie podstawowe wzory do naśladowania.
W poniższym przykładzie posłużymy się prostym formularzem zamówienia. Obecnie składa się on z siedmiu pól: jednego na ilości pięciu produktów, a także pól na łączną ilość i całkowitą cenę.
Podstawowa składnia instrukcji warunkowej w JavaScript w Adobe wygląda następująco:
var nazwaZmienna = this.getField(„nazwaPola”).value;
if (warunek) event.value = wynikPrawdziwy;
else event.value = wynikFałszywy;
Pierwsza linia przypisuje wartość, która będzie wykorzystywana w formule warunkowej. W tym przypadku używamy „this.getField”, aby uzyskać wartość z jednego z pozostałych pól w formularzu. W drugiej linii definiujemy warunek. Podobnie jak w Excelu, możemy określić warunek jako większy, mniejszy lub równy określonej wartości.
Następnie określamy wyniki. Wynik prawdziwy to wartość, która zostanie wyświetlona, jeśli warunek jest spełniony. Kolejna linia kodu używa „else”, aby wskazać wynik fałszywy, czyli wartość, która zostanie pokazana, gdy warunek nie będzie spełniony.
Aby to zastosować, stworzyliśmy pole obliczeniowe o nazwie „Zamówienie zbiorcze”. Aby wprowadzić niestandardowy skrypt obliczeniowy, kliknij prawym przyciskiem myszy na wybrane pole w Adobe Acrobat i wybierz „Właściwości”. Następnie przejdź do zakładki „Oblicz” > „Niższy skrypt obliczeń” > „Edytuj”.
Pole to określa, czy zamówienie kwalifikuje się jako zbiorcze. W przypadku, gdy łączna ilość przekracza 20 sztuk, w polu pojawi się „Tak”, a jeśli będzie mniejsza, „Nie”. Zgodnie z tymi warunkami nasza formuła wygląda następująco:
var TQ = this.getField(„Total Quantity”).value;
if (TQ > 20) event.value = „Tak”;
else event.value = „Nie”;
Na powyższym obrazku widać, że nazwa zmiennej to „TQ”, a wartość TQ jest pobierana z pola „Total Quantity”. Zwróć uwagę, że w nazwach tych pól rozróżniana jest wielkość liter. Następnie definiujemy nasz warunek, który mówi, że TQ musi być większe niż 20. Jeśli tak, w polu pojawi się „Tak”; w przeciwnym razie wyświetli się „Nie”.
Na przykład, jeśli zamówimy 11 kabli odgromowych i 10 akumulatorów, łączna ilość wyniesie 21. Zostanie uznane za zamówienie zbiorcze i wygeneruje następujący wynik:
Wiele warunków
W niektórych sytuacjach może być konieczne spełnienie kilku warunków jednocześnie. Na szczęście można stworzyć pole warunkowe, które generuje wyniki w oparciu o wiele kryteriów.
Przykładowo, jeśli w Twoim sklepie wszystkie zamówienia, które obejmują co najmniej 20 produktów i mają łączną cenę 150, są objęte 10% rabatem, ostateczna kwota powinna pojawić się w polu „Suma z rabatem”. W takim przypadku musimy zdefiniować dwie zmienne i dwa warunki. Oto jak mogłoby wyglądać takie pole:
var Price = this.getField(„Cena początkowa”).value;
var TQ = this.getField(„Total Quantity”).value;
if (Price > 150 && TQ > 20) event.value = Price * 0.9;
else event.value = Price;
Jak widać, zdefiniowaliśmy dwie zmienne w osobnych liniach. Należy również użyć notacji „&&”, aby połączyć dwa różne warunki. Zauważ, że końcowa wartość uwzględnia również rabat.
Zlecenia obliczeniowe
Jednym z kluczowych aspektów, które należy uwzględnić, jest kolejność obliczeń. W przeciwieństwie do Excela, który wykonuje obliczenia równocześnie, Adobe Acrobat wymaga od użytkownika określenia, które formuły mają być obliczane w pierwszej kolejności.
Aby ustawić kolejność obliczeń, przejdź do panelu bocznego „Edytuj formularz” i wybierz opcję Więcej > Ustaw kolejność obliczeń. W naszym przypadku, ponieważ formuły dotyczące zamówienia zbiorczego oraz sumy z rabatem są uzależnione od łącznej ilości i całkowitej ceny, musimy upewnić się, że TQ i TP będą obliczane jako pierwsze.
Przed opublikowaniem formularza sprawdź kolejność obliczeń. Dobrze jest przetestować formularz z różnymi danymi wejściowymi, aby upewnić się, że wszystko działa prawidłowo.
newsblog.pl