Základní syntaxe
Formule v AutoCRM používají jednoduchý výrazový jazyk pro výpočty a transformace dat.
Aritmetické operace
amount * quantity
(price - discount) * 1.21
Řetězcové operace
string\concatenate(firstName, ' ', lastName)
string\upperCase(name)
string\substring(code, 0, 3)
Podmínky
ifThenElse(
status == 'Active',
'Aktivní',
'Neaktivní'
)
Dostupné funkce
Řetězcové funkce
| Funkce |
Popis |
Příklad |
string\concatenate(...) |
Spojení řetězců |
string\concatenate(a, b) |
string\substring(s, start, len) |
Podřetězec |
string\substring(s, 0, 5) |
string\upperCase(s) |
Velká písmena |
string\upperCase(name) |
string\lowerCase(s) |
Malá písmena |
string\lowerCase(name) |
string\trim(s) |
Odstranění mezer |
string\trim(text) |
string\length(s) |
Délka řetězce |
string\length(name) |
string\contains(s, needle) |
Obsahuje |
string\contains(name, 'CRM') |
Číselné funkce
| Funkce |
Popis |
Příklad |
number\format(n, decimals) |
Formátování |
number\format(price, 2) |
number\round(n, precision) |
Zaokrouhlení |
number\round(amount, 0) |
number\floor(n) |
Dolní celá část |
number\floor(value) |
number\ceil(n) |
Horní celá část |
number\ceil(value) |
number\abs(n) |
Absolutní hodnota |
number\abs(difference) |
Datumové funkce
| Funkce |
Popis |
Příklad |
datetime\now() |
Aktuální čas |
datetime\now() |
datetime\today() |
Dnešní datum |
datetime\today() |
datetime\format(d, format) |
Formátování |
datetime\format(date, 'YYYY-MM-DD') |
datetime\addDays(d, n) |
Přidání dnů |
datetime\addDays(date, 7) |
datetime\addMonths(d, n) |
Přidání měsíců |
datetime\addMonths(date, 1) |
datetime\diff(d1, d2, unit) |
Rozdíl |
datetime\diff(start, end, 'days') |
Logické funkce
| Funkce |
Popis |
Příklad |
ifThen(cond, val) |
Pokud-pak |
ifThen(active, 'Ano') |
ifThenElse(cond, val1, val2) |
Pokud-pak-jinak |
ifThenElse(active, 'Ano', 'Ne') |
or(a, b) |
Nebo |
or(condition1, condition2) |
and(a, b) |
A zároveň |
and(condition1, condition2) |
not(a) |
Negace |
not(isActive) |
Entity funkce
| Funkce |
Popis |
Příklad |
entity\attribute(link, attr) |
Atribut propojené entity |
entity\attribute(account, 'name') |
entity\attributeFetched(link, attr) |
Načtený atribut |
entity\attributeFetched(contact, 'email') |
entity\isNew() |
Je nový záznam |
entity\isNew() |
entity\isAttributeChanged(attr) |
Změnil se atribut |
entity\isAttributeChanged('status') |
Výpočet celkové ceny
amount * quantity * (1 - discount / 100)
Automatické jméno záznamu
string\concatenate(
accountName,
' - ',
datetime\format(createdAt, 'YYYY-MM')
)
Podmíněné nastavení
ifThenElse(
probability >= 80,
'High',
ifThenElse(
probability >= 50,
'Medium',
'Low'
)
)
Výpočet termínu
datetime\addDays(
createdAt,
ifThenElse(priority == 'Urgent', 1, 7)
)