Przeczytaj FAQ
Nowości Bitrix24
Aktualizacje artykułów
Aktualności
Rejestracja i autoryzacja
Poczta
Zadania i projekty
Dysk
Kalendarz
Komunikator Bitrix24
Jak zacząć
Grupy robocze
CRM
Bitrix24 Market
Strony internetowe
Firma
Automatyzacja
Marketing
Zarządzanie asortymentem produktów
Ustawienia
Subskrypcja
Aplikacja desktopowa
Mój profil
Centrum Kontaktowe
Analityka CRM
Baza Wiedzy
CRM + Sklep internetowy
Wsparcie Bitrix24
Enterprise
AI CoPilot
Bitrix24 On-premise
e-Podpis
e-Podpis w HR
Telefonia
Kreator BI
Strona startowa: Vibe
Sklep online
Workflow
Centrum Sprzedaży
Kwestie ogólne
Sales Intelligence
Logowanie
Twój Bitrix24
Autoryzuj się aby wejść
do swojego Bitrix24.
Wejdź

Bitrix24Care

Oblicz wartości wyrażeń

W systemie można obliczać wartości wyrażeń w parametrach działań. Na przykład dodawanie, mnożenie, obliczanie procentów i nie tylko.

Aby wykonać obliczenia, musisz umieścić znak = w polu przed operacjami.

Przykład: =6^2 + {=Document:PROPERTY_NUM}/2 lub =if({Document:ID}=5, "texte1", "texte2").

