Агент по расписанию

wowa

Well-known member
01.02.2007
845
0
#1
Необходимо создать агент, который будет запускаться только в последние 2 недели и только по средам и пятницам
т.е. 2 среды и 2 пятницы

Как вариант(Есть ли более лучше???) я выбрал чтобы он запускался каждый день и в самом агенте вначале сделать проверку:
Последние ли это 14 дней месяца и сегодня среда или пятница
Как второй вариант - 2 агента, которые запускаются по средам и пятницам - я его отверг.

Дак вот:
Последние ли это 14 дней месяца и сегодня среда или пятница

Как узнать сколько дней в месяце? ))
 
A

allex

#2
если сегодняшня дата больше/равна 14 то вторая половина месяца
если (день недели(сегодняшня дата)-1) = среда то
твое действие
если (день недели(сегодняшня дата)-1) = пятница то
твое действие
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#3
На собаках так:
Код:
date := @Today;
(@Adjust(date; 0; 1; 0; 0; 0; 0) - date) / 86400
На скрипте аналогично.
 

wowa

Well-known member
01.02.2007
845
0
#4
allex, не совсем верно...
тут как бы не вторая половина месяца, а последние две недели
Например, в этом месяце после 14 числа будет 3 среды и 3 пятницы


Medevic , спасибо, +1
 
A

allex

#5
WOWA


С исправлением


А: = (@Adjust(date; 0; 1; 0; 0; 0; 0) - @date(@Today)) / 86400;

если @Adjust(date; 0; 1; 0; 0; 0; 0) = 30, то

если сегодняшня дата больше/равна "А-16" то две посл. недели
если (день недели(сегодняшня дата)-1) = среда то
твое действие
если (день недели(сегодняшня дата)-1) = пятница то
твое действие


если @Adjust(date; 0; 1; 0; 0; 0; 0) = 31, то

если сегодняшня дата больше/равна "А-17" то две посл. недели
если (день недели(сегодняшня дата)-1) = среда то
твое действие
если (день недели(сегодняшня дата)-1) = пятница то
твое действие

если @Adjust(date; 0; 1; 0; 0; 0; 0) = 28, то

если сегодняшня дата больше/равна "А-17" то две посл. недели
если (день недели(сегодняшня дата)-1) = среда то
твое действие
если (день недели(сегодняшня дата)-1) = пятница то
твое действие


если @Adjust(date; 0; 1; 0; 0; 0; 0) = 29, то

если сегодняшня дата больше/равна "А-15" то две посл. недели
если (день недели(сегодняшня дата)-1) = среда то
твое действие
если (день недели(сегодняшня дата)-1) = пятница то
твое действие
 

Xalet

Well-known member
08.08.2008
410
0
#6
Как по мне можно проще. Смотришь среда ли или пятница, если да, то добавляешь 7 дней и проверяешь, не след месяц ли (соответственно последняя, если след), потом добавляешь еще 7, если надо(предпослденяя). ну и соответственно делаешь свое действие при совпадении условий.
Как в собаках это записать без понятия, стараюсь ими вообще не пользоваться.
 

GROMILA

Well-known member
08.04.2004
297
0
#8
Как узнать сколько дней в месяце? ))
Берешь первое число следующего месяца (необходимый месяц + 1) и отнимаешь один день.
Полученный день и будет числом дней в месце

Для прибавления и вычиания смотри adjust