Přeskočit obsah

Formule

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')

Příklady formulí

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)
)