Просмотров: 43063
Марина Павлова
Сложность урока:
4 уровень - сложно, требуется сосредоточится, внимание деталям и точному следованию инструкции.
1
2
3
4
5
Недоступно в редакциях:
Старт, Стандарт, Малый бизнес

При вычислении значений выражений в параметрах действий вы можете использовать следующие функции и операторы:

  Функции для вычислений

Доступны следующие функции:


ФункцияОписание
explode Функция разбивает строку с помощью разделителя. Полезна, когда нужно разбить строку и присвоить части как значение множественной переменной. Аналог explode в PHP.
Возвращает массив строк, полученных разбиением строки str с использованием delimiter в качестве разделителя.
explode(
   delimiter,
   str)
Параметры:
  • delimiter - разделитель;
  • str - строка для разделения.
Implode Объединяет множественные значения в строку. Полезна, когда нужно вывести в текст значения множественных переменных нестандартным разделителем (стандартный - просто запятая). Аналог implode в PHP.
Возвращает строку, содержащую строковое представление всех элементов массива в указанном порядке, со значением glue между каждым элементом.
Implode(
   glue,
   pieces
) 
Параметры:
  • glue - по умолчанию равен пустой строке;
  • pieces - массив объединяемых строк.
toUserDate Функция приводит любое время к времени сотрудника (с учетом его часового пояса).
toUserDate(
   user,
   date=now
)
Параметры
  • user - пользователь, к чьему времени необходимо привести время БП;
  • date - начальная дата, по умолчанию - текущее время.
GetUserDateOffset Функция возвращает значение смещения часовой зоны пользователя в секундах (относительно серверного времени).
GetUserDateOffset(
   user
)
Параметры:
  • user - пользователь, относительно чьего времени нужно значение.

  Операторы

Доступны следующие операторы:

ОператорОписание
+ Сложение.
- Вычитание.
* Умножение.
/ Деление.
= Равно.
<> Не равно.
< Меньше.
> Больше.
<= Меньше или равно.
>= Больше или равно.
() Порядок действий.
& Оператор конкатенации, который возвращает строку, представляющую собой соединение левого и правого аргумента.
^ Возведение в степень.
% Вычисление процентов.
true Правда.
false Ложь.
and Логический оператор И.
or логический оператор ИЛИ.

Пример: =if(or({=Variable:aaa}>2, {=Variable:bbb}<10), "yes", "no")
not Отрицание.
min Наименьшее значение.
abs Вычисление модуля.
date Для корректного форматирования даты Лучший вариант для выполнения этой задачи. Использование строковых функций типа substr и strpos не рекомендуется. . Работает аналогично функции Date в PHP.
dateadd Добавляет заданное количество дней, месяцев, лет, часов, минут и секунд к указанной дате.

Синтаксис: =dateadd([начальная_дата], [что_добавлять]);

Варианты написания и примеры
datediff Позволяет вычислить разницу между двумя датами.

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

Разницу можно выводить в разных единицах, в зависимости от решаемых вами задач.

Примеры:
=datediff({=Variable:Variable1}, {=Variable:Variable2},'%m month, %d days')

if Условие.

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

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

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

intval Возвращает целое значение переменной;

Пример:
=intval("234j4hv5jhv43v53jk4vt5hj4") вернет 234.
substr Возвращает подстроку определенной длины, начиная с указанного символа. Данная функция аналогична существующей 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([начальная_дата], [что_добавлять]).

Варианты написания и примеры



26


Курсы разработаны в компании «1С-Битрикс»