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

Тема в разделе "Lotus - Программирование", создана пользователем wowa, 21 янв 2009.

  1. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Необходимо создать агент, который будет запускаться только в последние 2 недели и только по средам и пятницам
    т.е. 2 среды и 2 пятницы

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

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

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

    allex Гость

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

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    На собаках так:
    Код (Text):
    date := @Today;
    (@Adjust(date; 0; 1; 0; 0; 0; 0) - date) / 86400
    На скрипте аналогично.
     
  4. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    allex, не совсем верно...
    тут как бы не вторая половина месяца, а последние две недели
    Например, в этом месяце после 14 числа будет 3 среды и 3 пятницы


    Medevic , спасибо, +1
     
  5. allex

    allex Гость

    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) = пятница то
    твое действие
     
  6. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Как по мне можно проще. Смотришь среда ли или пятница, если да, то добавляешь 7 дней и проверяешь, не след месяц ли (соответственно последняя, если след), потом добавляешь еще 7, если надо(предпослденяя). ну и соответственно делаешь свое действие при совпадении условий.
    Как в собаках это записать без понятия, стараюсь ими вообще не пользоваться.
     
  7. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    xalet, вот он - нестардарный подход :) +1
     
  8. GROMILA

    GROMILA Well-Known Member

    Регистрация:
    8 апр 2004
    Сообщения:
    297
    Симпатии:
    0
    Берешь первое число следующего месяца (необходимый месяц + 1) и отнимаешь один день.
    Полученный день и будет числом дней в месце

    Для прибавления и вычиания смотри adjust
     
Загрузка...

Поделиться этой страницей