Проверьте, является ли сегодня последним понедельником текущего месяца в Power Automate.

Вопрос или проблема

Я создаю запланированный облачный поток в Power Automate, который должен выполняться только в последний понедельник каждого месяца. Как я могу проверить, является ли текущая дата последним понедельником текущего месяца, используя выражения Power Automate?

Если поток запускается сегодня (30 сентября 2024 года), триггер должен быть истинным, и все действия будут выполнены.

Ответ или решение

Чтобы определить, является ли текущая дата последним понедельником текущего месяца в Power Automate, вы можете использовать выражения и условия. Вот шаги, которые помогут вам настроить этот процесс:

  1. Создайте облачный поток: Начните с создания нового запланированного облачного потока в Power Automate, который будет запускаться, например, каждый понедельник.

  2. Определите текущую дату и день: В поле "Текущая дата и время" используйте встроенное выражение utcNow(), чтобы получить текущую дату.

  3. Извлеките информацию о дате: С помощью выражений Power Automate извлеките год, месяц, день и день недели из текущей даты. Например:

    • formatDateTime(utcNow(), 'yyyy') для получения текущего года.
    • formatDateTime(utcNow(), 'MM') для получения текущего месяца.
    • formatDateTime(utcNow(), 'dd') для получения текущего числа.
    • dayOfWeek(utcNow()) для получения дня недели (0 = воскресенье, 1 = понедельник и так далее).
  4. Проверьте, является ли сегодня понедельником: Используйте условие, чтобы проверить, равен ли день недели 1 (понедельник).

  5. Определите, является ли сегодня последним понедельником:

    • Найдите последний день текущего месяца, используя выражение:
      endOfMonth(utcNow())
    • Извлеките день недели для последнего дня месяца:
      dayOfWeek(endOfMonth(utcNow()))
    • На основе полученного значения определите, сколько понедельников есть до последнего дня месяца.
    • Если последний день месяца — это понедельник, используйте условие, чтобы проверить, является ли текущая дата последним понедельником.
    • Если нет, вычтите число, чтобы проверить, остается ли очередной понедельник в месяце.
  6. Пример условия в Power Automate:
    Вы можете создать условие, используя следующее выражение:

    @and(equals(dayOfWeek(utcNow()), 1), equals(formatDateTime(utcNow(),'dd'), sub(int(formatDateTime(endOfMonth(utcNow()), 'dd')), if(equals(dayOfWeek(endOfMonth(utcNow())), 1), 0, mod(sub(int(formatDateTime(endOfMonth(utcNow()), 'dd')), int(formatDateTime(endOfMonth(utcNow()), 'dd'))), 7))))
  7. Сохраните и протестируйте ваш поток: Убедитесь, что ваш поток работает корректно и запускается только в те понедельники, которые являются последними в месяце.

Следуя этим шагам, вы сможете корректно настроить поток, который будет выполняться только в последний понедельник каждого месяца. Удачи!

Оцените материал
Добавить комментарий

Капча загружается...