Omówienie

Aplikacja Adobe Sign umożliwia bieżącą aktualizację pól w dokumencie (umowie) w oparciu o dane wprowadzone przez sygnatariusza w trakcie procesu podpisywania dokumentu. Można to zrobić za pomocą pól obliczeniowych. Możesz wykorzystać pola obliczeniowe, aby w ramach dokumentu (albo szablonu dokumentu) ustanowić reguły, zanim dokument zostanie wysłany do podpisania. Reguły te są przetwarzane, kiedy dokument trafia do sygnatariusza i wówczas dokument ten jest na bieżąco aktualizowany w oparciu o treść (wartości) w poszczególnych polach.

Pola obliczeniowe mogą być definiowane w dokumentach przy użyciu dowolnego z następujących mechanizmów:

Przykłady wykorzystania pól obliczeniowych

Pola obliczeniowe mogą być wykorzystywane wszędzie tam, gdzie zachodzi potrzeba bieżącej aktualizacji dokumentu w trakcie procesu jego podpisywania. Poniżej przedstawiono kilka przykładów, w jaki sposób można wykorzystać pola obliczeniowe. Niniejsze przykłady mają wyłącznie charakter informacyjny.

1. Tworzenie formularza zamówienia – pola obliczeniowe mogą być użyte przy tworzeniu formularza zamówienia, gdzie sygnatariusz dokonuje wyboru z listy dostępnych elementów oraz określa zamawianą ilość. Wybranie pozycji z listy automatycznie aktualizuje formularz, wprowadzając cenę zaznaczonego elementu. Wprowadzona przez sygnatariusza zamawiana ilość powoduje z kolei automatyczne obliczenie całkowitej należności za zamówione elementy. Formularz może również dokonywać dodatkowych obliczeń, na przykład wartości należnego podatku lub kwoty upustów w oparciu o obowiązujące reguły w tym względzie.

2. Automatyczne wypełnianie terminu zakończenia obowiązywania umowy – dla umów, w przypadku których klienci mogą wybrać okres obowiązywania umowy w czasie jej podpisywania (6 miesięcy, 12 miesięcy, 24 miesiące itd.), pole obliczeniowe może być użyte, aby automatycznie wprowadzić datę zakończenia umowy na podstawie wyboru dokonanego przez klienta przy składaniu podpisu.

3. Formularze rejestracji z wieloma opcjami do wyboru – pola obliczeniowe mogą zostać użyte do tworzenia formularzy rejestracji (np. członkostwa w organizacji), w których osoba podpisująca formularz może dokonywać wyboru spośród dostępnych opcji. Wybory dokonywane przez sygnatariusza mogą wprowadzać zmiany w innych aktywnych polach formularza, określających warunki umowy, takie jak czas jej obowiązywania, a także całkowity koszt.

Podstawowe informacje o polach obliczeniowych

Pole obliczeniowe może zostać przypisane do każdego pola formularza, pola wyboru czy przycisku opcji w formularzu Adobe Sign. W czasie podpisywania dokumentu sygnatariusz nie może bezpośrednio wprowadzić wartości do pola, które zostało określone jako obliczeniowe, wartość w tym polu jest automatycznie obliczana w oparciu o reguły zdefiniowane w formularzu.

Definicja pola obliczeniowego składa się z dwóch części: wyrażenia i formatu

Wyrażenie

Wymagane

Definiuje wzór lub regułę, w oparciu o które wartość określonego pola ma zostać obliczona. Aplikacja Adobe Sign oblicza wyrażenie w czasie podpisywania dokumentu, a uzyskana wartość zostaje wyświetlona w polu obliczeniowym.

Format

Opcjonalnie

Uzyskana wartość pola obliczeniowego może także zostać sformatowana jako data, liczba lub waluta poprzez wprowadzenie odpowiedniego formatu.

Pola obliczeniowe można definiować za pomocą znaczników tekstowych Adobe Sign, używając aplikacji internetowej Adobe Sign, albo za pomocą pól formularzy PDF. W przypadku korzystania ze znaczników Adobe Sign albo z pól formularzy PDF do definiowania pól obliczeniowych, wyrażenie będące wzorem obliczenia zostaje zdefiniowane przy użyciu dyrektywy o nazwie „calc”. Formatowanie pola obliczeniowego można określić za pomocą dyrektywy o nazwie „format”.

Przykład

{{someCalculatedField_es_:signer1:calc(someExpn):format(formatType, someFormat)}}

Przykład ten ilustruje zastosowanie znaczników tekstowych do zdefiniowania w dokumencie pola o nazwie „someCalculatedField”. Pole to jest przypisane do odbiorcy identyfikowanego jako signer1. Wartość w tym polu jest obliczana na podstawie wzoru określonego parametrem „someExpn”. Typ obliczonej wartości określa parametr „formatType”, a formatowanie ustalone jest w oparciu o format zdefiniowany jako „someFormat”.

Środowisko tworzenia dokumentu w aplikacji internetowej Adobe Sign zawiera w pełni funkcjonalny kreator wyrażeń, pozwalający definiować wzory dla pól obliczeniowych. Patrz Używanie kreatora wyrażeń do definiowania pól obliczeniowych, aby uzyskać więcej szczegółowych informacji odnośnie tworzenia wyrażeń.


Wyrażenia pól obliczeniowych

Wyrażenie definiuje wzór (regułę), na podstawie której zostanie obliczona wartość pola obliczeniowego. Wyrażenie może zawierać co najmniej jeden z następujących elementów:

Literał

Określa rzeczywistą wartość, która jest używana jako część wyrażenia. Wyrażenia mogą być ciągami znaków, liczbami lub datami. Na przykład:

• {{helloField_es_:signer1:calc(“Hello”)}} – ten literał ustala wartość pola o nazwie „helloField” na wartość Hello.

• {{numField_es_:signer1:calc(10)}} – ten literał ustala wartość pola o nazwie „numField” na wartość 10.

