Как использовать дизайнер бизнес-процессов в Битрикс24 для определения порядкового номера текущей недели?

Как можно реализовать вывод порядкового номера текущей недели в пользовательском поле карточки смарт-процесса при помощи дизайнера бизнес-процессов? Требуется помощь в нахождении решения для данной задачи.
  • 7 августа 2024 г. 15:03
Ответы на вопрос 2
Для определения порядкового номера текущей недели в Битрикс24 с помощью дизайнера бизнес-процессов можно использовать следующий алгоритм:

1. Создайте пользовательское поле типа "Целое число" на карточке смарт-процесса, где будет храниться порядковый номер текущей недели.
2. Создайте новый бизнес-процесс в разделе "Бизнес-процессы" и настройте его на выполнение каждую неделю.
3. В дизайнере бизнес-процессов добавьте действие "Выполнить JavaScript", в котором напишите скрипт для определения порядкового номера недели. Например, для текущей недели можно использовать следующий код:

const now = new Date();
const start = new Date(now.getFullYear(), 0, 0);
const diff = now - start;
const oneWeek = 1000 * 60 * 60 * 24 * 7;
const week = Math.floor(diff / oneWeek);

return week;

4. После выполнения скрипта сохраните результат в переменную и добавьте действие "Установить значением" для установки порядкового номера недели в пользовательское поле карточки.
5. Сохраните и активируйте бизнес-процесс.

Теперь каждую неделю при выполнении бизнес-процесса будет автоматически определяться и сохраняться порядковый номер текущей недели в пользовательском поле карточки смарт-процесса.
Ну по идеи вот так получишь порядковый номер недели в месяце 
(date('W') - date('W', strtotime('first day of this month')) + 1)


А вот так номер недели в году
date('W')

А дальше вставляешь это куда тебе нужно
Или не в этом вопрос был?

https://www.php.net/manual/ru/datetime.format.php
Похожие вопросы