Aby zapewnić maksymalną elastyczność, parametry działania pozwalają na użycie specjalnych wyrażeń, których wartości są obliczane w czasie wykonania. Aby określić, że wartość parametru jest wyrażeniem, należy użyć notacji podobnej jak w programie Excel, czyli rozpocząć wartość znakiem równości: =
. Innymi słowy: wyrażeniem jest wszystko, co poprzedzono znakiem równości.
Przykłady:
=6^2 + {=Document:PROPERTY_NUM}/2
=if({Document:ID}=5, "text1", "text2")
W parametrze można użyć tylko jednego wyrażenia. Aby użyć w parametrze wielu wyrażeń, należy użyć operatora konkatenacji (&
) i w razie potrzeby zawrzeć tekst w wyrażeniach, ujmując go w podwójne cudzysłowy ("
).
Przykłady:
="Odpowiedz:" & (1+3)
="Autor: " & {=Document:CREATED_BY} & ", " & "Termin: " & Dateadd({=Document:DATE_CREATE}, "1d")
Jak zobaczysz poniżej, składnia operatorów i funkcji w wyrażeniach jest w dużej mierze oparta na ich składni w PHP.
Można stosować następujące operatory i funkcje.
- + — dodaje dwie wartości;
- - — odejmuje drugą wartość od pierwszej;
- * — mnoży dwie wartości;
- / — dzieli pierwszą wartość przez drugą;
- = — przypisuje (np. zwraca) wynik wyrażenia;
- <> — nie równa się;
- < — mniej niż;
- > — więcej niż;
- <= — mniej niż lub równa się;
- >= — więcej niż lub równa się;
- () — nawiasy okrągłe;
- & — operator konkatenacji. Zwraca nowy ciąg, na który składa się lewy ciąg plus prawy ciąg;
- ^ — potęga;
- % — procent;
- true — wartość logiczna true;
- false — wartość logiczna false;
- and — operator logiczny AND;
- or — operator logiczny OR;
- not — operator logiczny NOT;
- min — zwraca mniejszą z dwóch wartości;
- abs — zwraca wartość bezwzględną argumentu;
- dateadd — dodaje przedział czasu przekazywany jako drugi argument do daty określonej jako pierwszy argument.
Składnia:
=dateadd([data początkowa], [przedział czasu])
W przedziale czasu można użyć następujących jednostek:
y
,year
,years
,m
,month
,months
,d
,day
,days
,
h
,hour
,hours
,i
,min
,minute
,minutes
,s
,second
,seconds
. W jednostkach nie jest rozróżniana wielkość liter.Przykłady:
=Dateadd({=Document:DATE_CREATE}, "-2d")
=Dateadd({=Document:DATE_CREATE}, "2 days 3 minutes")
- datediff — zwraca różnicę między dwiema datami.
Składnia:
=datediff([date1], [date2], [format_wyświetlania_daty])
;Różnicę można wyświetlać w różnych jednostkach.
Przykład:
=datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')
- if — określa warunek;
Składnia:
=if([warunek], [wyrażenie, jeśli prawda], [wyrażenie, jeśli fałsz])
Przykład:
=if ({=Variable:Variable1_printable}>0, "yes", "no")
- intval — zwraca liczbę całkowitą wartości przekazanej jako parameter;
Przykład:
=intval("234j4hv5jhv43v53jk4vt5hj4")
zwraca 234, ponieważ wartość zaczyna się tą liczbą, a znak następujący po cyfrze „4” nie jest liczbą. - substr — zwraca część ciągu określoną przez dwa ostatnie parametry. Szczegóły są dostępne na stronie http://www.php.net/manual/en/function.substr.php.