31  /  184

Примеры работы с датами

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

В уроке рассмотрим возможности работы с датами в бизнес-процессах. Результаты выведем с помощью действия Сообщение соц.сети Действие, которое позволяет отправить уведомление о событии указанному пользователю/группе пользователей через модуль социальной сети.
Подробнее...
.

  Перевод даты на русский язык

Для вывода даты используется функция date date - Форматирует вывод системной даты/времени

. В примере используем параметр F - полное наименование месяца. Список всех параметров функции смотрите в документации по PHP.

Текущий месяц - {{=date('F',{=System:Date})}}

В результате получим уведомление вида Текущий месяц - April.

Для получения названия месяца на русском языке понадобится создать Список соответствия для названий месяцев. Введем переменную бизнес-процесса типа Список:

В вариантах значений в квадратных скобках укажем ключ - номер месяца, а после - значение (название месяца на русском языке).

Вернемся к шаблону бизнес-процесса и перед сообщением соц.сети добавим действие Изменение переменных в котором укажем функцию {{=date('n')}}, где n - порядковый номер месяца без ведущего нуля (из документации по PHP).

В действии Уведомление соц. сети поменяем текст сообщения на вывод нашей переменной Variable1:

Текущий месяц - {=Variable:Variable1 > printable}

Результат:

Таким же образом можно выводить дни недели и др. подобные даты.

  Относительный формат даты

Задание: необходимо вывести дату - пятница следующей недели. Сделать это можно с помощью работы функции strtotime и относительных форматов PHP.

Создадим новую переменную Дата и снова воспользуемся действием Изменение переменных, как в примере выше. Укажем значение ='next week friday':

А в тексте сообщения соц. сети выведем переменную Дата.

Следующая пятница - {=Variable:Variable2 > printable}

Результат

  Добавление N дней из параметра

Сначала посмотрим на простой пример: прибавим к текущей дате точное количество дней.

Для этого понадобится функция dateadd:

Текущая дата + 2 дня: {{=dateadd({=System:Date}, '2d')}} // прибавим 2 дня к текущей дате

Теперь посмотрим, как правильно добавлять количество дней, которое хранится в параметре БП:

Текущая дата + N дней: {{=dateadd({=System:Date}, {=Template:Parameter1} & 'd')}} // прибавим дни из параметра к текущей дате

Важно! Для правильного указания количества дней из параметра применен оператор конкатенации, который возвращает строку, представляющую собой соединение левого и правого аргумента.

Результат (при запуске БП для параметра указано значение 10):



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

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии