Страницы: 1
RSS
Название предыдущего месяца, вставка месяца в текст, Шаблоны и быстрые шаблоны
 
Здравствуйте, подскажите пожалуйста - необходимо в текст письма вставить  название предыдущего месяца. Есть макрос для вставки текущего месяца %DATE='mmmm',  а вот как сделать предыдущий месяц  типа DATE='mmmm' минус 1.

Пример:
"Уважаемые коллеги, необходимо сдать отчеты за ***."

Где *** название предыдущего месяца, т.е. текущий месяц  минус 1 месяц назад.
 
Судя по хелпу, нет. Спросите ТП об этом. Заодно спросите их, пожалуйста, куда делся плагин Extended Macro Plugin (его нет на сайте автора).
Модератор. Не являюсь сотрудником RitLabs (I'm not an employee of Ritlabs). https://belrus.biz/vendors/ritlabs.html
 
Понятно, а кто такие ТП?
Изменено: Андрей Василюк - 10.09.2021 12:33:23
 
Техподдержка, сокращённо ТП. Живёт тут - https://www.ritlabs.com/ru/support/ticket-list.php
Модератор. Не являюсь сотрудником RitLabs (I'm not an employee of Ritlabs). https://belrus.biz/vendors/ritlabs.html
 
Эх, ответил разработчика плагина, что всё, нет его

Hello,

I stopped the development and publishing several years ago.
Модератор. Не являюсь сотрудником RitLabs (I'm not an employee of Ritlabs). https://belrus.biz/vendors/ritlabs.html
 
Вот так примерно. Дальше можно через внешний файл завернуть это в переменную, чтобы вставлять было удобнее в текст.
Код
%IFN:"%DATE('M')"="1":"Декабрь"%-
%IFN:"%DATE('M')"="2":"Январь"%-
%IFN:"%DATE('M')"="3":"Февраль"%-
%IFN:"%DATE('M')"="4":"Март"%-
%IFN:"%DATE('M')"="5":"Апрель"%-
%IFN:"%DATE('M')"="6":"Май"%-
%IFN:"%DATE('M')"="7":"Июнь"%-
%IFN:"%DATE('M')"="8":"Июль"%-
%IFN:"%DATE('M')"="9":"Август"%-
%IFN:"%DATE('M')"="10":"Сентябрь"%-
%IFN:"%DATE('M')"="11":"Октябрь"%-
%IFN:"%DATE('M')"="12":"Ноябрь"%-
Изменено: Дмитрий Яковлев - 30.09.2021 19:00:45
 
Цитата
Андрей Василюк написал:
[...]
Пример:
"Уважаемые коллеги, необходимо сдать отчеты за ***."

Где *** название предыдущего месяца, т.е. текущий месяц  минус 1 месяц назад.
Невозможно вставить название предыдущего месяца в текст сообщения с помощью макроса The Bat!, но вы сделаете это с помощью функций Windows. В Windows 7 и более поздних версиях есть программа «Windows PowerShell», позволяющая запускать различные типы скриптов, в том числе скрипты с функцией даты.

Я проверил, как это сделать, и предлагаю следующее рабочее решение:

1. В текстовый файл заносится название предыдущего месяца. Пусть этот файл будет называться «prevmonth.txt» и он будет храниться в директории на жестком диске, т.е. обращаться к нему можно будет так: «<путь_к_файлу>\prevmonth.txt». Содержимое файла обновляется один раз в месяц, в первый день месяца - для этого используется Планировщик The Bat!.

2. Скрипт PowerShell, который записывает название предыдущего месяца в файл «prevmonth.txt», выглядит следующим образом:
Код
$PreviousMonth = (Get-Date).AddMonths(-1).ToString('MMMM')
$PreviousMonth > <путь_к_файлу>\prevmonth.txt

Пусть этот скрипт называется «PrevMonth.ps1», вы можете создать его, например, с помощью Блокнота Windows. Поместите его в тот же каталог на жестком диске, что и файл предыдущего месяца, т. е. «<путь_к_файлу>\PrevMonth.ps1».

3. Следующим шагом будет создание в The Bat! задачи, которая запустит скрипт PowerShell. Задача активируется в первый день месяца, например, в 00:10. Первый запуск The Bat! в данном месяце обновит содержимое файла «prevmonth.txt». Единственным действием для этой задачи является «Запуск программы». Командная строка для этой операции выглядит следующим образом:
Код
C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& '<путь_к_файлу>\PrevMonth.ps1'"
Кроме того, вы можете включить опцию минимизирования окна и запускать программу как отдельный процесс.

4. Вставку названия предыдущего месяца в любом месте создаваемого сообщения следует предусмотреть в его шаблоне, используя для этого макрос %Put("<путь_к_файлу>\prevmonth.txt"), т.е. так:
Код
Уважаемые коллеги, необходимо сдать отчеты за %Put("<путь_к_файлу>\prevmonth.txt").

Разумеется, что вместо полужирного текста «<путь_к_файлу>» надо вставить фактический путь к файлу.
Изменено: Zygmunt Wereszczyński - 26.01.2022 14:12:11
Страницы: 1