W każdym polu możesz użyć kilku różnych obliczeń. Jeśli chcesz nie tylko wykonać obliczenia, ale także wyświetlić dodatkowe dane (wartości zmiennych, tekst), to dostępne są dwie opcje zapisu:

  • Obliczone wartości można po prostu umieścić w tekście umieszczając kalkulację w konstrukcji {{=...}}.
  • Przykład: Musisz wypełnić dokumenty przed {{=DateAdd({=Document:CREATED}, '5d')}}.
  • Możesz także użyć operatora konkatenacji (& amp;) i ująć tekst w cudzysłów (") .
  • Przykład: ="Odpowiedź:" & (1+3) lub ="Autor: " & {=Document:CREATED_BY} & ", " & "Termin końcowy: " & Dateadd({=Document:DATE_CREATE}, "1d")

Składnia operatorów symbolicznych jest podobna do składni odpowiednich funkcji php.

Operatorzy

Podczas obliczania wartości wyrażeń możesz używać różnych operatorów i funkcji w parametrach dzaiłań.

Lista dostępnych operatorów

Operator Opis
+ Dodawanie.
- Odejmowanie.
* Mnożenie.
/ Dzielenie.
= Równa się.
<> Nie równa się.
< Mniejsze.
> Większe.
<= Nie większe.
>= Nie mniejsze.
() Kolejność wykonywania działań.
& Operator konkatenacji, który zwraca ciąg znaków reprezentujący konkatenację lewego i prawego argumentu.
^ Potęgowanie.
% Obliczanie odsetek.
true Prawda.
false Fałsz.
and Operator logiczny And
or Operator logiczny Or.
Przykład: =if(or({=Variable:aaa}>2, {=Variable:bbb}<10), "yes", "no")
not Negacja.

Funkcje w działaniach

Podczas projektowania workflow można używać funkcji w działaniach. Można wybrać je z listy. Aby to zrobić, wpisz w polu znak =, a otworzy się lista.

Lista funkcji z przykładami

Funkcja Opis
abs Obliczanie wartości bezwzględnej liczby.
dateadd

Dodaje określoną liczbę dni, miesięcy, lat, godzin, minut i sekund do określonej daty.

Składnia: =dateadd([data_początkowa], [co_dodawać])

Opcje pisania i przykłady

y, year, years, m, month, months, d, day, days, h, hour, hours, min, minute, minutes, s, second, seconds.

Podczas pisania możesz używać wielkich lub małych liter.

Przykłady: =Dateadd({=Document:DATE_CREATE}, "-2d"), =Dateadd({=Document:DATE_CREATE}, "2 days 3 minutes").

Jeśli liczba jednostek czasu wymaganych do dodania jest zawarta w polu, zmiennej itp., musisz użyć operatora konkatenacji &.

Przykład: =DateAdd({=Document:DATE_CREATE}, {=Variable:WHAT2ADD} & "y 10h")

datediff

Umożliwia obliczać różnicę między dwiema datami.

Składnia: =datediff([pierwsza data], [druga data], [jak pokazać różnicę])

Różnica może być wyświetlana w różnych jednostkach, w zależności od Twoich zadań.

Przykłady: =datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')
date

Funkcja wyświetla datę w określonym formacie i działa podobnie do funkcji Date PHP.

Składnia: date ('format wyjściowy', {wymagana data})

WorkDateAdd

Dodaje określoną liczbę dni roboczych, godzin i minut do określonej daty.

Składnia: =WorkDateAdd([data_początkowa], [co_dodawać]).

Opcje pisania i przykłady

d, day, days, h, hour, hours, i, min, minute, minutes. Dozwolone jest pisanie zarówno wielkimi, jak i małymi literami.

Przykład: =WorkDateAdd({=Template:Parameter1}, "2d") - parametr zawiera datę28.04.2016.

Wynik 02.05.2016 09:00:00, ponieważ 30.04 i 1.05 to dni wolne, zostaną pominięte. 09:00:00 - początek dnia roboczego.

Możesz skonfigurować listę weekendów i początku dnia roboczego w Ustawieniach portalu.

AddWorkDays Funkcja dodaje N dni roboczych do podanej daty.

Składnia: =addworkdays([data, do której zostaną dodane dni], [liczba dni roboczych do dodania]).

Przykłady: {{=addworkdays('07.03.2016', 1)}} - wynik: 09.03.2016 00:00:00, ponieważ w ustawieniach witryny 8 marca jest dniem wolnym od pracy.

{{=addworkdays('05.02.2016 16:14:00', 1)}} - wynik: odkąd 05.02.2016 jest piątek, wynik jest następujący: 08.02.2016 16:14:00 - poniedziałek.

isWorkDay Sprawdza, czy data jest dniem roboczym (według kalendarza).

Składnia: =if(isWorkDay([data do sprawdzenia]), [komunikat, jeśli data jest dniem roboczym], [komunikat, jeśli nie jest dniem roboczym]).

Przykład: {{=if(isWorkDay({=Template:Parameter1}), 'Tak', 'Nie')}} - parametr zawiera datę 28.04.2016. Wynik to Tak, ponieważ to jest dzień roboczy.
isWorkTime Podobne jest do funkcji isWorkDay, jednak dla typów danych Data/Czas.

Przykład: =if(isWorkDay([sprawdzalna data z czasem]), [komunikat, jeśli data i godzina są roboczymi], [komunikat, jeśli nie są roboczymi]).

Przykład:{{=if(isWorkTime({=Template:Parameter1}), 'Tak', 'Nie')}} - parametr zawiera datę i godzinę 27.04.2016 15:00:00.

Wynik jest Tak, ponieważ jest to czas roboczy.

toUserDate Funkcja dopasowuje dowolny czas workflow do czasu pracownika (z uwzględnieniem jego strefy czasowej).

toUserDate(user,date=now)

Parametry:
  • user - użytkownik, do czasu którego należy dopasować czas workflow.
  • date - data rozpoczęcia, domyślna jest aktualny czas.

GetUserDateOffset Funkcja zwraca wartość przesunięcia strefy czasowej użytkownika w sekundach (w stosunku do czasu serwera).

GetUserDateOffset(user)

Parametr:
  • user - użytkownik, dla czasu którego ma zostać przesunięta wartość.
if Operator warunkowy.

Składnia: =if([warunek],[wynik_jeśli_warunek_jest_spełniony],[wynik_jeśli_warunek_nie_został_spełniony])

Przykład: =if ({=Variable:Variable1_printable}>0, "tak", "nie")

Przy porównywaniu wartości zmiennych możliwe jest również porównywanie zmiennych z różnymi typami danych. Porównywane zmienne muszą jednak odpowiadać tabeli konwersji typów (czytaj więcej w tym artykule).

intval Zwraca wartość całkowitą zmiennej.
Przykład:=intval("234j4hv5jhv43v53jk4vt5hj4") wróci 234
floatval Zwraca liczbę (zmiennoprzecinkową).
numberformat Formatuje liczbę z podziałem na grupy.
min Zwraca najmniejsza wartość.
max Zwraca największą wartość.
rand Zwraca losową liczbę.

Składnia: =rand([wartość minimalna],[wartość maksymalna]).

Wymagane jest tylko określenie minimalnej wartości. Jeśli chcesz określić wartość maksymalną, możesz nie określać drugi parametr, na przykład =rand(17).

Przykład: =rand(0,10) - wybierz liczbę od 0 do 10.

round Zaokrągla liczbę.

Składnia: =round([co zaokrąglamy],[liczba symboli po przecinku])

Przykłady:

  • =round(10/3,2) - otrzymujemy 3.33.
  • =round(5/2) - otrzymujemy 3.

ceil Zaokrągla ułamek w górę.
Przykład: =ceil(5.5) otrzymujemy 6.
floor Zaokrągla ułamek w dół.
Przykład: =floor(5.5) otrzymujemy 5.
substr Zwraca podciąg o określonej długości, zaczynając od określonego znaku. Ta funkcja jest podobna do istniejącej w php, więcej o jej możliwościach przeczytasz tutaj.

Składnia: substr([ciąg wejściowy], [od którego znaku w ciągu źródłowym zacznie się zwracany ciąg], [jak długi będzie ciąg])

Pamiętaj, że ciąg zaczyna się od znaku numer 0. Na przykład w ciągu abcdef na pozycji 0 znajduje się znak a, na pozycji 2 jest znak c i tak dalej.

Przykład: {{=substr("0123456789", 3, 4)}} wróci 3456.

Uwaga! Jeśli składnia wyrażenia jest nieprawidłowa, zostanie wyświetlona jako tekst.

strpos Zwraca pierwsze wystąpienie podciągu.
strlen Zwraca długość linii.
implode Łączy elementy tablicy PHP w ciąg. Analog implode w PHP. Zwraca ciąg zawierający reprezentację wszystkich elementów tablicy PHP w określonej kolejności, z wartością glue pomiędzy każdym elementem.
implode(glue,pieces) 

Parametry:

  • glue - domyślnie pusty ciąg
  • pieces - tablica PHP ciągów do połączenia.
explode Funkcja dzieli ciąg za pomocą ogranicznika. Analog explode w PHP. Zwraca tablicę PHP ciągów otrzymanych przez podzielenie linii str przy użyciu delimiter jako separatora.
explode( delimiter, str)

Parametry:

  • delimiter - ogranicznik
  • str - ciąg do rozdzielenia
randstring Zwraca losowy ciąg.
merge Pozwala na łączenie tablic PHP.

Składnia: = merge({=array_1}, {=array_2});

Przykład: = merge({=Document:FILES}, {=Variable:file}).
urlencode ciąg znaków zakodowany w adresie URL.
strtolower Konwertuje ciąg na małe litery.
strtoupper Konwertuje ciąg na wielkie litery.
ucwords Konwertuje pierwszy znak każdego nowego słowa w ciągu na wielkie litery.
firstvalue Zwraca pierwszą wartość pola wielokrotnego.
swirl Przenosi pierwszą wartość pola wielokrotnego na koniec.
shuffle Miesza wartości pola wielokrotnego. Analog shuffle w PHP.
Przykład

Funkcje: shuffle, firstvalue i swirl na przykładzie workflow. Za pomocą tego workflow można ustawić zadanie dla dowolnego pracownika z listy i dodać kolejnego użytkownika do współwykonawców.

Workflow zawiera zmienną wielokrotną Użytkownicy, która przechowuje listę pracowników.

Najpierw przetasujmy listę użytkowników za pomocą shuffle. Następnie weźmiemy pierwszego użytkownika za pomocą firstvalue, to będzie osoba odpowiedzialna.

Następnie przesuniemy tę listę za pomocą swirl i wybierzemy pierwszego użytkownika za pomocą firstvalue, to będzie uczestnik.

Następnie wypełnij parametry zadania.

Po uruchomieniu workflow do zadania zostaną dodani wybrani pracownicy jako odpowiedzialni i uczestnik.

Czy te informacje były pomocne?
Pomoc specjalisty ds. integracji
To nie jest to, czego szukam
Skomplikowany i niezrozumiały tekst
Informacje są nieaktualne
Artykuł jest za krótki. Potrzebuję więcej informacji
Nie podoba mi się sposób działania tego narzędzia
Przejdź do Bitrix24
Nie masz konta? Utwórz za darmo
Powiązane artykuły
Parametry workflow Projektant workflow Jak skonfigurować ustawienia szablonu procesu workflow