top_ua
Головна сторінка

Підтримка24

Обчислення значень виразів в параметрах дій

Рейтинг:

У системі є можливість обчислювати значення виразів в параметрах дій, для цього необхідно поставити знак = в поле перед операціями.

Приклад: =6^2 + {=Document:PROPERTY_NUM}/2 или =if({Document:ID}=5, "текст1", "текст2").

У кожному полі можна використовувати відразу кілька різних обчислень. У випадку, якщо потрібно не тільки зробити обчислення, але так само вивести додаткові дані (значення змінних, текст), то необхідно використовувати оператор конкатенації (&), а текст писати в лапках (").

Приклад: ="Відповідь:" & (1+3) або ="Автор: " & {=Document:CREATED_BY} & ", " & "Кінцевий термін: " & Dateadd({=Document:DATE_CREATE}, "1d")

З версії 15.6.0 обчислювані значення можна просто розміщувати у тексті, помістивши обчислення в конструкцію {{=...}}. Наприклад: Вам необхідно оформити документи до {{=DateAdd({=Document:CREATED}, '5d')}}.

Синтаксис символьних операторів аналогічний синтаксису відповідних php-функцій.

Доступні наступні оператори:

  • + - додавання;
  • - віднімання;
  • * - множення;
  • / - ділення;
  • = - дорівнює;
  • <> - не дорівнює;
  • < - менше;
  • > - більше;
  • <= - менше або дорівнює;
  • >= - більше або дорівнює;
  • () - порядок дій;
  • & - оператор конкатенації, який повертає рядок, що представляє собою з'єднання лівого і правого аргументу;
  • ^ - зведення в ступінь;
  • % - обчислення відсотків;
  • true - правда;
  • false - брехня;
  • and - логічний оператор ТА;
  • or - логічний оператор АБО.

    Пример: =if(or({=Variable:aaa}>2, {=Variable:bbb}<10), "yes", "no")
  • not - заперечення;
  • min - найменше значення;
  • abs - обчислення модуля;
  • dateadd - Додає задану кількість днів, місяців, років, годин, хвилин і секунд до зазначеної дати.

    Синтаксис: =dateadd([початкова_дата], [що_додавати]);

    Варіанти написання: y, year, years, m, month, months, d, day, days, h, hour, hours, i, min, minute, minutes, s, second, seconds.
    При написанні можна використовувати верхній або нижній регістр.

    Приклади: =Dateadd({=Document:DATE_CREATE}, "-2d"), =Dateadd({=Document:DATE_CREATE}, "2 days 3 minutes").

    У разі, якщо необхідна для додавання кількість одиниць часу міститься в полі, змінної і т.п., то необхідно використовувати оператор конкатенації &.

    Наприклад: =DateAdd({=Document:DATE_CREATE}, {=Variable:WHAT2ADD} & "y 10h")
  • datediff - Дозволяє обчислити різницю між двома датами.

    Синтаксис: =datediff([перша дата], [друга дата], [як виводити різницю]);

    Різницю можна виводити в різних одиницях, залежно від розв'язуваних завдань.

    Приклади: =datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')

  • Увага! Даний оператор працює тільки з параметрами типу Дата/Час.

  • if - умова.

    Синтаксис: =if([умова], [результат_у_разі_виконання_умови], [результат_у_разі_не_виконання_умови]);

    Приклад: =if ({=Variable:Variable1_printable}>0, "да", "нет")

    При порівнянні значень змінних також можливо порівнювати змінні з різним типом даних. Однак порівнювані змінні повинні відповідати таблиці перетворення типів (вона є в цій статті).

  • intval - повертає ціле значення змінної;

    Приклад: =intval("234j4hv5jhv43v53jk4vt5hj4") поверне 234
  • substr - повертає підрядок певної довжини, починаючи з зазначеного символу. Ця функція аналогічна наявній в php, більш детально про її можливості ви можете прочитатитут.

    Синтаксис: substr([вхідний рядок], [з якого символу вихідного рядка почнеться стаття, що повертається], [якої довжини буде рядок])

    Майте на увазі, що рядок починається з символу під номером 0. Наприклад, в рядку 'abcdef', в позиції 0 знаходиться символ 'a', у позиції 2 - символ 'c', і т. д.

    Приклад: {{=substr("0123456789", 3, 4)}} поверне 3456.

    Увага! Якщо синтаксис виразу буде неправильним, то він буде відображений як текст.

  • merge - Дозволяє об'єднувати масиви.

    Синтаксис: = merge({=масив_1}, {=масив_2});

    Приклад: = merge({=Document:FILES}, {=Variable:file}).

  • AddWorkDays - функція додає N робочих днів до зазначеної дати.

    Синтаксис: =addworkdays([дата, до якої будуть додаватися дні], [кількість доданих робочих днів]).

    Приклад:

    {{=addworkdays('07.03.2016', 1)}} - результат: 09.03.2016 00:00:00, так як в налаштуваннях сайту 8 березня - вихідний.

    {{=addworkdays('05.02.2016 16:14:00', 1)}} - результат: так як 05.02.2016 - п'ятниця, то результат: 08.02.2016 16:14:00 - понедельник.

  • isWorkDay - перевіряє, чи є дата робочим днем (за Календарем).

    Синтаксис: =if(isWorkDay([дата, яка перевіряється]), [повідомлення, якщо дата є робочим днем], [повідомлення, якщо не є]).

    Приклад:

    {{=if(isWorkDay({=Template:Parameter1}), 'Так', 'Ні')}} - у параметрі міститься дата 28.04.2016. Результат - Так, тому, що це робочий день.

  • isWorkTime - аналогічна функції isWorkDay, але для типів даних Дата/Час.

    Синтаксис: =if(isWorkDay([дата, яка перевіряється з часом]), [повідомлення, якщо дата з часом потрапляє на робочий час], [повідомлення, якщо не потрапляє]).

    Приклад:

    {{=if(isWorkTime({=Template:Parameter1}), 'Так', 'Ні')}} - в параметрі міститься дата з часом 27.04.2016 15:00:00. Результат - Так, бо це робочий час.

  • WorkDateAdd - додає задану кількість робочих днів, годин і хвилин до зазначеної дати.

    Синтаксис: =WorkDateAdd([початкова_дата], [що_додавати]).

    Варіанти написання: d, day, days, h, hour, hours, i, min, minute, minutes. Допустимо написання як у верхньому, так і в нижньому регістрі.

    Приклад:

    =WorkDateAdd({=Template:Parameter1}, "2d") - у параметрі міститься дата 28.04.2016. Результат - 02.05.2016 09:00:00, тому, що 30.04 і 1.05 - це вихідні дні, то вони будуть пропущені. 09:00:00 - початок робочого дня. Налаштувати список вихідних днів і початок робочого дня можна в Налаштуваннях порталу.


Дякую, допомогло! Дякуємо :) Не допомогло Дуже шкода :(
Дізнайтесь, чому:
Це не те, що я шукаю
Дуже складно і незрозуміло

Не знайшли відповідь на своє питання?

ПОСТАВТЕ ПИТАННЯ КОМАНДІ ПІДТРИМКИ24
Створювати звернення в техпідтримку можуть тільки користувачі комерційних тарифів. Користувачі безкоштовної версії мають доступ до безлічі навчальних статей та відео, а також записів вебінарів по Бітрікс24. З усіма питаннями по встановленню, впровадженню та доопрацюванню вам допоможуть наші партнери