Ciągi, które mają znaleźć się w wyrażeniu, muszą zostać ujęte w cudzysłów (albo podwójny (") albo pojedynczy (')). Jeżeli obliczona wartość wymaga użycia cudzysłowu (czy to podwójnego, czy pojedynczego), można to rozwiązać używając ukośnika (\), aby zamknąć cudzysłów.

Ważna uwaga: dla wszystkich przykładów przedstawionych poniżej pokazane zostaną wyłącznie wyrażenia, nie będzie pokazana pełna składnia znacznika tekstowego.

Operatory

Operatory są używane do wykonania co najmniej jednej operacji, będącej elementem wyrażenia. Na przykład:

• 6 + 4 – ten operator daje wartość 10, która zostaje wprowadzona do pola obliczeniowego.

• 5/22/2016 - 3 – ten operator daje wartość 5/19/2016, która zostaje wprowadzona do pola obliczeniowego.

Patrz Obsługiwane operatory, aby znaleźć listę operatorów, które są obsługiwane przez wyrażenia.

Pola

Do zdefiniowania wyrażenia można użyć pól znajdujących się już w dokumencie, odnosząc się do nich za pomocą ich nazwy. Pola mogą być polami Adobe Sign (jak np. pole podpisu, daty, imię i nazwisko sygnatariusza, firma sygnatariusza itp.), polami zdefiniowanymi w ramach dokumentu lub innymi polami obliczeniowymi. Na przykład:

• price * quantity – to wyrażenie odwołuje się do dwóch innych pól w dokumencie o nazwach „price” (cena) i „quantity” (ilość). Wynik mnożenia wartości tych dwóch pól zostanie wprowadzony do pola obliczeniowego.

• signerName & “employee of “ & signerCompany – to wyrażenie odwołuje się do dwóch pól w dokumencie o nazwach „signerName” and “signerCompany”, które, jeśli są dostępne, zostają wstępnie wprowadzone przez aplikację Adobe Sign, i wiąże ze sobą te dwie wartości. Jeśli imię i nazwisko sygnatariusza to „Casey Jones”, a jego firma to „Acme Corp”, to wyrażenie daje w wyniku wartość „Casey Jones, pracownik firmy Acme Corp”, która to wartość zostaje wprowadzona do Pola obliczeniowego.

Jeżeli nazwa pola zawiera spacje, to aby wyrażenie mogło się do niej odnieść, nazwa ta musi zostać ujęta w nawiasy kwadratowe ([]). Na przykład [nazwa pola ze spacjami] odwoła się do pola w dokumencie określonego jako „nazwa pola ze spacjami”.

Funkcje

Wyrażenia mogą również zawierać jedną lub więcej funkcji z listy funkcji obsługiwanych przez aplikację Adobe Sign. Określone funkcje są obliczane podczas procesu podpisywania umowy, a wynik tych obliczeń jest wyświetlany w polu obliczeniowym. Na przykład:

• dateAdd(d, signedDate, 3) – to wyrażenie używa funkcji „dateAdd” i każe dodać 3 dni do daty, w której umowa jest podpisywana. Jeśli zatem dokument jest podpisywany z datą 5/22/2016, to uzyskana wartość wyrażenia będzie mieć postać 5/25/2016.

Patrz Obsługiwane funkcje, aby zapoznać się z listą funkcji obsługiwanych przez wyrażenia.


Obsługiwane operatory

W polach obliczeniowych obsługiwane są następujące operatory.

+

Dodaje do siebie dwie liczby.

-

Odejmuje dwie liczby.

/

Dzieli dwie liczby.

*

Mnoży przez siebie dwie liczby.

&

Scala razem dwa ciągi.

=

Jest równe. Porównuje dwie wartości i zwraca wynik prawdziwy, jeśli te dwie wartości są równe, albo nieprawdziwy, jeśli nie są równe.

!=

Nie jest równe. Porównuje dwie wartości i zwraca wynik prawdziwy, jeśli te dwie wartości nie są równe, albo nieprawdziwy, jeżeli są równe.

Mniejsze niż. Porównuje dwie wartości i zwraca wartość logiczną (prawda lub fałsz), jeśli pierwsza wartość jest mniejsza niż wartość druga.

>=

Większe lub równe. Porównuje dwie wartości i zwraca wartość logiczną (prawda lub fałsz), jeśli pierwsza wartość jest większa niż wartość druga.

<=

Mniejsze niż lub równe. Porównuje dwie wartości i zwraca wartość logiczną (prawda lub fałsz), jeśli pierwsza wartość jest mniejsza lub równa wartości drugiej.

Większe niż. Porównuje dwie wartości i zwraca wartość logiczną (prawda lub fałsz), jeśli pierwsza wartość jest większa niż wartość druga.

%

Operator modulo. Zwraca resztę pozostałą z dzielenia dwóch liczb.

^

Operator wykładnika. Zwraca wartość wykładniczą określonych liczb.


Obsługiwane funkcje

Przy określaniu wyrażeń w ramach pól obliczeniowych obsługiwane są następujące funkcje.

Funkcja

Kategoria

Opis

abs(number1)

Matematyczne

Zwraca wartość bezwzględną liczby „number1”.

roundUp(number1)

Matematyczne

Zaokrągla w górę liczbę „number1”.

roundDown(number1)

Matematyczne

Zaokrągla w dół liczbę „number1”.

round(number1)

Matematyczne

Zaokrągla liczbę „number1” do najbliższej liczby całkowitej.

min(number1,number2)

Matematyczne

Zwraca mniejszą z dwóch liczb „number1” i „number2”.

max(number1,number2)

Matematyczne

Zwraca większą z dwóch liczb „number1” i „number2”.

datePart(part, date)

Data

Zwraca część daty określoną przez pierwszy argument jako liczbę całkowita. Na przykład: datePart(m, 5/22/2016) zwróci liczbę określającą miesiąc w tej dacie.

Patrz Dopuszczalne wartości dla daty poniżej, aby uzyskać informacje na temat wartości dopuszczalnych jako atrybuty części.

dateAdd(part, date, addition)

Data

Dodaje określoną liczbę części (takich jak: „d” jak dzień, „m” jak miesiąc lub „y” jak rok (ang. year)) do daty, aby obliczać nowe daty. Można używać liczb lub nazw pól.

Na przykład: dateAdd("m", "Jan 1, 2016", 3) zwróci datę w postaci Apr 1, 2016. W tym przykładzie wzór dodaje 3 miesiące do określonej daty.

dateDiff(part, date1, date2)

Data

Zwróci liczbę części (np. „d” oznacza dni, „h” oznacza godziny (ang. hours) lub „n” oznacza minuty) pomiędzy dwiema datami. Można używać liczb lub nazw pól.

Na przykład: dateDiff("d", "Jan 1, 2016", "Jan 2, 2016") zwróci wartość 1, określającą 1 dzień pomiędzy 1 i 2 stycznia.

daysIn(part, date)

Data

Zwróci liczbę dni zawartych w danej części (np. „d” jak dzień, „m” jak miesiąc lub „y” jak rok (ang. year) dla określonej daty. Można używać liczb lub nazw pól.

Na przykład: daysIn("m", "Feb 1, 2016”) zwróci wartość 29 dni w lutym 2016 roku, a daysIn("y", "02/01/2015") zwróci wartość 365 dni w roku 2015.

date(string)

Data

Konwertuje ciąg znaków, np. „1/1/2016” na obiekt daty, który może być używany w ramach innych funkcji.

now()

Data

Zwraca datę i godzinę obliczenia wzoru, najczęściej jest to czas załadowania strony podpisu elektronicznego.

if(logical_test, value_if_true, value_if_false)

Logiczne

Dokonuje sprawdzenia w ramach „logical_test”. „logical_test” może być innym wyrażeniem. Jeżeli jest PRAWDZIWE, wówczas zwróci wartość określoną atrybutem „value_if_true”. Jeżeli jest NIEPRAWDZIWE, zwraca wartość określoną atrybutem „value_if_false”. Zarówno atrybut „value_if_true”, jak i atrybut „value_if_false” mogą być wyrażeniami.

Na przykład: jeśli (1>0, "Correct", "Incorrect") to wartością zwróconą będzie „Correct” (Prawidłowo).

and(logical1, logical2, ...)

Logiczne

Zwróci wartość prawdziwą tylko wtedy, kiedy wszystkie argumenty logiczne zostaną zweryfikowane jako PRAWDZIWE. W przeciwnym razie zwróci wartość jako nieprawdziwą.

Na przykład (1>0, 2>1) zwróci wartość „prawdziwe”, (1>0, 2=1) zwróci wartość „nieprawdziwe”.

or(logical1, logical2, ...)

Logiczne

Zwraca wartość prawdziwą tylko wówczas, kiedy którykolwiek z logicznych argumentów (logical1, logical2...) zostanie zweryfikowany jako PRAWDZIWY. Jeśli wszystkie argumenty logiczne są zweryfikowane jako NIEPRAWDZIWE, zwracana jest wartość nieprawdziwa.

Na przykład: lub (1>0, 2>1) zwróci wartość „prawdziwe”. lub (1>0, 2=1) zwróci wartość „nieprawdziwe”.

not(logical)

Logiczne

Zwróci wartość przeciwną do „logical”. A zatem jeśli wartość „logical” zostanie zweryfikowana jako NIEPRAWDZIWA, zwrócona wartość będzie prawdziwa. A jeśli zostanie zweryfikowana jako PRAWDZIWA, zwrócona wartość będzie nieprawdziwa. Na przykład: not (1>0) zwróci wartość „nieprawdziwe”.

 

Dopuszczalne wartości dla części dat

Następujące wartości mogą być używane w ramach funkcji odnoszących się do daty, kiedy określana jest ta część daty, w oparciu o którą ma działać dana funkcja.

Część

Część daty, do której zastosowanie ma dana funkcja

y

Rok

q

Kwartał

m

Miesiąc

d

Dzień

h

Godzina

n

Minuta

s

Sekunda


Formatowanie pól obliczeniowych

Oprócz definiowania wyrażeń dla pól obliczeniowych można również formatować uzyskaną wartość. Wartość ta może być sformatowana jako tekst (ustawienie domyślne), jako liczba lub jako data.

Jeśli dyrektywa formatowania jest używana ze znacznikami tekstowymi, to przybiera postać dwóch argumentów: FormatType i Format.

FormatType

Określa typ wartości reprezentowanej w polu obliczeniowym. Dopuszczalne wartości dla tego parametru są następujące: liczba i data.

Format

Określa strukturę wartości końcowej, która ma być zamieszczona w polu obliczeniowym.


Formatowanie pól obliczeniowych jako liczb

Następujące znaki mogą być użyte do określania formatowania wartości końcowej jako liczby

Formatowanie znaku

Opis

_

(podkreślenie). Reprezentuje obszar zarezerwowany dla dowolnej cyfry.

9

Reprezentuje obszar zarezerwowany dla dowolnej cyfry.

.

Lokalizacja obowiązkowego separatora dziesiętnego w postaci kropki (lub innego obowiązującego lokalnie symbolu).

0

Umieszczone po lewej albo po prawej stronie obowiązkowego separatora dziesiętnego. Dopełnia zerami.

( )

Jeśli liczba jest mniejsza niż zero, wokół maski pojawiają się nawiasy.

+

Wstawia znak plus przed liczbą dodatnią; znak minus przed liczbą ujemną.

-

Umieszcza spację przed liczbą dodatnią; znak minus przed liczbą ujemną.

,

Oddziela co trzecie miejsce dziesiętne za pomocą przecinka (lub innego obowiązującego lokalnie symbolu).

$

Umieszcza znak dolara (lub innego obowiązującego lokalnie symbolu) przed sformatowaną liczbą. Jeżeli jest określony, musi być pierwszym znakiem w ciągu znaków formatowania.

%

Konwertuje wartość liczbową w polu na wartość procentową. Mnoży wartość przez 100, a na końcu

umieszcza znak %. Jeżeli jest określony, musi być ostatnim znakiem w ciągu znaków formatowania.


Formatowania pól obliczeniowych jako dat

Poniższe znaki mogą być użyte do określania formatowania wartości końcowej jako daty.

Format

Opis

Przykład

s

Sekundy składające się na minutę, od 0 do 59.

Od „0” do „59”

ss

Sekundy składające się na minutę z wiodącym zerem, jeśli zachodzi taka potrzeba.

Od „00” do „59”

n

Minuty składające się na godzinę, od 0 do 59.

Od „0” do „59”.

nn

Minuty składające się na godzinę z wiodącym zerem, jeśli zachodzi taka potrzeba.

Od „00” do „59”.

h

Godziny dnia od 1 do 12.

Od „1” do „12”

hh

Godziny dnia z wiodącym zerem, jeśli zachodzi taka potrzeba.

Od „01” do „12”

H

Godziny dnia od 0 do 23.

Od „0” do „23”

HH

Godziny dnia z wiodącym zerem, jeśli zachodzi taka potrzeba.

Od „00” do „23”

d

Dni miesiąca z przedziału od 1 do 31.

Od „1” do „31”

dd

Dni miesiąca z wiodącym zerem, jeśli zachodzi taka potrzeba.

Od „01” do „31”

ddd

Skrócona nazwa dnia.

Od „Pon” do „Niedz”

dddd

Pełna nazwa dnia.

Od „Poniedziałku” do „Niedzieli”

m

Miesiące roku od 1 do 12.

Od „1” do „12”

mm

Miesiące roku z wiodącym zerem, jeśli zachodzi taka potrzeba.

Od „01” do „12”

mmm

Skrócona nazwa miesiąca.

Od „Sty” do „Gru”

mmmm

Pełna nazwa miesiąca.

Od „Stycznia” do „Grudnia”

yy

Rok w postaci dwucyfrowej

Od „99” do „15”.

yyyy

Rok w pełnej, czterocyfrowej postaci.

Od „1999” do „2015”.

t

Wyświetla pierwszą literę oznaczenia pory dnia A.M. /P.M.

„A” lub „P”

tt

Wyświetla całość oznaczenia pory dnia A.M. /P.M.

„AM” lub „PM”


Przykłady formatowania

Poniższe przykłady pokazują, jak należy formatować daty i liczby pól obliczeniowych.

  • Pola obliczeniowe sformatowane jako data:

{{myField_es_:calc(otherDateField + 3):format(date, "mmm dd, yyyy")}}

Wartość końcowa wyglądać będzie np. tak: „Maj 22, 2016”.

  • Pola obliczeniowe sformatowane jako liczby.

{{myTax_es_:calc(total * taxrate):format(number, "$,.00") }}

Wartość końcowa będzie wyglądać np. tak: „$ 1,987.65”.


Używanie Kreatora wyrażeń do definiowania pól obliczeniowych

Pola obliczeniowe można zdefiniować za pomocą środowiska tworzenia dokumentu Adobe Sign. Jeśli pracujesz w tym środowisku, poniżej opisano kolejne kroki definiowania pól obliczeniowych.

1. Przeciągnij i upuść pole w obrębie dokumentu. Kliknij dwukrotnie właśnie dodane pole, aby otworzyć okno dialogowe właściwości pola. Odpowiednio nazwij to pole. Zmień atrybut Typ wartości, używając listy rozwijanej dla typu Obliczone wartości. Oznacza to, że wartość pola będzie ustalana w oparciu o obliczenie dokonane podczas podpisywania dokumentu.

Pole Typ wartości

 

2. Wpisz wyrażenie obliczeniowe w polu tekstowym o nazwie Wzór lub kliknij przycisk funkcji (fx), aby otworzyć Kreatora wyrażeń.

Kreator wzorów

 

3. Użyj Kreatora wyrażeń do zdefiniowania wyrażenia dla pola obliczeniowego (patrz ilustracja poniżej). Obszar wyrażenie znajdujący się na górze pokazuje wzór, który używany jest do obliczenia wartości pola. Możesz wpisać formułę w obszarze wyrażenia lub użyć środowiska tworzenia dokumentu w celu utworzenia wzoru. Kreator wyrażeń zawiera listę wszystkich dostępnych Funkcji, listę utworzonych w dokumencie Pól formularza oraz listę obsługiwanych Operatorów, co pomaga tworzyć wyrażenia. Możesz dodać Pole albo Funkcję do wzoru, klikając dwukrotnie dany element w obszarze listy Kreatora wyrażeń. Możesz także dodawać Operatory do wyrażenia, klikając żądany operator na Liście operatorów.

4. Po zakończeniu definiowania wyrażenia możesz sprawdzić jego składnię, klikając przycisk Sprawdź składnię, a następnie zapisując zmiany.

5. Ustaw typ pól obliczeniowych, używając listy rozwijanej Wyświetl jako.

Pole Wyświetl jako

 

6. Jeżeli pole Wyświetl jako to data albo liczba, ustaw wartość tego pola na Format daty/liczby, korzystając z listy rozwijanej. Można również wybrać opcję Własne formatowanie, aby zdefiniować własne formatowanie dla tego pola.

Pole w formacie liczby

Przykłady pól obliczeniowych

 

  • {{shipState_es_:signer1:calc([billingState]):showif(sameAs=unchecked)}}
    • Pole w dokumencie przypisane do pierwszego z sygnatariuszy, które zostanie wyświetlone tylko wówczas, gdy inne pole (pole wyboru) o nazwie „sameAs” pozostanie niezaznaczone. Wartość tego pola jest automatycznie uzupełniana wartością pola „billingState” (Status rozliczenia), którą sygnatariusz wprowadził do dokumentu.
  • {{total_es_:signer1:calc(q1*pr1):format(Number,”$,0.00”):align(right)}}
    • Pole w dokumencie przypisane do pierwszego sygnatariusza. Jego wartość zostaje automatycznie wyliczona na podstawie wartości w polach „q1” i „pr1”. Uzyskana wartość jest formatowana jako wartość walutowa i zostaje wyświetlona z symbolem dolara ($) poprzedzającym kwotę obliczoną z dokładnością do dwóch miejsc po przecinku. Uzyskana wartość jest ponadto wyrównywana w ramach pola do prawej.
  • price_es_:signer1:calc(if(pn1=”W1”,9.99,if(pn1=”W2”,5.99,if(pn1=”W3”,24.99,0))))}
    • Pole w dokumencie, nazwane „price” (cena), którego wartość zostaje obliczona na podstawie wartości wybranej przez sygnatariusza w innym polu dokumentu, nazwanym „pn1”. W tym przykładzie, jeżeli pole „pn1” równa się W1, to wartość wyświetlana w polu „price” wynosi 9,99, a jeżeli pole „pn1” równa się W2, to wartość wyświetlana w polu „price” wynosi 5,99 i tak dalej. Jeżeli żadna z wartości nie odpowiada wartości w polu „pn1”, to wartość wyświetlana w polu „price” wynosi 0. Korzystając z tego mechanizmu, pola obliczeniowe mogą być używane, aby automatycznie uzupełniać cenę w oparciu o wybór, jakiego dokonał sygnatariusz w ramach procesu podpisywania dokumentu.

 


Wersja do pobrania

Pobierz

Ta zawartość jest licencjonowana na warunkach licencji Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Posty z serwisów Twitter™ i Facebook nie są objęte licencją Creative Commons.

Informacje prawne   |   Zasady prywatności online