Список Всех Праздников

Тема в разделе "Lotus - Программирование", создана пользователем Dragon108, 12 мар 2012.

  1. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Где то вроде видел здесь эту тему или что то похожее, но немогу найти :angry:

    Есть задача, посчитать количество минут между рабочими днями. Делаю по простому - через @BusinessDays, все хорошо считает, но есть у этой собака-формулы 4ый параметр: datesToExclude (Time-date or time-date list. Optional. Dates not counted as business days.).
    Так вот, сейчас туда просто передается список, который задается вручную. Но, насколько я знаю, на сервере Domino прописаны все праздники и нерабочие дни, причем еще и для разных стран ... так вот, можно ли как то этот список получить, что бы еще не прописывать и хранить это отдельно?
     
  2. Altaya

    Altaya Active Member

    Регистрация:
    1 мар 2012
    Сообщения:
    35
    Симпатии:
    0
  3. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Ну почти ... в этом топике все сводится опять же к тому что нужно иметь справочник с праздниками (соответственно его нужно дополнительно вести). А зачем это делать, если список всех праздников и так хранится на сервере ... было бы интереснее брать этот список прямо оттуда.
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    server := @Name([CN]; @Subset(@DbName; 1));
    country:="Russia";
    vholidays:="($Holidays)";
    fld:="RepeatStartDate";
    weekend:=1:7;
    @BusinessDays([30.12.2011];[02.01.2012];weekend;@DbLookup("":"";server:"names";vholidays;country;fld))
     
  5. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Для Вашей задачи недостаточно иметь список праздников — нужен производственный календарь, т.е. список рабочих и нерабочих дней (по хорошему с указанием продолжительности, т.к. предпраздничные на час короче). Ведь из-за праздников выходные иногда переносят непредсказуемым образом.
     
  6. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    создайте аналогичный профильный док


    Добавлено: коды кнопок

    Код (LotusScript):
    WD := @Prompt([OkCancelListMult] : [NoSort];
    "Перекинуть на рабочие"; "Выберите дату:"; ""; ForNotWorkDay);

    FIELD ForNotWorkDay := @Trim(@Replace(ForNotWorkDay; WD; ""));
    FIELD ForWorkDay := @Trim(@Text(@Sort(@ToTime(ForWorkDay : WD))));
    @True
    Код (LotusScript):
    WD := @Prompt([OkCancelListMult] : [NoSort];
    "Перекинуть на выходные"; "Выберите дату:"; ""; ForWorkDay);

    FIELD ForWorkDay := @Trim(@Replace(ForWorkDay; WD; ""));
    FIELD ForNotWorkDay := @Trim(@Text(@Sort(@ToTime(ForNotWorkDay : WD))));
    @True
     

    Вложения:

    • 001.bmp
      Размер файла:
      1,1 МБ
      Просмотров:
      17
  7. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    часть здесь http://codeby.net/forum/threads/29999.html?vi...st&p=165989 на пост выше ссылка, а по линку мои коррекции
    помню где-то ф-цию выкладывал..., но не нашёл
     
  8. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Здравствуйте!
    Подскажите пожалуйста какими (тип поля text , datetime и тп) надо сделать поля ForWorkDay и ForNotWorkDay для того, чтобы можно было выбирать даты из этих полей в @Prompt
    Заранее спасибо!
     
  9. Dragon108

    Dragon108 Well-Known Member

    Регистрация:
    19 янв 2010
    Сообщения:
    264
    Симпатии:
    0
    Эмм ... смотря как вы их хотите хранить ... Логично было бы выбрать тип Date/Time, так как все таки там хранится дата
     
  10. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    хранить как дата, для @Prompt - преобразовывать в текст
     
  11. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Вот как выше представлен пример у пользователя yerke (на прикрепленном рис):
    есть два поля в которых хранятся данные дат в таком виде: 01.01.2012; 02.01.2012; 03.01.2012 и тд во втором поле 04.01.2012;05.01.2012; и тд (список дат)
    по событию кнопки нужно переместить определенную дату с одного поля в другое.
    Сам пробовал различные варианты, не получилось нужного результата
     
  12. Erlan

    Erlan Member

    Регистрация:
    9 апр 2012
    Сообщения:
    11
    Симпатии:
    0
    Спасибо.
    Все получилось
    Оставлю решение этой задачи(вдруг кому тоже пригодится)
    Поля ForWorkDay и ForNotWorkDay тип Date/Time и Allow multiple values разделитель Точка с запятой
    код для кнопки "Перекинуть на рабочие дни"
    Код (LotusScript):
    WD := @Prompt([OkCancelListMult] : [NoSort];
    "Перекинуть на рабочие"; "Выберите дату:"; ""; @Text(ForNotWorkDay; "d0s0"));

    FIELD ForNotWorkDay := @Trim(@Replace(@Text(ForNotWorkDay; "d0s0"); WD; ""));
    FIELD ForWorkDay := @Trim(@Text(@Sort(ForWorkDay : @ToTime(WD))));
    @True
    код для кнопки "Перекинуть на выходные дни"
    Код (LotusScript):
    WD := @Prompt([OkCancelListMult] : [NoSort];
    "Перекинуть на выходные"; "Выберите дату:"; ""; @Text(ForWorkDay; "d0s0"));

    FIELD ForWorkDay := @Trim(@Replace(@Text(ForWorkDay; "d0s0"); WD; ""));
    FIELD ForNotWorkDay := @Trim(@Text(@Sort(ForNotWorkDay : @ToTime(WD))));
    @True
     
Загрузка...

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